diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysRoleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysRoleServiceImpl.java index fe209742b..8f8113eba 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysRoleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysRoleServiceImpl.java @@ -1,12 +1,15 @@ package com.cool.store.service.impl; +import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.SysRoleDO; import com.cool.store.enums.Role; import com.cool.store.enums.RoleSourceEnum; import com.cool.store.enums.UserRoleEnum; import com.cool.store.mapper.SysRoleMapper; import com.cool.store.service.SysRoleService; +import com.cool.store.service.UserAuthMappingService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -28,6 +31,9 @@ public class SysRoleServiceImpl implements SysRoleService { @Resource private SysRoleMapper sysRoleMapper; + @Resource + private UserAuthMappingService userAuthMappingService; + @Override public Boolean checkIsAdmin(String userId) { // 1.取出所有用户角色 @@ -50,6 +56,15 @@ public class SysRoleServiceImpl implements SysRoleService { @Override public String getUserIdByRegionIdWithRolePriority(Long regionId, List roleList) { + if(CollectionUtils.isEmpty(roleList)){ + return null; + } + for(UserRoleEnum roleEnum: roleList){ + EnterpriseUserDO enterpriseUserDO = userAuthMappingService.getUserByRoleEnumAndRegionId(roleEnum, regionId); + if(enterpriseUserDO != null){ + return enterpriseUserDO.getUserId(); + } + } return null; } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysRoleController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysRoleController.java index 7397b211a..8c751e6f1 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysRoleController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysRoleController.java @@ -1,14 +1,18 @@ package com.cool.store.controller.webb; +import com.cool.store.enums.UserRoleEnum; import com.cool.store.response.ResponseResult; import com.cool.store.service.SysRoleService; +import com.google.common.collect.Lists; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Map; @RestController @@ -24,4 +28,12 @@ public class SysRoleController { return ResponseResult.success(sysRoleService.getXfsgRoles()); } + @GetMapping(path = "/getUserIdByRegionIdWithRolePriority") + public ResponseResult getUserIdByRegionIdWithRolePriority(@RequestParam(value = "regionId", required = true) Long regionId) { + List roleList = Lists.newArrayList(); + roleList.add(UserRoleEnum.THEATER_MANAGER); + roleList.add(UserRoleEnum.OPERATIONS_MANAGER); + roleList.add(UserRoleEnum.REGION_MANAGER); + return ResponseResult.success(sysRoleService.getUserIdByRegionIdWithRolePriority(regionId, roleList)); + } }