From f253b2a0c37ba07699727fcb7cd29e0d6284cc9f Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 15 May 2025 15:31:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=95=B0=E6=8D=AE=E6=A2=B3=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 3 +- .../com/cool/store/enums/FileTypeEnum.java | 3 +- .../java/com/cool/store/dao/BigRegionDAO.java | 9 + .../com/cool/store/dao/ShopStageInfoDAO.java | 9 + .../cool/store/mapper/BigRegionMapper.java | 4 +- .../main/resources/mapper/BigRegionMapper.xml | 14 + .../store/request/QueryBigRegionRequest.java | 18 ++ .../cool/store/service/BigRegionService.java | 3 + .../cool/store/service/DataHandlerServer.java | 2 + .../service/impl/BigRegionServiceImpl.java | 7 + .../service/impl/DataHandlerServerImpl.java | 290 ++++++++++++++---- .../impl/FranchiseReportServiceImpl.java | 66 +++- .../impl/PosAndOrderInfoServiceImpl.java | 8 + .../controller/webb/BigRegionController.java | 6 + .../webb/DataHandlerController.java | 26 ++ 15 files changed, 390 insertions(+), 78 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/QueryBigRegionRequest.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index e31ee5dad..b49300433 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -148,7 +148,7 @@ public enum ErrorCodeEnum { LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null), LINE_EXISTS_IN_PUBLIC_SEA(10211164, "该线索已存在,请前往公海认领", null), CONTENT_DUPLICATED(10211200, "动态标题重复!", null), - SIGN_FAIL(600000, "验签失败", null), + SIGN_FAIL(600000, "验签失败=>{0}", null), GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null), NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null), INSPECTION_USER_OCCUPY(600003,"当前稽核人已经配置其他战区",null), @@ -257,6 +257,7 @@ public enum ErrorCodeEnum { BANK_EXIST(151007,"当前银行已存在,请直接选择!",null), EXPORT_LIMIT_5000(151008,"导出数据不能超过5000条,请增加筛选条件,减少导出数量",null), + REGION_INTERSECTION_IS_NULL(151011,"所选所属大区/分公司,不在所选集团下",null), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java index 845692052..988a47875 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java @@ -21,7 +21,8 @@ public enum FileTypeEnum { IMPORT_OA_OLD_SHOP_DATA_ERROR("OaOldShopDataError", "导入OA旧数据错误列表"), IMPORT_OA_OLD_SHOP_DATA("importOaOldShopData", "导入OA旧数据"), ZXJP_OPEN_SHOP_REPORT("zxjpOpenShopReport","正新鸡排开店"), - + IMPORT_OA_OLD_SHOP_STAGE_DATA("importOaOldShopStageData", "导入OA旧数据"), + IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR("OaOldShopStageDataError", "导入OA旧数据阶段错误列表"), ; private String fileType; private String desc; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java index 6acbb0a2f..5a681ab1f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/BigRegionDAO.java @@ -5,6 +5,7 @@ import com.cool.store.entity.BigRegionDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.BigRegionMapper; +import com.cool.store.request.QueryBigRegionRequest; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Repository; import tk.mybatis.mapper.entity.Example; @@ -55,5 +56,13 @@ public class BigRegionDAO { example.createCriteria().andIn("regionId", regionIdList).andEqualTo("joinMode",0); return bigRegionMapper.selectByExample(example); } + /** + * @Auther: wangshuo + * @Date: 2025/5/15 + * @description:只查询joinMode = 0 + */ + public List queryBigRegion(QueryBigRegionRequest queryBigRegionRequest){ + return bigRegionMapper.queryBigRegion(queryBigRegionRequest); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java index 588d7be3f..5db18dbcb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java @@ -457,4 +457,13 @@ public class ShopStageInfoDAO { boolean isTerminated = shopStageInfo.isTerminated(); return shopStageInfoMapper.dataUpdateAcceptanceStatus(list, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark); } + + public List getStageByShopStage(List shopIds, Integer shopStage){ + if (CollectionUtils.isEmpty(shopIds) || shopStage == null){ + return null; + } + Example example = new Example(ShopStageInfoDO.class); + example.createCriteria().andIn("shopId",shopIds).andEqualTo("shopStage",shopStage); + return shopStageInfoMapper.selectByExample(example); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java index 34bd10701..a56eecc06 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/BigRegionMapper.java @@ -2,6 +2,8 @@ package com.cool.store.mapper; import com.cool.store.dto.region.BigRegionDTO; import com.cool.store.entity.BigRegionDO; +import com.cool.store.request.QueryBigRegionRequest; +import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; import java.util.List; @@ -24,5 +26,5 @@ public interface BigRegionMapper extends Mapper { */ BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId,Integer joinMode); - + List queryBigRegion(@Param("request") QueryBigRegionRequest queryBigRegionRequest); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml index 105dc4415..abf4a1647 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/BigRegionMapper.xml @@ -42,4 +42,18 @@ + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/QueryBigRegionRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/QueryBigRegionRequest.java new file mode 100644 index 000000000..ce6e56b40 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/QueryBigRegionRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request; + +import lombok.Data; + +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/05/15/10:15 + * @Version 1.0 + * @注释: + */ +@Data +public class QueryBigRegionRequest{ + private String keyword; + + private List groupNameList; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/BigRegionService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/BigRegionService.java index 5a1c926b7..19df3e8a7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/BigRegionService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/BigRegionService.java @@ -4,6 +4,7 @@ import com.cool.store.dto.region.BigRegionDTO; import com.cool.store.entity.BigRegionDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; +import com.cool.store.request.QueryBigRegionRequest; import java.util.List; @@ -31,5 +32,7 @@ public interface BigRegionService { */ BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId, Integer joinMode); + List queryBigRegion(QueryBigRegionRequest queryBigRegionRequest); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java index 03d11268d..0954f8525 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java @@ -22,4 +22,6 @@ public interface DataHandlerServer { Boolean importOaOldShopData(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task); + //数据处理阶段完成 某些阶段数据处理 + Boolean dataStageHandler(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task,Boolean flag); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BigRegionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BigRegionServiceImpl.java index d8f74a33a..d2751cb00 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BigRegionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BigRegionServiceImpl.java @@ -5,10 +5,12 @@ import com.cool.store.dto.region.BigRegionDTO; import com.cool.store.entity.BigRegionDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; +import com.cool.store.request.QueryBigRegionRequest; import com.cool.store.service.BigRegionService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; /** @@ -35,4 +37,9 @@ public class BigRegionServiceImpl implements BigRegionService { return bigRegionDAO.queryOrgInfoByBigRegionAndJoinMode(regionId,joinMode); } + @Override + public List queryBigRegion(QueryBigRegionRequest queryBigRegionRequest) { + return bigRegionDAO.queryBigRegion(queryBigRegionRequest); + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java index 4df09bbfa..ba9a2db01 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java @@ -8,6 +8,7 @@ import com.cool.store.entity.*; import com.cool.store.enums.FileTypeEnum; import com.cool.store.enums.ImportTaskStatusEnum; import com.cool.store.enums.PosAndOrderEnum; +import com.cool.store.enums.point.ShopStageEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.mapper.*; @@ -60,7 +61,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { @Resource private FranchiseFeeMapper franchiseFeeMapper; @Resource - private FranchiseFeeDAO franchiseFeeDAO; + private FranchiseFeeDAO franchiseFeeDAO; @Resource private WarehouseInfoMapper warehouseInfoMapper; @Resource @@ -77,6 +78,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { private SignFranchiseDAO signFranchiseDAO; @Value("${mybatis.configuration.variables.enterpriseId}") private String eid; + @Override @Transactional(rollbackFor = Exception.class) public Boolean importOaOldShopData(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task) { @@ -92,14 +94,14 @@ public class DataHandlerServerImpl implements DataHandlerServer { } }); log.info("导入数据条数:{}", list.size()); - if (CollectionUtils.isEmpty(list)){ + if (CollectionUtils.isEmpty(list)) { log.info("导入数据转化为空"); return false; } List shopCodeList = list.stream().map(ImportOaOldShopDataDTO::getShopCode).collect(Collectors.toList()); Map dotMap = list.stream().collect(Collectors.toMap(ImportOaOldShopDataDTO::getShopCode, item -> item)); List shopInfoList = shopInfoDAO.selectByShopCodeList(shopCodeList); - if (CollectionUtils.isEmpty(shopInfoList)){ + if (CollectionUtils.isEmpty(shopInfoList)) { log.info("导入数据根据shopCode 未找到数据"); } Map shopInfoByCodeMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getShopCode, item -> item)); @@ -155,7 +157,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { //建店阶段完成时间 List updateBuildStageList = new ArrayList<>(); for (ImportOaOldShopDataDTO dto : list) { - if( !check(dto,errorList)){ + if (!check(dto, errorList)) { continue; } ShopInfoDO shopInfoDO = shopInfoByCodeMap.get(dto.getShopCode().trim()); @@ -187,7 +189,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { continue; } Date buildEndTime = DateUtils.toDate(YYYY_MM_DD, dto.getBuildEndTime()); - if (Objects.isNull(buildEndTime)){ + if (Objects.isNull(buildEndTime)) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("建店资料时间转化失败"); @@ -196,7 +198,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { } //合同 SignFranchiseDO signFranchiseDO = signFranchiseMap.get(shopId); - if (signFranchiseDO==null){ + if (signFranchiseDO == null) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("合同DO不存在"); @@ -204,7 +206,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { continue; } FranchiseFeeDO franchiseFeeDO = franchiseFeeMap.get(shopId); - if (franchiseFeeDO==null){ + if (franchiseFeeDO == null) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("加盟费DO不存在"); @@ -235,7 +237,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { if (StringUtil.isNotBlank(dto.getIntroductionAward())) { signFranchiseDO.setIntroductionAward(dto.getIntroductionAward()); } - if (StringUtil.isNotBlank(dto.getContractCode()) && dto.getContractCode().trim().startsWith("ZX") && dto.getContractCode().trim()!="0") { + if (StringUtil.isNotBlank(dto.getContractCode()) && dto.getContractCode().trim().startsWith("ZX") && dto.getContractCode().trim() != "0") { signFranchiseDO.setContractCode(dto.getContractCode().trim()); } if (StringUtil.isNotBlank(dto.getProtectionDistance())) { @@ -245,7 +247,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { //建店资料未完成 BuildStageDTO buildStageDTO = new BuildStageDTO(); buildStageDTO.setShopId(shopId); - buildStageDTO.setEndTime(dto.getBuildEndTime()+" 00:00:00"); + buildStageDTO.setEndTime(dto.getBuildEndTime() + " 00:00:00"); updateBuildStageList.add(buildStageDTO); //建店资料阶段处理 shopStageInfoDAO.dataUpdateShopStageInfo(Collections.singletonList(buildStageDTO), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_156); @@ -257,7 +259,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { preparationService.selectSiteAndBuildStoreComplete(shopId); preparationService.buildStoreComplete(shopId); } - if (buildEndTime.before(new Date(1745164800000L))){ + if (buildEndTime.before(new Date(1745164800000L))) { fitmentFhopIdList.add(shopId); } BuildInformationDO buildInformationDO = buildInformationMap.get(shopId); @@ -321,11 +323,11 @@ public class DataHandlerServerImpl implements DataHandlerServer { } //pos PosAndOrderInfoDO posDO = posSysInfoDOMap.get(shopId); - if (Objects.isNull(posDO)){ + if (Objects.isNull(posDO)) { posDO = new PosAndOrderInfoDO(); posDO.setShopId(shopId); posDO.setType(PosAndOrderEnum.POS.getCode()); - posDO.setAccount(lineMobileMap.getOrDefault(shopInfoDO.getLineId(),"")); + posDO.setAccount(lineMobileMap.getOrDefault(shopInfoDO.getLineId(), "")); posDO.setRemark("已为您开通POS系统账号和密码"); posDO.setCreateTime(new Date()); addPosAndOrderInfoList.add(posDO); @@ -340,7 +342,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { orderSysInfoDAO.batchInsertSpecific(addOrderSysInfoList); franchiseFeeDAO.updateBill(franchiseFeeByShopIds); buildInformationDAO.batchInsertSpecific(addBuildList); - if (CollectionUtils.isNotEmpty(updateBuildStageList)){ + if (CollectionUtils.isNotEmpty(updateBuildStageList)) { List updateStageShopIds = updateBuildStageList.stream().map(BuildStageDTO::getShopId).collect(Collectors.toList()); //pos阶段完成 shopStageInfoDAO.dataUpdateStatus(updateStageShopIds, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163); @@ -357,13 +359,13 @@ public class DataHandlerServerImpl implements DataHandlerServer { shopStageInfoDAO.dataUpdateAcceptanceStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121); if (!errorList.isEmpty()) { task.setStatus(ImportTaskStatusEnum.ERROR.getCode()); - String url = null ; + String url = null; try { - url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null, + url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null, FileTypeEnum.IMPORT_OA_OLD_SHOP_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), FileTypeEnum.IMPORT_OA_OLD_SHOP_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date())); } catch (Exception e) { - log.info("导出失败列表失败 errorList:{}",JSONObject.toJSONString(errorList)); + log.info("导出失败列表失败 errorList:{}", JSONObject.toJSONString(errorList)); } task.setFileUrl(url); } else { @@ -371,138 +373,296 @@ public class DataHandlerServerImpl implements DataHandlerServer { } task.setTotalNum(dataMapList.size()); task.setSuccessNum(dataMapList.size() - errorList.size()); - importTaskMapper.update(eid,task); + importTaskMapper.update(eid, task); return null; } - private static boolean check(ImportOaOldShopDataDTO dto,List errorList){ - if (StringUtil.isBlank(dto.getShopCode())){ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean dataStageHandler(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task, Boolean flag) { + List shopCodeList = new ArrayList<>(); + ListUtils.emptyIfNull(dataMapList) + .forEach(data -> { + try { + shopCodeList.add(String.valueOf(data.get("门店编码")).trim()); + } catch (Exception e) { + log.info("importOaOldShopData 转化dto error:{}", JSONObject.toJSONString(data)); + } + }); + if (CollectionUtils.isEmpty(shopCodeList)) { + log.info("数据处理 门店编码为空"); + return null; + } + List shopInfoList = shopInfoDAO.selectByShopCodeList(shopCodeList); + if (CollectionUtils.isEmpty(shopInfoList)) { + log.info("数据处理 门店未找到对应数据"); + return null; + } + List errorList = new ArrayList<>(); + List shopIds = shopInfoList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); + Map shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getShopCode, x -> x)); + List lineIdList = shopInfoList.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList()); + + //手机号 + Map lineMobileMap = lineInfoDAO.getLineMobileMap(lineIdList); + List stageByShopStage = shopStageInfoDAO.getStageByShopStage(shopIds, ShopStageEnum.SHOP_STAGE_2.getShopStage()); + Map> shopStageInfoMap = stageByShopStage.stream().collect(Collectors.groupingBy(ShopStageInfoDO::getShopId)); + //培训和开业完成 + List trainShopIdList = new ArrayList<>(); + //建店大阶段完成 + List buildShopIdList = new ArrayList<>(); + List addOpeningOperationPlanDO = new ArrayList<>(); + List addPosAndOrderInfoList = new ArrayList<>(); + for (String shopCode : shopCodeList) { + ShopInfoDO shop = shopInfoMap.get(shopCode); + if (shop == null) { + ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); + errorDTO.setShopCode(shopCode); + errorDTO.setErrorReason("code未找到对应门店数据"); + errorList.add(errorDTO); + continue; + } + Long shopId = shop.getId(); + List shopStageInfoList = shopStageInfoMap.get(shopId); + if (CollectionUtils.isEmpty(shopStageInfoList)) { + ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); + errorDTO.setShopCode(shop.getShopCode()); + errorDTO.setErrorReason("门店未找到对应阶段数据"); + errorList.add(errorDTO); + continue; + } + Map stageMap = shopStageInfoList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, Function.identity())); + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()).getShopSubStageStatus())) { + ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); + errorDTO.setShopCode(shop.getShopCode()); + errorDTO.setErrorReason("合同未完成"); + errorList.add(errorDTO); + continue; + } + trainShopIdList.add(shopId); + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_14.getShopSubStage()).getShopSubStageStatus())) { + OpeningOperationPlanDO openingOperationPlanDO = new OpeningOperationPlanDO(); + openingOperationPlanDO.setShopId(shopId); + openingOperationPlanDO.setCreateTime(new Date()); + addOpeningOperationPlanDO.add(openingOperationPlanDO); + } + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_156.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus())) { + ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); + errorDTO.setShopCode(shop.getShopCode()); + errorDTO.setErrorReason("建店资料未完成"); + errorList.add(errorDTO); + continue; + } + buildShopIdList.add(shopId); + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_173.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_17.getShopSubStage()).getShopSubStageStatus())) { + PosAndOrderInfoDO posDO = new PosAndOrderInfoDO(); + posDO.setShopId(shopId); + posDO.setAccount("ZXA8_" + shop.getShopCode()); + posDO.setPassword("888888"); + posDO.setType(PosAndOrderEnum.ORDER.getCode()); + posDO.setRemark("已为您开通订货系统账号和密码,密码已加密,初始密码为888888,可通过加盟小程序修改密码!"); + posDO.setCreateTime(new Date()); + addPosAndOrderInfoList.add(posDO); + } + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_16.getShopSubStage()).getShopSubStageStatus())) { + PosAndOrderInfoDO posDO = new PosAndOrderInfoDO(); + posDO.setShopId(shopId); + posDO.setAccount(lineMobileMap.get(shop.getLineId())); + posDO.setType(PosAndOrderEnum.POS.getCode()); + posDO.setRemark("已为您开通POS系统账号和密码"); + posDO.setCreateTime(new Date()); + addPosAndOrderInfoList.add(posDO); + } + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_235.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_23.getShopSubStage()).getShopSubStageStatus())) { + PosAndOrderInfoDO posDO = new PosAndOrderInfoDO(); + posDO.setShopId(shopId); + posDO.setAccount(shop.getShopCode()); + posDO.setType(PosAndOrderEnum.XIN_FA_SYS.getCode()); + posDO.setCreateTime(new Date()); + addPosAndOrderInfoList.add(posDO); + } + if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_245.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage()).getShopSubStageStatus()) + && !ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_244.getShopSubStageStatus() + .equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage()).getShopSubStageStatus())) { + PosAndOrderInfoDO posDO = new PosAndOrderInfoDO(); + posDO.setShopId(shopId); + posDO.setType(PosAndOrderEnum.TENT_PASS.getCode()); + posDO.setCreateTime(new Date()); + addPosAndOrderInfoList.add(posDO); + } + } + if (flag) { + //装修大阶段 + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_863); + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_91); + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112); + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); + } + //培训 + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51); + //开业方案 + shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143); + //营帐通 + shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_245); + //新发 + shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_235); + //pos + shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163); + if (!errorList.isEmpty()) { + task.setStatus(ImportTaskStatusEnum.ERROR.getCode()); + String url = null; + try { + url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null, + FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), + FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date())); + } catch (Exception e) { + log.info("导出失败列表失败 errorList:{}", JSONObject.toJSONString(errorList)); + } + task.setFileUrl(url); + } else { + task.setStatus(ImportTaskStatusEnum.SUCCESS.getCode()); + } + task.setTotalNum(dataMapList.size()); + task.setSuccessNum(dataMapList.size() - errorList.size()); + importTaskMapper.update(eid, task); + return true; + } + + private static boolean check(ImportOaOldShopDataDTO dto, List errorList) { + if (StringUtil.isBlank(dto.getShopCode())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("门店编码不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getShopName())){ + if (StringUtil.isBlank(dto.getShopName())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("门店名称不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getProvince())){ + if (StringUtil.isBlank(dto.getProvince())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("省不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getCity())){ + if (StringUtil.isBlank(dto.getCity())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("市不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getDistrict())){ + if (StringUtil.isBlank(dto.getDistrict())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("区不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getShopAddress())){ + if (StringUtil.isBlank(dto.getShopAddress())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("门店地址不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getBuildEndTime())){ + if (StringUtil.isBlank(dto.getBuildEndTime())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("建店资料完成时间不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getMonthRent())){ + if (StringUtil.isBlank(dto.getMonthRent())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("租金不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getPointArea())){ + if (StringUtil.isBlank(dto.getPointArea())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("场地实际面积不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getContractStartDate())){ + if (StringUtil.isBlank(dto.getContractStartDate())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("合同开始时间不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getContractEndDate())){ + if (StringUtil.isBlank(dto.getContractEndDate())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("合同结束时间不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getYearFranchiseFee())){ + if (StringUtil.isBlank(dto.getYearFranchiseFee())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("加盟费不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getFirstYearManageFee())){ + if (StringUtil.isBlank(dto.getFirstYearManageFee())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("管理费 不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getFirstYearFee())){ + if (StringUtil.isBlank(dto.getFirstYearFee())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("品牌使用管理费不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getPerformanceBond())){ + if (StringUtil.isBlank(dto.getPerformanceBond())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("设计费不能为空"); errorList.add(errorDTO); - return false; + return false; } - if (StringUtil.isBlank(dto.getLoanMargin())){ + if (StringUtil.isBlank(dto.getLoanMargin())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("保证金不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getDiscountReason())){ + if (StringUtil.isBlank(dto.getDiscountReason())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("加盟费优惠原因不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getDeclareGoodsLogisticsWarehouseName())){ + if (StringUtil.isBlank(dto.getDeclareGoodsLogisticsWarehouseName())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("报货物流仓库不能为空"); errorList.add(errorDTO); return false; } - if (StringUtil.isBlank(dto.getContractCode())){ + if (StringUtil.isBlank(dto.getContractCode())) { ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(); errorDTO.setShopCode(dto.getShopCode()); errorDTO.setErrorReason("合同编号不能为空"); @@ -532,63 +692,67 @@ public class DataHandlerServerImpl implements DataHandlerServer { importOaOldShopDataDTO.setDistrict(String.valueOf(data.get("区"))); importOaOldShopDataDTO.setShopAddress(String.valueOf(data.get("门店地址"))); importOaOldShopDataDTO.setBuildEndTime(String.valueOf(data.get("建店资料完成时间"))); - if (Objects.nonNull(data.get("店面租金"))){ - importOaOldShopDataDTO.setMonthRent(String.valueOf(data.get("店面租金")));} - if (Objects.nonNull(data.get("场地实际面积"))){ - importOaOldShopDataDTO.setPointArea(String.valueOf(data.get("场地实际面积")));} - if (Objects.nonNull(data.get("签约人2姓名"))){ - importOaOldShopDataDTO.setPartnershipSignatorySecond(String.valueOf(data.get("签约人2姓名")));} - if (Objects.nonNull(data.get("签约人2电话"))){ - importOaOldShopDataDTO.setPartnershipSignatorySecondMobile(String.valueOf(data.get("签约人2电话")));} - if (Objects.nonNull(data.get("签约人2身份证号码"))){ + if (Objects.nonNull(data.get("店面租金"))) { + importOaOldShopDataDTO.setMonthRent(String.valueOf(data.get("店面租金"))); + } + if (Objects.nonNull(data.get("场地实际面积"))) { + importOaOldShopDataDTO.setPointArea(String.valueOf(data.get("场地实际面积"))); + } + if (Objects.nonNull(data.get("签约人2姓名"))) { + importOaOldShopDataDTO.setPartnershipSignatorySecond(String.valueOf(data.get("签约人2姓名"))); + } + if (Objects.nonNull(data.get("签约人2电话"))) { + importOaOldShopDataDTO.setPartnershipSignatorySecondMobile(String.valueOf(data.get("签约人2电话"))); + } + if (Objects.nonNull(data.get("签约人2身份证号码"))) { importOaOldShopDataDTO.setPartnershipSignatorySecondIdNumber(String.valueOf(data.get("签约人2身份证号码"))); } - if (Objects.nonNull(data.get("合同开始日期"))){ + if (Objects.nonNull(data.get("合同开始日期"))) { importOaOldShopDataDTO.setContractStartDate(String.valueOf(data.get("合同开始日期"))); } - if (Objects.nonNull(data.get("合同结束日期"))){ + if (Objects.nonNull(data.get("合同结束日期"))) { importOaOldShopDataDTO.setContractEndDate(String.valueOf(data.get("合同结束日期"))); } - if (Objects.nonNull(data.get("合同编号"))){ + if (Objects.nonNull(data.get("合同编号"))) { importOaOldShopDataDTO.setContractCode(String.valueOf(data.get("合同编号"))); } - if (Objects.nonNull(data.get("保护距离(米)"))){ + if (Objects.nonNull(data.get("保护距离(米)"))) { importOaOldShopDataDTO.setProtectionDistance(String.valueOf(data.get("保护距离(米)"))); } - if (Objects.nonNull(data.get("介绍人"))){ + if (Objects.nonNull(data.get("介绍人"))) { importOaOldShopDataDTO.setIntroducer(String.valueOf(data.get("介绍人"))); } - if (Objects.nonNull(data.get("介绍门店"))){ + if (Objects.nonNull(data.get("介绍门店"))) { importOaOldShopDataDTO.setIntroduceStore(String.valueOf(data.get("介绍门店"))); } - if (Objects.nonNull(data.get("介绍奖"))){ + if (Objects.nonNull(data.get("介绍奖"))) { importOaOldShopDataDTO.setIntroductionAward(String.valueOf(data.get("介绍奖"))); } - if (Objects.nonNull(data.get("报货物流仓库"))){ + if (Objects.nonNull(data.get("报货物流仓库"))) { importOaOldShopDataDTO.setDeclareGoodsLogisticsWarehouseName(String.valueOf(data.get("报货物流仓库"))); } - if (Objects.nonNull(data.get("收款公司民生银行账号"))){ + if (Objects.nonNull(data.get("收款公司民生银行账号"))) { importOaOldShopDataDTO.setReceivingMsBankAccount(String.valueOf(data.get("收款公司民生银行账号"))); } - if (Objects.nonNull(data.get("云流水账号"))){ + if (Objects.nonNull(data.get("云流水账号"))) { importOaOldShopDataDTO.setYlsAccount(String.valueOf(data.get("云流水账号"))); } - if (Objects.nonNull(data.get("加盟费"))){ + if (Objects.nonNull(data.get("加盟费"))) { importOaOldShopDataDTO.setYearFranchiseFee(String.valueOf(data.get("加盟费"))); } - if (Objects.nonNull(data.get("加盟费优惠原因"))){ + if (Objects.nonNull(data.get("加盟费优惠原因"))) { importOaOldShopDataDTO.setDiscountReason(String.valueOf(data.get("加盟费优惠原因"))); } - if (Objects.nonNull(data.get("管理费"))){ + if (Objects.nonNull(data.get("管理费"))) { importOaOldShopDataDTO.setFirstYearManageFee(String.valueOf(data.get("管理费"))); } - if (Objects.nonNull(data.get("设计费"))){ + if (Objects.nonNull(data.get("设计费"))) { importOaOldShopDataDTO.setPerformanceBond(String.valueOf(data.get("设计费"))); } - if (Objects.nonNull(data.get("保证金"))){ + if (Objects.nonNull(data.get("保证金"))) { importOaOldShopDataDTO.setLoanMargin(String.valueOf(data.get("保证金"))); } - if (Objects.nonNull(data.get("品牌使用管理费"))){ + if (Objects.nonNull(data.get("品牌使用管理费"))) { importOaOldShopDataDTO.setFirstYearFee(String.valueOf(data.get("品牌使用管理费"))); } return importOaOldShopDataDTO; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java index 273192f3f..668978268 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java @@ -53,10 +53,14 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { //集团查大区 List regionIdByGroupName = bigRegionDAO.getRegionIdByGroupName(request.getJoinGroupName()); if (CollectionUtils.isNotEmpty(regionIdByGroupName)) { - if (CollectionUtils.isEmpty(request.getRegionIds())){ - request.setRegionIds(new ArrayList<>()); + if (CollectionUtils.isEmpty(request.getRegionIds())) { + request.setRegionIds(regionIdByGroupName); + } else { + request.getRegionIds().retainAll(regionIdByGroupName); + if (CollectionUtils.isEmpty(request.getRegionIds())){ + throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL); + } } - request.getRegionIds().addAll(regionIdByGroupName); } List shopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(request); if (CollectionUtils.isEmpty(shopFranchiseReportList)) { @@ -77,9 +81,9 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { if (response == null) { response = new FranchiseReportResponse(); response.setRegionId(shopFranchiseReportDTO.getRegionId()); - response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName()); + response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName()); String groupName = bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName(); - if (StringUtils.isBlank(groupName)){ + if (StringUtils.isBlank(groupName)) { continue; } response.setJoinGroupName(groupName); @@ -109,23 +113,23 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { FranchiseReportRequest yesterdayRequest = new FranchiseReportRequest(); yesterdayRequest.setRegionIds(request.getRegionIds()); yesterdayRequest.setStoreTypes(request.getStoreTypes()); - LocalDate now = LocalDate.now(); + LocalDate now = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); //昨日 00:00:00 LocalDateTime yesterdayStartDate = now.minusDays(1).atStartOfDay(); String yesterdayStartTime = yesterdayStartDate.format(formatter); //昨日 23:59:59 - LocalDateTime yesterdayEndDate = now.minusDays(1).atTime(23,59,59); + LocalDateTime yesterdayEndDate = now.minusDays(1).atTime(23, 59, 59); String yesterdayEndTime = yesterdayEndDate.format(formatter); yesterdayRequest.setBuildStartTime(yesterdayStartTime); yesterdayRequest.setBuildEndTime(yesterdayEndTime); List yesterdayShopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(yesterdayRequest); DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) { - Map> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect( Collectors.groupingBy(FranchiseReportDTO::getRegionId)); - for (Long regionId : responseByRegionIdMap.keySet()){ + Map> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId)); + for (Long regionId : responseByRegionIdMap.keySet()) { FranchiseReportResponse response = responseByRegionIdMap.get(regionId); - if (Objects.isNull(response)){ + if (Objects.isNull(response)) { continue; } List yesterdayList = yesterdayMap.get(regionId); @@ -136,10 +140,48 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { } List list = new ArrayList<>(responseByRegionIdMap.values()); - if (CollectionUtils.isEmpty(list)){ + if (CollectionUtils.isEmpty(list)) { log.info("数据为空"); return Collections.emptyList(); } - return list.stream().sorted(Comparator.comparing(FranchiseReportResponse::getJoinGroupName)).collect(Collectors.toList()); + sortByName(list); + return list; + } + + public static void sortByName(List list) { + list.sort(Comparator.comparingInt(f -> extractNumberFromName(f.getJoinGroupName()))); + } + + private static int extractNumberFromName(String name) { + try { + + if (name.contains("第一加盟集团")) { + return 1; + } + if (name.contains("第二加盟集团")) { + return 2; + } + if (name.contains("第三加盟集团")) { + return 3; + } + if (name.contains("第四加盟集团")) { + return 4; + } + if (name.contains("第五加盟集团")) { + return 5; + } + if (name.contains("第六加盟集团")) { + return 6; + } + if (name.contains("第七加盟集团")) { + return 7; + } + if (name.contains("第八加盟集团")) { + return 8; + } + return Integer.MAX_VALUE; + } catch (Exception e) { + return Integer.MAX_VALUE; + } } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PosAndOrderInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PosAndOrderInfoServiceImpl.java index 8cb48812f..4c592b520 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PosAndOrderInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PosAndOrderInfoServiceImpl.java @@ -3,8 +3,10 @@ package com.cool.store.service.impl; import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.PosAndOrderInfoDAO; +import com.cool.store.dao.ShopInfoDAO; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.PosAndOrderInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.ShopStageInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.PosAndOrderEnum; @@ -32,6 +34,8 @@ import java.util.Objects; @Service public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService { + @Resource + private ShopInfoDAO shopInfoDAO; @Resource private PosAndOrderInfoDAO posAndOrderInfoDAO; @Autowired @@ -68,6 +72,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService { public PosAndOrderResponse get(Long shopId, Integer type) { PosAndOrderResponse response = new PosAndOrderResponse(); PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId, type); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); if (Objects.nonNull(posAndOrderInfoDO)) { response.setShopId(posAndOrderInfoDO.getShopId()); response.setAccount(posAndOrderInfoDO.getAccount()); @@ -77,6 +82,9 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService { response.setCreateTime(posAndOrderInfoDO.getCreateTime()); response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser())); } + else{ + response.setAccount(shopInfo.getShopCode()); + } return response; } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/BigRegionController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/BigRegionController.java index ab5bf2f3a..c16945bf8 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/BigRegionController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/BigRegionController.java @@ -3,6 +3,7 @@ package com.cool.store.controller.webb; import com.cool.store.dto.content.ContentQueryDetailDto; import com.cool.store.dto.region.BigRegionDTO; import com.cool.store.entity.HyContentInfoDO; +import com.cool.store.request.QueryBigRegionRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.BigRegionService; import io.swagger.annotations.Api; @@ -31,5 +32,10 @@ public class BigRegionController { return ResponseResult.success(bigRegionService.queryAllBigRegion(keyword)); } + @PostMapping("/queryBigRegion") + @ApiOperation("获取可选择的大区joinMode = 0") + public ResponseResult> queryBigRegion(@RequestBody QueryBigRegionRequest queryBigRegionRequest) { + return ResponseResult.success(bigRegionService.queryBigRegion(queryBigRegionRequest)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java index c93fbaae9..c4b91084b 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java @@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -68,5 +69,30 @@ public class DataHandlerController { return ResponseResult.success(true); } + @PostMapping("/dataStageHandler") + @ApiOperation("阶段处理") + public ResponseResult importOaOldShopData(MultipartFile file, @RequestParam("flag") Boolean flag) { + ExcelReader reader = null; + try { + reader = ExcelUtil.getReader(file.getInputStream()); + } catch (IOException e) { + log.error("read file error:", e); + } + assert reader != null; + log.info("----------------------:{}",file.getOriginalFilename()); + List> dataMapList = reader.read(0, 1, Integer.MAX_VALUE); + ImportTaskDO importTaskDO = new ImportTaskDO(); + importTaskDO.setFileName(file.getOriginalFilename()); + importTaskDO.setFileType(FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA.getFileType()); + importTaskDO.setIsImport(true); + importTaskDO.setStatus(ImportTaskStatusEnum.PROGRESS.getCode()); + importTaskDO.setCreateUserId(CurrentUserHolder.getUserId()); + importTaskDO.setCreateName(CurrentUserHolder.getUser().getName()); + importTaskDO.setCreateTime(System.currentTimeMillis()); + importTaskMapper.insert(eid ,importTaskDO); + dataHandlerServer.dataStageHandler(dataMapList, file.getOriginalFilename(), CurrentUserHolder.getUser(), importTaskDO,flag); + return ResponseResult.success(true); + } + }