diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java index 885dd4041..552346912 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java @@ -174,7 +174,7 @@ public class SubmitLicenseResponse { submitLicenseResponse = new SubmitLicenseResponse(); } GetStoreInfoByCodeResponse.StoreDocument storeDocument = storeInfoCode.getData().getStoreDocument(); - boolean storeBusinessValidPeriod = storeDocument.getStoreBusinessValidPeriod().equals("9"); + boolean storeBusinessValidPeriod = "9".equals(storeDocument.getStoreBusinessValidPeriod()); submitLicenseResponse.setLicenseType(LicenseTypeEnum.matchName(storeDocument.getStoreBusinessType()).getCode()); submitLicenseResponse.setLicenseLegalPerson(storeDocument.getStoreDirector()); submitLicenseResponse.setIssueTime(DateUtil.parseDate(storeDocument.getStoreBusinessDate())); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java index bf4e6938f..9f5b05a02 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java @@ -81,4 +81,12 @@ public interface UserAuthMappingService { String getShopManagerUserId(); + /** + * 找督导,如果小区没有督导则带入战区经理,没有战区经理则带入大区经理、如果都没有则带入王磊 + * @param supervision + * @param regionId + * @return + */ + EnterpriseUserDO hierarchicalSearch(UserRoleEnum supervision, Long regionId); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index be219afae..7aa4443d7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -168,7 +168,8 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { GetStoreInfoByCodeResponse storeInfoCode = coolStoreStartFlowService.getStoreInfoCode(shopInfoDO.getStoreNum()); if (Objects.nonNull(storeInfoCode.getData()) && Objects.nonNull(storeInfoCode.getData().getStoreDocument()) - && storeInfoCode.getCode() == 0) { + && storeInfoCode.getCode() == 0 + && StringUtil.isNotBlank(storeInfoCode.getData().getStoreDocument().getStoreBusinessNumber())) { //替换落库的值 submitLicenseResponse = SubmitLicenseResponse.from(storeInfoCode, submitLicenseResponse); //给前端判断哪些是鲜丰数据不可修改 @@ -184,7 +185,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { public SubmitLicenseResponse.StoreDocument toStoreDocument(GetStoreInfoByCodeResponse.StoreDocument storeDocument) { SubmitLicenseResponse.StoreDocument submitLicenseResponse = new SubmitLicenseResponse.StoreDocument(); - boolean storeBusinessValidPeriod = storeDocument.getStoreBusinessValidPeriod().equals("9"); + boolean storeBusinessValidPeriod = "9".equals(storeDocument.getStoreBusinessValidPeriod()); submitLicenseResponse.setLicenseType(Objects.requireNonNull(LicenseTypeEnum.matchName(storeDocument.getStoreBusinessType())).getCode()); submitLicenseResponse.setLicenseLegalPerson(storeDocument.getStoreDirector()); submitLicenseResponse.setIssueTime(DateUtil.parseDate(storeDocument.getStoreBusinessDate())); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index 39b82af55..58bf1487f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -440,7 +440,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_32; } else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) { ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); - EnterpriseUserDO supervisor = userAuthMappingService.getUserByRoleEnumAndRegionId(UserRoleEnum.SUPERVISION, shopInfoDO.getRegionId()); + EnterpriseUserDO supervisor = userAuthMappingService.hierarchicalSearch(UserRoleEnum.SUPERVISION, shopInfoDO.getRegionId()); shopInfoDO.setStoreNum(request.getStoreNum()); //更新门店编码 shopInfoDO.setSupervisorUserId(Objects.isNull(supervisor) ? "" : supervisor.getUserId());//更新督导 SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).build()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java index 0ea5b8480..4d9deb2aa 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java @@ -13,6 +13,7 @@ import com.cool.store.mapper.UserAuthMappingMapper; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.RedisConstantUtil; import com.cool.store.utils.RedisUtilPool; +import com.cool.store.utils.poi.constant.Constants; import com.cool.store.vo.SysRoleVO; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -26,6 +27,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -389,4 +392,60 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService { } + @Override + public EnterpriseUserDO hierarchicalSearch(UserRoleEnum supervision, Long regionId) { + //督导 + EnterpriseUserDO supervisionUser = getUserByRoleEnumAndRegionId(UserRoleEnum.SUPERVISION, regionId); + RegionDO smallRegion = regionMapper.getByRegionId(regionId); + List regionIds = extractNumbers(smallRegion.getRegionPath()); + List regionByRegionIds = regionMapper.getRegionByRegionIds(regionIds); + List fightRegions = regionByRegionIds.stream().filter(item -> Constants.TWO_STRING.equals(item.getThirdRegionType())).collect(Collectors.toList()); + List bigRegions = regionByRegionIds.stream().filter(item -> Constants.ONE_STRING.equals(item.getThirdRegionType())).collect(Collectors.toList()); + RegionDO fightRegion = new RegionDO(); + RegionDO bigRegion = new RegionDO(); + if (CollectionUtils.isNotEmpty(fightRegions)){ + fightRegion = fightRegions.get(0); + } + if (CollectionUtils.isNotEmpty(bigRegions)){ + bigRegion = bigRegions.get(0); + } + try { + if (Objects.isNull(supervisionUser)){ + //战区经理 + EnterpriseUserDO theaterManager = getUserByRoleEnumAndRegionId(UserRoleEnum.THEATER_MANAGER, fightRegion.getId()); + if (Objects.isNull(theaterManager)){ + //大区总 + EnterpriseUserDO regionManager = getUserByRoleEnumAndRegionId(UserRoleEnum.REGION_MANAGER, bigRegion.getId()); + if (Objects.isNull(regionManager)){ + EnterpriseUserDO userInfoByJobnumber = enterpriseUserDAO.getUserInfoByJobnumber(Constants.WANG_LEI_JOB_NUMBER); + if (Objects.isNull(userInfoByJobnumber)){ + throw new ServiceException("找不到督导"); + }else { + return userInfoByJobnumber; + } + } + } + return theaterManager; + } + }catch (Exception e){ + log.error("hierarchicalSearch errorMessage:{}",e.getMessage()); + throw new ServiceException(ErrorCodeEnum.UNKNOWN); + } + + return supervisionUser; + } + + private List extractNumbers(String regionPath) { + List regionIds = new ArrayList<>(); + Pattern pattern = Pattern.compile("\\d+"); + Matcher matcher = pattern.matcher(regionPath); + + while (matcher.find()) { + regionIds.add(String.valueOf(matcher.group())); + } + + return regionIds; + } + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java index 847fbb3ad..f4262d9e7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java @@ -196,6 +196,10 @@ public class Constants public static final Integer TWO_INTEGER = 2; + public static final String ONE_STRING = "1"; + + public static final String TWO_STRING = "2"; + public static final String INSERT_FLAG = "insert"; public static final String UPDATE_FLAG = "update"; @@ -214,5 +218,8 @@ public class Constants public static String AVATAR_DEFAULT = "https://oss-store.coolcollege.cn/eid/e17cd2dc350541df8a8b0af9bd27f77d/2404/53308197437354940.png"; + public static final String WANG_LEI_JOB_NUMBER = "19060164"; + + } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysStoreAppController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysStoreAppController.java index d92af04d1..b4253d597 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysStoreAppController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/SysStoreAppController.java @@ -48,7 +48,7 @@ public class SysStoreAppController { @GetMapping(path = "/getSmallRegionDD") @ApiOperation("获取小区督导") public ResponseResult getSmallRegionDD(@RequestParam("regionId") Long regionId) { - return ResponseResult.success(userAuthMappingService.getUserByRoleEnumAndRegionId(UserRoleEnum.SUPERVISION, regionId)); + return ResponseResult.success(userAuthMappingService.hierarchicalSearch(UserRoleEnum.SUPERVISION, regionId)); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniSysStoreAppController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniSysStoreAppController.java index c0424e576..b44572bfb 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniSysStoreAppController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniSysStoreAppController.java @@ -47,7 +47,7 @@ public class MiniSysStoreAppController { @GetMapping(path = "/getSmallRegionDD") @ApiOperation("获取小区督导") public ResponseResult getSmallRegionDD(@RequestParam("regionId") Long regionId) { - return ResponseResult.success(userAuthMappingService.getUserByRoleEnumAndRegionId(UserRoleEnum.SUPERVISION, regionId)); + return ResponseResult.success(userAuthMappingService.hierarchicalSearch(UserRoleEnum.SUPERVISION, regionId)); } }