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 a106dfde5..17656c38a 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 @@ -79,7 +79,7 @@ public enum ErrorCodeEnum { NO_TRANSFER_REQUIRED(500013, "招商经理现有私海线索无需转让,请检查后重试!", null), NO_BATCH_TRANSFER_REQUIRED(500014, "已选线索包含此招商经理现有私海线索,无需转让,请检查后重试!", null), PARTNER_MOBILE_EXIST(500010, "手机号码已存在,请核实!", null), - MOBILE_EXIST(500015, "此手机号码已存在,请修改后重试", null), + MOBILE_EXIST(500015, "此手机号码已存在,线索所属列表:{0},督导:{1},创建日期:{2}", null), INVESTMENT_MANAGER_NOT_EXIST(500016, "当前招商经理不存在", null), PARTNER_MOBILE_EXIST_0(500017, "手机号码已存在", null), TIME_OCCUPIED(500018, "预约时间被占用", null), @@ -200,6 +200,8 @@ public enum ErrorCodeEnum { INVOICING_EXIST(109016, "当前门店发票信息已存在!", null), + SHOP_STATUS_NOT_SUPPORT_HANDLER(109016, "当前门店状态为:{0},不能进行结束跟进操作", null), + INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null), INSERT_OPENING_OPERATION_PLAN_FALSE(103002,"插入运营方案失败",null), @@ -229,7 +231,8 @@ public enum ErrorCodeEnum { UPDATE_FAIL(131000,"修改失败,表单不存在!",null), LICENSE_LEGAL_STAGE_FAIL(131001,"营业执照阶段未上传!",null), - GET_JURIDICAL_ID_CARD_NO_FAIL(131002,"获取法人身份证信息失败!",null) + GET_JURIDICAL_ID_CARD_NO_FAIL(131002,"获取法人身份证信息失败!",null), + UPDATE_INVESTMENT_MANAGER_FAIL(131005,"当前用户已经为该门店招商经理",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 a36abc241..486554af5 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 @@ -14,6 +14,7 @@ public enum FileTypeEnum { MY_FRANCHISEES("my_franchisees","我的加盟商"), TEAM_FRANCHISEES("team_franchisees","团队加盟商"), PREPARATION("preparation","进度管理"), + BRANCH_SHOP_LIST("branchShopList","开店管理") ; private String fileType; private String desc; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FollowLogTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FollowLogTypeEnum.java new file mode 100644 index 000000000..d340d609b --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FollowLogTypeEnum.java @@ -0,0 +1,24 @@ +package com.cool.store.enums; + +/** + * @Author: WangShuo + * @Date: 2025/01/07/下午2:18 + * @Version 1.0 + * @注释: + */ +public enum FollowLogTypeEnum { + LINE(1,"线索"), + SHOP(2,"门店"); + private int code; + private String desc; + private FollowLogTypeEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + public int getCode() { + return code; + } + public String getDesc() { + return desc; + } +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java index f8e5dfb5b..91becdf4a 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java @@ -1,4 +1,13 @@ -package com.cool.store.enums;/** +package com.cool.store.enums; + +import com.cool.store.utils.StringUtil; +import org.apache.commons.lang3.StringUtils; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** * @Author: WangShuo * @Date: 2024/11/04/下午7:00 * @Version 1.0 @@ -23,4 +32,19 @@ public enum FranchiseBrandEnum { public String getDesc() { return desc; } + public static String getDescByCode(String code) { + if (StringUtils.isBlank(code)){ + return null; + } + List integerList = Arrays.stream(code.split(",")) + .map(Integer::parseInt) + .collect(Collectors.toList()); + StringBuffer stringBuffer = new StringBuffer(); + for (FranchiseBrandEnum e : FranchiseBrandEnum.values()) { + if (integerList.contains(e.getCode())) { + stringBuffer.append(e.getDesc()).append(","); + } + } + return stringBuffer.toString(); + } } diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java new file mode 100644 index 000000000..42192ddcb --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java @@ -0,0 +1,36 @@ +package com.cool.store.enums; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午5:51 + * @Version 1.0 + * @注释: + */ +public enum JoinModeEnum { + FRANCHISE_DEPARTMENT(1,"社会加盟模式/加盟部加盟店"), + FRANCHISE_COMPANIES(2,"强加盟模式/加盟公司加盟店"), + OWN_STORE(3,"加盟公司自有店"); + private int code; + private String desc; + private JoinModeEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + public int getCode() { + return code; + } + public String getDesc() { + return desc; + } + public static String getByCode(Integer code) { + if (code == null){ + return null; + } + for (JoinModeEnum e : JoinModeEnum.values()) { + if (e.getCode() == code) { + return e.desc; + } + } + return null; + } +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java index 54ed24023..6ea38211a 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java @@ -9,7 +9,8 @@ public enum OperationLogTypeEnum { TRANSFER_INVESTMENT_MANAGER(1, "转让招商经理_线索"), ENTRUST_INTERVIEW(2, "委托面试"), - TRANSFER_INVESTMENT_MANAGER_3(3, "转让招商经理_加盟商"); + TRANSFER_INVESTMENT_MANAGER_3(3, "转让招商经理_加盟商"), + TRANSFER_INVESTMENT_MANAGER_4(4, "转让招商经理_门店"); private final int code; private final String description; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java index df6cea3c4..dfb5c5a0b 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java @@ -43,6 +43,7 @@ public enum UserRoleEnum { TENT_PASS_CUSTOMER(380000000L,"营帐通客服"), DESIGN_CUSTOMER(390000000L,"设计客服"), CONSTRUCTION_CUSTOMER(400000000L,"施工客服"), + BRANCH_OFFICE(1724233283449L,"分布内勤"), ; private Long code; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java new file mode 100644 index 000000000..b1d4624ee --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java @@ -0,0 +1,33 @@ +package com.cool.store.enums.point; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午3:54 + * @Version 1.0 + * @注释: + */ +public enum ShopStatusEnum { + ING(0,"跟进中"), + DONE(1,"已完成"), + ABANDON(2,"已放弃"); + private int code; + private String desc; + private ShopStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + public int getCode() { + return code; + } + public String getDesc() { + return desc; + } + public static String getDesc(int code){ + for (ShopStatusEnum shopStatusEnum:ShopStatusEnum.values()){ + if (shopStatusEnum.getCode()==code){ + return shopStatusEnum.getDesc(); + } + } + return null; + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index c4c527a92..1b1501c47 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -119,6 +119,9 @@ public class EnterpriseUserDAO { public Map getUserInfoMap(List userIds){ List userList = getUserInfoByUserIds(userIds); + if (CollectionUtils.isEmpty(userList)){ + return new HashMap<>(); + } return userList.stream().collect(Collectors.toMap(k -> k.getUserId(), Function.identity())); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java index 372453d25..ea5040766 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java @@ -100,6 +100,9 @@ public class HyOpenAreaInfoDAO { return Maps.newHashMap(); } List hyOpenAreaInfoDOS = hyOpenAreaInfoMapper.selectByIds(ids); + if (CollectionUtils.isEmpty(hyOpenAreaInfoDOS)){ + return Maps.newHashMap(); + } return ListUtils.emptyIfNull(hyOpenAreaInfoDOS).stream().collect(Collectors.toMap(k->k.getId(), v->v.getAreaPath().replace("/"," ").trim())); } @@ -171,4 +174,11 @@ public class HyOpenAreaInfoDAO { List openAreaInfoList = selectByIds(wantShopAreaIds); return openAreaInfoList.stream().collect(Collectors.toMap(k->k.getId(), v->v, (k1, k2)->k1)); } + + public List getChildrenListByParentIds(List parentIds) { + if (CollectionUtils.isEmpty(parentIds)) { + return Lists.newArrayList(); + } + return hyOpenAreaInfoMapper.getChildrenListByParentIds(parentIds); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/InvoicingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/InvoicingDAO.java index 6ae3b1478..7e29f027b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/InvoicingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/InvoicingDAO.java @@ -2,10 +2,14 @@ package com.cool.store.dao; import com.cool.store.entity.InvoicingDO; import com.cool.store.mapper.InvoicingMapper; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * @Author suzhuhong @@ -41,5 +45,14 @@ public class InvoicingDAO { return invoicingMapper.selectByPrimaryKey(id); } + public List listByShopIds(List shopIds){ + if (CollectionUtils.isEmpty(shopIds)){ + return new ArrayList<>(); + } + Example example = new Example(InvoicingDO.class); + example.createCriteria().andIn("shopId", shopIds); + return invoicingMapper.selectByExample(example); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineFollowLogDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineFollowLogDAO.java index cd8ea4795..de1ce0139 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineFollowLogDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineFollowLogDAO.java @@ -2,6 +2,7 @@ package com.cool.store.dao; import com.cool.store.entity.LineFollowLogDO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.mapper.LineFollowLogMapper; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -24,9 +25,9 @@ public class LineFollowLogDAO { @Resource private LineFollowLogMapper lineFollowLogMapper; - public Page getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize){ + public Page getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize,Integer type){ PageHelper.startPage(pageNum, pageSize); - return lineFollowLogMapper.getFollowLogPage(lineId); + return lineFollowLogMapper.getFollowLogPage(lineId,type); } /** @@ -37,11 +38,19 @@ public class LineFollowLogDAO { * @param message * @return */ - public Long addFollowLog(LineInfoDO lineInfo, String operateUserId, String operateUsername, String message){ + public Long addFollowLog(LineInfoDO lineInfo,String operateUserId, String operateUsername, String message,Integer type){ if(Objects.isNull(lineInfo)){ return null; } - LineFollowLogDO followLog = new LineFollowLogDO(lineInfo.getPartnerId(), lineInfo.getId(), operateUserId, operateUsername, lineInfo.getWorkflowStage(), lineInfo.getWorkflowSubStage(), lineInfo.getWorkflowSubStageStatus(), message); + LineFollowLogDO followLog = new LineFollowLogDO(lineInfo.getPartnerId(), lineInfo.getId(), operateUserId, operateUsername, lineInfo.getWorkflowStage(), lineInfo.getWorkflowSubStage(), lineInfo.getWorkflowSubStageStatus(), message,type); + lineFollowLogMapper.insertSelective(followLog); + return followLog.getId(); + } + public Long addFollowLogByShop(ShopInfoDO shopInfoDO, String operateUserId, String operateUsername, String message,Integer type){ + if(Objects.isNull(shopInfoDO)){ + return null; + } + LineFollowLogDO followLog = new LineFollowLogDO(shopInfoDO.getPartnerId(), shopInfoDO.getId(), operateUserId, operateUsername,null,null,null, message,type); lineFollowLogMapper.insertSelective(followLog); return followLog.getId(); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java index efc8f1fb7..2ab9200dc 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java @@ -1,5 +1,6 @@ package com.cool.store.dao; +import com.aliyun.openservices.shade.com.google.common.collect.Lists; import com.cool.store.constants.CommonConstants; import com.cool.store.dto.InvestmentCountDTO; import com.cool.store.dto.PendingCountDTO; @@ -15,6 +16,7 @@ import com.cool.store.request.PartnerRequest; import com.cool.store.request.PointLinePageRequest; import com.cool.store.request.PublicLineListRequest; import com.cool.store.utils.RandomEightCharCodeUtils; +import com.cool.store.vo.LineVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.collect.Maps; @@ -26,6 +28,7 @@ import org.springframework.stereotype.Repository; import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -52,14 +55,15 @@ public class LineInfoDAO { } return null; } - public Boolean getLineInfoByMobile(String mobile) { + + public LineInfoDO getLineByMobile(String mobile) { Example example = new Example(LineInfoDO.class); example.createCriteria().andEqualTo("mobile", mobile); - List lineInfoDOS = lineInfoMapper.selectByExample(example); - if(CollectionUtils.isNotEmpty(lineInfoDOS)) { - return true; - } - return false; + return lineInfoMapper.selectOneByExample(example); + } + + public Boolean getLineInfoByMobile(String mobile) { + return Objects.nonNull(getLineByMobile(mobile)); } public Integer updateLineInfo(LineInfoDO param){ @@ -198,4 +202,24 @@ public class LineInfoDAO { } return lineInfoMapper.batchUpdateInvestmentManager(lineIds, status, investmentManager,regionId); } + + public List getLines(String keyword){ + return lineInfoMapper.getLinesByKeyword(keyword); + } + + public List getByLineIds(List lineIds){ + if (CollectionUtils.isEmpty(lineIds)){ + return Lists.newArrayList(); + } + return lineInfoMapper.getByLineIds(lineIds); + } + + public Map getUserNameMap(List lineIds){ + if(CollectionUtils.isEmpty(lineIds)){ + return Maps.newHashMap(); + } + List lineMobile = lineInfoMapper.getByLineIds(lineIds); + return lineMobile.stream().filter(o->StringUtils.isNotBlank(o.getMobile())).collect(Collectors.toMap(LineInfoDO::getId, LineInfoDO::getUsername, (k1, k2)-> k1)); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java index c2c1b6e15..a3cc1f24f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java @@ -99,11 +99,11 @@ public class PointInfoDAO { return pointInfoMapper.getRecommendPointList(request); } - public Integer updateSelectedDevelopmentManager(Long lineId, String developmentManager) { - if(Objects.isNull(lineId) || StringUtils.isBlank(developmentManager)){ + public Integer updateSelectedDevelopmentManager(Long shopId, String developmentManager) { + if(Objects.isNull(shopId) || StringUtils.isBlank(developmentManager)){ return null; } - return pointInfoMapper.updateSelectedDevelopmentManager(lineId, developmentManager); + return pointInfoMapper.updateSelectedDevelopmentManager(shopId, developmentManager); } public Page getTeamPointPage(AllPointPageRequest request) { diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java index 6087ef9d3..7b21a1e42 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java @@ -3,6 +3,7 @@ package com.cool.store.dao; import com.cool.store.constants.CommonConstants; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.dto.point.MiniPointPageDTO; +import com.cool.store.dto.point.ShopCountDTO; import com.cool.store.entity.PointRecommendDO; import com.cool.store.enums.point.PointRecommendStatusEnum; import com.cool.store.mapper.PointRecommendMapper; @@ -70,6 +71,7 @@ public class PointRecommendDAO { * @param lineIds * @return */ + @Deprecated public Map getPushShopNumMap(List lineIds) { if(CollectionUtils.isEmpty(lineIds)){ return Maps.newHashMap(); @@ -78,6 +80,15 @@ public class PointRecommendDAO { return pushShopNumMap.stream().collect(Collectors.toMap(k->k.getLineId(), v->v.getRecommendShopNum())); } + + public Map getShopPushPointNumMap(List shopIds) { + if(CollectionUtils.isEmpty(shopIds)){ + return Maps.newHashMap(); + } + List pushShopNumMap = pointRecommendMapper.getShopPushPointNumMap(shopIds); + return pushShopNumMap.stream().collect(Collectors.toMap(k->k.getShopId(), v->v.getRecommendShopNum())); + } + /** * 获取推荐列表 * @param lineId @@ -90,6 +101,13 @@ public class PointRecommendDAO { return pointRecommendMapper.getRecommendPointList(lineId); } + public List getShopRecommendPointList(Long lineId) { + if(Objects.isNull(lineId)){ + return Lists.newArrayList(); + } + return pointRecommendMapper.getShopRecommendPointList(lineId); + } + public Integer addRecommendPoint(List recommendList) { if(CollectionUtils.isEmpty(recommendList)){ return CommonConstants.ZERO; @@ -102,8 +120,8 @@ public class PointRecommendDAO { * @param lineId * @return */ - public Integer turnLineUpdateRecommendStatus(Long lineId, String developmentManager) { - return pointRecommendMapper.turnLineUpdateRecommendStatus(lineId, developmentManager); + public Integer turnLineUpdateRecommendStatus(Long shopId, String developmentManager) { + return pointRecommendMapper.turnLineUpdateRecommendStatus(shopId, developmentManager); } /** @@ -116,11 +134,11 @@ public class PointRecommendDAO { return pointRecommendMapper.getLineRecommendPointPage(request); } - public Integer updateStatusByPointIdAndLineId(Long pointId, Long lineId){ - if(Objects.isNull(pointId) || Objects.isNull(lineId)){ + public Integer updateStatusByPointIdAndLineId(Long pointId,Long shopId){ + if(Objects.isNull(pointId) || Objects.isNull(shopId)){ return 0; } - return pointRecommendMapper.updateStatusByPointIdAndLineId(pointId, lineId); + return pointRecommendMapper.updateStatusByPointIdAndLineId(pointId,shopId); } /** @@ -130,11 +148,11 @@ public class PointRecommendDAO { * @param reason * @return */ - public Integer rejectPoint(Long lineId, Long pointId, String reason) { - if(Objects.isNull(lineId) || Objects.isNull(pointId)){ + public Integer rejectPoint(Long shopId, Long pointId, String reason) { + if(Objects.isNull(shopId) || Objects.isNull(pointId)){ return CommonConstants.ZERO; } - return pointRecommendMapper.rejectPoint(lineId, pointId, reason); + return pointRecommendMapper.rejectPoint(shopId, pointId, reason); } /** @@ -148,4 +166,16 @@ public class PointRecommendDAO { } return pointRecommendMapper.getRecommendPointListByPointId(pointId); } + + + public List getAllRecommendPointList(Long lineId) { + return pointRecommendMapper.getAllRecommendPointList(lineId); + } + + public Boolean batchUpdateShopId(List recommendList) { + if (CollectionUtils.isEmpty(recommendList)){ + return Boolean.TRUE; + } + return pointRecommendMapper.batchUpdateShopId(recommendList); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index b394da8d8..24df8635b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -5,11 +5,15 @@ import com.cool.store.dto.LicenseSyncDTO; import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.point.LineCountDTO; +import com.cool.store.dto.point.ShopPointDTO; +import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.ShopInfoMapper; +import com.cool.store.request.BranchShopRequest; import com.cool.store.request.PlanListRequest; +import com.cool.store.request.PointLinePageRequest; import com.cool.store.request.PreparationRequest; import com.cool.store.request.platformBuildListRequest; import com.cool.store.response.PlatformBuildListResponse; @@ -72,6 +76,13 @@ public class ShopInfoDAO { return shopInfoMapper.getShopList(lineId); } + public List getShopListByRegion(Long lineId,List regionIdList,String userId){ + if(Objects.isNull(lineId)){ + return new ArrayList<>(); + } + return shopInfoMapper.getShopListByRegion(lineId,regionIdList,userId); + } + /** * 新增门店信息 * @param shopInfo @@ -150,6 +161,10 @@ public class ShopInfoDAO { public List ListByCondition(PreparationRequest request){ return shopInfoMapper.ListByCondition(request); } + + public List ListByBranchShopRequest(BranchShopRequest request,String userId){ + return shopInfoMapper.ListByBranchShopRequest(request,userId); + } public Long getRegionIdByid(Long shopId){ return shopInfoMapper.getRegionIdByid(shopId); } @@ -181,5 +196,27 @@ public class ShopInfoDAO { return shopInfoMapper.getShopAndStoreList(eid,shopIds); } + public List getShopPointListByDevelopmentManager(PointLinePageRequest request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + return shopInfoMapper.getShopPointListByDevelopmentManager(request); + } + + public List selectAllDataOrByLineId(Long shopId) { + return shopInfoMapper.selectAllDataOrByLineId(shopId); + } + + public Boolean batchUpdate(List list) { + if (CollectionUtils.isEmpty(list)){ + return Boolean.FALSE; + } + return shopInfoMapper.batchUpdate(list); + } + + public List selectInvestmentByLines(List lineIds) { + if (CollectionUtils.isEmpty(lineIds)) { + return new ArrayList<>(); + } + return shopInfoMapper.selectInvestmentByList(lineIds); + } } 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 21700d9ed..8f9f228c2 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 @@ -13,6 +13,7 @@ import com.cool.store.vo.shop.RentInfoToDoVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; +import tk.mybatis.mapper.entity.Example; import io.swagger.models.auth.In; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.annotations.Param; @@ -41,10 +42,10 @@ public class ShopStageInfoDAO { * 初始化店铺阶段信息 * @param lineId * @param shopIds - * @return + * @return flag =true:表示意向加盟节点完成正常初始化。false:表示意向加盟节点未完成新建分店阶段都为未开始-100。 */ - public Integer initShopStageInfo(Long lineId, List shopIds) { - if(CollectionUtils.isEmpty(shopIds)){ + public Integer initShopStageInfo(Long lineId, List shopIds, Boolean flag) { + if (CollectionUtils.isEmpty(shopIds)) { return CommonConstants.ZERO; } List addShopStageList = new ArrayList<>(); @@ -57,9 +58,12 @@ public class ShopStageInfoDAO { ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum(); shopStageInfo.setShopStage(shopStageEnum.getShopStage()); shopStageInfo.setShopSubStage(shopSubStageEnum.getShopSubStage()); - ShopSubStageStatusEnum initStatus = shopSubStageEnum.getInitStatus(); + ShopSubStageStatusEnum initStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00; + if (flag) { + initStatus = shopSubStageEnum.getInitStatus(); + } shopStageInfo.setShopSubStageStatus(initStatus.getShopSubStageStatus()); - shopStageInfo.setRemark(shopSubStageEnum.getShopSubStageName() + CommonConstants.PATH_BAR +shopSubStageEnum.getInitStatus().getShopSubStageStatusName()); + shopStageInfo.setRemark(shopSubStageEnum.getShopSubStageName() + CommonConstants.PATH_BAR + shopSubStageEnum.getInitStatus().getShopSubStageStatusName()); shopStageInfo.setIsTerminated(Boolean.FALSE); shopStageInfo.setPlanCompleteTime(shopSubStageEnum.getPlanCompleteTime(selectStartDate)); addShopStageList.add(shopStageInfo); @@ -69,22 +73,22 @@ public class ShopStageInfoDAO { return shopStageInfoMapper.batchInsert(addShopStageList); } - public Integer batchInsert( List addShopStageList){ - if(CollectionUtils.isEmpty(addShopStageList)){ + public Integer batchInsert(List addShopStageList) { + if (CollectionUtils.isEmpty(addShopStageList)) { return 0; } return shopStageInfoMapper.batchInsert(addShopStageList); } public Integer insertSelective(ShopStageInfoDO shopStageInfoDO) { - if(Objects.isNull(shopStageInfoDO)){ + if (Objects.isNull(shopStageInfoDO)) { return 0; } return shopStageInfoMapper.insertSelective(shopStageInfoDO); } public Integer updateByPrimaryKeySelective(ShopStageInfoDO shopStageInfoDO) { - if(Objects.isNull(shopStageInfoDO)){ + if (Objects.isNull(shopStageInfoDO)) { return 0; } return shopStageInfoMapper.updateByPrimaryKeySelective(shopStageInfoDO); @@ -92,7 +96,7 @@ public class ShopStageInfoDAO { public Integer batchUpdate(List shopStageList) { - if(CollectionUtils.isEmpty(shopStageList)){ + if (CollectionUtils.isEmpty(shopStageList)) { return 0; } return shopStageInfoMapper.batchUpdate(shopStageList); @@ -104,36 +108,38 @@ public class ShopStageInfoDAO { * @return */ public List getShopStageInfo(Long shopId, Integer shopStage) { - if(Objects.isNull(shopId)){ + if (Objects.isNull(shopId)) { return Lists.newArrayList(); } return shopStageInfoMapper.getShopStageInfo(shopId, shopStage); } public PreparationProcessVO getPreparationProcess(Long shopId) { - if(Objects.isNull(shopId)){ + if (Objects.isNull(shopId)) { return null; } return shopStageInfoMapper.getPreparationProcess(shopId); } public Integer getAllCompletionCount(Long shopId) { - if(Objects.isNull(shopId)){ + if (Objects.isNull(shopId)) { return 0; } return shopStageInfoMapper.getAllCompletionCount(shopId); } + /** * @Auther: wangshuo * @Date: 2024/5/3 * @description:更新完成时间byshopId */ - public Integer updateByShopId( ShopStageInfoDO shopStageInfoDO){ - if (Objects.isNull(shopStageInfoDO)){ + public Integer updateByShopId(ShopStageInfoDO shopStageInfoDO) { + if (Objects.isNull(shopStageInfoDO)) { return CommonConstants.ZERO; } return shopStageInfoMapper.updateByShopId(shopStageInfoDO); } + /** * 获取子阶段信息 * @param shopId @@ -141,17 +147,17 @@ public class ShopStageInfoDAO { * @return */ public ShopStageInfoDO getShopSubStageInfo(Long shopId, ShopSubStageEnum shopSubStageEnum) { - if(Objects.isNull(shopId) || Objects.isNull(shopSubStageEnum)){ + if (Objects.isNull(shopId) || Objects.isNull(shopSubStageEnum)) { return null; } return shopStageInfoMapper.getShopSubStageInfo(shopId, shopSubStageEnum.getShopSubStage()); } public Integer updateShopStageInfo(Long shopId, ShopSubStageStatusEnum shopStageInfo) { - if(Objects.isNull(shopId) || Objects.isNull(shopStageInfo)){ + if (Objects.isNull(shopId) || Objects.isNull(shopStageInfo)) { return CommonConstants.ZERO; } - String remark = shopStageInfo.getShopSubStageName() + CommonConstants.PATH_BAR +shopStageInfo.getShopSubStageStatusName(); + String remark = shopStageInfo.getShopSubStageName() + CommonConstants.PATH_BAR + shopStageInfo.getShopSubStageStatusName(); boolean isTerminated = shopStageInfo.isTerminated(); return shopStageInfoMapper.updateShopStageInfo(shopId, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark); } @@ -164,10 +170,35 @@ public class ShopStageInfoDAO { * @return */ public Integer batchUpdateShopStageStatus(Long shopId, List subStageStatusList) { - if(Objects.isNull(shopId) || CollectionUtils.isEmpty(subStageStatusList)){ + if (Objects.isNull(shopId) || CollectionUtils.isEmpty(subStageStatusList)) { return CommonConstants.ZERO; } List shopStageList = Lists.newArrayList(); + extracted(subStageStatusList, shopId, shopStageList); + + return shopStageInfoMapper.batchUpdateShopStageStatus(shopId, shopStageList); + } + + + /** + * 批量更新店铺状态 + * @param shopIds + * @param subStageStatusList + * @return + */ + public Integer batchUpdateByShopIdsAndSubStageStatus(List shopIds, List subStageStatusList) { + if (CollectionUtils.isEmpty(shopIds) || CollectionUtils.isEmpty(subStageStatusList)) { + return CommonConstants.ZERO; + } + List shopStageList = Lists.newArrayList(); + for (Long shopId : shopIds) { + extracted(subStageStatusList, shopId, shopStageList); + } + + return shopStageInfoMapper.batchUpdateByShopIdsAndSubStageStatus(shopIds, shopStageList); + } + + private static void extracted(List subStageStatusList, Long shopId, List shopStageList) { for (ShopSubStageStatusEnum subStageStatus : subStageStatusList) { String remark = subStageStatus.getShopSubStageName() + CommonConstants.PATH_BAR + subStageStatus.getShopSubStageStatusName(); ShopStageInfoDO shopStageInfo = new ShopStageInfoDO(); @@ -178,8 +209,6 @@ public class ShopStageInfoDAO { shopStageInfo.setIsTerminated(subStageStatus.isTerminated()); shopStageList.add(shopStageInfo); } - - return shopStageInfoMapper.batchUpdateShopStageStatus(shopId, shopStageList); } /** @@ -189,7 +218,7 @@ public class ShopStageInfoDAO { * @return */ public Integer updateShopStageToNotStarted(Long shopId, ShopSubStageEnum shopSubStageEnum) { - if(Objects.isNull(shopId) || Objects.isNull(shopSubStageEnum)){ + if (Objects.isNull(shopId) || Objects.isNull(shopSubStageEnum)) { return CommonConstants.ZERO; } return shopStageInfoMapper.updateShopStageToNotStarted(shopId, shopSubStageEnum.getShopSubStage()); @@ -202,50 +231,57 @@ public class ShopStageInfoDAO { * @return */ public Integer updateShopStageAndAuditInfo(Long shopId, ShopSubStageStatusEnum shopStageInfo, Long auditId) { - if(Objects.isNull(shopId) || Objects.isNull(shopStageInfo)){ + if (Objects.isNull(shopId) || Objects.isNull(shopStageInfo)) { return CommonConstants.ZERO; } - String remark = shopStageInfo.getShopSubStageName() + CommonConstants.PATH_BAR +shopStageInfo.getShopSubStageStatusName(); + String remark = shopStageInfo.getShopSubStageName() + CommonConstants.PATH_BAR + shopStageInfo.getShopSubStageStatusName(); boolean isTerminated = shopStageInfo.isTerminated(); return shopStageInfoMapper.updateShopStageAndAuditInfo(shopId, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark, auditId); } - public Page getRentContractToDoPage(String userId, Integer pageNum, Integer pageSize){ + public Page getRentContractToDoPage(String userId, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); ShopSubStageStatusEnum shopSubStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21; return shopStageInfoMapper.getRentContractToDoPage(userId, shopSubStageStatus.getShopSubStageEnum().getShopSubStage(), shopSubStageStatus.getShopSubStageStatus()); } - public List getShopIdListByStageStatus(Integer shopSubStageStatus){ - if (shopSubStageStatus == null ||shopSubStageStatus ==CommonConstants.ZERO){ + + public List getShopIdListByStageStatus(Integer shopSubStageStatus) { + if (shopSubStageStatus == null || shopSubStageStatus == CommonConstants.ZERO) { return null; } - return shopStageInfoMapper.getShopIdListByStageStatus(shopSubStageStatus); + return shopStageInfoMapper.getShopIdListByStageStatus(shopSubStageStatus); } - public List getScheduleList(List shopIdList){ - if (CollectionUtils.isEmpty(shopIdList)){ - return Collections.emptyList(); + public List getScheduleList(List shopIdList) { + if (CollectionUtils.isEmpty(shopIdList)) { + return new ArrayList<>(); } return shopStageInfoMapper.getScheduleList(shopIdList); } - public List getPlatformBuildList(List shopIdList){ - if (CollectionUtils.isEmpty(shopIdList)){ + public ScheduleDTO getScheduleAll(Long shopId) { + if (Objects.isNull(shopId)) { + return null; + } + return shopStageInfoMapper.getScheduleAll(shopId); + } + public List getPlatformBuildList(List shopIdList) { + if (CollectionUtils.isEmpty(shopIdList)) { return Collections.emptyList(); } return shopStageInfoMapper.getPlatformBuildList(shopIdList); } - public List getShopContractActualCompletionTime(List shopIdList){ - if (CollectionUtils.isEmpty(shopIdList)){ + public List getShopContractActualCompletionTime(List shopIdList) { + if (CollectionUtils.isEmpty(shopIdList)) { return Collections.emptyList(); } return shopStageInfoMapper.getShopContractActualCompletionTime(shopIdList); } - public List getOpenActivityActualCompletionTime(List shopIdList){ - if (CollectionUtils.isEmpty(shopIdList)){ - return Collections.emptyList(); + public List getOpenActivityActualCompletionTime(List shopIdList) { + if (CollectionUtils.isEmpty(shopIdList)) { + return new ArrayList<>(); } return shopStageInfoMapper.getOpenActivityActualCompletionTime(shopIdList); } @@ -256,53 +292,57 @@ public class ShopStageInfoDAO { * @return */ public List getCanSubmitRentContractShopIds(List shopIds) { - if(CollectionUtils.isEmpty(shopIds)){ + if (CollectionUtils.isEmpty(shopIds)) { return Lists.newArrayList(); } return shopStageInfoMapper.getCanSubmitRentContractShopIds(shopIds); } + /** * @Auther: wangshuo * @Date: 2024/5/5 * @description:获取施工阶段未完成的店铺 */ - public List getShopContractIncompletion(){ + public List getShopContractIncompletion() { return shopStageInfoMapper.getShopContractIncompletion(); } + /** * @Auther: wangshuo * @Date: 2024/5/13 * @description:批量更新店铺某一阶段的状态 */ - public Integer batchUpdateShopStageStatus(List shopIdList,Integer shopSubStageEnum, Integer shopSubStageStatusEnum) { - if (CollectionUtils.isEmpty(shopIdList)){ + public Integer batchUpdateShopStageStatus(List shopIdList, Integer shopSubStageEnum, Integer shopSubStageStatusEnum) { + if (CollectionUtils.isEmpty(shopIdList)) { return CommonConstants.ZERO; } - return shopStageInfoMapper.batchUpdateStatus(shopIdList,shopSubStageEnum,shopSubStageStatusEnum); + return shopStageInfoMapper.batchUpdateStatus(shopIdList, shopSubStageEnum, shopSubStageStatusEnum); } public List getSpecialShopStageInfo(List shopIds, Integer shopSubStage, List shopSubStageStatusList, String investmentUserId, - List authRegionIds){ - return shopStageInfoMapper.getSpecialShopStageInfo( shopIds, shopSubStage, shopSubStageStatusList,investmentUserId,authRegionIds); + List authRegionIds) { + return shopStageInfoMapper.getSpecialShopStageInfo(shopIds, shopSubStage, shopSubStageStatusList, investmentUserId, authRegionIds); } + /** * @Auther: wangshuo * @Date: 2024/5/9 * @description:获取处于XXXX阶段的列表 */ - public List getSubStageList(List shopIds, Integer shopSubStage){ - if(CollectionUtils.isEmpty(shopIds) || shopSubStage == null){ + public List getSubStageList(List shopIds, Integer shopSubStage) { + if (CollectionUtils.isEmpty(shopIds) || shopSubStage == null) { return Collections.emptyList(); } - return shopStageInfoMapper.getSubStageList(shopIds,shopSubStage); + return shopStageInfoMapper.getSubStageList(shopIds, shopSubStage); } - public List getSubStages(List shopIds, Integer shopSubStage){ - if(CollectionUtils.isEmpty(shopIds) ){ + + public List getSubStages(List shopIds, Integer shopSubStage) { + if (CollectionUtils.isEmpty(shopIds)) { return Collections.emptyList(); } - return shopStageInfoMapper.getSubStages(shopIds,shopSubStage); + return shopStageInfoMapper.getSubStages(shopIds, shopSubStage); } /** @@ -310,28 +350,30 @@ public class ShopStageInfoDAO { * @param lineId * @return */ - public Integer getNotOpenShopCountByLineId(Long lineId){ - if(Objects.isNull(lineId)){ + public Integer getNotOpenShopCountByLineId(Long lineId) { + if (Objects.isNull(lineId)) { return CommonConstants.ZERO; } ShopSubStageEnum shopSubStageEnum = ShopSubStageEnum.SHOP_STAGE_16; return shopStageInfoMapper.getShopCountByLineIdAndStageStatus(lineId, shopSubStageEnum.getShopStageEnum().getShopStage(), shopSubStageEnum.getShopSubStage(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus()); } + /** * @Auther: wangshuo * @Date: 2024/5/11 * @description:获取处于a阶段或b阶段,和c阶段的 */ - public List getSubStageListBySubStageStatus(ShopSubStageStatusEnum a,ShopSubStageStatusEnum b, ShopSubStageStatusEnum c){ + public List getSubStageListBySubStageStatus(ShopSubStageStatusEnum a, ShopSubStageStatusEnum b, ShopSubStageStatusEnum c) { - return shopStageInfoMapper.getSubStageListBySubStageStatus(a.getShopSubStageStatus(),b.getShopSubStageStatus(),c.getShopSubStageStatus()); + return shopStageInfoMapper.getSubStageListBySubStageStatus(a.getShopSubStageStatus(), b.getShopSubStageStatus(), c.getShopSubStageStatus()); } public ShopStageInfoDO getByShopIdAndSubStage(Long shopId, Integer shopSubStage) { - return shopStageInfoMapper.getByShopIdAndSubStage(shopId,shopSubStage); + return shopStageInfoMapper.getByShopIdAndSubStage(shopId, shopSubStage); } + public List getPlatformBuildStage(List shopIds) { - if (CollectionUtils.isEmpty(shopIds)){ + if (CollectionUtils.isEmpty(shopIds)) { return new ArrayList<>(); } return shopStageInfoMapper.getPlatformBuildStage(shopIds); @@ -342,8 +384,32 @@ public class ShopStageInfoDAO { * @param shopSubStage * @return */ - public List getSubStages(Integer shopSubStage){ - return shopStageInfoMapper.getSubStageList(null,shopSubStage); + public List getSubStages(Integer shopSubStage) { + return shopStageInfoMapper.getSubStageList(null, shopSubStage); + } + + //获取新店筹备总阶段总数排除发票回传,flag=0查询全部 =1 查询已完成 + public Integer allNumber(Long shopId, Integer flag) { + return shopStageInfoMapper.getAllNumber(shopId, flag); + } + + /** + * @Auther: wangshuo + * @Date: 2025/1/15 + * @description:批量获取线索下门店的选址未开始的数据 + */ + public List getByLineIdAndSubStage(Long lineId) { + if (lineId == null) { + return new ArrayList<>(); + } + Example example = new Example(ShopStageInfoDO.class); + example.createCriteria().andEqualTo("lineId", lineId).andEqualTo("shopSubStage", ShopSubStageEnum.SHOP_STAGE_1.getShopSubStage()) + .andEqualTo("shopSubStageStatus", ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus()); + List shopStageInfos = shopStageInfoMapper.selectByExample(example); + if (CollectionUtils.isEmpty(shopStageInfos)){ + return new ArrayList<>(); + } + return shopStageInfos; } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java index 2d1bab738..53e73913d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java @@ -24,11 +24,11 @@ public class TransferLogDAO { } - public List getTransferLogList(Long lindId){ + public List getTransferLogList(Long lindId,Integer lineShopType){ if (lindId == null){ return null; } - return transferLogMapper.getTransferLogList(lindId); + return transferLogMapper.getTransferLogList(lindId,lineShopType); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java index f682d7e30..a484c05b0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java @@ -1,12 +1,19 @@ package com.cool.store.mapper; +import com.cool.store.dto.FranchiseFeeDTO; import com.cool.store.entity.FranchiseFeeDO; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; +import java.util.Date; +import java.util.List; +import java.util.Map; + public interface FranchiseFeeMapper extends Mapper { FranchiseFeeDO selectByShopId(@Param("shopId") Long shopId); + List getPayTimeByShopIds(@Param("shopIds") List shopIds); Integer updateDataHandleServiceV25(); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java index e4aea5f83..94da56e82 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java @@ -61,6 +61,8 @@ public interface HyOpenAreaInfoMapper { */ List getChildrenList(@Param("parentId") Long parentId); + List getChildrenListByParentIds(@Param("parentIds") List parentIds); + Integer getChildrenCount(@Param("type") String type , @Param("parentId") Long parentId); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineFollowLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineFollowLogMapper.java index 392f459dc..acbf2519f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineFollowLogMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineFollowLogMapper.java @@ -12,5 +12,5 @@ public interface LineFollowLogMapper extends Mapper { * @param lineId * @return */ - Page getFollowLogPage(@Param("lineId")Long lineId); + Page getFollowLogPage(@Param("lineId")Long lineId,@Param("type")Integer type); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java index 40e42788a..739cec392 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java @@ -4,10 +4,12 @@ import com.cool.store.dto.InvestmentCountDTO; import com.cool.store.dto.PendingCountDTO; import com.cool.store.dto.openPreparation.PlanLineDTO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.request.LineListRequest; import com.cool.store.request.PartnerRequest; import com.cool.store.request.PointLinePageRequest; import com.cool.store.request.PublicLineListRequest; +import com.cool.store.vo.LineVO; import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; @@ -125,4 +127,7 @@ public interface LineInfoMapper extends Mapper { Integer batchUpdateInvestmentManager(@Param("lineIds") List lineIds, @Param("status") Integer status, @Param("investmentManager") String investmentManager, @Param("regionId") Long regionId); + + List getLinesByKeyword(@Param("keyword") String keyword); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java index 99cb06120..2a9ba62e3 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java @@ -53,11 +53,11 @@ public interface PointInfoMapper extends Mapper { /** * 更新铺位的拓展经理 - * @param lineId + * @param shopId * @param developmentManager * @return */ - Integer updateSelectedDevelopmentManager(@Param("lineId") Long lineId, @Param("developmentManager")String developmentManager); + Integer updateSelectedDevelopmentManager(@Param("shopId") Long shopId, @Param("developmentManager")String developmentManager); /** * 获取团队铺位 diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java index 3d7cb0b19..d1a0e67eb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java @@ -2,6 +2,7 @@ package com.cool.store.mapper; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.dto.point.MiniPointPageDTO; +import com.cool.store.dto.point.ShopCountDTO; import com.cool.store.entity.PointRecommendDO; import com.cool.store.request.MiniPointPageRequest; import com.github.pagehelper.Page; @@ -36,6 +37,13 @@ public interface PointRecommendMapper extends Mapper { */ List getPushShopNumMap(@Param("lineIds") List lineIds); + /** + * 查询门店推送的铺位数量 + * @param shopIds + * @return + */ + List getShopPushPointNumMap(@Param("shopIds") List shopIds); + /** * 获取推荐列表 * @param lineId @@ -43,6 +51,13 @@ public interface PointRecommendMapper extends Mapper { */ List getRecommendPointList(@Param("lineId") Long lineId); + /** + * 获取门店推荐列表 + * @param shopId + * @return + */ + List getShopRecommendPointList(@Param("shopId") Long shopId); + /** * 批量新增 * @param recommendList @@ -55,7 +70,7 @@ public interface PointRecommendMapper extends Mapper { * @param lineId * @return */ - Integer turnLineUpdateRecommendStatus(@Param("lineId") Long lineId, @Param("developmentManager")String developmentManager); + Integer turnLineUpdateRecommendStatus(@Param("shopId") Long shopId, @Param("developmentManager")String developmentManager); /** * 线索获取推荐铺位列表 @@ -70,7 +85,7 @@ public interface PointRecommendMapper extends Mapper { * @param lineId * @return */ - Integer updateStatusByPointIdAndLineId(@Param("pointId") Long pointId, @Param("lineId") Long lineId); + Integer updateStatusByPointIdAndLineId(@Param("pointId") Long pointId, @Param("shopId") Long shopId); /** * 铺位拒绝 @@ -79,7 +94,7 @@ public interface PointRecommendMapper extends Mapper { * @param reason * @return */ - Integer rejectPoint(@Param("lineId") Long lineId, @Param("pointId") Long pointId, @Param("reason") String reason); + Integer rejectPoint(@Param("shopId") Long shopId, @Param("pointId") Long pointId, @Param("reason") String reason); /** * 获取铺位推送过哪些线索 @@ -87,4 +102,14 @@ public interface PointRecommendMapper extends Mapper { * @return */ List getRecommendPointListByPointId(@Param("pointId") Long pointId); + + /** + * 数据处理 + * @param lineId + * @return + */ + List getAllRecommendPointList(@Param("lineId") Long lineId); + + Boolean batchUpdateShopId(@Param("recommendList") List recommendList); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java index 9b6e68483..c56f33362 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java @@ -4,9 +4,12 @@ import com.cool.store.dto.LicenseSyncDTO; import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.point.LineCountDTO; +import com.cool.store.dto.point.ShopPointDTO; import com.cool.store.entity.PointInfoDO; import com.cool.store.entity.ShopInfoDO; +import com.cool.store.request.BranchShopRequest; import com.cool.store.request.PlanListRequest; +import com.cool.store.request.PointLinePageRequest; import com.cool.store.request.PreparationRequest; import com.cool.store.request.platformBuildListRequest; import com.cool.store.response.PlatformBuildListResponse; @@ -36,6 +39,8 @@ public interface ShopInfoMapper extends Mapper { */ List getShopList(@Param("lineId") Long lineId); + List getShopListByRegion(@Param("lineId") Long lineId,@Param("list") List regions,@Param("userId") String userId); + /** * 店铺信息 * @@ -81,6 +86,8 @@ public interface ShopInfoMapper extends Mapper { List ListByCondition(@Param("request") PreparationRequest request); + List ListByBranchShopRequest(@Param("request") BranchShopRequest request,@Param("userId") String userId); + Long getRegionIdByid(@Param("shopId") Long shopId); ShopInfoDO selectByStoreNum(@Param("storeNum") String storeNum); @@ -98,4 +105,18 @@ public interface ShopInfoMapper extends Mapper { List getShopAndStoreList(@Param("enterpriseId") String eid , @Param("shopIds") List shopIds); + + + List getShopPointListByDevelopmentManager(@Param("request") PointLinePageRequest request); + + /** + * selectAllDataOrByShopId + * @param shopId + * @return + */ + List selectAllDataOrByLineId(@Param("lineId") Long lineId); + + Boolean batchUpdate(List list); + + List selectInvestmentByList (@Param("list") List list); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java index c7c0d3e9d..2f867c5dd 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java @@ -65,6 +65,7 @@ public interface ShopStageInfoMapper extends Mapper { * @return */ Integer batchUpdateShopStageStatus(@Param("shopId") Long shopId, @Param("updateList") List updateList); + Integer batchUpdateByShopIdsAndSubStageStatus(@Param("shopIds") List shopIds, @Param("updateList") List updateList); /** * 更新阶段及审核信息 @@ -110,6 +111,9 @@ public interface ShopStageInfoMapper extends Mapper { List getShopIdListByStageStatus(@Param("shopSubStageStatus") Integer shopSubStageStatus); List getScheduleList(@Param("shopIds") List shopIds); + + ScheduleDTO getScheduleAll(@Param("shopId") Long shopId); + List getPlatformBuildList(@Param("shopIds") List shopIds); List getShopContractActualCompletionTime(@Param("shopIds") List shopIds); @@ -160,4 +164,6 @@ public interface ShopStageInfoMapper extends Mapper { @Param("shopSubStage") Integer shopSubStage); List getPlatformBuildStage( @Param("shopIds") List shopIds); + + Integer getAllNumber(@Param("shopId") Long shopId,@Param("flag")Integer flag); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java index 90374bcc0..a165b2f43 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java @@ -4,10 +4,14 @@ import com.cool.store.entity.SignFranchiseDO; import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; +import java.util.List; + public interface SignFranchiseMapper extends Mapper { SignFranchiseDO selectByShopId(@Param("shopId") Long shopId); void updateAuditByShopId(@Param("auditId") Long auditId, @Param("shopId") Long shopId); + + List selectByShopIds( @Param("list")List shopIds); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java index de3a8ec1f..a054fac2e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java @@ -14,7 +14,7 @@ public interface TransferLogMapper extends Mapper { * @param lindId * @return */ - List getTransferLogList(@Param("lindId") Long lindId); + List getTransferLogList(@Param("lindId") Long lindId,@Param("lineShopType")Integer lineShopType); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml index 70631337c..d6d3d145a 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml @@ -14,4 +14,21 @@ order by create_time desc limit 1 + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index f15afeae2..8092a33c8 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -2,28 +2,29 @@ - - - - - - - - - - - + + + + + + + + + + + id, parent_id, area_name, area_path, background_banner, detail_banner, area_status, deleted, create_time, update_time, update_user_id - select from xfsg_open_area_info where id = #{id} - + insert into xfsg_open_area_info @@ -137,7 +138,6 @@ - update xfsg_open_area_info @@ -164,7 +164,6 @@ - update xfsg_open_area_info @@ -207,7 +206,7 @@ xfsg_open_area_info - and area_path like concat('%',#{keyword},'%') + and area_path like concat('%',#{keyword},'%') and (area_status = 'open' or area_status = 'keyOpen') @@ -239,7 +238,6 @@ - - + SELECT b.* FROM `xfsg_open_area_info` a inner join xfsg_open_area_info b on a.`id`=b.`parent_id` + WHERE a.parent_id=#{id} ORDER BY b.id desc + - \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineFollowLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineFollowLogMapper.xml index a6c4ced4f..22103a899 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineFollowLogMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineFollowLogMapper.xml @@ -14,14 +14,15 @@ + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 811da0058..eae948347 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -588,6 +588,19 @@ #{lineId} + diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml index 3f80bb482..e3428d0c9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml @@ -139,7 +139,7 @@ set development_manager = #{developmentManager} where - line_id = #{lineId} and select_status = '1' and deleted = 0 + shop_id = #{shopId} and select_status = '1' and deleted = 0 + + + + + - insert into xfsg_point_recommend (line_id, point_id, development_manager, status) - values (#{item.lineId}, #{item.pointId}, #{item.developmentManager}, #{item.status}) + insert into xfsg_point_recommend (shop_id, point_id, development_manager, status) + values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status}) @@ -76,7 +106,7 @@ deleted = if(status = 1, 1, deleted), development_manager = if(status in (2,4), #{developmentManager}, development_manager) where - line_id = #{lineId} + shop_id = #{shopId} @@ -133,4 +163,34 @@ where point_id = #{pointId} and deleted = 0 + + + + + + update xfsg_point_recommend + set + shop_id = case id + + when #{item.id} then #{item.shopId} + + end + where + id in + + #{entity.id} + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 0cbdf0b9d..7e5345236 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -1,183 +1,206 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - id, region_id, line_id, partner_id, point_id, shop_name, shop_code, store_num, shop_manager_user_id, supervisor_user_id, plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time - + + id + , region_id, line_id, partner_id, point_id, shop_name, + shop_code, store_num, shop_manager_user_id, supervisor_user_id, + plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time, + join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id + - - insert into xfsg_shop_info(region_id, line_id, partner_id, shop_name, store_num,supervisor_user_id) values - - (#{shop.regionId}, #{shop.lineId}, #{shop.partnerId}, #{shop.shopName}, #{shop.storeNum},#{shop.supervisorUserId}) - - + + insert into xfsg_shop_info(region_id, line_id, partner_id, shop_name, store_num,supervisor_user_id,create_time,join_mode,franchise_brand, + development_manager,want_shop_area_id,investment_manager) values + + (#{shop.regionId}, #{shop.lineId}, #{shop.partnerId}, #{shop.shopName}, + #{shop.storeNum},#{shop.supervisorUserId},#{shop.createTime},#{shop.joinMode},#{shop.franchiseBrand},#{shop.developmentManager}, + #{shop.wantShopAreaId},#{shop.investmentManager}) + + - + - + - + - - update xfsg_shop_info set point_id = null where id = #{shopId} - + + update xfsg_shop_info + set point_id = null + where id = #{shopId} + - - - - + select + + from + xfsg_shop_info where id in + #{shopId} - - + - - - + + + + + + - + - + select + a.id as shopId, + a.shop_code as shopCode, + b.store_id as storeId + from + xfsg_shop_info a + left join store_${enterpriseId} b on a.shop_code = b.store_num + where b.store_id is not null and a.id in + + #{shopId} + + + + + + + + + + + + UPDATE xfsg_shop_info + SET + development_manager = #{item.developmentManager}, + join_mode = #{item.joinMode}, + shop_status = #{item.shopStatus}, + franchise_brand = #{item.franchiseBrand}, + investment_manager = #{item.investmentManager}, + want_shop_area_id = #{item.wantShopAreaId} + WHERE id = #{item.id} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml index afe35fc0d..faac662f6 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -1,368 +1,412 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - id, line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, is_terminated, plan_complete_time, actual_complete_time, remark, audit_id, deleted, create_time, update_time - + + id, line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, is_terminated, plan_complete_time, + actual_complete_time, remark, audit_id, deleted, create_time, update_time + - - - INSERT INTO xfsg_shop_stage_info(line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, is_terminated, plan_complete_time, remark) - VALUES(#{shop.lineId}, #{shop.shopId}, #{shop.shopStage}, #{shop.shopSubStage}, #{shop.shopSubStageStatus}, #{shop.isTerminated}, #{shop.planCompleteTime}, #{shop.remark}) - - + + + INSERT INTO xfsg_shop_stage_info(line_id, shop_id, shop_stage, shop_sub_stage, shop_sub_stage_status, + is_terminated, plan_complete_time, remark) + VALUES(#{shop.lineId}, #{shop.shopId}, #{shop.shopStage}, #{shop.shopSubStage}, #{shop.shopSubStageStatus}, + #{shop.isTerminated}, #{shop.planCompleteTime}, #{shop.remark}) + + - - update xfsg_shop_stage_info - - shop_sub_stage_status = CASE id - - WHEN #{item.id} THEN IFNULL(#{item.shopSubStageStatus},shop_sub_stage_status) - - END - - where id in ( - - #{item.id} - - ) - + + update xfsg_shop_stage_info + + shop_sub_stage_status = CASE id + + WHEN #{item.id} THEN IFNULL(#{item.shopSubStageStatus},shop_sub_stage_status) + + END + + where id in ( + + #{item.id} + + ) + - - - - - - - - update - xfsg_shop_stage_info - set - shop_sub_stage_status = #{shopSubStageStatus}, - is_terminated = #{isTerminated}, - remark = #{remark}, - actual_complete_time = if(is_terminated, now(), null) - where - shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} - - - - - - update + + + + + + + + update + xfsg_shop_stage_info + set + shop_sub_stage_status = #{shopSubStageStatus}, + is_terminated = #{isTerminated}, + remark = #{remark}, actual_complete_time = if(is_terminated, now(), null) - where - shop_id = #{shopId} and shop_sub_stage = #{update.shopSubStage} - - - - - - - update - xfsg_shop_stage_info - set - shop_sub_stage_status = #{shopSubStageStatus}, - is_terminated = #{isTerminated}, - remark = #{remark}, - actual_complete_time = if(is_terminated, now(), null), - audit_id = #{auditId} - where - shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} - - - - update - xfsg_shop_stage_info - set - shop_sub_stage_status = -100, - is_terminated = 0, - remark = '未开始', - actual_complete_time = null, - audit_id = null - where - shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} - - - update xfsg_shop_stage_info - - - plan_complete_time = #{shopStageInfoDO.planCompleteTime}, - - - actual_complete_time = #{shopStageInfoDO.actualCompleteTime}, - - - where shop_id = #{shopStageInfoDO.shopId} AND shop_sub_stage = #{shopStageInfoDO.shopSubStage} - - - - update xfsg_shop_stage_info - - - - shop_sub_stage_status = #{shopSubStageStatusEnum} - - - where shop_id in - - #{shopId} - - - and shop_sub_stage = #{shopSubStageEnum} - - - - + where + shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} + - + + + update + xfsg_shop_stage_info + set + shop_sub_stage_status = #{update.shopSubStageStatus}, + is_terminated = #{update.isTerminated}, + remark = #{update.remark}, + actual_complete_time = if(is_terminated, now(), null) + where + shop_id = #{shopId} and shop_sub_stage = #{update.shopSubStage} + + + + + + + update + xfsg_shop_stage_info + set + shop_sub_stage_status = #{shopSubStageStatus}, + is_terminated = #{isTerminated}, + remark = #{remark}, + actual_complete_time = if(is_terminated, now(), null), + audit_id = #{auditId} + where + shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} + + + + update + xfsg_shop_stage_info + set + shop_sub_stage_status = -100, + is_terminated = 0, + remark = '未开始', + actual_complete_time = null, + audit_id = null + where + shop_id = #{shopId} and shop_sub_stage = #{shopSubStage} + + + update xfsg_shop_stage_info + + + plan_complete_time = #{shopStageInfoDO.planCompleteTime}, + + + actual_complete_time = #{shopStageInfoDO.actualCompleteTime}, + + + where shop_id = #{shopStageInfoDO.shopId} AND shop_sub_stage = #{shopStageInfoDO.shopSubStage} + + + + update xfsg_shop_stage_info + + + + shop_sub_stage_status = #{shopSubStageStatusEnum} + + + where shop_id in + + #{shopId} + + + and shop_sub_stage = #{shopSubStageEnum} + + + + + update + xfsg_shop_stage_info + set + shop_sub_stage_status = #{update.shopSubStageStatus}, + is_terminated = #{update.isTerminated}, + remark = #{update.remark}, + actual_complete_time = if(is_terminated, now(), null) + where + shop_id in + + #{shopId} + + and shop_sub_stage = #{update.shopSubStage} + + + + - - - - + - + select + * + from xfsg_shop_stage_info where shop_stage = 1 and shop_sub_stage = 20 and actual_complete_time is not null + + and shop_id in + + #{shopId} + + + + + + + + + + + + + + + + + + - - - - - + + + + + - SELECT - FROM xfsg_shop_stage_info - WHERE shop_id = #{shopId} - AND shop_sub_stage = #{shopSubStage} - - - - - + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml index a45af2175..8d075b5a0 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -13,4 +13,15 @@ order by create_time desc limit 1 + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml index 6bbc61a58..1770d2032 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml @@ -1,36 +1,37 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ExportBranchShopDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ExportBranchShopDTO.java new file mode 100644 index 000000000..6bd34d18a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ExportBranchShopDTO.java @@ -0,0 +1,166 @@ +package com.cool.store.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/01/09/下午4:13 + * @Version 1.0 + * @注释: + */ +@Data +public class ExportBranchShopDTO { + + @ExcelProperty(value = "加盟商名称",order = 1) + @ColumnWidth(30) + private String userName; + + @ExcelProperty(value = "加盟商手机号",order = 2) + @ColumnWidth(30) + private String mobile; + + @ExcelProperty(value = "门店名称",order = 3) + @ColumnWidth(30) + private String shopName; + + @ExcelProperty(value = "门店编号",order = 4) + @ColumnWidth(30) + private String shopCode; + + @ExcelProperty(value = "所属区域/分公司",order = 5) + @ColumnWidth(30) + private String regionName; + + @ExcelProperty(value = "加盟模式",order = 6) + @ColumnWidth(30) + private String joinMode; + + @ExcelProperty(value = "所属品牌",order = 6) + @ColumnWidth(30) + private String franchiseBrand; + + @ExcelProperty(value = "督导",order = 7) + @ColumnWidth(30) + private String investmentManager; + + @ExcelProperty(value = "合同编号",order = 8) + @ColumnWidth(30) + private String contractCode; + + @ExcelProperty(value = "第一年加盟开始时间",order = 9) + @ColumnWidth(30) + private String firstYearStartTime; + + @ExcelProperty(value = "第一年加盟结束时间",order = 10) + @ColumnWidth(30) + private String firstYearEndTime; + + @ExcelProperty(value = "合同开始时间",order = 11) + @ColumnWidth(30) + private String contractStartTime; + + @ExcelProperty(value = "合同结束时间",order = 12) + @ColumnWidth(30) + private String contractEndTime; + + @ExcelProperty(value = "开票时间",order = 13) + @ColumnWidth(30) + private String invoicingTime; + + @ExcelProperty(value = "币种",order = 14) + @ColumnWidth(30) + private String currency; + + @ExcelProperty(value = "合计缴费金额(取自账单)",order = 15) + @ColumnWidth(30) + private String totalAmountContributions; + + @ExcelProperty(value = "加盟费(取自账单)",order = 16) + @ColumnWidth(30) + private String franchiseFeeBill; + + @ExcelProperty(value = "加盟费(含税金额)",order = 18) + @ColumnWidth(30) + private String franchiseFeeTax; + + @ExcelProperty(value = "加盟费(不含税金额)",order = 19) + @ColumnWidth(30) + private String franchiseFee; + + @ExcelProperty(value = "保证金(取自账单)",order = 20) + @ColumnWidth(30) + private String loanMargin; + + @ExcelProperty(value = "第一年度管理费(取自账单)",order = 21) + @ColumnWidth(30) + private String firstYearManagementFeeBill; + + @ExcelProperty(value = "第一年度管理费(含税金额)",order = 22) + @ColumnWidth(30) + private String firstYearManagementFeeTax; + + @ExcelProperty(value = "第一年度管理费(不含税金额)",order = 23) + @ColumnWidth(30) + private String firstYearManagementFee; + + @ExcelProperty(value = "第一年度品牌费(取自账单)",order = 24) + @ColumnWidth(30) + private String firstYearBrandingFeeBill; + + @ExcelProperty(value = "第一年度品牌费(含税金额)",order = 25) + @ColumnWidth(30) + private String firstYearBrandingFeeTax; + + @ExcelProperty(value = "第一年度品牌费(不含税金额)",order = 26) + @ColumnWidth(30) + private String firstYearBrandingFee; + + @ExcelProperty(value = "设计费(取自账单)",order = 27) + @ColumnWidth(30) + private String performanceBondBill; + + @ExcelProperty(value = "设计费(含税金额)",order = 28) + @ColumnWidth(30) + private String designFeeTax; + + @ExcelProperty(value = "设计费(不含税金额)",order = 29) + @ColumnWidth(30) + private String designFee; + + @ExcelProperty(value = "第1次缴纳时间",order = 30) + @ColumnWidth(30) + private String firstPayTime; + + @ExcelProperty(value = "第2次缴纳时间",order = 31) + @ColumnWidth(30) + private String secondPayTime; + + @ExcelProperty(value = "第3次缴纳时间",order = 32) + @ColumnWidth(30) + private String thirdPayTime; + + @ExcelProperty(value = "第4次缴纳时间",order = 33) + @ColumnWidth(30) + private String fourthPayTime; + + @ExcelProperty(value = "当前进度",order = 34) + @ColumnWidth(30) + private String currentProgress; + + @ExcelProperty(value = "状态",order = 35) + @ColumnWidth(30) + private String shopStatus; + + @ExcelProperty(value = "计划开店时间",order = 36) + @ColumnWidth(30) + private String planOpenTime; + + @ExcelProperty(value = "开店时长(天)",order =37) + @ColumnWidth(30) + private String openDuration; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java new file mode 100644 index 000000000..18d3c168e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java @@ -0,0 +1,32 @@ +package com.cool.store.dto; + +import lombok.Data; + +import javax.persistence.Column; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/02/07/14:34 + * @Version 1.0 + * @注释: + * + */ +@Data +public class FranchiseFeeDTO { + private Long shopId; + + private Date payTime; + + private String yearFranchiseFee; + + private String loanMargin; + + private Date firstYearStartTime; + + private Date firstYearEndTime; + + private String firstYearFee; + + private String performanceBond; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java index dd0ea9ab1..e73554e0f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java @@ -1,5 +1,6 @@ package com.cool.store.dto.Preparation; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -14,6 +15,10 @@ public class PreparationDTO { private Long id; + private Long wantShopAreaId; + + private Integer shopStatus; + private Long lineId; private String shopName; @@ -37,4 +42,9 @@ public class PreparationDTO { private String supervisorUserId; private Date createTime; + + private String franchiseBrand; + + private Integer joinMode; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java index 61bb5bddf..93f5aba50 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java @@ -1,5 +1,6 @@ package com.cool.store.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -9,19 +10,20 @@ import lombok.Data; */ @Data public class TransferLogDTO { - + @ApiModelProperty("操作人id") private String fromUserId; - + @ApiModelProperty("被分配人ID") private String toUserId; - + @ApiModelProperty("操作人") private String fromUserName; - + @ApiModelProperty("被分配人") private String toUserName; - + @ApiModelProperty("") private String fromUserMobile; - + @ApiModelProperty("") private String toUserMobile; - + @ApiModelProperty("") private Integer type; - + @ApiModelProperty("'1-线索,2-门店'") + private Integer lineShopType; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopCountDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopCountDTO.java new file mode 100644 index 000000000..a88abb076 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopCountDTO.java @@ -0,0 +1,23 @@ +package com.cool.store.dto.point; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/1/8 15:41 + * @Version 1.0 + */ +@Data +public class ShopCountDTO { + + @ApiModelProperty("门店ID") + private Long shopId; + + @ApiModelProperty("推荐门店数量") + private Integer recommendShopNum; + + @ApiModelProperty("选择门店数量") + private Integer selectedShopNum; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopPointDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopPointDTO.java new file mode 100644 index 000000000..17f2b6534 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopPointDTO.java @@ -0,0 +1,31 @@ +package com.cool.store.dto.point; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/1/8 15:12 + * @Version 1.0 + */ +@Data +public class ShopPointDTO { + + private Long shopId; + + private Long lineId; + + private Long pointId; + + private String userName; + + private String mobile; + + private String shopName; + + private Long wantShopAreaId; + + private String userPortrait; + + private String investmentManager; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java index badbf7cf1..a5966ce26 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineFollowLogDO.java @@ -76,10 +76,13 @@ public class LineFollowLogDO { */ private Boolean deleted; + //1-线索日志,2-门店日志 + private Integer type; + public LineFollowLogDO() { } - public LineFollowLogDO(String partnerId, Long lineId, String operateUserId, String operateUsername, Integer workflowStage, Integer workflowSubStage, Integer workflowSubStageStatus, String message) { + public LineFollowLogDO(String partnerId, Long lineId, String operateUserId, String operateUsername, Integer workflowStage, Integer workflowSubStage, Integer workflowSubStageStatus, String message,Integer type) { this.partnerId = partnerId; this.lineId = lineId; this.operateUserId = operateUserId; @@ -89,5 +92,6 @@ public class LineFollowLogDO { this.workflowSubStageStatus = workflowSubStageStatus; this.message = message; this.createTime= new Date(); + this.type=type; } } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/PointRecommendDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/PointRecommendDO.java index cbf2582cc..c066c1872 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/PointRecommendDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/PointRecommendDO.java @@ -18,6 +18,9 @@ public class PointRecommendDO { @Column(name = "line_id") private Long lineId; + @Column(name = "shop_id") + private Long shopId; + /** * 点位id */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java index 6f78a75fe..5e05578f5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java @@ -104,11 +104,30 @@ public class ShopInfoDO { */ @Column(name = "create_time") private Date createTime; - + @Column(name = "create_user_id") + private String createUserId; + @Column(name = "update_user_id") + private String updateUserId; /** * 更新时间 */ @Column(name = "update_time") private Date updateTime; + @Column(name = "join_mode") + private Integer joinMode; + + @Column(name = "franchise_brand") + private String franchiseBrand; + + @Column(name = "development_manager") + private String developmentManager; + @Column(name = "want_shop_area_id") + private Long wantShopAreaId; + @Column(name = "investment_manager") + private String investmentManager; + @Column(name = "shop_status") + private Integer shopStatus; + + } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java index a308fba3e..9b1c38a49 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java @@ -11,7 +11,7 @@ public class TransferLogDO { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - + // line_info.id/shop_id', @Column(name = "line_id") private Long lineId; @@ -58,6 +58,9 @@ public class TransferLogDO { */ @Column(name = "update_user_id") private String updateUserId; + //'1-线索,2-门店' + @Column(name = "line_shop_type") + private String lineShopType; /** * @return id @@ -110,7 +113,6 @@ public class TransferLogDO { } - /** * 获取创建时间 * diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java new file mode 100644 index 000000000..ead6dbea7 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java @@ -0,0 +1,66 @@ +package com.cool.store.request; + +import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopStatusEnum; +import com.cool.store.utils.NumberConverter; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午2:20 + * @Version 1.0 + * @注释: + */ +@Data +public class AddBranchShopRequest { + @NotNull + private Long lineId; + @ApiModelProperty("门店名称") + private String shopName; + @ApiModelProperty("意向开店区域") + @NotNull + private Long wantShopAreaId; + + @NotNull + @Min(1) + @Max(3) + @ApiModelProperty(" 加盟模式//'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店',") + private Integer joinMode; + @NotBlank + @ApiModelProperty("'加盟品牌1,\"正新鸡排\",2,\"正新三明治\",3,\"正烧记\"4,\"大鼓米线\"5,\"串小妹\"6,\"茂掌柜\"'") + private String franchiseBrand; + @ApiModelProperty("督导") + private String investmentManagerUserId; + @NotNull + @ApiModelProperty("所属大区") + private Long regionId; + + public ShopInfoDO toDO(AddBranchShopRequest request, LineInfoDO lineInfo) { + ShopInfoDO shopInfoDO = new ShopInfoDO(); + shopInfoDO.setLineId(request.getLineId()); + shopInfoDO.setShopName(StringUtils.isNotBlank(request.getShopName())?request.getShopName():"店铺" + NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum()+1)); + shopInfoDO.setRegionId(request.getRegionId()); + shopInfoDO.setShopName(request.getShopName()); + shopInfoDO.setWantShopAreaId(request.getWantShopAreaId()); + shopInfoDO.setJoinMode(request.getJoinMode()); + shopInfoDO.setInvestmentManager(request.getInvestmentManagerUserId()); + shopInfoDO.setDevelopmentManager(request.getInvestmentManagerUserId()); + shopInfoDO.setSupervisorUserId(request.getInvestmentManagerUserId()); + shopInfoDO.setCreateTime(new Date()); + shopInfoDO.setShopStatus(ShopStatusEnum.ING.getCode()); + shopInfoDO.setShopStage(ShopStageEnum.SHOP_STAGE_1.getShopStage()); + shopInfoDO.setPartnerId(lineInfo.getPartnerId()); + shopInfoDO.setFranchiseBrand(request.getFranchiseBrand()); + return shopInfoDO; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java index a6d78a6be..3be8ce36f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java @@ -23,6 +23,8 @@ public class AddShopRequest { @NotEmpty @ApiModelProperty("店铺名称") private List shopNameList; + @ApiModelProperty(value = "当前登录用户id",hidden = true) + private String userId; public AddShopRequest() { } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopDetailRequest.java new file mode 100644 index 000000000..c1d58962c --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopDetailRequest.java @@ -0,0 +1,37 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午4:49 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopDetailRequest { + @NotNull + private Long shopId; + @ApiModelProperty("加盟意向区域") + private Long wantShopAreaId; + @ApiModelProperty("所属区域") + private Long regionId; + @NotNull + @Min(1) + @Max(3) + @ApiModelProperty("加盟模式 1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店") + private Integer joinMode; + @NotBlank + @ApiModelProperty("加盟品牌") + private String franchiseBrand; + @ApiModelProperty("门店代码") + private String shopCode; + @ApiModelProperty("门店名称") + private String shopName; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopRequest.java new file mode 100644 index 000000000..4c121e169 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopRequest.java @@ -0,0 +1,48 @@ +package com.cool.store.request; + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午6:00 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopRequest extends PageBasicInfo{ + @ApiModelProperty("加盟商姓名或手机号") + private String partnerKeyword; + @ApiModelProperty("门店名称/编号") + private String shopKeyword; + @ApiModelProperty("所属大区") + private List regionIds; + @ApiModelProperty("督导userId") + private String investmentManagerUserId; + @ApiModelProperty("意向开店区域") + private List wantShopAreaId; + @ApiModelProperty("加盟模式") + private List joinMode; + @ApiModelProperty("加盟品牌") + private List franchiseBrand; + @ApiModelProperty("开店状态") + private List shopStatus; + @ApiModelProperty("计划开业日期开始") + private Date openTimeStart; + @ApiModelProperty("计划开业日期结束") + private Date openTimeEnd; + @ApiModelProperty(value = "管辖区域",hidden = true) + private List authRegionIds; + @ApiModelProperty(value="意向开店区域+子节点",hidden = true) + private List wantShopAreaAllIds; + @ApiModelProperty("1-我负责的,2-我管辖的") + @NotNull + private Integer flag; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java index 56b332377..be6896386 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineFollowLogRequest.java @@ -12,10 +12,12 @@ import lombok.Data; @Data public class LineFollowLogRequest { - @ApiModelProperty("线索id") + @ApiModelProperty("线索id/shopId") private Long lineId; @ApiModelProperty("日志") private String message; + @ApiModelProperty("1-线索日志,2-门店日志") + private Integer type = 1; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRecommendPointRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRecommendPointRequest.java index f1751b7ac..0208a9088 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineRecommendPointRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineRecommendPointRequest.java @@ -20,8 +20,8 @@ import java.util.stream.Collectors; @Data public class LineRecommendPointRequest { - @ApiModelProperty("线索id") - private Long lineId; + @ApiModelProperty("门店ID") + private Long shopId; @ApiModelProperty("铺位ids") private List pointIds; @@ -30,12 +30,12 @@ public class LineRecommendPointRequest { private String developmentManager; public List convertList(){ - if(Objects.isNull(this.lineId) || CollectionUtils.isEmpty(pointIds)){ + if(Objects.isNull(this.shopId) || CollectionUtils.isEmpty(pointIds)){ return Lists.newArrayList(); } return this.pointIds.stream().map(pointId -> { PointRecommendDO pointRecommendDO = new PointRecommendDO(); - pointRecommendDO.setLineId(this.lineId); + pointRecommendDO.setShopId(this.shopId); pointRecommendDO.setDevelopmentManager(this.developmentManager); pointRecommendDO.setPointId(pointId); pointRecommendDO.setStatus(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode()); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LinesRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LinesRequest.java new file mode 100644 index 000000000..5fff00790 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LinesRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/01/07/下午2:49 + * @Version 1.0 + * @注释: + */ +@Data +public class LinesRequest { + @ApiModelProperty("姓名/手机号") + private String keyword; + private Integer pageSize = 10; + private Integer pageNum = 1; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/MiniPointPageRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/MiniPointPageRequest.java index 3a9dd4c24..acfe8ade1 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/MiniPointPageRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/MiniPointPageRequest.java @@ -21,7 +21,7 @@ public class MiniPointPageRequest extends PageBasicInfo { @ApiModelProperty("1.待选择 2.已选择 3.拒绝/失效") private Integer status; - @ApiModelProperty(value = "线索id") - private Long lineId; + @ApiModelProperty(value = "门店线索ID") + private Long shopId; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PointRecommendLineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PointRecommendLineRequest.java index e4ec2b377..6f125caad 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PointRecommendLineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PointRecommendLineRequest.java @@ -21,7 +21,7 @@ import java.util.stream.Collectors; public class PointRecommendLineRequest { @ApiModelProperty("线索ids") - private List lineIds; + private List shopIds; @ApiModelProperty("铺位id") private Long pointId; @@ -30,12 +30,12 @@ public class PointRecommendLineRequest { private String developmentManager; public List convertList(){ - if(Objects.isNull(this.lineIds) || CollectionUtils.isEmpty(this.lineIds) || Objects.isNull(pointId)){ + if(Objects.isNull(this.shopIds) || CollectionUtils.isEmpty(this.shopIds) || Objects.isNull(pointId)){ return Lists.newArrayList(); } - return this.lineIds.stream().map(lineId -> { + return this.shopIds.stream().map(shopId -> { PointRecommendDO pointRecommendDO = new PointRecommendDO(); - pointRecommendDO.setLineId(lineId); + pointRecommendDO.setShopId(shopId); pointRecommendDO.setDevelopmentManager(this.developmentManager); pointRecommendDO.setPointId(pointId); pointRecommendDO.setStatus(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode()); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/RejectPointRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/RejectPointRequest.java index 9a51a0b13..0eb9a4738 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/RejectPointRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/RejectPointRequest.java @@ -23,8 +23,8 @@ public class RejectPointRequest { @ApiModelProperty("拒绝原因") private String reason; - @ApiModelProperty(value = "当前线索id", hidden = true) - private Long lineId; + @ApiModelProperty(value = "门店Id") + private Long shopId; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/TurnLineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/TurnLineRequest.java index 4079e2a5d..bec40469a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/TurnLineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/TurnLineRequest.java @@ -12,8 +12,8 @@ import lombok.Data; @Data public class TurnLineRequest { - @ApiModelProperty("线索id") - private Long lineId; + @ApiModelProperty("门店ID") + private Long shopId; @ApiModelProperty("新的选址人员") private String developmentManager; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/UpdateLineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/UpdateLineRequest.java index 684e4535f..50b2f994d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/UpdateLineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/UpdateLineRequest.java @@ -26,8 +26,8 @@ public class UpdateLineRequest { private Long regionId; @NotNull @Min(1) - @Max(2) - @ApiModelProperty("加盟模式 1-社会加盟 2-强加盟") + @Max(3) + @ApiModelProperty("加盟模式 1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店") private Integer joinMode; @NotNull @ApiModelProperty("加盟品牌") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopDetailResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopDetailResponse.java new file mode 100644 index 000000000..c045a4b10 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopDetailResponse.java @@ -0,0 +1,72 @@ +package com.cool.store.response; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.temporal.ChronoUnit; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午4:11 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopDetailResponse { + + @ApiModelProperty("加盟商名称") + private String username; + + @ApiModelProperty("加盟手机号") + private String mobile; + @ApiModelProperty(" 加盟模式//'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店'") + private Integer joinMode; + + private Long shopId; + + @ApiModelProperty("门店编号") + private String shopCode; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("总项数") + private Integer totalColumn; + + @ApiModelProperty("完成项") + private Integer completionColumn; + + @ApiModelProperty("所属品牌 1,\"正新鸡排\",2,\"正新三明治\",3,\"正烧记\"4,\"大鼓米线\"5,\"串小妹\"6,\"茂掌柜\"") + private String franchiseBrand; + + @ApiModelProperty("预估完成时间") + private Date planCompletionTime; + + @ApiModelProperty("招商经理名称") + private String investmentManagerName; + + @ApiModelProperty("招商经理userId") + private String investmentManagerId; + + @ApiModelProperty("所属大区name") + private String regionName; + + @ApiModelProperty("所属大区id") + private Long regionId; + + @ApiModelProperty("意向开店区域") + private String wantRegionName; + + @ApiModelProperty("意向开店区域市id") + private Long wantRegionId; + @ApiModelProperty("意向开店区域省id") + private Long wantRegionParentId; + + @ApiModelProperty("门店状态:0.跟进中 1.已完成 2.已放弃") + private Integer shopStatus; + + @ApiModelProperty("铺位id") + private Long pointId; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopResponse.java new file mode 100644 index 000000000..55538d454 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopResponse.java @@ -0,0 +1,65 @@ +package com.cool.store.response; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.temporal.ChronoUnit; +import java.util.Date; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午5:46 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopResponse { + private Long shopId; + private Long lineId; + @ApiModelProperty("加盟商姓名") + private String username; + @ApiModelProperty("加盟商手机号") + private String mobile; + @ApiModelProperty("门店名称") + private String shopName; + @ApiModelProperty("门店编号") + private String shopCode; + @ApiModelProperty("所属大区") + private String regionName; + @ApiModelProperty("所属品牌") + private String franchiseBrand; + @ApiModelProperty("加盟模式") + private Integer joinMode; + @ApiModelProperty("意向开店区域") + private String wantRegionName; + @ApiModelProperty("计划开业时间") + private Date planOpenTime; + @ApiModelProperty("总项数") + private Integer totalColumn; + @ApiModelProperty("完成项") + private Integer completionColumn; + @ApiModelProperty("开店时长") + private String days; + @ApiModelProperty("督导/招商经理") + private String investmentManagerName; + @ApiModelProperty("状态") + private String shopStatus; + @ApiModelProperty("创建时间") + private Date createTime; + @ApiModelProperty("开业活动完成时间") + private Date openingActivityEndTime; + + public void setDays() { + if (this.openingActivityEndTime==null){ + long between = ChronoUnit.SECONDS.between(this.createTime.toInstant(), new Date().toInstant()); + double days = (double) between / (24*60*60); + this.days=String.format("%.1f", days); + }else{ + long between = ChronoUnit.SECONDS.between(this.createTime.toInstant(), this.openingActivityEndTime.toInstant()); + double days = (double) between / (24*60*60); + this.days = String.format("%.1f", days); + } + + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/LineVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineVO.java new file mode 100644 index 000000000..057492fdd --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineVO.java @@ -0,0 +1,20 @@ +package com.cool.store.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/01/07/下午2:31 + * @Version 1.0 + * @注释: + */ +@Data +public class LineVO { + private Long lineId; + @ApiModelProperty("加盟商名字") + private String username; + @ApiModelProperty("手机号") + private String mobile; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java index 3a521695e..a9449637a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java @@ -41,7 +41,7 @@ public class MiniPointPageVO { @ApiModelProperty("1.待选择 2.已选择 3.已被他人选择 4.已签约 5.已拒绝 6.已失效") private Integer recommendStatus; - public static List convertVO(List pointList, Map regionNameMap, Long curLineId) { + public static List convertVO(List pointList, Map regionNameMap) { if(CollectionUtils.isEmpty(pointList)){ return Lists.newArrayList(); } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/MiniShopPageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/MiniShopPageVO.java index b9cf66a3a..7cd2706b8 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/MiniShopPageVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/MiniShopPageVO.java @@ -1,7 +1,11 @@ package com.cool.store.vo.shop; +import com.cool.store.dto.Preparation.ScheduleDTO; +import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.FranchiseBrandEnum; +import com.cool.store.enums.JoinModeEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -36,8 +40,29 @@ public class MiniShopPageVO { private Long regionId; @ApiModelProperty("门店所属区域name") private String regionName; + @ApiModelProperty("督导name") + private String investmentName; + @ApiModelProperty("督导userId") + private String investmentUserId; - public MiniShopPageVO(Long shopId, String shopName,String shopCode,Boolean flag,Long pointId,Long regionId,String regionName) { + @ApiModelProperty("预估完成时间") + private Date planCompletionTime; + + @ApiModelProperty("总项数") + private Integer totalColumn; + + @ApiModelProperty("完成项") + private Integer completionColumn; + + @ApiModelProperty("所属品牌") + private String franchiseBrand; + @ApiModelProperty("加盟模式") + private String joinMode; + @ApiModelProperty("意向开店区域") + private String wantRegionName; + @ApiModelProperty("门店状态'0.跟进中 1.已完成 2.已放弃',") + private Integer shopStatus; + public MiniShopPageVO(Long shopId, String shopName, String shopCode, Boolean flag, Long pointId, Long regionId, String regionName) { this.shopId = shopId; this.shopName = shopName; this.shopCode = shopCode; @@ -47,7 +72,7 @@ public class MiniShopPageVO { this.regionName = regionName; } - public static List convertList(List shopInfoList, Map stageMap, Map regionNameMap ) { + public static List convertList(List shopInfoList, Map stageMap, Map regionNameMap, Map scheduleMap, Map wantRegionMap, Map userInfoMap) { List resultList = new ArrayList<>(); for (ShopInfoDO shopInfo : shopInfoList) { ShopStageInfoDO stageInfoDO = stageMap.get(shopInfo.getId()); @@ -57,10 +82,27 @@ public class MiniShopPageVO { flag = Boolean.TRUE; } } - if(Objects.isNull(regionNameMap)){ + if (Objects.isNull(regionNameMap)) { regionNameMap = new HashMap<>(); } - resultList.add(new MiniShopPageVO(shopInfo.getId(), shopInfo.getShopName(),shopInfo.getShopCode(),flag,shopInfo.getPointId(),shopInfo.getRegionId(), regionNameMap.getOrDefault(shopInfo.getRegionId(),""))); + MiniShopPageVO miniShopPageVO = new MiniShopPageVO(shopInfo.getId(), shopInfo.getShopName(), shopInfo.getShopCode(), flag, shopInfo.getPointId(), shopInfo.getRegionId(), regionNameMap.getOrDefault(shopInfo.getRegionId(), "")); + miniShopPageVO.setInvestmentUserId(shopInfo.getInvestmentManager()); + if (userInfoMap!=null){ + miniShopPageVO.setInvestmentName(userInfoMap.getOrDefault(shopInfo.getInvestmentManager(),new EnterpriseUserDO()).getName()); + } + if (scheduleMap != null) { + miniShopPageVO.setTotalColumn(scheduleMap.getOrDefault(shopInfo.getId(),new ScheduleDTO()).getTotalColumn()); + miniShopPageVO.setCompletionColumn(scheduleMap.getOrDefault(shopInfo.getId(),new ScheduleDTO()).getCompletionColumn()); + miniShopPageVO.setPlanCompletionTime(scheduleMap.getOrDefault(shopInfo.getId(),new ScheduleDTO()).getPlanCompleteTime()); + } + miniShopPageVO.setFranchiseBrand(shopInfo.getFranchiseBrand()); + miniShopPageVO.setJoinMode(JoinModeEnum.getByCode(shopInfo.getJoinMode())); + if (Objects.nonNull(wantRegionMap)) { + miniShopPageVO.setWantRegionName(wantRegionMap.get(shopInfo.getWantShopAreaId())); + } + miniShopPageVO.setShopStatus(shopInfo.getShopStatus()); + resultList.add(miniShopPageVO); + } return resultList; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java new file mode 100644 index 000000000..01c56ad45 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java @@ -0,0 +1,122 @@ +package com.cool.store.vo.shop; + +import com.cool.store.constants.CommonConstants; +import com.cool.store.dto.point.ShopPointDTO; +import com.cool.store.entity.HyOpenAreaInfoDO; +import com.cool.store.entity.LineInfoDO; +import com.cool.store.vo.LinePointBaseInfoVO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * @Author suzhuhong + * @Date 2025/1/8 14:59 + * @Version 1.0 + */ +@Data +public class ShopPointBaseInfoVO { + + @ApiModelProperty("门店ID") + private Long shopId; + + private String partnerName; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("区域名称") + private String areaName; + + @ApiModelProperty("区域路径") + private String areaPath; + + @ApiModelProperty("用户标签") + private List userPortraitList; + + @ApiModelProperty("招商经理") + private String investmentManagerUsername; + + @ApiModelProperty("已推门店") + private Integer recommendShopNum; + + @ApiModelProperty("已选门店") + private Integer selectedShopNum; + + public ShopPointBaseInfoVO(Long shopId, String shopName, String mobile) { + this.shopId = shopId; + this.shopName = shopName; + this.mobile = mobile; + } + + public static List convertList(Map partnerNameMap,List lineList, Map userNameMap, Map userPortraitMap, Map cityMap, Map recommendShopNumMap){ + List resultList = new ArrayList<>(); + for (ShopPointDTO shopPointDTO : lineList) { + ShopPointBaseInfoVO shopPointBaseInfoVO = new ShopPointBaseInfoVO(shopPointDTO.getShopId(), shopPointDTO.getShopName(), shopPointDTO.getMobile()); + String username = userNameMap.get(shopPointDTO.getInvestmentManager()); + shopPointBaseInfoVO.setInvestmentManagerUsername(username); + shopPointBaseInfoVO.setPartnerName(partnerNameMap.get(shopPointDTO.getLineId())); + HyOpenAreaInfoDO areaInfo = cityMap.get(shopPointDTO.getWantShopAreaId()); + if(Objects.nonNull(areaInfo)){ + shopPointBaseInfoVO.setAreaName(areaInfo.getAreaName()); + shopPointBaseInfoVO.setAreaPath(areaInfo.getAreaPath().replace("/", "").trim()); + } + shopPointBaseInfoVO.setRecommendShopNum(recommendShopNumMap.get(shopPointDTO.getShopId())); + shopPointBaseInfoVO.setSelectedShopNum((shopPointDTO.getPointId()!=null&&shopPointDTO.getPointId()> CommonConstants.ZERO)?CommonConstants.ONE:CommonConstants.ZERO); + if(StringUtils.isNotBlank(shopPointDTO.getUserPortrait())){ + List userPortraitList = new ArrayList<>(); + String[] parts = shopPointDTO.getUserPortrait().split(","); + for (String part : parts) { + String trimmedPart = part.trim(); + if (StringUtils.isNotBlank(trimmedPart)) { + String s = userPortraitMap.get(Long.valueOf(part)); + if(StringUtils.isNotBlank(s)){ + userPortraitList.add(s); + } + } + } + shopPointBaseInfoVO.setUserPortraitList(userPortraitList); + } + resultList.add(shopPointBaseInfoVO); + } + return resultList; + } + + + public static ShopPointBaseInfoVO convert(LineInfoDO lineInfo, String username, Map userPortraitMap, HyOpenAreaInfoDO cityArea, Map recommendShopNumMap, Map selectedShopNumMap){ + ShopPointBaseInfoVO linePointBaseInfo = new ShopPointBaseInfoVO(lineInfo.getId(), lineInfo.getUsername(), lineInfo.getMobile()); + linePointBaseInfo.setInvestmentManagerUsername(username); + if(Objects.nonNull(cityArea)){ + linePointBaseInfo.setAreaName(cityArea.getAreaName()); + linePointBaseInfo.setAreaPath(cityArea.getAreaPath().replace("/", "").trim()); + } + linePointBaseInfo.setRecommendShopNum(recommendShopNumMap.get(lineInfo.getId())); + linePointBaseInfo.setSelectedShopNum(selectedShopNumMap.get(lineInfo.getId())); + if(StringUtils.isNotBlank(lineInfo.getUserPortrait())){ + List userPortraitList = new ArrayList<>(); + String[] parts = lineInfo.getUserPortrait().split(","); + for (String part : parts) { + String trimmedPart = part.trim(); + if (StringUtils.isNotBlank(trimmedPart)) { + String s = userPortraitMap.get(Long.valueOf(part)); + if(StringUtils.isNotBlank(s)){ + userPortraitList.add(s); + } + } + } + linePointBaseInfo.setUserPortraitList(userPortraitList); + } + return linePointBaseInfo; + } + + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java index baacac9d9..0c3a999c3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java @@ -29,32 +29,6 @@ public interface DeskService { */ PageInfo intendPendingList(Integer pageNum, Integer pageSize,String userId); - /** - * 面试待处理 - * @param pageNum - * @param pageSize - * @param userId - * @return - */ - PageInfo interviewPendingList(Integer pageNum, Integer pageSize,String userId); - - /** - * 一审面试待处理 - * @param pageNum - * @param pageSize - * @param user - * @return - */ - PageInfo firstInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); - - /** - * 二审面试待处理 - * @param pageNum - * @param pageSize - * @param user - * @return - */ - PageInfo secondInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); /** * payStagePendingList @@ -75,14 +49,6 @@ public interface DeskService { */ PageInfo signingPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); - /** - * storeExperiencePendingList - * @param pageNum - * @param pageSize - * @param user - * @return - */ - PageInfo storeExperiencePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); /** * convertToBaseInfoVO @@ -110,14 +76,6 @@ public interface DeskService { InvestmentCountDTO getInvestmentCount(LoginUserInfo user); - /** - * 系统建店待处理数据 - * @param pageNum - * @param pageSize - * @param user - * @return - */ - PageInfo systemBuildStorePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); /** * 缴纳加盟费待处理数据 * @param pageNum @@ -152,15 +110,14 @@ public interface DeskService { * @return */ PageInfo openingAndOperationPlanPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); + /** - * 首批订货清单待处理数据 + * 培训清单待处理数据 * @param pageNum * @param pageSize * @param user * @return */ - PageInfo firstOrderListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); - PageInfo trainListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); /** * 信发系统 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java index 7dc128f32..eea95ca77 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java @@ -4,6 +4,7 @@ import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.entity.ImportTaskDO; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.PointInfoDO; +import com.cool.store.response.BranchShopResponse; import java.util.List; @@ -15,5 +16,6 @@ import java.util.List; */ public interface ExportRealizeService { - void preparationList( List preparationDTOS,ImportTaskDO importTaskDO); + + void branchShopList(List list,ImportTaskDO importTaskDO); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java index 169114246..00c1d1b5a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java @@ -10,5 +10,6 @@ import com.cool.store.request.*; * @注释: */ public interface ExportService { - Integer preparationList(PreparationRequest request,LoginUserInfo loginUserInfo); + + Long branchShopList(BranchShopRequest request,LoginUserInfo user); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java index 59befe64a..0fbb80fe4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LineFollowService.java @@ -19,7 +19,7 @@ public interface LineFollowService { * @param pageSize * @return */ - PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize); + PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize,Integer type); /** * 新增跟进日志 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java index 74e7616c4..d0808607f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java @@ -5,6 +5,8 @@ import com.cool.store.request.*; import com.cool.store.vo.*; import com.github.pagehelper.PageInfo; +import java.util.List; + /** * @Author suzhuhong * @Date 2024/3/25 13:45 @@ -97,5 +99,7 @@ public interface LineService { String getPayPicByLineId(Long lineId); + //增加查询资质审核的意向加盟商或正式加盟商搜索范围为全部 + PageInfo getLines(LinesRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java index 556fa5f91..0498042ff 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java @@ -4,6 +4,7 @@ import com.cool.store.request.*; import com.cool.store.vo.LinePointBaseInfoVO; import com.cool.store.vo.point.*; import com.cool.store.vo.shop.RentInfoToDoVO; +import com.cool.store.vo.shop.ShopPointBaseInfoVO; import com.github.pagehelper.PageInfo; import java.util.List; @@ -124,6 +125,8 @@ public interface PointService { */ PageInfo getLinePage(PointLinePageRequest request); + PageInfo getShopPage(PointLinePageRequest request); + /** * 获取单个加盟商信息 @@ -167,6 +170,13 @@ public interface PointService { */ List getLineRecommendPointList(Long lineId); + /** + * 获取门店推荐列表 + * @param shopId + * @return + */ + List getShopRecommendPointList(Long shopId); + /** * 获取我的可推荐铺位列表 * @param request @@ -284,4 +294,11 @@ public interface PointService { * @return */ PageInfo getRentContractToDoPage(String userId, Integer pageNumber, Integer pageSize); + + + /** + * 数据处理 V2.4 + * @return + */ + Boolean linePointToShopPoint(Long lineId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java index fa33a89e8..44dececaf 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java @@ -7,6 +7,7 @@ import com.cool.store.vo.Preparation.PreparationScheduleVO; import com.github.pagehelper.PageInfo; import java.util.List; +import java.util.Map; /** * @Author suzhuhong @@ -19,7 +20,7 @@ public interface PreparationService { /** * 开业进度列表 * @param preparationRequest - * @return + * @return //原先进度管理接口废弃,使用branchShopList */ PageInfo getPreparationSchedule(PreparationRequest preparationRequest); @@ -66,5 +67,13 @@ public interface PreparationService { */ Boolean decorationFlush(Long shopId); + //阶段完成奢shop_status=1已完成 + void updateShopStatus(Long shopId); + /** + * 获取店铺状态 + * @param shopIds + * @return + */ + Map getShopStatus(List shopIds); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java index 87c1d5183..47afbd64b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -2,15 +2,13 @@ package com.cool.store.service; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; -import com.cool.store.request.AddShopRequest; -import com.cool.store.request.DeleteShopRequest; -import com.cool.store.request.UpdateShopCodeRequest; +import com.cool.store.request.*; +import com.cool.store.response.BranchShopDetailResponse; +import com.cool.store.response.BranchShopResponse; import com.cool.store.vo.shop.MiniShopPageVO; -import com.cool.store.vo.shop.RentInfoToDoVO; import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; import com.github.pagehelper.PageInfo; -import lombok.Data; import java.util.List; @@ -34,7 +32,7 @@ public interface ShopService { * @param lineId * @return */ - List getShopList(Long lineId); + List getShopList(Long lineId,String userId); /** * 获取店铺阶段信息 @@ -70,5 +68,39 @@ public interface ShopService { */ ShopInfoDO getShopInfo(Long shopId); - Integer updateShopCode(UpdateShopCodeRequest request); + Integer updateShopCode(UpdateShopCodeRequest request,String userId); + + /** + * 新建分店 + */ + Long addBranchShop(AddBranchShopRequest request,String userId); + + /** + * 开店详情/左边小窗 + */ + BranchShopDetailResponse getBranchShopDetail(Long shopId); + /** + * 修改开店详情/左边小窗 + */ + Integer updateBranchShopDetail(BranchShopDetailRequest request,String userId); + /** + * 修改门店招商专员/督导 + */ + Integer updateShopInvestment(Long shopId,String updateUserId,String userId); + + + /** + * 门店结束跟进 + * @param shopId + * @return + */ + Boolean shopClose(Long shopId); + + + /** + * 分店列表 + */ + PageInfo getBranchShopList(BranchShopRequest request, String userId); + + Boolean dataHandler(Long shopId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java index 71e08e3e9..49180985b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java @@ -2,6 +2,7 @@ package com.cool.store.service; import com.cool.store.dto.TransferLogDTO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.OperationLogTypeEnum; import com.github.pagehelper.PageInfo; @@ -14,13 +15,14 @@ public interface TransferLogService { /** * 添加日志 操作日志类型 - * @param lineInfoDO + * @param id 线索ID 或者 门店ID 如果是线索ID 则表示线索转让记录 如果是门店ID 则表示门店转移记录 + * @param partnerId * @param formUserId * @param toUserId * @param operationLogTypeEnum */ - void addLog(LineInfoDO lineInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum); + void addLog(Long id ,String partnerId, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum); - PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId); + PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId,Integer lineShopType); } 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 4c72776cc..2844b5c31 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 @@ -124,6 +124,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { if (Constants.ONE_INTEGER.equals(request.getSubmitStatus()) && shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_30.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33, null); preparationService.licenseCompleted(request.getShopId()); + preparationService.updateShopStatus(request.getShopId()); } return Boolean.TRUE; } @@ -155,6 +156,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { if (Constants.ONE_INTEGER.equals(request.getSubmitStatus()) && shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_40.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_43, null); preparationService.licenseCompleted(request.getShopId()); + preparationService.updateShopStatus(request.getShopId()); } return Boolean.TRUE; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditOpeningOperationPlanImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditOpeningOperationPlanImpl.java index 7cba9607f..747251303 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditOpeningOperationPlanImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditOpeningOperationPlanImpl.java @@ -71,6 +71,7 @@ public class AuditOpeningOperationPlanImpl implements AuditOpeningOperationPlanS } shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), shopSubStageStatusEnum, auditId); + preparationService.updateShopStatus(request.getShopId()); if (flag){ preparationService.whetherToOpenForAcceptance(request.getShopId()); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index 5454a3553..2dcd79747 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -617,6 +617,7 @@ public class DecorationServiceImpl implements DecorationService { } @Override + @Transactional(rollbackFor = Exception.class) public Boolean confirmDesign(DecorationDesignRequest request, LoginUserInfo user) { //重复提交校验 3秒内不能重复提交 String lockKey = "confirmDesign:" + request.getShopId(); @@ -637,6 +638,7 @@ public class DecorationServiceImpl implements DecorationService { } @Override + @Transactional(rollbackFor = Exception.class) public Boolean confirmComplete(Long shopId, LoginUserInfo user) { //判断施工阶段是否时施工中 施工中才能施工完成 ShopStageInfoDO shopStageInfoDO = shopStageInfoDAO.getByShopIdAndSubStage(shopId, ShopSubStageEnum.SHOP_STAGE_11.getShopSubStage()); @@ -681,6 +683,7 @@ public class DecorationServiceImpl implements DecorationService { && CommonConstants.ONE == partner.getResult()) { //更新阶段状态验收完毕 shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123, null); + preparationService.updateShopStatus(request.getShopId()); } else { //未通过至为待验收 shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121, null); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java index b2c5f049d..db7e5735a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java @@ -8,6 +8,7 @@ import com.cool.store.dto.PendingCountDTO; import com.cool.store.dto.DeskStageDTO; import com.cool.store.dto.openPreparation.PlanLineDTO; import com.cool.store.entity.*; +import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.point.PayBusinessTypeEnum; import com.cool.store.enums.point.ShopSubStageEnum; @@ -104,98 +105,6 @@ public class DeskServiceImpl implements DeskService { return page; } - @Override - public PageInfo interviewPendingList(Integer pageNum, Integer pageSize, String userId) { -// PageHelper.startPage(pageNum, pageSize); -// List lineInfoDOS = lineInfoDAO.listByInvestmentManager(userId,Arrays.asList(WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_20.getCode())); -// PageInfo page = new PageInfo(lineInfoDOS); -// Map userPortraitMap = this.getUserPortraitMap(lineInfoDOS); -// List wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); -// Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); -// List lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList()); -// List interviewByLindIds = lineInterviewDAO.getInterviewByLindIds(lineIds, InterviewTypeEnum.MEET); -// Map interviewDOMap = interviewByLindIds.stream().collect(Collectors.toMap(LineInterviewDO::getLineId, x -> x, (k1, k2) -> k1)); -// -// List list = new ArrayList<>(); -// lineInfoDOS.forEach(x->{ -// BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); -// InterviewPendingVO interviewPendingVO = new InterviewPendingVO(baseInfoVO); -// LineInterviewDO lineInterviewDO = interviewDOMap.get(x.getId()); -// if (lineInterviewDO != null){ -// interviewPendingVO.setStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,lineInterviewDO.getStartTime())); -// interviewPendingVO.setEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,lineInterviewDO.getEndTime())); -// } -// list.add(interviewPendingVO); -// }); -// page.setList(list); - return new PageInfo<>(); - } - - @Override - public PageInfo firstInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo userInfo) { -// PageHelper.startPage(pageNum, pageSize); -// List lineInfoDOS = lineInfoDAO.listByInterview(userInfo.getUserId(),InterviewTypeEnum.INTERVIEW.getCode(), -// Arrays.asList(WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_30.getCode(),WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_35.getCode()),WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_40.getCode(),null); -// PageInfo page = new PageInfo(lineInfoDOS); -// Map userPortraitMap = this.getUserPortraitMap(lineInfoDOS); -// List wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); -// Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); -// List lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList()); -// List interviewByLindIds = lineInterviewDAO.getInterviewByLindIds(lineIds, InterviewTypeEnum.INTERVIEW); -// Map interviewDOMap = interviewByLindIds.stream().collect(Collectors.toMap(LineInterviewDO::getLineId, x -> x, (k1, k2) -> k1)); -// List userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getFirstInterviewer() != null).map(LineInfoDO::getFirstInterviewer).collect(Collectors.toList()); -// Map userInfoMap = enterpriseUserDAO.getUserInfoMap(userIds); -// -// List list = new ArrayList<>(); -// lineInfoDOS.forEach(x->{ -// BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); -// InterviewPendingVO interviewPendingVO = new InterviewPendingVO(baseInfoVO); -// LineInterviewDO lineInterviewDO = interviewDOMap.get(x.getId()); -// if (lineInterviewDO != null){ -// interviewPendingVO.setStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,lineInterviewDO.getStartTime())); -// interviewPendingVO.setEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,lineInterviewDO.getEndTime())); -// interviewPendingVO.setInterviewer(userInfoMap.getOrDefault(x.getFirstInterviewer(),new EnterpriseUserDO()).getName()); -// interviewPendingVO.setInterviewId(lineInterviewDO.getId()); -// } -// list.add(interviewPendingVO); -// }); -// page.setList(list); - return new PageInfo<>(); - } - - - @Override - public PageInfo secondInterviewPendingList(Integer pageNum, Integer pageSize, LoginUserInfo userInfo) { -// PageHelper.startPage(pageNum, pageSize); -// List lineInfoDOS = lineInfoDAO.listByInterview(userInfo.getUserId(),InterviewTypeEnum.SECOND_INTERVIEW.getCode(), -// Arrays.asList(WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_105.getCode(),WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_110.getCode()), WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_115.getCode(),null); -// PageInfo page = new PageInfo(lineInfoDOS); -// Map userPortraitMap = this.getUserPortraitMap(lineInfoDOS); -// List wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); -// Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); -// List lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList()); -// List interviewByLindIds = lineInterviewDAO.getInterviewByLindIds(lineIds, InterviewTypeEnum.SECOND_INTERVIEW); -// Map interviewDOMap = interviewByLindIds.stream().collect(Collectors.toMap(LineInterviewDO::getLineId, x -> x, (k1, k2) -> k1)); -// List userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getSecondInterviewer() != null).map(LineInfoDO::getSecondInterviewer).collect(Collectors.toList()); -// Map userInfoMap = enterpriseUserDAO.getUserInfoMap(userIds); -// -// -// List list = new ArrayList<>(); -// lineInfoDOS.forEach(x->{ -// BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); -// InterviewPendingVO interviewPendingVO = new InterviewPendingVO(baseInfoVO); -// LineInterviewDO lineInterviewDO = interviewDOMap.get(x.getId()); -// if (lineInterviewDO != null){ -// interviewPendingVO.setStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START,lineInterviewDO.getStartTime())); -// interviewPendingVO.setEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,lineInterviewDO.getEndTime())); -// interviewPendingVO.setInterviewer(userInfoMap.getOrDefault(x.getSecondInterviewer(),new EnterpriseUserDO()).getName()); -// interviewPendingVO.setInterviewId(lineInterviewDO.getId()); -// } -// list.add(interviewPendingVO); -// }); -// page.setList(list); - return new PageInfo<>(); - } @Override public PageInfo payStagePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { @@ -248,38 +157,6 @@ public class DeskServiceImpl implements DeskService { return page; } - @Override - public PageInfo storeExperiencePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { -// PageHelper.startPage(pageNum, pageSize); -// List lineInfoDOS = lineInfoDAO.listByInvestmentManager(user.getUserId(), -// Arrays.asList(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85.getCode(), -// WorkflowSubStageStatusEnum.STORE_EXPERIENCE_95.getCode())); -// PageInfo page = new PageInfo(lineInfoDOS); -// Map userPortraitMap = this.getUserPortraitMap(lineInfoDOS); -// List wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); -// Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); -// List lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList()); -// Map infoDOMap = new HashMap<>(); -// if (CollectionUtils.isNotEmpty(lineIds)){ -// List leaseBaseInfoDOS = trainingExperienceMapper.selectByLineIds(lineIds); -// infoDOMap = leaseBaseInfoDOS.stream().collect(Collectors.toMap(LeaseBaseInfoDO::getLineId, x -> x)); -// } -// List list = new ArrayList<>(); -// Map finalInfoDOMap = infoDOMap; -// lineInfoDOS.forEach(x->{ -// BaseInfoVO baseInfoVO = convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); -// StoreExperiencePendingVO storeExperiencePendingVO = new StoreExperiencePendingVO(baseInfoVO); -// LeaseBaseInfoDO date = finalInfoDOMap.get(x.getId()); -// if (date != null && date.getExperienceStartTime() != null && date.getExperienceEndTime() != null){ -// storeExperiencePendingVO.setExperienceStartTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1,date.getExperienceStartTime())); -// storeExperiencePendingVO.setExperienceEndTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_2,date.getExperienceEndTime())); -// } -// list.add(storeExperiencePendingVO); -// }); -// page.setList(list); - return new PageInfo<>(); - } - /** * convertToBaseInfoVO @@ -347,21 +224,56 @@ public class DeskServiceImpl implements DeskService { } - @Override - public PageInfo systemBuildStorePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return null; - } @Override public PageInfo payFranchiseFeesPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, - Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.FALSE); + List userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId()); + PageInfo pageInfo = new PageInfo<>(); + if (CollectionUtils.isNotEmpty(userRoleIds) + && (userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode()) + ||userRoleIds.contains(UserRoleEnum.INVESTMENT_COMMISSIONER.getCode()) + ||userRoleIds.contains(UserRoleEnum.STRONG_INVESTMENT_COMMISSIONER.getCode()))){ + pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, + Collections.singletonList(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()), Boolean.FALSE); + } + if (CollectionUtils.isNotEmpty(userRoleIds)&& userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode())){ + pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, + Collections.singletonList(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.TRUE); + } + + + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map shopPayDoMap = linePayDAO.getLinePayByShopIds(shopIds, PayBusinessTypeEnum.FRANCHISE_FEE.getCode()); + for (PreparationCommonPendingVO vo:list){ + vo.setSubmitTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, shopPayDoMap.getOrDefault(vo.getShopId(), new LinePayDO()).getCreateTime())); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo signingOfFranchiseContractPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_8, + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_8, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_80.getShopSubStageStatus(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85.getShopSubStageStatus()), Boolean.TRUE); + + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_7.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; + } @Override @@ -375,61 +287,183 @@ public class DeskServiceImpl implements DeskService { return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_14, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_140.getShopSubStageStatus()), Boolean.FALSE); } - @Override - public PageInfo firstOrderListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return null; - } @Override public PageInfo trainListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_5, + return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_5, Collections.singletonList(SHOP_SUB_STAGE_STATUS_50.getShopSubStageStatus()), Boolean.TRUE); } @Override public PageInfo xinFaListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_23, + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_23, Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_230.getShopSubStageStatus()), Boolean.FALSE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo posListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_16, + + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_16, Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_160.getShopSubStageStatus()), Boolean.FALSE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo tentPassListPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_24, + + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_24, Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_240.getShopSubStageStatus()), Boolean.FALSE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo orderSysPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_17, + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, null, ShopSubStageEnum.SHOP_STAGE_17, Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_170.getShopSubStageStatus()), Boolean.FALSE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo designPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_9, - Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_90.getShopSubStageStatus()), Boolean.TRUE); + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_9, + Arrays.asList(SHOP_SUB_STAGE_STATUS_90.getShopSubStageStatus()), Boolean.TRUE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + doThing(deskStageMap, subStageList); + for (PreparationCommonPendingVO vo :list){ + vo.setSubmitTime(deskStageMap.get(vo.getShopId()).get(0).getActualCompleteTime()); + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo constructionPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_11, + PageInfo pageInfo =commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_11, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_110.getShopSubStageStatus(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus()), Boolean.TRUE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); + List decorationDesignInfos = decorationDesignInfoDAO.getByIds(shopIds); + doThing(deskStageMap, subStageList); + for (DecorationDesignInfoDO decorationDesignInfoDO : decorationDesignInfos) { + List deskStages = new ArrayList<>(); + deskStages.addAll(deskStageMap.get(decorationDesignInfoDO.getShopId())); + if (CollectionUtils.isEmpty(deskStages)) { + DeskStageDTO dto = new DeskStageDTO(); + dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, decorationDesignInfoDO.getCreateTime())); + dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus()); + deskStageMap.put(decorationDesignInfoDO.getShopId(), Collections.singletonList(dto)); + } else { + DeskStageDTO dto = new DeskStageDTO(); + dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, decorationDesignInfoDO.getCreateTime())); + dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus()); + deskStages.add(dto); + deskStageMap.put(decorationDesignInfoDO.getShopId(), deskStages); + } + } + for (PreparationCommonPendingVO vo :list){ + for (DeskStageDTO deskStageDTO : deskStageMap.get(vo.getShopId())) { + if (vo.getSubStageStatus().equals(deskStageDTO.getShopSubStageStatus())) { + vo.setSubmitTime(deskStageDTO.getActualCompleteTime()); + break; + } + } + } + pageInfo.setList(list); + return pageInfo; } @Override public PageInfo fitmentPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { - return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_12, + + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_12, Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus()), Boolean.FALSE); + List list = pageInfo.getList(); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List shopIds = list.stream().map(PreparationCommonPendingVO::getShopId).collect(Collectors.toList()); + Map> deskStageMap = new HashMap<>(); + List acceptanceInfoDOList = acceptanceInfoDAO.selectByShopIds(shopIds); + for (AcceptanceInfoDO acceptanceInfoDO : acceptanceInfoDOList) { + DeskStageDTO dto = new DeskStageDTO(); + dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, acceptanceInfoDO.getCreateTime())); + dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus()); + deskStageMap.put(acceptanceInfoDO.getShopId(), Collections.singletonList(dto)); + } + for (PreparationCommonPendingVO vo :list){ + for (DeskStageDTO deskStageDTO : deskStageMap.get(vo.getShopId())) { + if (vo.getSubStageStatus().equals(deskStageDTO.getShopSubStageStatus())) { + vo.setSubmitTime(deskStageDTO.getActualCompleteTime()); + break; + } + } + } + pageInfo.setList(list); + return pageInfo; } @Override @@ -499,53 +533,7 @@ public class DeskServiceImpl implements DeskService { Map userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers); Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); - - Map shopPayDoMap = new HashMap<>(16); - if (ShopSubStageEnum.SHOP_STAGE_7.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - shopPayDoMap = linePayDAO.getLinePayByShopIds(shopIds, PayBusinessTypeEnum.FRANCHISE_FEE.getCode()); - } - Map> deskStageMap = new HashMap<>(); - if (ShopSubStageEnum.SHOP_STAGE_16.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_17.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_9.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_23.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) ){ - List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); - doThing(deskStageMap, subStageList); - } else if (ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_7.getShopSubStage()); - doThing(deskStageMap, subStageList); - } else if (ShopSubStageEnum.SHOP_STAGE_11.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - List subStageList = shopStageInfoDAO.getSubStages(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); - List decorationDesignInfos = decorationDesignInfoDAO.getByIds(shopIds); - doThing(deskStageMap, subStageList); - for (DecorationDesignInfoDO decorationDesignInfoDO : decorationDesignInfos) { - List deskStages = new ArrayList<>(); - deskStages.addAll(deskStageMap.get(decorationDesignInfoDO.getShopId())); - if (CollectionUtils.isEmpty(deskStages)) { - DeskStageDTO dto = new DeskStageDTO(); - dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, decorationDesignInfoDO.getCreateTime())); - dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus()); - deskStageMap.put(decorationDesignInfoDO.getShopId(), Collections.singletonList(dto)); - } else { - DeskStageDTO dto = new DeskStageDTO(); - dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, decorationDesignInfoDO.getCreateTime())); - dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus()); - deskStages.add(dto); - deskStageMap.put(decorationDesignInfoDO.getShopId(), deskStages); - } - } - } else if (ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - List list = acceptanceInfoDAO.selectByShopIds(shopIds); - for (AcceptanceInfoDO acceptanceInfoDO : list) { - DeskStageDTO dto = new DeskStageDTO(); - dto.setActualCompleteTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, acceptanceInfoDO.getCreateTime())); - dto.setShopSubStageStatus(SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus()); - deskStageMap.put(acceptanceInfoDO.getShopId(), Collections.singletonList(dto)); - } - } List list = new ArrayList<>(); - Map finalShopPayDoMap = shopPayDoMap; specialShopStageInfo.forEach(x -> { PreparationCommonPendingVO preparationCommonPendingVO = new PreparationCommonPendingVO(); preparationCommonPendingVO.setLineId(x.getLineId()); @@ -553,45 +541,15 @@ public class DeskServiceImpl implements DeskService { ShopInfoDO shopInfoDO = shopInfoMap.getOrDefault(x.getShopId(), new ShopInfoDO()); if (shopInfoDO != null) { PointInfoDO pointInfoDO = pointMap.get(shopInfoDO.getPointId()); - if(pointInfoDO != null) { + if (pointInfoDO != null) { preparationCommonPendingVO.setShopAddress(pointInfoDO.getAddress()); } preparationCommonPendingVO.setShopCode(shopInfoDO.getShopCode()); } - preparationCommonPendingVO.setInvestmentManager(lineMap.getOrDefault(x.getLineId(),new PlanLineDTO()).getInvestmentManagerName()); + preparationCommonPendingVO.setInvestmentManager(lineMap.getOrDefault(x.getLineId(), new PlanLineDTO()).getInvestmentManagerName()); preparationCommonPendingVO.setStage(x.getShopStage()); preparationCommonPendingVO.setSubStage(x.getShopSubStage()); preparationCommonPendingVO.setSubStageStatus(x.getShopSubStageStatus()); - - if (ShopSubStageEnum.SHOP_STAGE_7.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - preparationCommonPendingVO.setSubmitTime(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START, finalShopPayDoMap.getOrDefault(x.getShopId(), new LinePayDO()).getCreateTime())); - } - if (ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - preparationCommonPendingVO.setSubmitTime(deskStageMap.get(x.getShopId()).get(0).getActualCompleteTime()); - } - if (ShopSubStageEnum.SHOP_STAGE_16.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_17.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_9.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_23.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) - || ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage().equals(shopSubStageEnum.getShopSubStage()) ){ - preparationCommonPendingVO.setSubmitTime(deskStageMap.get(x.getShopId()).get(0).getActualCompleteTime()); - } - if (ShopSubStageEnum.SHOP_STAGE_11.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - for (DeskStageDTO deskStageDTO : deskStageMap.get(x.getShopId())) { - if (x.getShopSubStageStatus().equals(deskStageDTO.getShopSubStageStatus())) { - preparationCommonPendingVO.setSubmitTime(deskStageDTO.getActualCompleteTime()); - break; - } - } - } - if (ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage().equals(shopSubStageEnum.getShopSubStage())) { - for (DeskStageDTO deskStageDTO : deskStageMap.get(x.getShopId())) { - if (x.getShopSubStageStatus().equals(deskStageDTO.getShopSubStageStatus())) { - preparationCommonPendingVO.setSubmitTime(deskStageDTO.getActualCompleteTime()); - break; - } - } - } preparationCommonPendingVO.setStoreName(shopInfoDO.getShopName()); PlanLineDTO planLineDTO = lineMap.getOrDefault(x.getLineId(), new PlanLineDTO()); preparationCommonPendingVO.setPartnerName(planLineDTO.getUsername()); @@ -657,7 +615,7 @@ public class DeskServiceImpl implements DeskService { ShopInfoDO shopInfoDO = shopInfoMap.getOrDefault(x.getShopId(), new ShopInfoDO()); if (shopInfoDO != null) { PointInfoDO pointInfoDO = pointMap.get(shopInfoDO.getPointId()); - if(pointInfoDO != null) { + if (pointInfoDO != null) { preparationCommonPendingVO.setShopAddress(pointInfoDO.getAddress()); } preparationCommonPendingVO.setShopCode(shopInfoDO.getShopCode()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java index 84939192e..2c7376960 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java @@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; +import com.cool.store.dto.ExportBranchShopDTO; +import com.cool.store.dto.FranchiseFeeDTO; import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.Preparation.ScheduleDTO; import com.cool.store.dto.PreparationScheduleDTO; @@ -13,10 +15,9 @@ import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.*; import com.cool.store.exception.ServiceException; -import com.cool.store.mapper.ImportTaskMapper; -import com.cool.store.mapper.IntentAgreementMapper; -import com.cool.store.mapper.PointInfoMapper; +import com.cool.store.mapper.*; import com.cool.store.request.InitiatingRequest; +import com.cool.store.response.BranchShopResponse; import com.cool.store.service.*; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; @@ -27,20 +28,21 @@ import com.cool.store.utils.poi.StringUtils; import io.swagger.annotations.ApiModelProperty; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigInteger; import java.text.MessageFormat; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD; -import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS; +import static com.cool.store.utils.poi.DateUtils.*; /** * @Author: WangShuo @@ -52,7 +54,7 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS; @Slf4j public class ExportRealizeServiceImpl implements ExportRealizeService { @Resource - private PointInfoMapper pointInfoMapper; + private FranchiseFeeMapper franchiseFeeMapper; @Resource private ImportTaskMapper importTaskMapper; @Autowired @@ -62,7 +64,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { @Resource EnterpriseUserDAO enterpriseUserDAO; @Resource - SysRoleService sysRoleService; + SignFranchiseMapper signFranchiseMapper; @Resource UserAuthMappingService userAuthMappingService; @Resource @@ -91,59 +93,86 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { @Autowired private RegionDao regionDao; - @Async + @Resource + private InvoicingDAO invoicingDAO; @Override - public void preparationList(List preparationDTOS, ImportTaskDO importTaskDO) { + @Async + public void branchShopList(List list, ImportTaskDO importTaskDO) { Boolean flag = Boolean.TRUE; String url = ""; try { - List shopIds = preparationDTOS.stream().map(PreparationDTO::getId).collect(Collectors.toList()); - List scheduleList = shopStageInfoDAO.getScheduleList(shopIds); - List shopContractActualCompletionTime = shopStageInfoDAO.getShopContractActualCompletionTime(shopIds); - Map scheduleDTOMap = scheduleList.stream().collect(Collectors.toMap(ScheduleDTO::getShopId, x -> x)); - Map shopStageInfoDOMap = shopContractActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); - List regionIds = preparationDTOS.stream().map(PreparationDTO::getRegionId).collect(Collectors.toList()); - Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); - Set userIds = preparationDTOS.stream().filter(x -> StringUtils.isNotEmpty(x.getShopManagerUserId())).map(PreparationDTO::getShopManagerUserId).collect(Collectors.toSet()); - userIds.addAll(preparationDTOS.stream().filter(x -> StringUtils.isNotEmpty(x.getInvestmentManager())).map(PreparationDTO::getInvestmentManager).collect(Collectors.toSet())); - userIds.addAll(preparationDTOS.stream().filter(x -> StringUtils.isNotEmpty(x.getSupervisorUserId())).map(PreparationDTO::getSupervisorUserId).collect(Collectors.toSet())); - Map userInfoMap = enterpriseUserDAO.getUserInfoMap(new ArrayList<>(userIds)); - List openActivityActualCompletionTime = shopStageInfoDAO.getOpenActivityActualCompletionTime(shopIds); - Map openActivityStageMap; - if (openActivityActualCompletionTime !=null){ - openActivityStageMap = openActivityActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); - } else { - openActivityStageMap = new HashMap<>(); + List exportList = new ArrayList<>(); + List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); + List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); + List franchiseFees = franchiseFeeMapper.getPayTimeByShopIds(shopIds); + Map payTimeMap = franchiseFees.stream().filter(o -> o.getPayTime() != null) + .filter(o -> o.getShopId() != null) + .collect(Collectors.toMap(FranchiseFeeDTO::getShopId, FranchiseFeeDTO::getPayTime)); + Map franchiseFeeDTOMap = franchiseFees.stream().filter(o -> o.getShopId() != null) + .collect(Collectors.toMap(FranchiseFeeDTO::getShopId, Function.identity())); + Map signFranchiseMap = new HashMap<>(); + if (signFranchises != null) { + signFranchiseMap = signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, Function.identity())); } - List result = new ArrayList<>(); - preparationDTOS.forEach(x -> { - PreparationScheduleDTO dto1 = new PreparationScheduleDTO(); - dto1.setMobile(x.getMobile()); - dto1.setUsername(x.getUsername()); - dto1.setShopName(x.getShopName()); - dto1.setPlanOpenTime(DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, x.getPlanOpenTime())); - dto1.setShopCode(x.getShopCode()); - dto1.setSupervisionName(userInfoMap.getOrDefault(x.getSupervisorUserId(), new EnterpriseUserDO()).getName()); - dto1.setInvestmentManagerName(userInfoMap.getOrDefault(x.getInvestmentManager(), new EnterpriseUserDO()).getName()); - dto1.setRegionNodeName(regionNameMap.getOrDefault(x.getRegionId(), "")); - ScheduleDTO dto = scheduleDTOMap.getOrDefault(x.getId(), new ScheduleDTO()); - dto1.setCurrentProgress(dto.getCompletionColumn().toString() + "/" + dto.getTotalColumn().toString()); - if ( openActivityStageMap.containsKey(x.getId())) { - Date openActivity = DateUtils.strToDate(openActivityStageMap.get(x.getId()).getActualCompleteTime(), YYYY_MM_DD_HH_MM_SS); - long between = ChronoUnit.SECONDS.between( x.getCreateTime().toInstant(),openActivity.toInstant()); - double days = (double) between / (24 * 60 * 60); - dto1.setDays(String.format("%.1f", days)); - }else{ - long between = ChronoUnit.SECONDS.between( x.getCreateTime().toInstant(),new Date().toInstant()); - double days = (double) between / (24 * 60 * 60); - dto1.setDays(String.format("%.1f", days)); + List invoicingDOList = invoicingDAO.listByShopIds(shopIds); + Map InvoicingMap = new HashMap<>(); + if (invoicingDOList != null) { + InvoicingMap = invoicingDOList.stream().collect(Collectors.toMap(InvoicingDO::getShopId, Function.identity())); + } + for (BranchShopResponse response : list) { + ExportBranchShopDTO dto = new ExportBranchShopDTO(); + FranchiseFeeDTO franchiseFeeDTO = franchiseFeeDTOMap.get(response.getShopId()); + if (ObjectUtils.isNotEmpty(franchiseFeeDTO)) { + dto.setFirstYearStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, franchiseFeeDTO.getFirstYearStartTime())); + dto.setFirstYearEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, franchiseFeeDTO.getFirstYearEndTime())); + String total = (new BigInteger(franchiseFeeDTO.getPerformanceBond()).add(new BigInteger(franchiseFeeDTO.getFirstYearFee())) + .add(new BigInteger(franchiseFeeDTO.getYearFranchiseFee())).add(new BigInteger(franchiseFeeDTO.getLoanMargin())).toString()); + dto.setTotalAmountContributions(total); + dto.setFranchiseFeeBill(franchiseFeeDTO.getYearFranchiseFee()); + dto.setLoanMargin(franchiseFeeDTO.getLoanMargin()); + dto.setPerformanceBondBill(franchiseFeeDTO.getPerformanceBond()); } - result.add(dto1); - }); - url = easyExcelUtil.exportExcel(PreparationScheduleDTO.class, result, null, FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()), FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); + dto.setUserName(response.getUsername()); + dto.setMobile(response.getMobile()); + dto.setShopName(response.getShopName()); + dto.setShopCode(response.getShopCode()); + dto.setRegionName(response.getRegionName()); + dto.setJoinMode(JoinModeEnum.getByCode(response.getJoinMode())); + dto.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(response.getFranchiseBrand())); + dto.setInvestmentManager(response.getInvestmentManagerName()); + SignFranchiseDO signFranchiseDO = signFranchiseMap.get(response.getShopId()); + if (signFranchiseDO != null) { + dto.setContractCode(signFranchiseDO.getContractCode()); + dto.setContractStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractStartTime())); + dto.setContractEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractEndTime())); + } + Date payTime = payTimeMap.get(response.getShopId()); + if (Objects.nonNull(payTime)) { + dto.setFirstPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, payTime)); + } + InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); + if (invoicingDO != null) { + dto.setInvoicingTime(invoicingDO.getInvoiceDate()); + dto.setFirstYearManagementFeeTax(toString(invoicingDO.getManagementFeeTax())); + dto.setFirstYearManagementFee(toString(invoicingDO.getManagementFee())); + dto.setFirstYearBrandingFeeTax(toString(invoicingDO.getBrandUsageFeeTax())); + dto.setFirstYearBrandingFee(toString(invoicingDO.getBrandUsageFee())); + dto.setFranchiseFeeTax(toString(invoicingDO.getFranchiseFeeTax())); + dto.setFranchiseFee(toString(invoicingDO.getFranchiseFee())); + dto.setDesignFeeTax(toString(invoicingDO.getDesignServiceFeeTax())); + dto.setDesignFee(toString(invoicingDO.getDesignServiceFee())); + } + dto.setCurrentProgress(response.getCompletionColumn() + "/" + response.getTotalColumn()); + dto.setShopStatus(response.getShopStatus()); + dto.setPlanOpenTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, response.getPlanOpenTime())); + dto.setOpenDuration(response.getDays()); + dto.setCurrency("元"); + exportList.add(dto); + } + url = easyExcelUtil.exportExcel(ExportBranchShopDTO.class, exportList, null, FileTypeEnum.BRANCH_SHOP_LIST.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), FileTypeEnum.BRANCH_SHOP_LIST.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date())); } catch (Throwable e) { flag = Boolean.FALSE; - log.error("fileUpload upload err, originFileName={}", FileTypeEnum.TEAM_LINE.getDesc(), e); + log.error("fileUpload upload err, originFileName={}", FileTypeEnum.BRANCH_SHOP_LIST.getDesc(), e); throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); } finally { if (flag) { @@ -154,6 +183,14 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { } importTaskMapper.update(eid, importTaskDO); } + + } + + private String toString(Object o) { + if (o == null) { + return ""; + } + return o.toString(); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java index 80656b11e..62fef85e2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import com.cool.store.constants.CommonConstants; +import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.dao.LineInfoDAO; @@ -17,6 +18,7 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.ImportTaskMapper; import com.cool.store.mapper.PointInfoMapper; import com.cool.store.request.*; +import com.cool.store.response.BranchShopResponse; import com.cool.store.service.*; import com.cool.store.utils.easyExcel.EasyExcelUtil; import com.cool.store.utils.poi.DateUtils; @@ -67,42 +69,37 @@ public class ExportServiceImpl implements ExportService { private String eid; @Autowired private ShopInfoDAO shopInfoDAO; + @Autowired + private ShopService shopService; + + @Override - public Integer preparationList(PreparationRequest request,LoginUserInfo loginUserInfo) { - if (!sysRoleService.checkIsAdmin(request.getCurUserId())) { - request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(request.getCurUserId())); - } - if (CollectionUtils.isNotEmpty(request.getRegionIds())) { - if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) { - request.setRegionIds(null); - } else { - request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds())); - } - } - //进度数据 - List preparationDTOS = shopInfoDAO.ListByCondition(request); - if (CollectionUtils.isEmpty(preparationDTOS)) { - throw new ServiceException(ErrorCodeEnum.NO_DATA); - } - List result; - if (preparationDTOS.size()>CommonConstants.MAX_EXPORT_SIZE){ - result= preparationDTOS.subList(0,CommonConstants.MAX_EXPORT_SIZE); + public Long branchShopList(BranchShopRequest request, LoginUserInfo user) { + request.setPageSize(CommonConstants.MAX_EXPORT_SIZE + 100); + request.setPageNum(CommonConstants.ONE); + PageInfo branchShopList = shopService.getBranchShopList(request, user.getUserId()); + long total = branchShopList.getTotal(); + List exportList = new ArrayList<>(); + if (total == CommonConstants.ZERO) { + return CommonConstants.ZERO_LONG; + } else if (total > CommonConstants.MAX_EXPORT_SIZE) { + exportList.addAll(branchShopList.getList().subList(0, CommonConstants.MAX_EXPORT_SIZE)); }else { - result=preparationDTOS; + exportList.addAll(branchShopList.getList()); } ImportTaskDO importTaskDO = new ImportTaskDO(); importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode()); - importTaskDO.setFileName(FileTypeEnum.PREPARATION.getDesc()+DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1,new Date())); + importTaskDO.setFileName(FileTypeEnum.BRANCH_SHOP_LIST.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); importTaskDO.setIsImport(Boolean.FALSE); - importTaskDO.setFileType(FileTypeEnum.PREPARATION.getFileType()); - importTaskDO.setCreateUserId(request.getCurUserId()); + importTaskDO.setFileType(FileTypeEnum.BRANCH_SHOP_LIST.getFileType()); + importTaskDO.setCreateUserId(user.getUserId()); importTaskDO.setCreateTime(new Date().getTime()); - importTaskDO.setCreateName(loginUserInfo.getName()); + importTaskDO.setCreateName(user.getName()); importTaskMapper.insert(eid, importTaskDO); - exportRealizeService.preparationList(result, importTaskDO); - return result.size(); + exportRealizeService.branchShopList(branchShopList.getList(), importTaskDO); + return total; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 9efd79231..a3d6d4c30 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -3,11 +3,11 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; -import com.cool.store.dao.HyPartnerUserChannelDAO; -import com.cool.store.dao.LineInfoDAO; -import com.cool.store.dao.QualificationsInfoDAO; +import com.cool.store.dao.*; import com.cool.store.entity.*; import com.cool.store.enums.*; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ApiException; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service @@ -80,8 +81,10 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten private ShopService shopService; @Resource QualificationsInfoDAO qualificationsInfoDAO; - - + @Resource + private ShopInfoDAO shopInfoDAO; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; @Override @Transactional(rollbackFor = Exception.class) public boolean submit(IntentAgreementSubmitRequest request) { @@ -137,16 +140,22 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } @Override + @Transactional(rollbackFor = Exception.class) protected Boolean auditPass(Long auditId, LineInfoDO lineInfo, String userId) { - LineInfoDO updateLine = new LineInfoDO(); - updateLine.setId(lineInfo.getId()); - updateLine.setWorkflowStage(WorkflowStageEnum.STORE.getCode()); - updateLine.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode()); - updateLine.setDevelopmentManager(lineInfo.getInvestmentManager()); - updateLine.setUpdateUserId(userId); - lineInfoDAO.updateLineInfo(updateLine); + lineInfo.setId(lineInfo.getId()); + lineInfo.setWorkflowStage(WorkflowStageEnum.STORE.getCode()); + lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode()); + lineInfo.setDevelopmentManager(lineInfo.getInvestmentManager()); + lineInfo.setUpdateUserId(userId); + lineInfoDAO.updateLineInfo(lineInfo); //初始化店铺 shopService.initShop(lineInfo); + // 批量获取线索下门店的选址未开始的数据 + List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); + List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); + shopStageInfoDAO.batchUpdateByShopIdsAndSubStageStatus(shopIds, + Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_10, + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_50,ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70)); return Boolean.TRUE; } @@ -191,6 +200,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } @Override + @Transactional(rollbackFor = Exception.class) public Boolean skipIntentAgreement(Long lineId,LoginUserInfo user) { log.info("skipIntentAgreement lineId:{},操作人:{}",lineId,user.getName()); LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId); @@ -200,15 +210,20 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten if ( !WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode().equals(lineInfo.getWorkflowSubStageStatus())) { throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); } - LineInfoDO updateLine = new LineInfoDO(); - updateLine.setId(lineInfo.getId()); - updateLine.setWorkflowStage(WorkflowStageEnum.STORE.getCode()); - updateLine.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode()); - updateLine.setDevelopmentManager(lineInfo.getInvestmentManager()); - updateLine.setUpdateUserId(user.getUserId()); - lineInfoDAO.updateLineInfo(updateLine); + + lineInfo.setWorkflowStage(WorkflowStageEnum.STORE.getCode()); + lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode()); + lineInfo.setDevelopmentManager(lineInfo.getInvestmentManager()); + lineInfo.setUpdateUserId(user.getUserId()); + lineInfoDAO.updateLineInfo(lineInfo); //初始化店铺 shopService.initShop(lineInfo); + // 批量获取线索下门店的选址未开始的数据 + List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); + List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); + shopStageInfoDAO.batchUpdateByShopIdsAndSubStageStatus(shopIds, + Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_10, + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_50,ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70)); return Boolean.TRUE; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InvoicingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InvoicingServiceImpl.java index 95e4da496..49079647a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InvoicingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InvoicingServiceImpl.java @@ -57,6 +57,7 @@ public class InvoicingServiceImpl implements InvoicingService { //新数据待提交时初始化 老数据已数据处理 阶段状态已完成 只做插入操作 无需初始化 if (shopSubStageInfo!=null&&ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85_1.getShopSubStageStatus().equals(shopSubStageInfo.getShopSubStageStatus())){ shopStageInfoDAO.updateShopStageInfo(invoicingDTO.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85_3); + preparationService.updateShopStatus(invoicingDTO.getShopId()); } return Boolean.TRUE; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java index 222e1035f..b7870c4b5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFollowServiceImpl.java @@ -2,9 +2,12 @@ package com.cool.store.service.impl; import com.cool.store.dao.LineFollowLogDAO; import com.cool.store.dao.LineInfoDAO; +import com.cool.store.dao.ShopInfoDAO; import com.cool.store.entity.LineFollowLogDO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.FollowLogTypeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.LineFollowLogRequest; import com.cool.store.service.LineFollowService; @@ -30,10 +33,12 @@ public class LineFollowServiceImpl implements LineFollowService { private LineFollowLogDAO lineFollowLogDAO; @Resource private LineInfoDAO lineInfoDAO; + @Resource + private ShopInfoDAO shopInfoDAO; @Override - public PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize) { - Page followLogPage = lineFollowLogDAO.getFollowLogPage(lineId, pageNum, pageSize); + public PageInfo getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize,Integer type) { + Page followLogPage = lineFollowLogDAO.getFollowLogPage(lineId, pageNum, pageSize,type); PageInfo resultPage = new PageInfo(followLogPage); List resultList = LineFollowLogVO.convertList(followLogPage); resultPage.setList(resultList); @@ -42,10 +47,21 @@ public class LineFollowServiceImpl implements LineFollowService { @Override public Long addFollowLog(LineFollowLogRequest followLog, String operateUserId, String operateUsername) { - LineInfoDO lineInfo = lineInfoDAO.getLineInfo(followLog.getLineId()); - if(Objects.isNull(lineInfo)){ - throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + if (followLog.getType().equals(FollowLogTypeEnum.LINE.getCode())){ + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(followLog.getLineId()); + if(Objects.isNull(lineInfo)){ + throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + } + return lineFollowLogDAO.addFollowLog(lineInfo, operateUserId, operateUsername, followLog.getMessage(),followLog.getType()); } - return lineFollowLogDAO.addFollowLog(lineInfo, operateUserId, operateUsername, followLog.getMessage()); + if (followLog.getType().equals(FollowLogTypeEnum.SHOP.getCode())){ + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(followLog.getLineId()); + if (Objects.isNull(shopInfo)){ + throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST); + } + return lineFollowLogDAO.addFollowLogByShop(shopInfo,operateUserId,operateUsername, followLog.getMessage(),followLog.getType()); + } + return null; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index c54d692ee..a263fd192 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -41,6 +41,8 @@ import java.util.stream.Stream; @Service public class LineServiceImpl implements LineService { + @Resource + ShopInfoDAO shopInfoDAO; @Resource LineInfoDAO lineInfoDAO; @Resource @@ -98,11 +100,21 @@ public class LineServiceImpl implements LineService { Map channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(Arrays.asList(lineInfo.getLineSource())); result.setLineSourceName(channelMapByIds.get(lineInfo.getLineSource())); } - if (StringUtil.isNotEmpty(lineInfo.getInvestmentManager())){ - EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(lineInfo.getInvestmentManager()); - result.setInvestmentManagerName(user.getName()); - result.setInvestmentManagerMobile(user.getMobile()); + + List shopInfoDOS = shopInfoDAO.selectInvestmentByLines(Collections.singletonList(lineInfo.getId())); + Set userIds = shopInfoDOS.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet()); + userIds.add(lineInfo.getInvestmentManager()); + Map userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds)); + StringBuilder investmentManagerName = new StringBuilder(); + for (String userId : userNameMap.keySet()){ + investmentManagerName.append(userNameMap.get(userId)).append(","); } + result.setInvestmentManagerName(investmentManagerName.toString().substring(0, investmentManagerName.length() - 1)); +// if (StringUtil.isNotEmpty(lineInfo.getInvestmentManager())){ +// EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(lineInfo.getInvestmentManager()); +// result.setInvestmentManagerName(user.getName()); +// result.setInvestmentManagerMobile(user.getMobile()); +// } if(lineInfo.getRegionId() != null && lineInfo.getRegionId() != 0){ Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(lineInfo.getWantShopAreaId()); Map regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, lineInfo.getRegionId())); @@ -246,19 +258,22 @@ public class LineServiceImpl implements LineService { PageHelper.startPage(partnerRequest.getPageNum(), partnerRequest.getPageSize()); List lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, regionId); PageInfo page = new PageInfo(lineInfoDOS); + List lineIds = lineInfoDOS.stream().map(LineInfoDO::getId).collect(Collectors.toList()); + List shopInfoDOS = shopInfoDAO.selectInvestmentByLines(lineIds); + Map> investmentManagerIdMapByLineId = shopInfoDOS.stream().collect(Collectors.groupingBy(ShopInfoDO::getLineId, Collectors.mapping(ShopInfoDO::getInvestmentManager, Collectors.toSet()))); + Set investmentManagerIds =shopInfoDOS.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet()); Map userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); List wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList); List lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList()); Map channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds); - - List userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList()); + Set userIds = new HashSet<>(); + userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList())); userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getDevelopmentManager() != null).map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList())); userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getUpdateUserId() != null).map(LineInfoDO::getUpdateUserId).collect(Collectors.toList())); - Map userNameMap = enterpriseUserDAO.getUserNameMap(userIds); + userIds.addAll(investmentManagerIds); + Map userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds)); - - List lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList()); List signingBaseInfoDOS = intentAgreementMapper.selectByLineIds(lineIds); Map dateMap = signingBaseInfoDOS.stream().collect(Collectors.toMap(SigningBaseInfoDO::getLineId, SigningBaseInfoDO::getCreateTime)); @@ -275,12 +290,18 @@ public class LineServiceImpl implements LineService { if (regionNameMap!=null){ partnerListVO.setRegionName(regionNameMap.get(x.getRegionId())); } + StringBuilder investmentManagerUserName = new StringBuilder(); + Set userIdSet = investmentManagerIdMapByLineId.getOrDefault(x.getId(),new HashSet<>()); + userIdSet.add(x.getInvestmentManager()); + for (String s : userIdSet) { + investmentManagerUserName.append(userNameMap.get(s)).append(","); + } partnerListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime())); partnerListVO.setLineSourceName(channelMapByIds.get(x.getLineSource())); partnerListVO.setJoinStatus(x.getJoinStatus()); partnerListVO.setJoinMode(x.getJoinMode()); partnerListVO.setPartnerNum(x.getPartnerNum()); - partnerListVO.setInvestmentManagerUserName(userNameMap.get(x.getInvestmentManager())); + partnerListVO.setInvestmentManagerUserName(investmentManagerUserName.toString().substring(0, investmentManagerUserName.length()-1)); partnerListVO.setUpdateUserName(userNameMap.get(x.getUpdateUserId())); partnerListVO.setDevelopmentManagerUserName(userNameMap.get(x.getDevelopmentManager())); partnerListVO.setWantShopNum(x.getWantShopNum()); @@ -331,7 +352,7 @@ public class LineServiceImpl implements LineService { if (lineInfo.getJoinStatus()!=0){ operationLogTypeEnum = OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_3; } - transferLogService.addLog(lineInfo,userInfo.getUserId(),changeInvestmentRequest.getInvestmentManagerId(),operationLogTypeEnum); + transferLogService.addLog(lineInfo.getId(),lineInfo.getPartnerId(),userInfo.getUserId(),changeInvestmentRequest.getInvestmentManagerId(),operationLogTypeEnum); } return Boolean.TRUE; } @@ -435,8 +456,10 @@ public class LineServiceImpl implements LineService { } HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(addLineRequest.getMobile()); if (hyPartnerUserInfoDO!=null){ - throw new ServiceException(ErrorCodeEnum.MOBILE_EXIST); + //校验 + validateAndProcessLineInfo(addLineRequest.getMobile()); } + hyPartnerUserInfoDO = new HyPartnerUserInfoDO(); hyPartnerUserInfoDO.setMobile(addLineRequest.getMobile()); hyPartnerUserInfoDO.setUserChannelId(Integer.valueOf(UserChannelEnum.ADD.getCode())); @@ -465,6 +488,55 @@ public class LineServiceImpl implements LineService { return Boolean.TRUE; } + + /** + * 校验线索 + * @param mobile + */ + public void validateAndProcessLineInfo(String mobile) { + LineInfoDO lineInfo = lineInfoDAO.getLineByMobile(mobile); + String investmentManager = getInvestmentManagerName(lineInfo); + String listName = determineListName(lineInfo); + + throw new ServiceException(ErrorCodeEnum.MOBILE_EXIST, listName, investmentManager,DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, lineInfo.getCreateTime())); + } + + /** + * 提取获取招商经理姓名的方法 + * @param lineInfo + * @return + */ + private String getInvestmentManagerName(LineInfoDO lineInfo) { + if (lineInfo == null || StringUtils.isEmpty(lineInfo.getInvestmentManager())) { + return "-"; + } + return enterpriseUserDAO.getUserName(lineInfo.getInvestmentManager()); + } + + /** + * 提取判断列表名称的逻辑 + * @param lineInfo + * @return + */ + private String determineListName(LineInfoDO lineInfo) { + if (lineInfo == null) { + return ""; + } + + Integer lineStatus = lineInfo.getLineStatus(); + if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(lineStatus)) { + return StringUtils.isNotEmpty(lineInfo.getInvestmentManager()) ? "线索公海" : "待分配线索"; + } + + if (LineStatusEnum.PRIVATE_SEAS.getCode().equals(lineStatus)) { + return lineInfo.getJoinStatus() == 0 ? "线索管理" : "加盟商管理"; + } + + return ""; + } + + + /** * 获取招商经理id * @param addLineRequest @@ -497,6 +569,15 @@ public class LineServiceImpl implements LineService { return regionQrcodeConfigDao.getPayPicByRegionId(bigRegionId); } + @Override + public PageInfo getLines(LinesRequest request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List lines = lineInfoDAO.getLines(request.getKeyword()); + PageInfo pageInfo = new PageInfo<>(lines); + + return pageInfo; + } + /** * 计算预期时间 * @param startTime diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAcceptanceInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAcceptanceInfoServiceImpl.java index b4062b76b..549c12a23 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAcceptanceInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAcceptanceInfoServiceImpl.java @@ -143,6 +143,8 @@ public class OpenAcceptanceInfoServiceImpl implements OpenAcceptanceInfoService ShopInfoDO shopInfoDO = new ShopInfoDO(); shopInfoDO.setId(shopAcceptanceRequest.getShopId()); shopInfoDO.setPlanOpenTime(shopAcceptanceRequest.getPlanOpenTime()); + shopInfoDO.setUpdateTime(new Date()); + shopInfoDO.setUpdateUserId(userId); shopInfoDAO.updateShopInfo(shopInfoDO); //开业验收完成 // shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_161); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index a17c23a32..a5d1be856 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -1,10 +1,12 @@ package com.cool.store.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; import com.cool.store.dto.point.AuditNodeDTO; import com.cool.store.dto.point.MiniPointPageDTO; +import com.cool.store.dto.point.ShopPointDTO; import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.*; @@ -18,6 +20,7 @@ import com.cool.store.vo.AuditInfoVO; import com.cool.store.vo.LinePointBaseInfoVO; import com.cool.store.vo.point.*; import com.cool.store.vo.shop.RentInfoToDoVO; +import com.cool.store.vo.shop.ShopPointBaseInfoVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; @@ -25,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.tuple.Pair; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -88,6 +92,8 @@ public class PointServiceImpl implements PointService { private static final String AUDIT_SETTING_KEY = "audit_setting_key:{0}"; private static final String POINT_SELECT_KEY = "point_select_key:{0}:{1}"; + @Autowired + private PreparationService preparationService; @Override @Transactional(rollbackFor = Exception.class) @@ -191,7 +197,7 @@ public class PointServiceImpl implements PointService { * 回退选址状态 * @return */ - private void rollbackSelectPoint(Long shopId, Long pointId){ + private void rollbackSelectPoint(Long shopId, Long pointId){ //店铺回退待带选址 shopInfoDAO.unbindPoint(shopId); //铺位回退 @@ -201,7 +207,7 @@ public class PointServiceImpl implements PointService { //租赁合同回到未开始 Integer result = shopStageInfoDAO.updateShopStageToNotStarted(shopId, ShopSubStageEnum.SHOP_STAGE_2); if(result > CommonConstants.ZERO){ - //删除租赁合同 + //删除租赁合同 shopRentInfoDAO.deleteRentContractByShopId(shopId); } } @@ -452,6 +458,27 @@ public class PointServiceImpl implements PointService { return resultPage; } + @Override + public PageInfo getShopPage(PointLinePageRequest request) { + List listByDevelopmentManager = shopInfoDAO.getShopPointListByDevelopmentManager(request); + List userPortraitList = listByDevelopmentManager.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(ShopPointDTO::getUserPortrait).collect(Collectors.toList()); + List investmentManagerUserIds = listByDevelopmentManager.stream().filter(x -> StringUtils.isNotEmpty(x.getInvestmentManager() )).map(ShopPointDTO::getInvestmentManager).collect(Collectors.toList()); + List shopIds = listByDevelopmentManager.stream().map(ShopPointDTO::getShopId).collect(Collectors.toList()); + List wantShopAreaIds = listByDevelopmentManager.stream().map(ShopPointDTO::getWantShopAreaId).collect(Collectors.toList()); + Map recommendShopNumMap = pointRecommendDAO.getShopPushPointNumMap(shopIds); + Map cityMap = hyOpenAreaInfoDAO.getCityMap(wantShopAreaIds); + Map userNameMap = enterpriseUserDAO.getUserNameMap(investmentManagerUserIds); + Map userPortraitMap = labelService.getUserPortraitMap(userPortraitList); + + List lineIds = listByDevelopmentManager.stream().map(ShopPointDTO::getLineId).collect(Collectors.toList()); + Map partnerNameMap = lineInfoDAO.getUserNameMap(lineIds); + + List resultList = ShopPointBaseInfoVO.convertList(partnerNameMap,listByDevelopmentManager, userNameMap, userPortraitMap, cityMap, recommendShopNumMap); + PageInfo resultPage = new PageInfo(listByDevelopmentManager); + resultPage.setList(resultList); + return resultPage; + } + /** * 获取单个加盟商信息 * @param lineId @@ -550,6 +577,20 @@ public class PointServiceImpl implements PointService { return PointRecommendPageVO.convertVO(recommendPointList, pointList, userNameMap, regionNameMap, canSubmitRentContractShopIds); } + @Override + public List getShopRecommendPointList(Long shopId) { + List recommendPointList = pointRecommendDAO.getShopRecommendPointList(shopId); + List pointIds = recommendPointList.stream().map(PointRecommendDO::getPointId).distinct().collect(Collectors.toList()); + List pointList = pointInfoDAO.getPointListByIds(pointIds); + List regionIds = pointList.stream().map(PointInfoDO::getRegionId).distinct().collect(Collectors.toList()); + List developmentManagers = pointList.stream().map(PointInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList()); + List shopIds = pointList.stream().map(PointInfoDO::getShopId).distinct().collect(Collectors.toList()); + List canSubmitRentContractShopIds = shopStageInfoDAO.getCanSubmitRentContractShopIds(shopIds); + Map userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + return PointRecommendPageVO.convertVO(recommendPointList, pointList, userNameMap, regionNameMap, canSubmitRentContractShopIds); + } + @Override public PageInfo getRecommendPointList(RecommendPointPageRequest request) { List resultList = new ArrayList(); @@ -580,7 +621,7 @@ public class PointServiceImpl implements PointService { String pointNames = invalidList.stream().map(PointInfoDO::getPointName).collect(Collectors.joining(",")); throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, pointNames + ",已失效"); } - List recommendPointList = pointRecommendDAO.getRecommendPointList(request.getLineId()); + List recommendPointList = pointRecommendDAO.getShopRecommendPointList(request.getShopId()); if(CollectionUtils.isNotEmpty(recommendPointList)){ List recommendList = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus()) || PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode().equals(o.getStatus()) || @@ -616,18 +657,17 @@ public class PointServiceImpl implements PointService { List recommendList = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode().equals(o.getStatus()) || PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_3.getCode().equals(o.getStatus()) || PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_4.getCode().equals(o.getStatus())) - .filter(o->request.getLineIds().contains(o.getLineId())).collect(Collectors.toList()); + .filter(o->request.getShopIds().contains(o.getShopId())).collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(recommendList)){ throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "推送失败,铺位已被选"); } - List lineIds = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus())).filter(o->request.getLineIds().contains(o.getLineId())).map(PointRecommendDO::getLineId).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(lineIds)){ - lineIds.retainAll(request.getLineIds()); - if(CollectionUtils.isNotEmpty(lineIds)){ + List shopIds = recommendPointList.stream() + .filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus())) + .filter(o->request.getShopIds().contains(o.getShopId())).map(PointRecommendDO::getShopId).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(shopIds)){ throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "请勿重复推送"); } } - } List recommendList = request.convertList(); return pointRecommendDAO.addRecommendPoint(recommendList); } @@ -635,25 +675,19 @@ public class PointServiceImpl implements PointService { @Override @Transactional(rollbackFor = Exception.class) public Integer turnLine(TurnLineRequest request) { - LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); - Long lineId = request.getLineId(); - //更改线索中的拓展经理 - LineInfoDO updateLineInfo = new LineInfoDO(); - updateLineInfo.setId(lineId); - updateLineInfo.setDevelopmentManager(request.getDevelopmentManager()); - lineInfoDAO.updateLineInfo(updateLineInfo); - //更新已被选择的铺位的拓展经理 - pointInfoDAO.updateSelectedDevelopmentManager(lineId, request.getDevelopmentManager()); - String wantShopName = hyOpenAreaInfoDAO.selectNameMapById(lineInfo.getWantShopAreaId()); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); + Long shopId = request.getShopId(); + //更改门店中的拓展经理 + ShopInfoDO shopInfoDO = new ShopInfoDO(); + shopInfoDO.setId(shopId); + shopInfoDO.setDevelopmentManager(request.getDevelopmentManager()); + shopInfoDAO.updateShopInfo(shopInfoDO); + + //更新已被选择的铺位的拓展经理 + pointInfoDAO.updateSelectedDevelopmentManager(shopId, request.getDevelopmentManager()); - Map messageMap = new HashMap<>(); - messageMap.put("lineId", String.valueOf(lineId)); - messageMap.put("partnerUsername", lineInfo.getUsername()); - messageMap.put("partnerMobile", lineInfo.getMobile()); - messageMap.put("wantShopName", wantShopName); - commonService.sendMessage(Arrays.asList(request.getDevelopmentManager()), MessageEnum.MESSAGE_14, messageMap); //删除未选择的推荐铺位 - return pointRecommendDAO.turnLineUpdateRecommendStatus(lineId, request.getDevelopmentManager()); + return pointRecommendDAO.turnLineUpdateRecommendStatus(shopId, request.getDevelopmentManager()); } @Override @@ -694,7 +728,7 @@ public class PointServiceImpl implements PointService { if(Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())){ List regionIds = pointPage.getResult().stream().map(MiniPointPageDTO::getRegionId).distinct().collect(Collectors.toList()); Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); - resultList = MiniPointPageVO.convertVO(pointPage, regionNameMap, request.getLineId()); + resultList = MiniPointPageVO.convertVO(pointPage, regionNameMap); } PageInfo resultPage = new PageInfo(pointPage); resultPage.setList(resultList); @@ -755,11 +789,10 @@ public class PointServiceImpl implements PointService { updateStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_20); Map templateParam = new HashMap<>(); templateParam.put("pointName", pointInfo.getAddress()); - LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); } updateStatusList.add(selectStatus); shopStageInfoDAO.batchUpdateShopStageStatus(shopId, updateStatusList); - return pointRecommendDAO.updateStatusByPointIdAndLineId(pointId, lineId); + return pointRecommendDAO.updateStatusByPointIdAndLineId(pointId, shopId); } catch (ServiceException e) { throw e; } finally { @@ -769,7 +802,7 @@ public class PointServiceImpl implements PointService { @Override @Transactional(rollbackFor = Exception.class) public Integer lineRejectPoint(RejectPointRequest request){ - return pointRecommendDAO.rejectPoint(request.getLineId(), request.getPointId(), request.getReason()); + return pointRecommendDAO.rejectPoint(request.getShopId(), request.getPointId(), request.getReason()); } @@ -805,6 +838,7 @@ public class PointServiceImpl implements PointService { shopInfoDAO.updateShopInfo(shopInfo); PointRecommendDO pointRecommendDO = new PointRecommendDO(); pointRecommendDO.setLineId(lineId); + pointRecommendDO.setShopId(request.getShopId()); pointRecommendDO.setDevelopmentManager(lineInfo.getDevelopmentManager()); pointRecommendDO.setPointId(pointId); pointRecommendDO.setStatus(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode()); @@ -885,6 +919,7 @@ public class PointServiceImpl implements PointService { } @Override + @Transactional(rollbackFor = Exception.class) public Integer auditRentContract(AuditRentContractRequest request) { Long shopId = request.getShopId(); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); @@ -933,7 +968,9 @@ public class PointServiceImpl implements PointService { // commonService.sendMessage(Arrays.asList(lineInfo.getInvestmentManager()),MessageEnum.MESSAGE_16_1,requestMap); // } } - return shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, subStageStatus, auditId); + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, subStageStatus, auditId); + + return CommonConstants.ONE; } @Override @@ -998,6 +1035,67 @@ public class PointServiceImpl implements PointService { return resultPage; } + @Override + @Transactional + public Boolean linePointToShopPoint(Long lineId) { + //查询所有的推荐 如果传入的lineId 则查询该线索的所有推荐 + List allRecommendPointList = pointRecommendDAO.getAllRecommendPointList(lineId); + if (CollectionUtils.isEmpty(allRecommendPointList)){ + return Boolean.TRUE; + } + List recommendList = new ArrayList<>(); + List updateList = new ArrayList<>(); + allRecommendPointList.forEach(recommend -> { + //如果是待选择 + if(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(recommend.getStatus())|| + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_5.getCode().equals(recommend.getStatus())|| + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_6.getCode().equals(recommend.getStatus())){ + //将单条加盟商数据 分配到各个门店商 + Long tempLineId = recommend.getLineId(); + List shopList = shopInfoDAO.getShopList(tempLineId); + for (ShopInfoDO shopInfoDO : shopList) { + PointRecommendDO tempPointRecommendDO = new PointRecommendDO(); + BeanUtil.copyProperties(recommend,tempPointRecommendDO); + tempPointRecommendDO.setShopId(shopInfoDO.getId()); + recommendList.add(tempPointRecommendDO); + } + } + + //已选 已被他人选择 + if(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode().equals(recommend.getStatus())){ + //查询该加盟商选择的这个店 + ShopInfoDO shopInfoByPointId = shopInfoDAO.getShopInfoByPointId(recommend.getLineId(), recommend.getPointId()); + recommend.setShopId(shopInfoByPointId.getId()); + updateList.add(recommend); + } + if(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_3.getCode().equals(recommend.getStatus())){ + List recommendPointListByPointId = pointRecommendDAO.getRecommendPointListByPointId(recommend.getPointId()); + for (PointRecommendDO pointRecommendDO: recommendPointListByPointId) { + //表示当前门店已选址 + if (pointRecommendDO.getLineId().equals(recommend.getLineId())){ + continue; + } + List shopList = shopInfoDAO.getShopList(pointRecommendDO.getLineId()); + for (ShopInfoDO shopInfoDO : shopList) { + PointRecommendDO tempPointRecommendDO = new PointRecommendDO(); + BeanUtil.copyProperties(recommend,tempPointRecommendDO); + tempPointRecommendDO.setShopId(shopInfoDO.getId()); + recommendList.add(tempPointRecommendDO); + } + } + } + }); + if (CollectionUtils.isNotEmpty(updateList)){ + pointRecommendDAO.batchUpdateShopId(updateList); + } + if (CollectionUtils.isNotEmpty(recommendList)){ + log.info("linePointToShopPoint recommendList:{}", JSONObject.toJSONString(recommendList)); + pointRecommendDAO.addRecommendPoint(recommendList); + } + + return Boolean.TRUE; + } + public List dealAuditNode(AuditSettingVO auditSetting, Long regionId, String developmentManager) { List roleIds = new ArrayList<>(); //审核人 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 c007d2c1d..236e9c111 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 @@ -15,6 +15,7 @@ import com.cool.store.request.PostAndOrderRequest; import com.cool.store.response.PosAndOrderResponse; import com.cool.store.service.PosAndOrderInfoService; import com.cool.store.mapper.PosAndOrderInfoMapper; +import com.cool.store.service.PreparationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,7 +38,8 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService { private ShopStageInfoDAO shopStageInfoDAO; @Autowired private EnterpriseUserDAO enterpriseUserDAO; - + @Autowired + private PreparationService preparationService; @Override @Transactional(rollbackFor = Exception.class) public Integer submitOrUpdate(PostAndOrderRequest request, String user) { @@ -55,6 +57,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService { } else if (request.getType().equals(PosAndOrderEnum.TENT_PASS.getCode())) { shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_245); } + preparationService.updateShopStatus(request.getShopId()); return posAndOrderInfoDAO.insertSelective(posAndOrderInfo); } else { return posAndOrderInfoDAO.updateByShopIdSelective(posAndOrderInfo); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java index 46e083375..2fba9943b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java @@ -13,6 +13,7 @@ import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.MessageEnum; import com.cool.store.enums.SMSMsgEnum; import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopStatusEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; @@ -94,8 +95,8 @@ public class PreparationServiceImpl implements PreparationService { Map shopStageInfoDOMap = shopContractActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); List openActivityActualCompletionTime = shopStageInfoDAO.getOpenActivityActualCompletionTime(shopIds); Map openActivityStageMap; - if (openActivityActualCompletionTime !=null){ - openActivityStageMap = openActivityActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); + if (openActivityActualCompletionTime != null) { + openActivityStageMap = openActivityActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); } else { openActivityStageMap = new HashMap<>(); } @@ -118,7 +119,7 @@ public class PreparationServiceImpl implements PreparationService { preparationScheduleVO.setPlanOpenTime(x.getPlanOpenTime()); preparationScheduleVO.setStoreNum(x.getStoreNum()); preparationScheduleVO.setShopCreateTime(x.getCreateTime()); - if ( openActivityStageMap.containsKey(x.getId())) { + if (openActivityStageMap.containsKey(x.getId())) { preparationScheduleVO.setOpeningActivityEndTime(DateUtils.strToDate(openActivityStageMap.get(x.getId()).getActualCompleteTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); } preparationScheduleVO.setShopManagerUserName(userInfoMap.getOrDefault(x.getShopManagerUserId(), new EnterpriseUserDO()).getName()); @@ -194,7 +195,7 @@ public class PreparationServiceImpl implements PreparationService { @Override public PreparationProcessVO getPreparationProcess(Long shopId) { PreparationProcessVO preparationProcess = shopStageInfoDAO.getPreparationProcess(shopId); - if (preparationProcess == null){ + if (preparationProcess == null) { return null; } preparationProcess.setTotalCount(10); @@ -217,7 +218,7 @@ public class PreparationServiceImpl implements PreparationService { list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_90); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_140); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150); - shopStageInfoDAO.batchUpdateShopStageStatus(shopId,list); + shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list); } } } @@ -229,13 +230,13 @@ public class PreparationServiceImpl implements PreparationService { Map shopStageInfoDOMap = shopStageInfo.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, data -> data)); Boolean flag3 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153.getShopSubStageStatus(). equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus()); - if (flag3){ + if (flag3) { List list = new ArrayList<>(); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_160); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_170); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_230); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_240); - shopStageInfoDAO.batchUpdateShopStageStatus(shopId,list); + shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list); } } } @@ -253,7 +254,7 @@ public class PreparationServiceImpl implements PreparationService { equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus()); //都完成了 初始化后续流程数据 - if (flag1&&flag2&&flag3) { + if (flag1 && flag2 && flag3) { //初始化后续流程数据s List list = new ArrayList<>(); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_180); @@ -261,12 +262,12 @@ public class PreparationServiceImpl implements PreparationService { list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_200); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_210); list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_220); - shopStageInfoDAO.batchUpdateShopStageStatus(shopId,list); + shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId()); Map templateParam = new HashMap<>(); templateParam.put("shopName", shopInfo.getShopName()); - commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.PLATFORM_BUILD_STORE,templateParam); + commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.PLATFORM_BUILD_STORE, templateParam); } } } @@ -281,5 +282,34 @@ public class PreparationServiceImpl implements PreparationService { return Boolean.TRUE; } + @Override + public void updateShopStatus(Long shopId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (shopInfo.getShopStatus().equals(ShopStatusEnum.ING.getCode())) { + ScheduleDTO scheduleAll = shopStageInfoDAO.getScheduleAll(shopId); + ShopInfoDO shopInfoDO = new ShopInfoDO(); + if (scheduleAll.getTotalColumn().equals(scheduleAll.getCompletionColumn())) { + shopInfoDO.setShopStatus(ShopStatusEnum.DONE.getCode()); + } + shopInfoDO.setUpdateTime(new Date()); + shopInfoDO.setId(shopId); + shopInfoDAO.updateShopInfo(shopInfoDO); + } + } + + @Override + public Map getShopStatus(List shopIds) { + List scheduleList = shopStageInfoDAO.getScheduleList(shopIds); + Map map = new HashMap<>(); + scheduleList.forEach(x -> { + if (x.getTotalColumn().equals(x.getCompletionColumn())) { + map.put(x.getShopId(), ShopStatusEnum.DONE.getCode()); + } else { + map.put(x.getShopId(), ShopStatusEnum.ING.getCode()); + } + }); + return map; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index fbf7b00f3..092ae3464 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java @@ -1,32 +1,47 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; +import com.cool.store.dto.Preparation.PreparationDTO; +import com.cool.store.dto.Preparation.ScheduleDTO; +import com.cool.store.dto.RegionNode; +import com.cool.store.dto.openPreparation.PlanLineDTO; import com.cool.store.entity.*; -import com.cool.store.enums.ErrorCodeEnum; -import com.cool.store.enums.MessageEnum; -import com.cool.store.enums.SMSMsgEnum; -import com.cool.store.enums.UserRoleEnum; +import com.cool.store.enums.*; import com.cool.store.enums.point.*; +import com.cool.store.enums.point.ShopStatusEnum; import com.cool.store.exception.ServiceException; -import com.cool.store.request.AddShopRequest; -import com.cool.store.request.DeleteShopRequest; -import com.cool.store.request.UpdateShopCodeRequest; -import com.cool.store.service.ShopService; -import com.cool.store.service.UserAuthMappingService; +import com.cool.store.mapper.RegionMapper; +import com.cool.store.request.*; +import com.cool.store.response.BranchShopDetailResponse; +import com.cool.store.response.BranchShopResponse; +import com.cool.store.service.*; import com.cool.store.utils.NumberConverter; import com.cool.store.utils.RandomEightCharCodeUtils; +import com.cool.store.utils.poi.DateUtils; +import com.cool.store.utils.poi.StringUtils; +import com.cool.store.vo.BaseInfoVO; import com.cool.store.vo.shop.MiniShopPageVO; import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import static com.cool.store.enums.ErrorCodeEnum.UPDATE_INVESTMENT_MANAGER_FAIL; + /** * @author zhangchenbiao * @FileName: ShopServiceImpl @@ -34,8 +49,10 @@ import java.util.stream.Collectors; * @date 2024-04-11 10:26 */ @Service +@Slf4j public class ShopServiceImpl implements ShopService { - + @Resource + private SysRoleService sysRoleService; @Resource private ShopInfoDAO shopInfoDAO; @Resource @@ -54,17 +71,30 @@ public class ShopServiceImpl implements ShopService { UserAuthMappingService userAuthMappingService; @Autowired private RegionDao regionDao; + @Autowired + private EnterpriseUserDAO enterpriseUserDAO; + @Resource + private HyOpenAreaInfoDAO hyOpenAreaInfoDAO; + @Autowired + private RegionMapper regionMapper; + @Autowired + private TransferLogService transferLogService; + @Resource + private RegionService regionService; + @Resource + PreparationService preparationService; + @Override @Transactional(rollbackFor = Exception.class) public Integer initShop(LineInfoDO lineInfo) { - if(Objects.isNull(lineInfo)){ + if (Objects.isNull(lineInfo)) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } Integer wantShopNum = lineInfo.getWantShopNum(); List shopList = shopInfoDAO.getShopList(lineInfo.getId()); int shopSize = shopList.size(); - if(shopSize >= wantShopNum){ + if (shopSize >= wantShopNum) { return 0; } List addShopList = new ArrayList<>(); @@ -74,14 +104,20 @@ public class ShopServiceImpl implements ShopService { shopInfo.setLineId(lineInfo.getId()); shopInfo.setPartnerId(lineInfo.getPartnerId()); //初始化 + shopInfo.setWantShopAreaId(lineInfo.getWantShopAreaId()); + shopInfo.setDevelopmentManager(lineInfo.getDevelopmentManager()); + shopInfo.setFranchiseBrand(lineInfo.getFranchiseBrand()); + shopInfo.setJoinMode(lineInfo.getJoinMode()); shopInfo.setStoreNum(RandomEightCharCodeUtils.getCode()); shopInfo.setSupervisorUserId(lineInfo.getInvestmentManager()); shopInfo.setShopName("店铺" + NumberConverter.convertArabicToChinese(i + 1)); + shopInfo.setCreateTime(new Date()); + shopInfo.setInvestmentManager(lineInfo.getInvestmentManager()); addShopList.add(shopInfo); } shopInfoDAO.batchAddShop(addShopList); List shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); - Integer result = shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds); + Integer result = shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, true); Map requestMap = new HashMap<>(); // for (Long shopId : shopIds) { // requestMap.put("partnerName",lineInfo.getUsername()); @@ -93,27 +129,44 @@ public class ShopServiceImpl implements ShopService { return result; } + /** + * @Auther: wangshuo + * @Date: 2025/1/13 + * @description: 当userId为空时,表示为mini,查看所有门店,否则为pc,查询的门店跟进管辖区域进行展示 二者都不关注门店状态 + */ @Override - public List getShopList(Long lineId) { - List shopList = shopInfoDAO.getShopList(lineId); + public List getShopList(Long lineId, String userId) { + List authRegions = new ArrayList<>(); + if (StringUtils.isNotBlank(userId) && !sysRoleService.checkIsAdmin(userId)) { + for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)) { + authRegions.add(Long.valueOf(region)); + } + } + List shopList = shopInfoDAO.getShopListByRegion(lineId, authRegions, userId); List shopIds = shopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); + List wantShopAreaIds = shopList.stream().map(ShopInfoDO::getWantShopAreaId).collect(Collectors.toList()); + Map wantRegionMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); + List scheduleList = shopStageInfoDAO.getScheduleList(shopIds); + Map scheduleMap = scheduleList.stream().collect(Collectors.toMap(ScheduleDTO::getShopId, x -> x)); List subStageList = shopStageInfoDAO.getSubStageList(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); Map stageMap = subStageList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, Function.identity())); List regionIds = shopList.stream().map(ShopInfoDO::getRegionId).collect(Collectors.toList()); Map regionNameMap = regionDao.getRegionNameMap(regionIds); - return MiniShopPageVO.convertList(shopList,stageMap,regionNameMap); + List investmentManagerIds = shopList.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toList()); + Map userInfoMap = enterpriseUserDAO.getUserInfoMap(investmentManagerIds); + return MiniShopPageVO.convertList(shopList, stageMap, regionNameMap, scheduleMap, wantRegionMap, userInfoMap); } @Override public List getShopStageInfo(Long shopId, Integer shopStage) { - if(Objects.nonNull(shopStage)){ + if (Objects.nonNull(shopStage)) { ShopStageEnum shopStageEnum = ShopStageEnum.getShopStageEnum(shopStage); - if(Objects.isNull(shopStageEnum)){ + if (Objects.isNull(shopStageEnum)) { throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_ERROR); } } List shopStageInfo = shopStageInfoDAO.getShopStageInfo(shopId, shopStage); - List auditIds = shopStageInfo.stream().filter(o->Objects.nonNull(o.getAuditId())).map(ShopStageInfoDO::getAuditId).distinct().collect(Collectors.toList()); + List auditIds = shopStageInfo.stream().filter(o -> Objects.nonNull(o.getAuditId())).map(ShopStageInfoDO::getAuditId).distinct().collect(Collectors.toList()); List auditList = shopAuditInfoDAO.getAuditInfoList(auditIds); return ShopStageInfoVO.convertList(shopStageInfo, auditList); } @@ -126,7 +179,7 @@ public class ShopServiceImpl implements ShopService { @Override public Integer deleteShop(DeleteShopRequest request) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); - if(Objects.nonNull(shopInfo)){ + if (Objects.nonNull(shopInfo)) { //进入选址不允许删除操作 throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE); } @@ -134,9 +187,9 @@ public class ShopServiceImpl implements ShopService { // if(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33.getShopSubStageStatus().equals(shopSubStageInfo.getShopSubStageStatus())){ // throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE); // } - if(Objects.nonNull(shopInfo.getPointId())){ + if (Objects.nonNull(shopInfo.getPointId())) { PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(shopInfo.getPointId()); - if(Objects.nonNull(pointInfo) && SelectStatusEnum.SELECT_STATUS_1.getCode().equals(pointInfo.getSelectStatus())){ + if (Objects.nonNull(pointInfo) && SelectStatusEnum.SELECT_STATUS_1.getCode().equals(pointInfo.getSelectStatus())) { pointInfoDAO.recyclePoint(pointInfo.getId()); } pointRecommendDAO.updateRecommendStatus(shopInfo.getPointId(), PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1, Arrays.asList(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_5)); @@ -151,7 +204,7 @@ public class ShopServiceImpl implements ShopService { @Transactional(rollbackFor = Exception.class) public Long addShop(AddShopRequest request) { LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); - if(Objects.isNull(lineInfo)){ + if (Objects.isNull(lineInfo)) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } List shopNameList = request.getShopNameList(); @@ -168,30 +221,267 @@ public class ShopServiceImpl implements ShopService { addShop.setPartnerId(lineInfo.getPartnerId()); addShop.setShopName(shopName); addShop.setSupervisorUserId(lineInfo.getInvestmentManager()); + addShop.setInvestmentManager(lineInfo.getInvestmentManager()); + addShop.setDevelopmentManager(lineInfo.getInvestmentManager()); addShopList.add(addShop); } shopInfoDAO.batchAddShop(addShopList); List shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); - shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds); + shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, true); return 1L; } @Override public ShopInfoDO getShopInfo(Long shopId) { - return shopInfoDAO.getShopInfo(shopId); + return shopInfoDAO.getShopInfo(shopId); } @Override - public Integer updateShopCode(UpdateShopCodeRequest request) { + public Integer updateShopCode(UpdateShopCodeRequest request, String userId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); - if(Objects.isNull(shopInfo)){ + if (Objects.isNull(shopInfo)) { throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); } shopInfo.setShopCode(request.getShopCode()); shopInfo.setShopName(request.getShopName()); shopInfo.setUpdateTime(new Date()); + shopInfo.setUpdateUserId(userId); shopInfo.setRegionId(request.getRegionId()); - return shopInfoDAO.updateShopInfo(shopInfo); + return shopInfoDAO.updateShopInfo(shopInfo); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Long addBranchShop(AddBranchShopRequest request, String userId) { + if (StringUtils.isBlank(request.getInvestmentManagerUserId())) { + request.setInvestmentManagerUserId(userId); + } + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); + if (lineInfo.getWorkflowSubStageStatus() < WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()) { + throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); + } + ShopInfoDO shopInfoDO = request.toDO(request, lineInfo); + List shopList = shopInfoDAO.getShopList(lineInfo.getId()); + if(StringUtils.isBlank(request.getShopName())){ + if (CollectionUtils.isNotEmpty(shopList)) { + shopInfoDO.setShopName("店铺"+NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum() + 1)); + }else{ + shopInfoDO.setShopName("店铺"+NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum())); + } + }else{ + shopInfoDO.setShopName(request.getShopName()); + } + + if (CollectionUtils.isNotEmpty(shopList)) { + lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); + lineInfoDAO.updateLineInfo(lineInfo); + } + shopInfoDO.setCreateUserId(userId); + Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); + if (lineInfo.getWorkflowSubStageStatus().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode())) { + shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId), true); + } else { + shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId), false); + } + return shopId; + } + + @Override + public BranchShopDetailResponse getBranchShopDetail(Long shopId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId()); + if (Objects.isNull(lineInfo)) { + throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + } + EnterpriseUserDO invest = enterpriseUserDAO.getUserInfoById(shopInfo.getInvestmentManager()); + List shopContractActualCompletionTime = shopStageInfoDAO.getScheduleList(Collections.singletonList(shopId)); + RegionNode shopRegion = regionMapper.getRegionByRegionId(shopInfo.getRegionId().toString()); + String wantShopArea = hyOpenAreaInfoDAO.selectNameMapById(shopInfo.getWantShopAreaId()); + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(shopInfo.getWantShopAreaId()); + BranchShopDetailResponse response = new BranchShopDetailResponse(); + response.setUsername(lineInfo.getUsername()); + response.setMobile(lineInfo.getMobile()); + response.setShopId(shopId); + response.setShopName(shopInfo.getShopName()); + response.setJoinMode(shopInfo.getJoinMode()); + response.setShopCode(shopInfo.getShopCode()); + response.setShopStatus(shopInfo.getShopStatus()); + response.setFranchiseBrand(shopInfo.getFranchiseBrand()); + if (CollectionUtils.isNotEmpty(shopContractActualCompletionTime)) { + ScheduleDTO scheduleDTO = shopContractActualCompletionTime.get(CommonConstants.ZERO); + response.setCompletionColumn(scheduleDTO.getCompletionColumn()); + response.setTotalColumn(scheduleDTO.getTotalColumn()); + response.setPlanCompletionTime(scheduleDTO.getPlanCompleteTime()); + } + response.setInvestmentManagerId(shopInfo.getInvestmentManager()); + response.setInvestmentManagerName(invest.getName()); + response.setRegionId(shopInfo.getRegionId()); + response.setWantRegionId(shopInfo.getWantShopAreaId()); + response.setRegionName(shopRegion.getName()); + response.setWantRegionName(wantShopArea); + response.setWantRegionParentId(hyOpenAreaInfoDO.getParentId()); + response.setPointId(shopInfo.getPointId()); + return response; + } + + @Override + public Integer updateBranchShopDetail(BranchShopDetailRequest request, String userId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); + shopInfo.setUpdateUserId(userId); + shopInfo.setUpdateTime(new Date()); + shopInfo.setShopCode(request.getShopCode()); + shopInfo.setShopName(request.getShopName()); + shopInfo.setWantShopAreaId(request.getWantShopAreaId()); + shopInfo.setRegionId(request.getRegionId()); + shopInfo.setJoinMode(request.getJoinMode()); + shopInfo.setFranchiseBrand(request.getFranchiseBrand()); + return shopInfoDAO.updateShopInfo(shopInfo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Integer updateShopInvestment(Long shopId, String updateUserId, String userId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (updateUserId.equals(shopInfo.getInvestmentManager())) { + throw new ServiceException(UPDATE_INVESTMENT_MANAGER_FAIL); + } + transferLogService.addLog(shopInfo.getId(), shopInfo.getPartnerId(), shopInfo.getInvestmentManager(), updateUserId, OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_4); + shopInfo.setUpdateTime(new Date()); + shopInfo.setUpdateUserId(userId); + shopInfo.setInvestmentManager(updateUserId); + shopInfo.setDevelopmentManager(updateUserId); + shopInfo.setSupervisorUserId(updateUserId); + return shopInfoDAO.updateShopInfo(shopInfo); + } + + @Override + public Boolean shopClose(Long shopId) { + log.info("shopClose shopId:{}", shopId); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (Objects.isNull(shopInfo)) { + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + //只有跟进中才能结束跟进 + if (ShopStatusEnum.ING.getCode() != shopInfo.getShopStatus()) { + throw new ServiceException(ErrorCodeEnum.SHOP_STATUS_NOT_SUPPORT_HANDLER, ShopStatusEnum.getDesc(shopInfo.getShopStatus())); + } + shopInfo.setShopStatus(ShopStatusEnum.ABANDON.getCode()); + shopInfoDAO.updateShopInfo(shopInfo); + return Boolean.TRUE; + } + + @Override + public PageInfo getBranchShopList(BranchShopRequest request, String userId) { + if (request.getFlag().equals(CommonConstants.TWO)) { + if (!sysRoleService.checkIsAdmin(userId)) { + request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)); + if (CollectionUtils.isEmpty(request.getAuthRegionIds())) { + return new PageInfo<>(); + } + } + } + if (CollectionUtils.isNotEmpty(request.getRegionIds())) { + if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) { + request.setRegionIds(null); + } else { + request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds())); + } + } + if (CollectionUtils.isNotEmpty(request.getWantShopAreaId())) { + List childrenListByParentIds = hyOpenAreaInfoDAO.getChildrenListByParentIds(request.getWantShopAreaId()); + childrenListByParentIds.addAll(request.getWantShopAreaId()); + request.setWantShopAreaAllIds(childrenListByParentIds); + } + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List responses = new ArrayList<>(); + List preparations = shopInfoDAO.ListByBranchShopRequest(request,userId); + PageInfo pageInfo = new PageInfo<>(preparations); + if (CollectionUtils.isEmpty(preparations)) { + return new PageInfo<>(); + } + List regionIds = preparations.stream().map(PreparationDTO::getRegionId).collect(Collectors.toList()); + List wantShopAreaIds = preparations.stream().map(PreparationDTO::getWantShopAreaId).collect(Collectors.toList()); + List investmentManagerIds = preparations.stream().map(PreparationDTO::getInvestmentManager).collect(Collectors.toList()); + List shopIds = preparations.stream().map(PreparationDTO::getId).collect(Collectors.toList()); + List scheduleList = shopStageInfoDAO.getScheduleList(shopIds); + Map scheduleMap = scheduleList.stream().collect(Collectors.toMap(ScheduleDTO::getShopId, x -> x)); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + Map userInfoMap = enterpriseUserDAO.getUserInfoMap(investmentManagerIds); + Map wantRegionMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); + List openActivityActualCompletionTime = shopStageInfoDAO.getOpenActivityActualCompletionTime(shopIds); + Map openActivityStageMap = openActivityActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); + for (PreparationDTO dto : preparations) { + BranchShopResponse response = new BranchShopResponse(); + response.setShopId(dto.getId()); + response.setLineId(dto.getLineId()); + response.setUsername(dto.getUsername()); + response.setMobile(dto.getMobile()); + response.setShopName(dto.getShopName()); + response.setShopCode(dto.getShopCode()); + response.setRegionName(regionNameMap.getOrDefault(dto.getRegionId(), "")); + response.setFranchiseBrand(dto.getFranchiseBrand()); + response.setJoinMode(dto.getJoinMode()); + response.setWantRegionName(wantRegionMap.getOrDefault(dto.getWantShopAreaId(), "")); + response.setPlanOpenTime(dto.getPlanOpenTime()); + ScheduleDTO scheduleDTO = scheduleMap.getOrDefault(dto.getId(), new ScheduleDTO()); + response.setTotalColumn(scheduleDTO.getTotalColumn()); + response.setCompletionColumn(scheduleDTO.getCompletionColumn()); + response.setOpeningActivityEndTime(DateUtils.strToDate(openActivityStageMap.getOrDefault(dto.getId(), new ShopStageInfoDO()).getActualCompleteTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + response.setInvestmentManagerName(userInfoMap.getOrDefault(dto.getInvestmentManager(), new EnterpriseUserDO()).getName()); + response.setShopStatus(ShopStatusEnum.getDesc(dto.getShopStatus())); + response.setCreateTime(dto.getCreateTime()); + response.setDays(); + responses.add(response); + } + pageInfo.setList(responses); + return pageInfo; + } + + + /** + * 数据处理 + * @param lineId + * @return + */ + @Override + public Boolean dataHandler(Long lineId) { + log.info("------dataHandle start-----"); + boolean hasNext = true; + int pageNum = 1; + int pageSize = 50; + while (hasNext) { + PageHelper.startPage(pageNum, pageSize); + List shopInfoDOS = shopInfoDAO.selectAllDataOrByLineId(lineId); + if (CollectionUtils.isEmpty(shopInfoDOS)) { + log.info("------dataHandle end------"); + return Boolean.TRUE; + } + Set lineIds = shopInfoDOS.stream().map(ShopInfoDO::getLineId).collect(Collectors.toSet()); + List lines = lineInfoDAO.getByLineIds(new ArrayList<>(lineIds)); + //转为map + Map lineMap = lines.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line)); + List shopIds = shopInfoDOS.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); + Map shopStatus = preparationService.getShopStatus(shopIds); + for (ShopInfoDO shopInfoDO : shopInfoDOS) { + LineInfoDO lineInfoDO = lineMap.get(shopInfoDO.getLineId()); + if (lineInfoDO == null) { + continue; + } + shopInfoDO.setDevelopmentManager(lineInfoDO.getDevelopmentManager()); + shopInfoDO.setShopStatus(shopStatus.get(shopInfoDO.getId())); + shopInfoDO.setJoinMode(lineInfoDO.getJoinMode()); + shopInfoDO.setFranchiseBrand(lineInfoDO.getFranchiseBrand()); + shopInfoDO.setInvestmentManager(lineInfoDO.getInvestmentManager()); + shopInfoDO.setWantShopAreaId(lineInfoDO.getWantShopAreaId()); + } + shopInfoDAO.batchUpdate(shopInfoDOS); + log.info("------shopInfoDOS:{}------", JSONObject.toJSONString(shopInfoDOS)); + hasNext = shopInfoDOS.size() >= pageSize; + pageNum++; + } + return Boolean.TRUE; + } + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index 3fcb6cb77..414e3aa0b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -201,6 +201,7 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51); //状态结束 preparationService.whetherToOpenForAcceptance(shopId); + preparationService.updateShopStatus(shopId); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java index 8835bed36..c1d4059e2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java @@ -3,6 +3,7 @@ package com.cool.store.service.impl; import com.cool.store.dao.TransferLogDAO; import com.cool.store.dto.TransferLogDTO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.TransferLogDO; import com.cool.store.enums.OperationLogTypeEnum; import com.cool.store.service.TransferLogService; @@ -25,10 +26,10 @@ public class TransferLogServiceImpl implements TransferLogService { private TransferLogDAO transferLogDAO; @Override - public void addLog(LineInfoDO lineInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum) { + public void addLog(Long id ,String partnerId, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum) { TransferLogDO transferLogDO = new TransferLogDO(); - transferLogDO.setLineId(lineInfoDO.getId()); - transferLogDO.setPartnerId(lineInfoDO.getPartnerId()); + transferLogDO.setLineId(id); + transferLogDO.setPartnerId(partnerId); transferLogDO.setFromUserId(formUserId); transferLogDO.setToUserId(toUserId); transferLogDO.setType(operationLogTypeEnum.getCode()); @@ -38,10 +39,11 @@ public class TransferLogServiceImpl implements TransferLogService { transferLogDAO.add(transferLogDO); } + @Override - public PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId) { + public PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId,Integer lineShopType) { PageHelper.startPage(pageNum, pageSize); - List transferLogList = transferLogDAO.getTransferLogList(lineId); + List transferLogList = transferLogDAO.getTransferLogList(lineId,lineShopType); PageInfo transferLogDTOPageInfo = new PageInfo<>(transferLogList); return transferLogDTOPageInfo; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java index 05445c5f8..db55de971 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java @@ -178,6 +178,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { * @return 解析后时间 */ public static Date strToDate(String strDate, String pattern) { + if (StringUtils.isBlank(strDate)){ + return null; + } SimpleDateFormat formatter = new SimpleDateFormat(pattern); ParsePosition pos = new ParsePosition(0); return formatter.parse(strDate, pos); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java index 88d0a7aaf..8cb980598 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java @@ -39,29 +39,6 @@ public class DeskController { return ResponseResult.success(deskService.intendPendingList(pageNumber,pageSize,userInfo.getUserId())); } - @ApiOperation("待处理-邀约面谈") - @GetMapping("/interviewPendingList") - public ResponseResult> interviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.interviewPendingList(pageNumber,pageSize,userInfo.getUserId())); - } - - @ApiOperation("待处理-一审") - @GetMapping("/firstInterviewPendingList") - public ResponseResult> firstInterviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.firstInterviewPendingList(pageNumber,pageSize,userInfo)); - } - - @ApiOperation("待处理-二审") - @GetMapping("/secondInterviewPendingList") - public ResponseResult> secondInterviewPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.secondInterviewPendingList(pageNumber,pageSize,userInfo)); - } @ApiOperation("待处理-缴纳意向金") @@ -80,13 +57,6 @@ public class DeskController { return ResponseResult.success(deskService.signingPendingList(pageNumber,pageSize,userInfo)); } - @ApiOperation("待处理-实训体验") - @GetMapping("/storeExperiencePendingList") - public ResponseResult> storeExperiencePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.storeExperiencePendingList(pageNumber,pageSize,userInfo)); - } @ApiOperation("待处理-数据") @@ -105,13 +75,6 @@ public class DeskController { return ResponseResult.success(deskService.getInvestmentCount(userInfo)); } - @ApiOperation("待处理-系统建店") - @GetMapping("/systemBuildStorePendingList") - public ResponseResult> systemBuildStorePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.systemBuildStorePendingList(pageNumber,pageSize,userInfo)); - } @ApiOperation("待处理-支付加盟费保证金") @GetMapping("/payFranchiseFeesPendingList") public ResponseResult> payFranchiseFeesPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, @@ -141,13 +104,6 @@ public class DeskController { LoginUserInfo userInfo = CurrentUserHolder.getUser(); return ResponseResult.success(deskService.openingAndOperationPlanPendingList(pageNumber,pageSize,userInfo)); } - @ApiOperation("待处理-首批订货清单") - @GetMapping("/firstOrderListPendingList") - public ResponseResult> firstOrderListPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { - LoginUserInfo userInfo = CurrentUserHolder.getUser(); - return ResponseResult.success(deskService.firstOrderListPendingList(pageNumber,pageSize,userInfo)); - } @ApiOperation("待处理-培训登记") @GetMapping("/trainListPendingList") diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java index 6339cd148..4d584c251 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java @@ -28,10 +28,16 @@ public class ExportController { private ExportService exportService; +// @PostMapping("/preparationList") +// @ApiOperation("进度管理") +// public ResponseResult preparationList(@RequestBody BranchShopRequest request) { +// return ResponseResult.success(exportService.branchShopList(request, CurrentUserHolder.getUser())); +// } + + @PostMapping("/preparationList") @ApiOperation("进度管理") - public ResponseResult preparationList(@RequestBody PreparationRequest request) { - request.setCurUserId(CurrentUserHolder.getUserId()); - return ResponseResult.success(exportService.preparationList(request, CurrentUserHolder.getUser())); + public ResponseResult preparationList(@RequestBody BranchShopRequest request) { + return ResponseResult.success(exportService.branchShopList(request, CurrentUserHolder.getUser())); } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java index aa90f3b0d..44a955b78 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java @@ -62,10 +62,10 @@ public class LineAuditController { return ResponseResult.success(bankService.repayment(request)); } - @ApiOperation("结束跟进") - @PostMapping("/close") - public ResponseResult auditClose(@RequestBody AuditCloseRequest request){ - return ResponseResult.success(lineFlowService.auditClose(request, CurrentUserHolder.getUser())); - } +// @ApiOperation("结束跟进") +// @PostMapping("/close") +// public ResponseResult auditClose(@RequestBody AuditCloseRequest request){ +// return ResponseResult.success(lineFlowService.auditClose(request, CurrentUserHolder.getUser())); +// } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java index 9db62aca9..8e94a9da2 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineFollowController.java @@ -9,6 +9,7 @@ import com.cool.store.vo.log.LineFollowLogVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.boot.context.properties.bind.DefaultValue; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -29,8 +30,8 @@ public class LineFollowController { @ApiOperation("跟进日志分页") @GetMapping("/page") - public ResponseResult> getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize){ - return ResponseResult.success(lineFollowService.getFollowLogPage(lineId, pageNum, pageSize)); + public ResponseResult> getFollowLogPage(Long lineId, Integer pageNum, Integer pageSize, @RequestParam(value = "type",defaultValue = "1") Integer type){ + return ResponseResult.success(lineFollowService.getFollowLogPage(lineId, pageNum, pageSize,type)); } @ApiOperation("新增跟进日志") diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java index 915d8cd51..f1eb342d8 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java @@ -118,12 +118,14 @@ public class LineInfoController { @ApiImplicitParams({ @ApiImplicitParam(name = "lineId", value = "线索id", required = true), @ApiImplicitParam(name = "pageNum", value = "页码", required = true), - @ApiImplicitParam(name = "pageSize", value = "大小", required = true) + @ApiImplicitParam(name = "pageSize", value = "大小", required = true), + @ApiImplicitParam(name = "lineShopType", value = "1-线索,2-门店", required = false) }) public ResponseResult> getTransferLogPage(@RequestParam("lineId")Long lineId, - @RequestParam(value = "pageNum" ,defaultValue = "1")Integer pageNum, - @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize) { - return ResponseResult.success(transferLogService.getTransferLogPage(pageNum,pageSize,lineId)); + @RequestParam(value = "pageNum" ,defaultValue = "1")Integer pageNum, + @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize, + @RequestParam(value = "lineShopType",defaultValue = "1") Integer lineShopType) { + return ResponseResult.success(transferLogService.getTransferLogPage(pageNum,pageSize,lineId,lineShopType)); } @ApiOperation("查询意向金详情") @@ -172,5 +174,9 @@ public class LineInfoController { return ResponseResult.success(linePayService.skipPay(lineId,CurrentUserHolder.getUser())); } - + @ApiOperation("查询加盟商") + @PostMapping("/getLines") + public ResponseResult> getLines(@RequestBody LinesRequest request) { + return ResponseResult.success(lineService.getLines(request)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java index 5b743b2ad..1332e6d7d 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java @@ -1,14 +1,20 @@ package com.cool.store.controller.webb; -import com.cool.store.request.AddShopRequest; -import com.cool.store.request.DeleteShopRequest; -import com.cool.store.request.UpdateShopCodeRequest; +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.dto.TransferLogDTO; +import com.cool.store.request.*; +import com.cool.store.response.BranchShopDetailResponse; +import com.cool.store.response.BranchShopResponse; import com.cool.store.response.ResponseResult; import com.cool.store.service.ShopService; +import com.cool.store.service.TransferLogService; import com.cool.store.vo.shop.MiniShopPageVO; import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -29,22 +35,24 @@ public class PCShopController { @Resource private ShopService shopService; + @Resource + private TransferLogService transferLogService; @ApiOperation("获取店铺列表") @GetMapping("/getShopList") - public ResponseResult> getShopList(@RequestParam("lineId")Long lineId) { - return ResponseResult.success(shopService.getShopList(lineId)); + public ResponseResult> getShopList(@RequestParam("lineId") Long lineId) { + return ResponseResult.success(shopService.getShopList(lineId, CurrentUserHolder.getUserId())); } @ApiOperation("获取各个阶段店铺数量") @GetMapping("/getStageShopCount") - public ResponseResult getStageShopCount(@RequestParam("lineId")Long lineId) { + public ResponseResult getStageShopCount(@RequestParam("lineId") Long lineId) { return ResponseResult.success(shopService.getStageShopCount(lineId)); } @ApiOperation("获取店铺的阶段信息") @GetMapping("/getShopStageInfo") - public ResponseResult> getShopStageInfo(@RequestParam("shopId")Long shopId, @RequestParam(value = "shopStage", required = false)Integer shopStage) { + public ResponseResult> getShopStageInfo(@RequestParam("shopId") Long shopId, @RequestParam(value = "shopStage", required = false) Integer shopStage) { return ResponseResult.success(shopService.getShopStageInfo(shopId, shopStage)); } @@ -57,13 +65,64 @@ public class PCShopController { @ApiOperation("新增店铺") @PostMapping("/addShop") public ResponseResult addShop(@RequestBody @Validated AddShopRequest request) { + request.setUserId(CurrentUserHolder.getUserId()); return ResponseResult.success(shopService.addShop(request)); } @ApiOperation("修改门店编号和门店名称和门店所属区域") @PostMapping("/updateShopCode") public ResponseResult updateShopCode(@RequestBody @Validated UpdateShopCodeRequest request) { - return ResponseResult.success(shopService.updateShopCode(request)); + return ResponseResult.success(shopService.updateShopCode(request, CurrentUserHolder.getUserId())); } + @ApiOperation("新建分店") + @PostMapping("/addBranchShop") + public ResponseResult addBranchShop(@RequestBody @Validated AddBranchShopRequest request) { + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(shopService.addBranchShop(request, userId)); + } + + @ApiOperation("开店详情/左边小窗") + @GetMapping("/getBranchShopDetail") + public ResponseResult getBranchShopDetail(@RequestParam("shopId") Long shopId) { + return ResponseResult.success(shopService.getBranchShopDetail(shopId)); + } + + @ApiOperation("修改开店详情/左边小窗") + @PostMapping("/updateBranchShopDetail") + public ResponseResult updateBranchShopDetail(@RequestBody @Validated BranchShopDetailRequest request) { + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(shopService.updateBranchShopDetail(request, userId)); + } + + @ApiOperation("门店转让,修改门店招商专员/督导") + @GetMapping("/updateShopInvestment") + public ResponseResult updateShopInvestment(@RequestParam("shopId") Long shopId, @RequestParam("updateUserId") String updateUserId) { + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(shopService.updateShopInvestment(shopId, updateUserId, userId)); + } + + @ApiOperation("门店转让记录") + @GetMapping("/getTransferLogPage") + @ApiImplicitParams({ + @ApiImplicitParam(name = "lineId", value = "线索id", required = true), + @ApiImplicitParam(name = "pageNum", value = "页码", required = true), + @ApiImplicitParam(name = "pageSize", value = "大小", required = true), + @ApiImplicitParam(name = "lineShopType", value = "1-线索,2-门店", required = true) + }) + public ResponseResult> getTransferLogPage(@RequestParam("lineId") Long lineId, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(value = "lineShopType", defaultValue = "1") Integer lineShopType) { + return ResponseResult.success(transferLogService.getTransferLogPage(pageNum, pageSize, lineId, lineShopType)); + } + + + + + @ApiOperation("门店结束跟进") + @GetMapping("/shopClose") + public ResponseResult shopClose(@RequestParam("shopId")Long shopId) { + return ResponseResult.success(shopService.shopClose(shopId)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java index eef6d56d1..6a99eb3a2 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java @@ -2,11 +2,13 @@ package com.cool.store.controller.webb; import com.alibaba.fastjson.JSONObject; import com.cool.store.context.CurrentUserHolder; +import com.cool.store.dto.point.ShopPointDTO; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; import com.cool.store.service.PointService; import com.cool.store.vo.LinePointBaseInfoVO; import com.cool.store.vo.point.*; +import com.cool.store.vo.shop.ShopPointBaseInfoVO; import com.cool.store.vo.shop.ShopStageVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; @@ -126,6 +128,14 @@ public class PointController { return ResponseResult.success(pointService.getLinePage(request)); } + @ApiOperation("查询我负责的门店列表-门店的选址经理是我") + @PostMapping("/getShopPage") + public ResponseResult> getShopPage(@RequestBody PointLinePageRequest request) { + request.setDevelopmentManager(CurrentUserHolder.getUserId()); + return ResponseResult.success(pointService.getShopPage(request)); + } + + @ApiOperation("获取单个加盟商选址数据") @GetMapping("/getLineInfo") public ResponseResult getLineInfo(@RequestParam("lineId") Long lineId) { @@ -158,12 +168,20 @@ public class PointController { return ResponseResult.success(pointService.getPointAllAuditRecord(pointId)); } - @ApiOperation("获取加盟商的推荐铺位列表") + @ApiOperation("获取加盟商的推荐铺位列表-V2.4废弃") @GetMapping("/getLineRecommendPointList") + @Deprecated public ResponseResult> getLineRecommendPointList(@RequestParam("lineId")Long lineId) { return ResponseResult.success(pointService.getLineRecommendPointList(lineId)); } + @ApiOperation("获取门店的推荐铺位列表-V2.4新增") + @GetMapping("/getShopRecommendPointList") + public ResponseResult> getShopRecommendPointList(@RequestParam("shopId")Long shopId) { + return ResponseResult.success(pointService.getShopRecommendPointList(shopId)); + } + + @ApiOperation("选址人员获取可推荐铺位列表") @PostMapping("/getRecommendPointList") public ResponseResult> getRecommendPointList(@RequestBody @Validated RecommendPointPageRequest request) { @@ -171,21 +189,21 @@ public class PointController { return ResponseResult.success(pointService.getRecommendPointList(request)); } - @ApiOperation("加盟商详情推送铺位") + @ApiOperation("加盟商详情推送铺位->v2.4 门店详情推荐铺位") @PostMapping("/lineRecommendPoint") public ResponseResult lineRecommendPoint(@RequestBody @Validated LineRecommendPointRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); return ResponseResult.success(pointService.lineRecommendPoint(request)); } - @ApiOperation("铺位详情推送加盟商") + @ApiOperation("铺位详情推送加盟商->v2.4 铺位详情推送门店") @PostMapping("/pointRecommendLine") public ResponseResult pointRecommendLine(@RequestBody @Validated PointRecommendLineRequest request) { request.setDevelopmentManager(CurrentUserHolder.getUserId()); return ResponseResult.success(pointService.pointRecommendLine(request)); } - @ApiOperation("选址人员转让加盟商") + @ApiOperation("选址人员转让加盟商->v2.4 选址人员转让门店选址经理") @PostMapping("/turnLine") public ResponseResult turnLine(@RequestBody @Validated TurnLineRequest request) { return ResponseResult.success(pointService.turnLine(request)); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java index ec3744f74..d5bc38190 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java @@ -1,10 +1,13 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; +import com.cool.store.request.BranchShopRequest; import com.cool.store.request.PreparationRequest; import com.cool.store.request.TrainingExperienceDistributionRequest; +import com.cool.store.response.BranchShopResponse; import com.cool.store.response.ResponseResult; import com.cool.store.service.PreparationService; +import com.cool.store.service.ShopService; import com.cool.store.service.impl.PreparationServiceImpl; import com.cool.store.vo.Preparation.PreparationProcessVO; import com.cool.store.vo.Preparation.PreparationScheduleDetailVO; @@ -13,6 +16,7 @@ import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -31,12 +35,13 @@ public class PreparationController { @Resource PreparationService preparationService; + @Resource + ShopService shopService; @ApiOperation("进度列表") @PostMapping("/list") - public ResponseResult> distribution(@RequestBody PreparationRequest request) { - request.setCurUserId(CurrentUserHolder.getUserId()); - return ResponseResult.success(preparationService.getPreparationSchedule(request)); + public ResponseResult> distribution(@RequestBody @Validated BranchShopRequest request) { + return ResponseResult.success(shopService.getBranchShopList(request,CurrentUserHolder.getUserId())); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LineController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LineController.java index d599aa4e9..32beb30e6 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LineController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/LineController.java @@ -1,10 +1,12 @@ package com.cool.store.controller.webc; +import com.cool.store.request.LinesRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.LinePayService; import com.cool.store.service.LineService; import com.cool.store.vo.IntendProcessTotalVO; import com.cool.store.vo.LineInfoVO; +import com.cool.store.vo.LineVO; import com.cool.store.vo.interview.AppointmentTimeVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -12,10 +14,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.format.annotation.DateTimeFormat; -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 org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDate; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java index d154a1548..3c790d8ce 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java @@ -40,7 +40,7 @@ public class MiniShopController { @GetMapping("/getShopList") public ResponseResult> getShopList() { Long lineId = PartnerUserHolder.getUser().getLineId(); - return ResponseResult.success(shopService.getShopList(lineId)); + return ResponseResult.success(shopService.getShopList(lineId,null)); } @ApiOperation("获取店铺的阶段信息") @@ -59,8 +59,6 @@ public class MiniShopController { @ApiOperation("获取推荐给我的铺位") @PostMapping("/getLineRecommendPointPage") public ResponseResult> getLineRecommendPointPage(@RequestBody MiniPointPageRequest request) { - Long lineId = PartnerUserHolder.getUser().getLineId(); - request.setLineId(lineId); return ResponseResult.success(pointService.getLineRecommendPointPage(request)); } @@ -82,8 +80,6 @@ public class MiniShopController { @ApiOperation("拒绝铺位") @PostMapping("/rejectPoint") public ResponseResult lineRejectPoint(@RequestBody @Validated RejectPointRequest request) { - Long lineId = PartnerUserHolder.getUser().getLineId(); - request.setLineId(lineId); return ResponseResult.success(pointService.lineRejectPoint(request)); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java index b466edc93..a0be0d8f8 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java @@ -19,9 +19,7 @@ import com.cool.store.mapper.HyOpenAreaInfoMapper; import com.cool.store.request.xfsgFirstOrderListRequest; import com.cool.store.response.ResponseResult; import com.cool.store.response.xfsgFirstOderListResponse; -import com.cool.store.service.AliyunService; -import com.cool.store.service.CoolStoreStartFlowService; -import com.cool.store.service.RegionService; +import com.cool.store.service.*; import com.cool.store.utils.poi.ExcelUtil; import com.cool.store.utils.poi.StringUtils; import com.cool.store.vo.RegionPathNameVO; @@ -259,6 +257,18 @@ public class TestController { } + @Resource + PointService pointService; + @Resource + ShopService shopService; + @GetMapping("/linePointToShopPoint") + public ResponseResult linePointToShopPoint(@RequestParam(value = "shopId",required = false)Long shopId){ + return ResponseResult.success(pointService.linePointToShopPoint(shopId)); + } + @GetMapping("/dataHandler") + public ResponseResult dataHandler(@RequestParam(value = "lineId",required = false)Long lineId){ + return ResponseResult.success(shopService.dataHandler(lineId)); + } } diff --git a/coolstore-partner-web/src/main/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index ff73cb774..3ad493a2e 100644 --- a/coolstore-partner-web/src/main/resources/application-local.properties +++ b/coolstore-partner-web/src/main/resources/application-local.properties @@ -33,8 +33,8 @@ rocketmq.topic=simple_message #oss配置 oss.host=https://oss-store.coolcollege.cn/ -oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur -oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2 +oss.accessKeyId=LTAI5t6Zk3Y3vyrMXC87jGYB +oss.accessKeySecret=6Gw06jtW5xNKWqbhnt1KmVZx1z9Dev oss.endpoint=oss-cn-hangzhou.aliyuncs.com oss.bucket=cool-store-hsay oss.file.dir=partner/171cddee76471740/ @@ -83,5 +83,5 @@ aliyun.sms.accessKeyId=LTAI5tAVZ3r9UtSpLGcmGoQn aliyun.sms.accessKeySecret=WIMjO4BjVg3YAHwmplq86yOyS2HMpa aliyun.sms.signName=酷店掌 -mybatis.configuration.variables.enterpriseId=28c20a7b42b94171acb1ab3f631d69e1 +mybatis.configuration.variables.enterpriseId=5558ce7a3aa84e3590392fcaa8697ffb enterprise.dingCorpId=ding0006ae30cf81071ea1320dcb25e91351 \ No newline at end of file