From 3579bb5f7c7b0f74b4bc6f5596d932359d299b2a Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 8 Jan 2025 14:19:07 +0800 Subject: [PATCH 01/79] =?UTF-8?q?=E6=9F=A5=E6=89=BE=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E5=95=86=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=94=B9=E9=80=A0=E8=B7=9F?= =?UTF-8?q?=E8=BF=9B=E6=97=A5=E5=BF=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/FollowLogTypeEnum.java | 24 ++++++++++++++++ .../com/cool/store/dao/LineFollowLogDAO.java | 17 ++++++++--- .../java/com/cool/store/dao/LineInfoDAO.java | 6 ++++ .../store/mapper/LineFollowLogMapper.java | 2 +- .../com/cool/store/mapper/LineInfoMapper.java | 3 ++ .../resources/mapper/LineFollowLogMapper.xml | 5 ++-- .../main/resources/mapper/LineInfoMapper.xml | 13 +++++++++ .../cool/store/entity/LineFollowLogDO.java | 6 +++- .../store/request/LineFollowLogRequest.java | 4 ++- .../com/cool/store/request/LinesRequest.java | 18 ++++++++++++ .../main/java/com/cool/store/vo/LineVO.java | 20 +++++++++++++ .../cool/store/service/LineFollowService.java | 2 +- .../com/cool/store/service/LineService.java | 4 +++ .../service/impl/LineFollowServiceImpl.java | 28 +++++++++++++++---- .../store/service/impl/LineServiceImpl.java | 6 ++++ .../controller/webb/LineFollowController.java | 5 ++-- .../controller/webb/LineInfoController.java | 6 +++- .../store/controller/webc/LineController.java | 7 ++--- .../resources/application-local.properties | 2 +- 19 files changed, 154 insertions(+), 24 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/FollowLogTypeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/LinesRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/LineVO.java 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-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..49d6c41cb 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 @@ -15,6 +15,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 +27,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; @@ -198,4 +200,8 @@ public class LineInfoDAO { } return lineInfoMapper.batchUpdateInvestmentManager(lineIds, status, investmentManager,regionId); } + + public List getLines(String keyword){ + return lineInfoMapper.getLinesByKeyword(keyword); + } } 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..2d5f31a78 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 @@ -8,6 +8,7 @@ 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 +126,6 @@ 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/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..1ec7f25c7 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-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/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/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/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-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..273547f6e 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); + //增加查询资质审核的意向加盟商或正式加盟商搜索范围为全部 + List getLines(LinesRequest request); } 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..a2d3a2d40 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 @@ -497,6 +497,12 @@ public class LineServiceImpl implements LineService { return regionQrcodeConfigDao.getPayPicByRegionId(bigRegionId); } + @Override + public List getLines(LinesRequest request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + return lineInfoDAO.getLines(request.getKeyword()); + } + /** * 计算预期时间 * @param startTime 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..8ef8327ce 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 @@ -172,5 +172,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/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/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index ff73cb774..f1a491bf3 100644 --- a/coolstore-partner-web/src/main/resources/application-local.properties +++ b/coolstore-partner-web/src/main/resources/application-local.properties @@ -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 From 96f8ad4a7e241a4292111a26ac9904a0df1c597a Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 8 Jan 2025 16:08:56 +0800 Subject: [PATCH 02/79] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E5=88=86=E5=BA=97?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/enums/point/ShopStatusEnum.java | 25 ++++++++ .../main/resources/mapper/LineInfoMapper.xml | 2 +- .../main/resources/mapper/ShopInfoMapper.xml | 12 +++- .../com/cool/store/entity/ShopInfoDO.java | 16 +++++ .../store/request/AddBranchShopRequest.java | 61 +++++++++++++++++++ .../com/cool/store/service/ShopService.java | 4 ++ .../store/service/impl/ShopServiceImpl.java | 18 ++++++ .../controller/webb/PCShopController.java | 8 +++ 8 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java 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..fe3461462 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java @@ -0,0 +1,25 @@ +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; + } +} diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 1ec7f25c7..eae948347 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -594,7 +594,7 @@ username, mobile from xfsg_line_info - where workflow_sub_stage_status >= 45 + where workflow_sub_stage > 1 and (mobile like CONCAT('%', #{keyword} ,'%') or username like CONCAT('%', #{keyword} ,'%')) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 0cbdf0b9d..37da2d2b4 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -19,10 +19,20 @@ + + + + + + + - 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 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..b13935b2f 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 @@ -111,4 +111,20 @@ public class ShopInfoDO { @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/request/AddBranchShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java new file mode 100644 index 000000000..5acf7f974 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddBranchShopRequest.java @@ -0,0 +1,61 @@ +package com.cool.store.request; + +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopStatusEnum; +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; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午2:20 + * @Version 1.0 + * @注释: + */ +@Data +public class AddBranchShopRequest { + @NotNull + private Long lineId; + @ApiModelProperty("门店名称") + @NotBlank + private String shopName; + @ApiModelProperty("意向开店区域") + @NotNull + private Long wantShopAreaId; + + @NotNull + @Min(1) + @Max(3) + @ApiModelProperty(" //'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店',") + private Integer joinMode; + + @ApiModelProperty("督导") + private String investmentManagerUserId; + @NotNull + @ApiModelProperty("所属大区") + private Long regionId; + + public ShopInfoDO toDO(AddBranchShopRequest request,String partnerId){ + ShopInfoDO shopInfoDO = new ShopInfoDO(); + shopInfoDO.setLineId(request.getLineId()); + shopInfoDO.setShopName(request.getShopName()); + 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(partnerId); + return shopInfoDO; + } +} 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..ba6c9a1ce 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,6 +2,7 @@ package com.cool.store.service; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; +import com.cool.store.request.AddBranchShopRequest; import com.cool.store.request.AddShopRequest; import com.cool.store.request.DeleteShopRequest; import com.cool.store.request.UpdateShopCodeRequest; @@ -71,4 +72,7 @@ public interface ShopService { ShopInfoDO getShopInfo(Long shopId); Integer updateShopCode(UpdateShopCodeRequest request); + + //新建分店 + Long addBranchShop(AddBranchShopRequest request,String userId); } 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..3ef139b09 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 @@ -8,6 +8,7 @@ import com.cool.store.enums.SMSMsgEnum; import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.point.*; import com.cool.store.exception.ServiceException; +import com.cool.store.request.AddBranchShopRequest; import com.cool.store.request.AddShopRequest; import com.cool.store.request.DeleteShopRequest; import com.cool.store.request.UpdateShopCodeRequest; @@ -15,6 +16,7 @@ import com.cool.store.service.ShopService; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.NumberConverter; import com.cool.store.utils.RandomEightCharCodeUtils; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.vo.shop.MiniShopPageVO; import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; @@ -194,4 +196,20 @@ public class ShopServiceImpl implements ShopService { shopInfo.setRegionId(request.getRegionId()); 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()); + Integer wantShopNum = lineInfo.getWantShopNum()+1; + lineInfo.setWantShopNum(wantShopNum); + lineInfoDAO.updateLineInfo(lineInfo); + ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); + Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); + shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId)); + return shopId; + } } 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..cd9de8678 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,5 +1,7 @@ package com.cool.store.controller.webb; +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.request.AddBranchShopRequest; import com.cool.store.request.AddShopRequest; import com.cool.store.request.DeleteShopRequest; import com.cool.store.request.UpdateShopCodeRequest; @@ -65,5 +67,11 @@ public class PCShopController { public ResponseResult updateShopCode(@RequestBody @Validated UpdateShopCodeRequest request) { return ResponseResult.success(shopService.updateShopCode(request)); } + @ApiOperation("新建分店") + @PostMapping("/addBranchShop") + public ResponseResult addBranchShop(@RequestBody @Validated AddBranchShopRequest request) { + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(shopService.addBranchShop(request,userId)); + } } From 4acd471fbdd6d5717a05cc85d05101bf4b59496e Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 8 Jan 2025 17:32:54 +0800 Subject: [PATCH 03/79] =?UTF-8?q?=E9=97=A8=E5=BA=97=E8=BD=AC=E8=AE=A9?= =?UTF-8?q?=E8=AE=B0=E5=BD=95,=E4=BF=AE=E6=94=B9=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E6=8B=9B=E5=95=86=E4=B8=93=E5=91=98/=E7=9D=A3=E5=AF=BC?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 3 +- .../store/enums/OperationLogTypeEnum.java | 3 +- .../com/cool/store/dao/TransferLogDAO.java | 4 +- .../cool/store/mapper/TransferLogMapper.java | 2 +- .../main/resources/mapper/ShopInfoMapper.xml | 4 +- .../resources/mapper/TransferLogMapper.xml | 59 +++++---- .../com/cool/store/dto/TransferLogDTO.java | 18 +-- .../com/cool/store/entity/ShopInfoDO.java | 7 +- .../com/cool/store/entity/TransferLogDO.java | 6 +- .../store/request/AddBranchShopRequest.java | 9 +- .../request/BranchShopDetailRequest.java | 32 +++++ .../cool/store/request/UpdateLineRequest.java | 4 +- .../response/BranchShopDetailResponse.java | 59 +++++++++ .../com/cool/store/service/ShopService.java | 12 +- .../store/service/TransferLogService.java | 4 +- .../store/service/impl/ShopServiceImpl.java | 125 ++++++++++++++---- .../service/impl/TransferLogServiceImpl.java | 19 ++- .../controller/webb/LineInfoController.java | 10 +- .../controller/webb/PCShopController.java | 46 ++++++- 19 files changed, 332 insertions(+), 94 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopDetailRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopDetailResponse.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index a106dfde5..f94f79df3 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 @@ -229,7 +229,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/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-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/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/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 37da2d2b4..3d94081a1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -26,13 +26,15 @@ + + 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 + join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id 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/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/entity/ShopInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java index b13935b2f..9ea93ba8a 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,7 +104,10 @@ 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; /** * 更新时间 */ @@ -115,7 +118,7 @@ public class ShopInfoDO { private Integer joinMode; @Column(name = "franchise_brand") - private String franchiseBrand; + private Integer franchiseBrand; @Column(name = "development_manager") private String developmentManager; 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 index 5acf7f974..cb63798f9 100644 --- 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 @@ -32,9 +32,13 @@ public class AddBranchShopRequest { @NotNull @Min(1) @Max(3) - @ApiModelProperty(" //'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店',") + @ApiModelProperty(" 加盟模式//'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店',") private Integer joinMode; - + @NotNull + @Min(1) + @Max(6) + @ApiModelProperty("'加盟品牌1,\"正新鸡排\",2,\"正新三明治\",3,\"正烧记\"4,\"大鼓米线\"5,\"串小妹\"6,\"茂掌柜\"'") + private Integer franchiseBrand; @ApiModelProperty("督导") private String investmentManagerUserId; @NotNull @@ -56,6 +60,7 @@ public class AddBranchShopRequest { shopInfoDO.setShopStatus(ShopStatusEnum.ING.getCode()); shopInfoDO.setShopStage(ShopStageEnum.SHOP_STAGE_1.getShopStage()); shopInfoDO.setPartnerId(partnerId); + shopInfoDO.setFranchiseBrand(request.getFranchiseBrand()); return shopInfoDO; } } 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..9e54f9b14 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopDetailRequest.java @@ -0,0 +1,32 @@ +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.NotNull; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午4:49 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopDetailRequest { + + private Long shopId; + @ApiModelProperty("加盟意向区域") + private Long wantShopAreaId; + @ApiModelProperty("所属区域") + private Long regionId; + @NotNull + @Min(1) + @Max(3) + @ApiModelProperty("加盟模式 1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店") + private Integer joinMode; + @NotNull + @ApiModelProperty("加盟品牌") + private Integer franchiseBrand; +} 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..7e37273e6 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopDetailResponse.java @@ -0,0 +1,59 @@ +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 Integer franchiseBrand; + + @ApiModelProperty("预估完成时间") + private Date planCompletionTime; + + @ApiModelProperty("招商经理名称") + private String investmentManagerName; + + @ApiModelProperty("招商经理userId") + private String investmentManagerId; + + @ApiModelProperty("所属大区") + private String regionName; + + @ApiModelProperty("意向开店区域") + private String wantRegionName; + + +} 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 ba6c9a1ce..0d827476d 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,10 +2,8 @@ package com.cool.store.service; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; -import com.cool.store.request.AddBranchShopRequest; -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.vo.shop.MiniShopPageVO; import com.cool.store.vo.shop.RentInfoToDoVO; import com.cool.store.vo.shop.ShopStageInfoVO; @@ -75,4 +73,10 @@ public interface ShopService { //新建分店 Long addBranchShop(AddBranchShopRequest request,String userId); + //开店详情/左边小窗 + BranchShopDetailResponse getBranchShopDetail(Long shopId); + //修改开店详情/左边小窗 + Integer updateBranchShopDetail(BranchShopDetailRequest request,String userId); + //修改门店招商专员/督导 + Integer updateShopInvestment(Long shopId,String updateUserId,String userId); } 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..5bcaf84b7 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; @@ -21,6 +22,7 @@ public interface TransferLogService { */ void addLog(LineInfoDO lineInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum); + void addLog(ShopInfoDO shopInfoDO, 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/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index 3ef139b09..50f3144e5 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,25 +1,25 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; +import com.cool.store.dto.Preparation.ScheduleDTO; +import com.cool.store.dto.RegionNode; 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.exception.ServiceException; -import com.cool.store.request.AddBranchShopRequest; -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.service.*; import com.cool.store.utils.NumberConverter; import com.cool.store.utils.RandomEightCharCodeUtils; 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 org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -29,6 +29,8 @@ 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 @@ -56,17 +58,25 @@ 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; @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<>(); @@ -103,19 +113,19 @@ public class ShopServiceImpl implements ShopService { 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); + return MiniShopPageVO.convertList(shopList, stageMap, regionNameMap); } @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); } @@ -128,7 +138,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); } @@ -136,9 +146,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)); @@ -153,7 +163,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(); @@ -181,35 +191,96 @@ public class ShopServiceImpl implements ShopService { @Override public ShopInfoDO getShopInfo(Long shopId) { - return shopInfoDAO.getShopInfo(shopId); + return shopInfoDAO.getShopInfo(shopId); } @Override public Integer updateShopCode(UpdateShopCodeRequest request) { 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.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())){ + @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()); - Integer wantShopNum = lineInfo.getWantShopNum()+1; + Integer wantShopNum = lineInfo.getWantShopNum() + 1; lineInfo.setWantShopNum(wantShopNum); lineInfoDAO.updateLineInfo(lineInfo); ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); + shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId)); 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()); + 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.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.setRegionName(shopRegion.getName()); + response.setWantRegionName(wantShopArea); + return response; + } + + @Override + public Integer updateBranchShopDetail(BranchShopDetailRequest request, String userId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); + shopInfo.setUpdateUserId(userId); + shopInfo.setUpdateTime(new Date()); + 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,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); + } } 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..ecf587db1 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; @@ -39,9 +40,23 @@ public class TransferLogServiceImpl implements TransferLogService { } @Override - public PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId) { + public void addLog(ShopInfoDO shopInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum) { + TransferLogDO transferLogDO = new TransferLogDO(); + transferLogDO.setLineId(shopInfoDO.getId()); + transferLogDO.setPartnerId(shopInfoDO.getPartnerId()); + transferLogDO.setFromUserId(formUserId); + transferLogDO.setToUserId(toUserId); + transferLogDO.setType(operationLogTypeEnum.getCode()); + transferLogDO.setCreateUserId("create"); + transferLogDO.setUpdateUserId("update"); + // 添加操作日志 + transferLogDAO.add(transferLogDO); + } + + @Override + 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-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 8ef8327ce..1f3f51055 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("查询意向金详情") 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 cd9de8678..e89d47434 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,16 +1,19 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; -import com.cool.store.request.AddBranchShopRequest; -import com.cool.store.request.AddShopRequest; -import com.cool.store.request.DeleteShopRequest; -import com.cool.store.request.UpdateShopCodeRequest; +import com.cool.store.dto.TransferLogDTO; +import com.cool.store.request.*; +import com.cool.store.response.BranchShopDetailResponse; 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.*; @@ -31,7 +34,8 @@ public class PCShopController { @Resource private ShopService shopService; - + @Resource + private TransferLogService transferLogService; @ApiOperation("获取店铺列表") @GetMapping("/getShopList") public ResponseResult> getShopList(@RequestParam("lineId")Long lineId) { @@ -74,4 +78,36 @@ public class PCShopController { 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)); + } } From 2d94266e62cba088c5277116cbc4adf418d6a880 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 9 Jan 2025 17:18:21 +0800 Subject: [PATCH 04/79] =?UTF-8?q?=E5=BC=80=E5=BA=97=E5=88=97=E8=A1=A8+?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/FileTypeEnum.java | 1 + .../cool/store/enums/FranchiseBrandEnum.java | 11 ++ .../com/cool/store/enums/JoinModeEnum.java | 36 ++++++ .../store/enums/point/ShopStatusEnum.java | 8 ++ .../com/cool/store/dao/EnterpriseUserDAO.java | 3 + .../com/cool/store/dao/HyOpenAreaInfoDAO.java | 3 + .../java/com/cool/store/dao/InvoicingDAO.java | 13 ++ .../java/com/cool/store/dao/ShopInfoDAO.java | 5 + .../com/cool/store/dao/ShopStageInfoDAO.java | 8 +- .../com/cool/store/mapper/ShopInfoMapper.java | 3 + .../store/mapper/ShopStageInfoMapper.java | 2 + .../store/mapper/SignFranchiseMapper.java | 4 + .../main/resources/mapper/ShopInfoMapper.xml | 59 +++++++++ .../resources/mapper/ShopStageInfoMapper.xml | 12 ++ .../resources/mapper/SignFranchiseMapper.xml | 11 ++ .../cool/store/dto/ExportBranchShopDTO.java | 114 ++++++++++++++++++ .../store/dto/Preparation/PreparationDTO.java | 10 ++ .../cool/store/request/BranchShopRequest.java | 45 +++++++ .../store/response/BranchShopResponse.java | 64 ++++++++++ .../store/service/ExportRealizeService.java | 2 + .../com/cool/store/service/ExportService.java | 2 + .../store/service/PreparationService.java | 3 +- .../com/cool/store/service/ShopService.java | 6 +- .../service/impl/ApplyLicenseServiceImpl.java | 2 + .../impl/AuditOpeningOperationPlanImpl.java | 1 + .../service/impl/DecorationServiceImpl.java | 4 + .../impl/ExportRealizeServiceImpl.java | 83 ++++++++++++- .../store/service/impl/ExportServiceImpl.java | 42 ++++++- .../impl/OpenAcceptanceInfoServiceImpl.java | 2 + .../store/service/impl/PointServiceImpl.java | 4 + .../impl/PosAndOrderInfoServiceImpl.java | 5 +- .../service/impl/PreparationServiceImpl.java | 16 +++ .../store/service/impl/ShopServiceImpl.java | 81 ++++++++++++- .../impl/TempUserDetailServiceImpl.java | 1 + .../com/cool/store/utils/poi/DateUtils.java | 3 + .../controller/webb/ExportController.java | 7 ++ .../controller/webb/PCShopController.java | 10 +- .../resources/application-local.properties | 4 +- 38 files changed, 662 insertions(+), 28 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/ExportBranchShopDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopResponse.java 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..69ac696bf 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/FranchiseBrandEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java index f8e5dfb5b..a8cd8cda9 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 @@ -23,4 +23,15 @@ public enum FranchiseBrandEnum { public String getDesc() { return desc; } + public static String getDescByCode(Integer code) { + if (code == null){ + return null; + } + for (FranchiseBrandEnum e : FranchiseBrandEnum.values()) { + if (e.getCode() == code) { + return e.getDesc(); + } + } + return null; + } } 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/point/ShopStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopStatusEnum.java index fe3461462..b1d4624ee 100644 --- 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 @@ -22,4 +22,12 @@ public enum ShopStatusEnum { 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..8c4155d9c 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())); } 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/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index b394da8d8..6e6a311f1 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 @@ -9,6 +9,7 @@ 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.PreparationRequest; import com.cool.store.request.platformBuildListRequest; @@ -150,6 +151,10 @@ public class ShopInfoDAO { public List ListByCondition(PreparationRequest request){ return shopInfoMapper.ListByCondition(request); } + + public List ListByBranchShopRequest(BranchShopRequest request){ + return shopInfoMapper.ListByBranchShopRequest(request); + } public Long getRegionIdByid(Long shopId){ return shopInfoMapper.getRegionIdByid(shopId); } 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..29fe46fde 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 @@ -224,7 +224,7 @@ public class ShopStageInfoDAO { public List getScheduleList(List shopIdList){ if (CollectionUtils.isEmpty(shopIdList)){ - return Collections.emptyList(); + return new ArrayList<>(); } return shopStageInfoMapper.getScheduleList(shopIdList); } @@ -245,7 +245,7 @@ public class ShopStageInfoDAO { public List getOpenActivityActualCompletionTime(List shopIdList){ if (CollectionUtils.isEmpty(shopIdList)){ - return Collections.emptyList(); + return new ArrayList<>(); } return shopStageInfoMapper.getOpenActivityActualCompletionTime(shopIdList); } @@ -345,5 +345,9 @@ public class ShopStageInfoDAO { 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); + } } 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..b98146ff7 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 @@ -6,6 +6,7 @@ import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.point.LineCountDTO; 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.PreparationRequest; import com.cool.store.request.platformBuildListRequest; @@ -81,6 +82,8 @@ public interface ShopInfoMapper extends Mapper { List ListByCondition(@Param("request") PreparationRequest request); + List ListByBranchShopRequest(@Param("request") BranchShopRequest request); + Long getRegionIdByid(@Param("shopId") Long shopId); ShopInfoDO selectByStoreNum(@Param("storeNum") String storeNum); 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..4a361fad3 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 @@ -160,4 +160,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/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 3d94081a1..fdab57246 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -250,6 +250,65 @@ #{shopId} + \ 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 06b406396..cec0637bb 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -365,4 +365,16 @@ + \ 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-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..bfd5c6e0d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ExportBranchShopDTO.java @@ -0,0 +1,114 @@ +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 contractStartTime; + + @ExcelProperty(value = "合同结束时间",order = 10) + @ColumnWidth(30) + private String contractEndTime; + + @ExcelProperty(value = "开票时间",order = 11) + @ColumnWidth(30) + private String invoicingTime; + + @ExcelProperty(value = "管理费(含税金额)",order = 12) + @ColumnWidth(30) + private String managementFeeTax; + + @ExcelProperty(value = "管理费(不含税金额)",order = 13) + @ColumnWidth(30) + private String managementFee; + + @ExcelProperty(value = "品牌费(含税金额)",order = 14) + @ColumnWidth(30) + private String brandingFeeTax; + + @ExcelProperty(value = "品牌费(不含税金额)",order = 15) + @ColumnWidth(30) + private String brandingFee; + + @ExcelProperty(value = "加盟费(含税金额)",order = 16) + @ColumnWidth(30) + private String franchiseFeeTax; + + @ExcelProperty(value = "加盟费(不含税金额)",order = 17) + @ColumnWidth(30) + private String franchiseFee; + + @ExcelProperty(value = "设计费(含税金额)",order = 18) + @ColumnWidth(30) + private String designFeeTax; + + @ExcelProperty(value = "设计费(不含税金额)",order = 19) + @ColumnWidth(30) + private String designFee; + + @ExcelProperty(value = "当前进度",order = 20) + @ColumnWidth(30) + private String currentProgress; + + @ExcelProperty(value = "状态",order = 21) + @ColumnWidth(30) + private String shopStatus; + + @ExcelProperty(value = "计划开店时间",order = 22) + @ColumnWidth(30) + private String planOpenTime; + + @ExcelProperty(value = "开店时长(天)",order = 23) + @ColumnWidth(30) + private String openDuration; + + +} 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..c1e64f047 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 Integer franchiseBrand; + + private Integer joinMode; + } 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..289277f48 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/BranchShopRequest.java @@ -0,0 +1,45 @@ +package com.cool.store.request; + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/01/08/下午6:00 + * @Version 1.0 + * @注释: + */ +@Data +public class BranchShopRequest { + //页码 + private Integer pageNum=1; + //分页大小 + private Integer pageSize=10; + @ApiModelProperty("加盟商姓名或手机号") + private String partnerKeyword; + @ApiModelProperty("门店名称/编号") + private String shopKeyword; + @ApiModelProperty("所属大区") + private List regionIds; + @ApiModelProperty("督导userId") + private String investmentManagerUserId; + @ApiModelProperty("意向开店区域") + private Long wantShopAreaId; + @ApiModelProperty("加盟模式") + private Integer joinMode; + @ApiModelProperty("加盟品牌") + private Integer franchiseBrand; + @ApiModelProperty("开店状态") + private Integer shopStatus; + @ApiModelProperty("计划开业日期开始") + private Date openTimeStart; + @ApiModelProperty("计划开业日期结束") + private Date openTimeEnd; + @ApiModelProperty(value = "管辖区域",hidden = true) + private List authRegionIds; + +} 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..318e60689 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/BranchShopResponse.java @@ -0,0 +1,64 @@ +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/下午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 String joinMode; + @ApiModelProperty("意向开店区域") + private String wantRegionName; + @ApiModelProperty("计划开业时间") + private Date planOpenTime; + @ApiModelProperty("总项数") + private Integer totalColumn; + @ApiModelProperty("完成项") + private Integer completionColumn; + @ApiModelProperty("开店时长") + private String openTime; + @ApiModelProperty("督导/招商经理") + private String investmentManagerName; + @ApiModelProperty("状态") + private String shopStatus; + @ApiModelProperty("创建时间") + private Date createTime; + @ApiModelProperty("开业活动完成时间") + private Date openingActivityEndTime; + + public void setOpenTime() { + if (this.openingActivityEndTime==null){ + long between = ChronoUnit.SECONDS.between(this.createTime.toInstant(), new Date().toInstant()); + double days = (double) between / (24*60*60); + this.openTime=String.format("%.1f", days); + }else{ + long between = ChronoUnit.SECONDS.between(this.createTime.toInstant(), this.openingActivityEndTime.toInstant()); + double days = (double) between / (24*60*60); + this.openTime = String.format("%.1f", days); + } + + } +} 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..31941bd5b 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; @@ -16,4 +17,5 @@ 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..400998fa7 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 @@ -11,4 +11,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/PreparationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java index fa33a89e8..31899faba 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 @@ -66,5 +66,6 @@ public interface PreparationService { */ Boolean decorationFlush(Long shopId); - + //阶段完成奢shop_status=1已完成 + void updateShopStatus(Long shopId); } 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 0d827476d..70d436a6c 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 @@ -4,12 +4,11 @@ import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.ShopInfoDO; 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; @@ -69,7 +68,7 @@ public interface ShopService { */ ShopInfoDO getShopInfo(Long shopId); - Integer updateShopCode(UpdateShopCodeRequest request); + Integer updateShopCode(UpdateShopCodeRequest request,String userId); //新建分店 Long addBranchShop(AddBranchShopRequest request,String userId); @@ -79,4 +78,5 @@ public interface ShopService { Integer updateBranchShopDetail(BranchShopDetailRequest request,String userId); //修改门店招商专员/督导 Integer updateShopInvestment(Long shopId,String updateUserId,String userId); + PageInfo getBranchShopList(BranchShopRequest request, String userId); } 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..3bc4abc08 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 @@ -65,6 +65,7 @@ public class AuditOpeningOperationPlanImpl implements AuditOpeningOperationPlanS Boolean flag = Boolean.FALSE; if(OpeningOperationPlanResultTypeEnum.PASS_AUDIT.getCode().equals(request.getResultType())){ shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143; + preparationService.updateShopStatus(request.getShopId()); flag = Boolean.TRUE; }else { shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_142; 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..2080532b4 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()); @@ -650,6 +652,7 @@ public class DecorationServiceImpl implements DecorationService { acceptanceInfoDO.setCreateTime(new Date()); acceptanceInfoDAO.insertSelectiveAcceptanceInfo(acceptanceInfoDO); } + preparationService.updateShopStatus(shopId); shopStageInfoDAO.batchUpdateShopStageStatus(shopId, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121)); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfo.getLineId()); @@ -681,6 +684,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/ExportRealizeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java index 84939192e..a99f75990 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,7 @@ 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.Preparation.PreparationDTO; import com.cool.store.dto.Preparation.ScheduleDTO; import com.cool.store.dto.PreparationScheduleDTO; @@ -16,7 +17,9 @@ 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.SignFranchiseMapper; 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; @@ -39,8 +42,7 @@ 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 InvoicingDAO invoicingDAO; @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 @@ -140,10 +142,10 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { } 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())); + url = easyExcelUtil.exportExcel(PreparationScheduleDTO.class, result, null, FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), FileTypeEnum.PREPARATION.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.PREPARATION.getDesc(), e); throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); } finally { if (flag) { @@ -155,5 +157,74 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { importTaskMapper.update(eid, importTaskDO); } } + + @Override + @Async + public void branchShopList(List list, ImportTaskDO importTaskDO) { + Boolean flag = Boolean.TRUE; + String url = ""; + try { + List exportList = new ArrayList<>(); + List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); + List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); + Map signFranchiseMap = new HashMap<>(); + if (signFranchises != null ) { + signFranchiseMap= signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId,Function.identity())); + } + 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(); + dto.setUserName(response.getUserName()); + dto.setMobile(response.getMobile()); + dto.setShopName(response.getShopName()); + dto.setShopCode(response.getShopCode()); + dto.setRegionName(response.getRegionName()); + dto.setJoinMode(response.getJoinMode()); + dto.setFranchiseBrand(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())); + } + InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); + if (invoicingDO != null) { + dto.setInvoicingTime(invoicingDO.getInvoiceDate()); + dto.setManagementFeeTax(invoicingDO.getManagementFeeTax().toString()); + dto.setManagementFee(invoicingDO.getManagementFee().toString()); + dto.setBrandingFeeTax(invoicingDO.getBrandUsageFeeTax().toString()); + dto.setBrandingFee(invoicingDO.getBrandUsageFee().toString()); + dto.setFranchiseFeeTax(invoicingDO.getFranchiseFeeTax().toString()); + dto.setFranchiseFee(invoicingDO.getFranchiseFee().toString()); + dto.setDesignFeeTax(invoicingDO.getDesignServiceFeeTax().toString()); + dto.setDesignFee(invoicingDO.getDesignServiceFee().toString()); + } + dto.setCurrentProgress(response.getCompletionColumn()+"/"+response.getTotalColumn()); + dto.setShopStatus(response.getShopStatus()); + dto.setPlanOpenTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1,response.getPlanOpenTime())); + dto.setOpenDuration(response.getOpenTime()); + 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.BRANCH_SHOP_LIST.getDesc(), e); + throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); + } finally { + if (flag) { + importTaskDO.setStatus(ImportStatusEnum.success.getCode()); + importTaskDO.setFileUrl(url); + } else { + importTaskDO.setStatus(ImportStatusEnum.fail.getCode()); + } + importTaskMapper.update(eid, importTaskDO); + } + + } } 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..779697bc7 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,10 +69,12 @@ public class ExportServiceImpl implements ExportService { private String eid; @Autowired private ShopInfoDAO shopInfoDAO; + @Autowired + private ShopService shopService; @Override - public Integer preparationList(PreparationRequest request,LoginUserInfo loginUserInfo) { + public Integer preparationList(PreparationRequest request, LoginUserInfo loginUserInfo) { if (!sysRoleService.checkIsAdmin(request.getCurUserId())) { request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(request.getCurUserId())); } @@ -87,14 +91,14 @@ public class ExportServiceImpl implements ExportService { throw new ServiceException(ErrorCodeEnum.NO_DATA); } List result; - if (preparationDTOS.size()>CommonConstants.MAX_EXPORT_SIZE){ - result= preparationDTOS.subList(0,CommonConstants.MAX_EXPORT_SIZE); - }else { - result=preparationDTOS; + if (preparationDTOS.size() > CommonConstants.MAX_EXPORT_SIZE) { + result = preparationDTOS.subList(0, CommonConstants.MAX_EXPORT_SIZE); + } else { + result = preparationDTOS; } 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.PREPARATION.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); importTaskDO.setIsImport(Boolean.FALSE); importTaskDO.setFileType(FileTypeEnum.PREPARATION.getFileType()); importTaskDO.setCreateUserId(request.getCurUserId()); @@ -105,5 +109,31 @@ public class ExportServiceImpl implements ExportService { return result.size(); } + @Override + public Long branchShopList(BranchShopRequest request, LoginUserInfo user) { + request.setPageSize(CommonConstants.MAX_EXPORT_SIZE + 100); + 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 { + exportList.addAll(branchShopList.getList()); + } + ImportTaskDO importTaskDO = new ImportTaskDO(); + importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode()); + importTaskDO.setFileName(FileTypeEnum.BRANCH_SHOP_LIST.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); + importTaskDO.setIsImport(Boolean.FALSE); + importTaskDO.setFileType(FileTypeEnum.BRANCH_SHOP_LIST.getFileType()); + importTaskDO.setCreateUserId(user.getUserId()); + importTaskDO.setCreateTime(new Date().getTime()); + importTaskDO.setCreateName(user.getName()); + importTaskMapper.insert(eid, importTaskDO); + exportRealizeService.branchShopList(branchShopList.getList(), importTaskDO); + return total; + } + } 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..86cd7ac12 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 @@ -25,6 +25,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 +89,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) @@ -885,6 +888,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()); 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 2aac00116..695f930f7 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; @@ -280,5 +281,20 @@ public class PreparationServiceImpl implements PreparationService { return Boolean.TRUE; } + @Override + public void updateShopStatus(Long shopId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (shopInfo.getShopStage().equals(ShopStatusEnum.ING.getCode())){ + Integer all = shopStageInfoDAO.allNumber(shopId, CommonConstants.ZERO); + Integer finish = shopStageInfoDAO.allNumber(shopId, CommonConstants.ONE); + if (all.equals(finish)){ + ShopInfoDO shopInfoDO = new ShopInfoDO(); + shopInfoDO.setId(shopId); + shopInfoDO.setShopStage(ShopStatusEnum.DONE.getCode()); + shopInfoDAO.updateShopInfo(shopInfoDO); + } + } + } + } 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 50f3144e5..915718aa0 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 @@ -2,6 +2,7 @@ package com.cool.store.service.impl; 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.entity.*; @@ -11,14 +12,18 @@ import com.cool.store.exception.ServiceException; 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 org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,7 +44,8 @@ import static com.cool.store.enums.ErrorCodeEnum.UPDATE_INVESTMENT_MANAGER_FAIL; */ @Service public class ShopServiceImpl implements ShopService { - + @Resource + private SysRoleService sysRoleService; @Resource private ShopInfoDAO shopInfoDAO; @Resource @@ -66,6 +72,9 @@ public class ShopServiceImpl implements ShopService { private RegionMapper regionMapper; @Autowired private TransferLogService transferLogService; + @Resource + private RegionService regionService; + @Override @Transactional(rollbackFor = Exception.class) @@ -195,7 +204,7 @@ public class ShopServiceImpl implements ShopService { } @Override - public Integer updateShopCode(UpdateShopCodeRequest request) { + public Integer updateShopCode(UpdateShopCodeRequest request,String userId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); if (Objects.isNull(shopInfo)) { throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); @@ -203,6 +212,7 @@ public class ShopServiceImpl implements ShopService { shopInfo.setShopCode(request.getShopCode()); shopInfo.setShopName(request.getShopName()); shopInfo.setUpdateTime(new Date()); + shopInfo.setUpdateUserId(userId); shopInfo.setRegionId(request.getRegionId()); return shopInfoDAO.updateShopInfo(shopInfo); } @@ -265,22 +275,81 @@ public class ShopServiceImpl implements ShopService { shopInfo.setRegionId(request.getRegionId()); shopInfo.setJoinMode(request.getJoinMode()); shopInfo.setFranchiseBrand(request.getFranchiseBrand()); - return shopInfoDAO.updateShopInfo(shopInfo); + 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())){ + if (updateUserId.equals(shopInfo.getInvestmentManager())) { throw new ServiceException(UPDATE_INVESTMENT_MANAGER_FAIL); } - transferLogService.addLog(shopInfo,shopInfo.getInvestmentManager(),updateUserId,OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_4); + transferLogService.addLog(shopInfo, 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); + return shopInfoDAO.updateShopInfo(shopInfo); + } + + @Override + public PageInfo getBranchShopList(BranchShopRequest request, String userId) { + 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())); + } + } + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List responses = new ArrayList<>(); + List preparations = shopInfoDAO.ListByBranchShopRequest(request); + 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(FranchiseBrandEnum.getDescByCode(dto.getFranchiseBrand())); + response.setJoinMode(JoinModeEnum.getByCode(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.setOpenTime(); + responses.add(response); + } + + return new PageInfo<>(responses); } } 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/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/ExportController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java index 6339cd148..4b128cd56 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 @@ -34,4 +34,11 @@ public class ExportController { request.setCurUserId(CurrentUserHolder.getUserId()); return ResponseResult.success(exportService.preparationList(request, CurrentUserHolder.getUser())); } + + + @PostMapping("/branchShopList") + @ApiOperation("进度管理") + public ResponseResult branchShopList(@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/PCShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java index e89d47434..25adea3e5 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 @@ -4,6 +4,7 @@ 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; @@ -69,7 +70,7 @@ public class PCShopController { @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") @@ -110,4 +111,11 @@ public class PCShopController { @RequestParam(value = "lineShopType",defaultValue = "1") Integer lineShopType) { return ResponseResult.success(transferLogService.getTransferLogPage(pageNum,pageSize,lineId,lineShopType)); } + + @ApiOperation("开店管理列表") + @PostMapping("/getBranchShopList") + public ResponseResult> getBranchShopList(@RequestBody @Validated BranchShopRequest request) { + String userId = CurrentUserHolder.getUserId(); + return ResponseResult.success(shopService.getBranchShopList(request,userId)); + } } diff --git a/coolstore-partner-web/src/main/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index f1a491bf3..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/ From c4199ee27c37e74cfcf78b1c78f0f0fde8aa3b47 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 10 Jan 2025 14:22:42 +0800 Subject: [PATCH 05/79] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E8=AF=A6?= =?UTF-8?q?=E6=83=85=EF=BC=8C=E9=97=A8=E5=BA=97=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/ShopInfoDAO.java | 7 + .../com/cool/store/mapper/ShopInfoMapper.java | 2 + .../main/resources/mapper/ShopInfoMapper.xml | 526 +++++++++--------- .../resources/mapper/ShopStageInfoMapper.xml | 3 +- .../cool/store/vo/shop/MiniShopPageVO.java | 48 +- .../com/cool/store/service/ShopService.java | 22 +- .../store/service/impl/ShopServiceImpl.java | 28 +- .../controller/webb/PCShopController.java | 2 +- .../controller/webc/MiniShopController.java | 2 +- 9 files changed, 368 insertions(+), 272 deletions(-) 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 6e6a311f1..01051d323 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 @@ -73,6 +73,13 @@ public class ShopInfoDAO { return shopInfoMapper.getShopList(lineId); } + public List getShopListByRegion(Long lineId,List regionIdList){ + if(Objects.isNull(lineId)){ + return new ArrayList<>(); + } + return shopInfoMapper.getShopListByRegion(lineId,regionIdList); + } + /** * 新增门店信息 * @param shopInfo 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 b98146ff7..e8ad0d596 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 @@ -37,6 +37,8 @@ public interface ShopInfoMapper extends Mapper { */ List getShopList(@Param("lineId") Long lineId); + List getShopListByRegion(@Param("lineId") Long lineId,@Param("list") List regions); + /** * 店铺信息 * diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index fdab57246..b8939b5c1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -1,195 +1,204 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - id, region_id, line_id, partner_id, point_id, shop_name, + + 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) values + + (#{shop.regionId}, #{shop.lineId}, #{shop.partnerId}, #{shop.shopName}, + #{shop.storeNum},#{shop.supervisorUserId}) + + - + - + - + - - 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} - - + - - - + + + + + + - + - - + + + \ 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 cec0637bb..cbedd5345 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -187,7 +187,8 @@ max(plan_complete_time) as planCompleteTime, count(1) as totalColumn, sum(if(is_terminated = 1, 1, 0)) as completionColumn - from xfsg_shop_stage_info where shop_stage = 2 + from xfsg_shop_stage_info where shop_stage = 2 + and shop_sub_stage != 85 and shop_id in 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..6fa0f2590 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,28 @@ 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; + + 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 +71,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 +81,26 @@ 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(FranchiseBrandEnum.getDescByCode(shopInfo.getFranchiseBrand())); + miniShopPageVO.setJoinMode(JoinModeEnum.getByCode(shopInfo.getJoinMode())); + if (Objects.nonNull(wantRegionMap)) { + miniShopPageVO.setWantRegionName(wantRegionMap.get(shopInfo.getWantShopAreaId())); + } + resultList.add(miniShopPageVO); + } return resultList; } 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 70d436a6c..1e3124630 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 @@ -32,7 +32,7 @@ public interface ShopService { * @param lineId * @return */ - List getShopList(Long lineId); + List getShopList(Long lineId,String userId); /** * 获取店铺阶段信息 @@ -70,13 +70,25 @@ public interface ShopService { 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); + /** + * 分店列表 + */ PageInfo getBranchShopList(BranchShopRequest request, String userId); } 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 915718aa0..d75df2f32 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 @@ -115,14 +115,26 @@ public class ShopServiceImpl implements ShopService { } @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); 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 @@ -204,7 +216,7 @@ public class ShopServiceImpl implements ShopService { } @Override - public Integer updateShopCode(UpdateShopCodeRequest request,String userId) { + public Integer updateShopCode(UpdateShopCodeRequest request, String userId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); if (Objects.isNull(shopInfo)) { throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); @@ -298,7 +310,7 @@ public class ShopServiceImpl implements ShopService { public PageInfo getBranchShopList(BranchShopRequest request, String userId) { if (!sysRoleService.checkIsAdmin(userId)) { request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)); - if (CollectionUtils.isEmpty(request.getAuthRegionIds())){ + if (CollectionUtils.isEmpty(request.getAuthRegionIds())) { return new PageInfo<>(); } } @@ -334,15 +346,15 @@ public class ShopServiceImpl implements ShopService { response.setMobile(dto.getMobile()); response.setShopName(dto.getShopName()); response.setShopCode(dto.getShopCode()); - response.setRegionName(regionNameMap.getOrDefault(dto.getRegionId(),"")); + response.setRegionName(regionNameMap.getOrDefault(dto.getRegionId(), "")); response.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(dto.getFranchiseBrand())); response.setJoinMode(JoinModeEnum.getByCode(dto.getJoinMode())); - response.setWantRegionName(wantRegionMap.getOrDefault(dto.getWantShopAreaId(),"")); + 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.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()); 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 25adea3e5..e2363a340 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 @@ -40,7 +40,7 @@ public class PCShopController { @ApiOperation("获取店铺列表") @GetMapping("/getShopList") public ResponseResult> getShopList(@RequestParam("lineId")Long lineId) { - return ResponseResult.success(shopService.getShopList(lineId)); + return ResponseResult.success(shopService.getShopList(lineId,CurrentUserHolder.getUserId())); } @ApiOperation("获取各个阶段店铺数量") 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..e2d8d5744 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("获取店铺的阶段信息") From 1b752aff83dc2fa9b8c8bcde9e8a17f02adabfb6 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 10 Jan 2025 16:05:16 +0800 Subject: [PATCH 06/79] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/DeskServiceImpl.java | 258 ++++++++++++------ 1 file changed, 167 insertions(+), 91 deletions(-) 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..91dad8bfd 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 @@ -354,14 +354,40 @@ public class DeskServiceImpl implements DeskService { @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); + PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, + Arrays.asList(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.FALSE); + 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 @@ -382,54 +408,180 @@ public class DeskServiceImpl implements DeskService { @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 +651,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 +659,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 +733,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()); From 2f962e40396cb51cbbf04ccd03f52eca866254a6 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 10 Jan 2025 17:22:27 +0800 Subject: [PATCH 07/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=84=8F=E5=90=91=E9=97=A8=E5=BA=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/request/AddShopRequest.java | 2 ++ .../store/service/impl/ShopServiceImpl.java | 15 +++++--- .../controller/webb/PCShopController.java | 35 +++++++++++-------- 3 files changed, 33 insertions(+), 19 deletions(-) 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-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 d75df2f32..b14a1a758 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 @@ -118,7 +118,7 @@ public class ShopServiceImpl implements ShopService { public List getShopList(Long lineId, String userId) { List authRegions = new ArrayList<>(); if (StringUtils.isNotBlank(userId) && !sysRoleService.checkIsAdmin(userId)) { - for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)){ + for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)) { authRegions.add(Long.valueOf(region)); } } @@ -201,6 +201,8 @@ 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); @@ -236,9 +238,14 @@ public class ShopServiceImpl implements ShopService { request.setInvestmentManagerUserId(userId); } LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); - Integer wantShopNum = lineInfo.getWantShopNum() + 1; - lineInfo.setWantShopNum(wantShopNum); - lineInfoDAO.updateLineInfo(lineInfo); + if (lineInfo.getWorkflowSubStageStatus() < WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()) { + throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); + } + List shopList = shopInfoDAO.getShopList(lineInfo.getId()); + if (!CollectionUtils.isEmpty(shopList)) { + lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); + lineInfoDAO.updateLineInfo(lineInfo); + } ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); 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 e2363a340..172006084 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 @@ -37,21 +37,22 @@ public class PCShopController { private ShopService shopService; @Resource private TransferLogService transferLogService; + @ApiOperation("获取店铺列表") @GetMapping("/getShopList") - public ResponseResult> getShopList(@RequestParam("lineId")Long lineId) { - return ResponseResult.success(shopService.getShopList(lineId,CurrentUserHolder.getUserId())); + 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)); } @@ -64,19 +65,21 @@ 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,CurrentUserHolder.getUserId())); + 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)); + return ResponseResult.success(shopService.addBranchShop(request, userId)); } @ApiOperation("开店详情/左边小窗") @@ -84,17 +87,19 @@ public class PCShopController { 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)); + return ResponseResult.success(shopService.updateBranchShopDetail(request, userId)); } + @ApiOperation("修改门店招商专员/督导") @GetMapping("/updateShopInvestment") - public ResponseResult updateShopInvestment(@RequestParam("shopId") Long shopId,@RequestParam("updateUserId") String updateUserId) { + public ResponseResult updateShopInvestment(@RequestParam("shopId") Long shopId, @RequestParam("updateUserId") String updateUserId) { String userId = CurrentUserHolder.getUserId(); - return ResponseResult.success(shopService.updateShopInvestment(shopId,updateUserId,userId)); + return ResponseResult.success(shopService.updateShopInvestment(shopId, updateUserId, userId)); } @ApiOperation("门店转让记录") @@ -105,17 +110,17 @@ public class PCShopController { @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)); + 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("开店管理列表") @PostMapping("/getBranchShopList") public ResponseResult> getBranchShopList(@RequestBody @Validated BranchShopRequest request) { String userId = CurrentUserHolder.getUserId(); - return ResponseResult.success(shopService.getBranchShopList(request,userId)); + return ResponseResult.success(shopService.getBranchShopList(request, userId)); } } From 0ee5a24a7669b86544b75eb4c4cc9007231c8297 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 10 Jan 2025 18:00:32 +0800 Subject: [PATCH 08/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=84=8F=E5=90=91=E9=97=A8=E5=BA=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/FranchiseBrandEnum.java | 25 ++++++++++++++----- .../store/dto/Preparation/PreparationDTO.java | 2 +- .../com/cool/store/entity/ShopInfoDO.java | 2 +- .../store/request/AddBranchShopRequest.java | 8 +++--- .../request/BranchShopDetailRequest.java | 5 ++-- .../response/BranchShopDetailResponse.java | 2 +- .../store/service/impl/ShopServiceImpl.java | 2 +- 7 files changed, 29 insertions(+), 17 deletions(-) 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 a8cd8cda9..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,15 +32,19 @@ public enum FranchiseBrandEnum { public String getDesc() { return desc; } - public static String getDescByCode(Integer code) { - if (code == null){ + 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 (e.getCode() == code) { - return e.getDesc(); + if (integerList.contains(e.getCode())) { + stringBuffer.append(e.getDesc()).append(","); } } - return null; + return stringBuffer.toString(); } } 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 c1e64f047..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 @@ -43,7 +43,7 @@ public class PreparationDTO { private Date createTime; - private Integer franchiseBrand; + private String franchiseBrand; private Integer joinMode; 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 9ea93ba8a..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 @@ -118,7 +118,7 @@ public class ShopInfoDO { private Integer joinMode; @Column(name = "franchise_brand") - private Integer franchiseBrand; + private String franchiseBrand; @Column(name = "development_manager") private String developmentManager; 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 index cb63798f9..0f19dafa0 100644 --- 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 @@ -34,18 +34,16 @@ public class AddBranchShopRequest { @Max(3) @ApiModelProperty(" 加盟模式//'1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店',") private Integer joinMode; - @NotNull - @Min(1) - @Max(6) + @NotBlank @ApiModelProperty("'加盟品牌1,\"正新鸡排\",2,\"正新三明治\",3,\"正烧记\"4,\"大鼓米线\"5,\"串小妹\"6,\"茂掌柜\"'") - private Integer franchiseBrand; + private String franchiseBrand; @ApiModelProperty("督导") private String investmentManagerUserId; @NotNull @ApiModelProperty("所属大区") private Long regionId; - public ShopInfoDO toDO(AddBranchShopRequest request,String partnerId){ + public ShopInfoDO toDO(AddBranchShopRequest request, String partnerId) { ShopInfoDO shopInfoDO = new ShopInfoDO(); shopInfoDO.setLineId(request.getLineId()); shopInfoDO.setShopName(request.getShopName()); 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 index 9e54f9b14..9214a9030 100644 --- 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 @@ -5,6 +5,7 @@ import lombok.Data; import javax.validation.constraints.Max; import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** @@ -26,7 +27,7 @@ public class BranchShopDetailRequest { @Max(3) @ApiModelProperty("加盟模式 1-社会加盟模式/加盟部加盟店 2-强加盟模式/加盟公司加盟店 3-加盟公司自有店") private Integer joinMode; - @NotNull + @NotBlank @ApiModelProperty("加盟品牌") - private Integer franchiseBrand; + private String franchiseBrand; } 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 index 7e37273e6..c6f59039f 100644 --- 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 @@ -38,7 +38,7 @@ public class BranchShopDetailResponse { private Integer completionColumn; @ApiModelProperty("所属品牌 1,\"正新鸡排\",2,\"正新三明治\",3,\"正烧记\"4,\"大鼓米线\"5,\"串小妹\"6,\"茂掌柜\"") - private Integer franchiseBrand; + private String franchiseBrand; @ApiModelProperty("预估完成时间") private Date planCompletionTime; 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 b14a1a758..ddda13545 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 @@ -271,7 +271,7 @@ public class ShopServiceImpl implements ShopService { response.setShopName(shopInfo.getShopName()); response.setJoinMode(shopInfo.getJoinMode()); response.setShopCode(shopInfo.getShopCode()); - response.setFranchiseBrand(shopInfo.getFranchiseBrand()); + response.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(shopInfo.getFranchiseBrand())); if (CollectionUtils.isNotEmpty(shopContractActualCompletionTime)) { ScheduleDTO scheduleDTO = shopContractActualCompletionTime.get(CommonConstants.ZERO); response.setCompletionColumn(scheduleDTO.getCompletionColumn()); From c738cfebf7f01718507e37c03afb984b45ddbfcf Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 10 Jan 2025 18:03:54 +0800 Subject: [PATCH 09/79] fix --- .../src/main/java/com/cool/store/vo/shop/MiniShopPageVO.java | 2 +- .../main/java/com/cool/store/service/impl/ShopServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 6fa0f2590..f49234a1d 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 @@ -94,7 +94,7 @@ public class MiniShopPageVO { miniShopPageVO.setCompletionColumn(scheduleMap.getOrDefault(shopInfo.getId(),new ScheduleDTO()).getCompletionColumn()); miniShopPageVO.setPlanCompletionTime(scheduleMap.getOrDefault(shopInfo.getId(),new ScheduleDTO()).getPlanCompleteTime()); } - miniShopPageVO.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(shopInfo.getFranchiseBrand())); + miniShopPageVO.setFranchiseBrand(shopInfo.getFranchiseBrand()); miniShopPageVO.setJoinMode(JoinModeEnum.getByCode(shopInfo.getJoinMode())); if (Objects.nonNull(wantRegionMap)) { miniShopPageVO.setWantRegionName(wantRegionMap.get(shopInfo.getWantShopAreaId())); 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 ddda13545..b14a1a758 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 @@ -271,7 +271,7 @@ public class ShopServiceImpl implements ShopService { response.setShopName(shopInfo.getShopName()); response.setJoinMode(shopInfo.getJoinMode()); response.setShopCode(shopInfo.getShopCode()); - response.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(shopInfo.getFranchiseBrand())); + response.setFranchiseBrand(shopInfo.getFranchiseBrand()); if (CollectionUtils.isNotEmpty(shopContractActualCompletionTime)) { ScheduleDTO scheduleDTO = shopContractActualCompletionTime.get(CommonConstants.ZERO); response.setCompletionColumn(scheduleDTO.getCompletionColumn()); From 5d2afdf9c58c6cb5c57e2b06fb5ad82d710b0ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 10 Jan 2025 19:02:16 +0800 Subject: [PATCH 10/79] feat:V2.4 --- .../com/cool/store/enums/ErrorCodeEnum.java | 2 + .../java/com/cool/store/dao/LineInfoDAO.java | 9 ++ .../java/com/cool/store/dao/PointInfoDAO.java | 6 +- .../com/cool/store/dao/PointRecommendDAO.java | 46 +++++- .../java/com/cool/store/dao/ShopInfoDAO.java | 18 +++ .../com/cool/store/mapper/LineInfoMapper.java | 2 + .../cool/store/mapper/PointInfoMapper.java | 4 +- .../store/mapper/PointRecommendMapper.java | 31 +++- .../com/cool/store/mapper/ShopInfoMapper.java | 14 ++ .../main/resources/mapper/PointInfoMapper.xml | 2 +- .../resources/mapper/PointRecommendMapper.xml | 76 ++++++++- .../main/resources/mapper/ShopInfoMapper.xml | 40 +++++ .../resources/mapper/ShopStageInfoMapper.xml | 7 +- .../cool/store/dto/point/ShopCountDTO.java | 23 +++ .../cool/store/dto/point/ShopPointDTO.java | 31 ++++ .../cool/store/entity/PointRecommendDO.java | 3 + .../request/LineRecommendPointRequest.java | 8 +- .../store/request/MiniPointPageRequest.java | 4 +- .../request/PointRecommendLineRequest.java | 8 +- .../store/request/RejectPointRequest.java | 4 +- .../cool/store/request/TurnLineRequest.java | 4 +- .../cool/store/vo/point/MiniPointPageVO.java | 2 +- .../store/vo/shop/ShopPointBaseInfoVO.java | 119 ++++++++++++++ .../com/cool/store/service/DeskService.java | 47 +----- .../com/cool/store/service/PointService.java | 17 ++ .../store/service/PreparationService.java | 8 + .../com/cool/store/service/ShopService.java | 12 ++ .../store/service/impl/DeskServiceImpl.java | 132 ---------------- .../store/service/impl/PointServiceImpl.java | 147 ++++++++++++++---- .../service/impl/PreparationServiceImpl.java | 28 +++- .../store/service/impl/ShopServiceImpl.java | 81 ++++++++-- .../store/controller/webb/DeskController.java | 44 ------ .../controller/webb/PCShopController.java | 7 + .../controller/webb/PointController.java | 26 +++- .../controller/webc/MiniShopController.java | 4 - .../store/controller/webc/TestController.java | 8 + 36 files changed, 702 insertions(+), 322 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopCountDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/point/ShopPointDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index f94f79df3..c67313712 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 @@ -200,6 +200,8 @@ public enum ErrorCodeEnum { INVOICING_EXIST(109016, "当前门店发票信息已存在!", null), + SHOP_STATUS_NOT_SUPPORT_HANDLER(109016, "当前门店状态为:{},不能进行结束跟进操作", null), + INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null), INSERT_OPENING_OPERATION_PLAN_FALSE(103002,"插入运营方案失败",null), 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 49d6c41cb..ab123db41 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; @@ -204,4 +205,12 @@ public class LineInfoDAO { 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); + } + } 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 01051d323..e968c92f7 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,12 +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; @@ -193,5 +196,20 @@ 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 selectAllDataOrByShopId(Long shopId) { + return shopInfoMapper.selectAllDataOrByShopId(shopId); + } + + public Boolean batchUpdate(List list) { + if (CollectionUtils.isEmpty(list)){ + return Boolean.FALSE; + } + return shopInfoMapper.batchUpdate(list); + } } 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 2d5f31a78..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,6 +4,7 @@ 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; @@ -128,4 +129,5 @@ public interface LineInfoMapper extends Mapper { @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 e8ad0d596..8f2fd7cdb 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,10 +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; @@ -103,4 +105,16 @@ 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 selectAllDataOrByShopId(Long shopId); + + Boolean batchUpdate(List list); } 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 b8939b5c1..bd6d1ef73 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -332,5 +332,45 @@ + + + + + + + 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 25560bc9c..07d496a28 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -235,10 +235,7 @@ select * from xfsg_shop_stage_info a - - left join xfsg_line_info b on a.line_id = b.id - - + left join xfsg_shop_info si on a.shop_id = si.id @@ -258,7 +255,7 @@ - and b.investment_manager = #{investmentUserId} + and si.investment_manager = #{investmentUserId} and si.region_id in 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/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/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/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..54cc61fa3 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(shopIds -> { PointRecommendDO pointRecommendDO = new PointRecommendDO(); - pointRecommendDO.setLineId(lineId); + pointRecommendDO.setLineId(shopIds); 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/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/ShopPointBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java new file mode 100644 index 000000000..c275b8c74 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopPointBaseInfoVO.java @@ -0,0 +1,119 @@ +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; + + @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(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); + 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/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 31899faba..cfb2de692 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 @@ -68,4 +69,11 @@ public interface PreparationService { //阶段完成奢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 1e3124630..0dd1a10dd 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 @@ -87,8 +87,20 @@ public interface ShopService { * 修改门店招商专员/督导 */ Integer updateShopInvestment(Long shopId,String updateUserId,String userId); + + + /** + * 门店结束跟进 + * @param shopId + * @return + */ + Boolean shopClose(Long shopId); + + /** * 分店列表 */ PageInfo getBranchShopList(BranchShopRequest request, String userId); + + Boolean dataHandle(Long shopId); } 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 91dad8bfd..80e7dde16 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 @@ -104,98 +104,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 +156,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,10 +223,6 @@ 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) { @@ -401,10 +273,6 @@ 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) { 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 86cd7ac12..19e660e12 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; @@ -194,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); //铺位回退 @@ -204,7 +207,7 @@ public class PointServiceImpl implements PointService { //租赁合同回到未开始 Integer result = shopStageInfoDAO.updateShopStageToNotStarted(shopId, ShopSubStageEnum.SHOP_STAGE_2); if(result > CommonConstants.ZERO){ - //删除租赁合同 + //删除租赁合同 shopRentInfoDAO.deleteRentContractByShopId(shopId); } } @@ -455,6 +458,23 @@ 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 resultList = ShopPointBaseInfoVO.convertList(listByDevelopmentManager, userNameMap, userPortraitMap, cityMap, recommendShopNumMap); + PageInfo resultPage = new PageInfo(listByDevelopmentManager); + resultPage.setList(resultList); + return resultPage; + } + /** * 获取单个加盟商信息 * @param lineId @@ -553,6 +573,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(); @@ -583,7 +617,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()) || @@ -619,14 +653,14 @@ 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.getLineId())).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.getLineId())).map(PointRecommendDO::getLineId).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(shopIds)){ + shopIds.retainAll(request.getShopIds()); + if(CollectionUtils.isNotEmpty(shopIds)){ throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "请勿重复推送"); } } @@ -638,25 +672,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 @@ -697,7 +725,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); @@ -758,11 +786,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 { @@ -772,7 +799,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()); } @@ -808,6 +835,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()); @@ -1002,6 +1030,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/PreparationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java index 2f106dfb2..bea191f90 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 @@ -286,16 +286,28 @@ public class PreparationServiceImpl implements PreparationService { public void updateShopStatus(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); if (shopInfo.getShopStage().equals(ShopStatusEnum.ING.getCode())){ - Integer all = shopStageInfoDAO.allNumber(shopId, CommonConstants.ZERO); - Integer finish = shopStageInfoDAO.allNumber(shopId, CommonConstants.ONE); - if (all.equals(finish)){ - ShopInfoDO shopInfoDO = new ShopInfoDO(); - shopInfoDO.setId(shopId); - shopInfoDO.setShopStage(ShopStatusEnum.DONE.getCode()); - shopInfoDAO.updateShopInfo(shopInfoDO); - } + Map map= getShopStatus(Arrays.asList(shopId)); + Integer shopStatus = map.get(shopId); + ShopInfoDO shopInfoDO = new ShopInfoDO(); + shopInfoDO.setId(shopId); + shopInfoDO.setShopStage(shopStatus); + 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 b14a1a758..6b4168dd7 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 @@ -5,9 +5,11 @@ 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.*; import com.cool.store.enums.point.*; +import com.cool.store.enums.point.ShopStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.RegionMapper; import com.cool.store.request.*; @@ -24,12 +26,14 @@ 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 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; @@ -43,6 +47,7 @@ import static com.cool.store.enums.ErrorCodeEnum.UPDATE_INVESTMENT_MANAGER_FAIL; * @date 2024-04-11 10:26 */ @Service +@Slf4j public class ShopServiceImpl implements ShopService { @Resource private SysRoleService sysRoleService; @@ -74,6 +79,8 @@ public class ShopServiceImpl implements ShopService { private TransferLogService transferLogService; @Resource private RegionService regionService; + @Resource + PreparationService preparationService; @Override @@ -118,7 +125,7 @@ public class ShopServiceImpl implements ShopService { public List getShopList(Long lineId, String userId) { List authRegions = new ArrayList<>(); if (StringUtils.isNotBlank(userId) && !sysRoleService.checkIsAdmin(userId)) { - for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)) { + for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)){ authRegions.add(Long.valueOf(region)); } } @@ -201,8 +208,6 @@ 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); @@ -238,14 +243,9 @@ public class ShopServiceImpl implements ShopService { 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); - } - List shopList = shopInfoDAO.getShopList(lineInfo.getId()); - if (!CollectionUtils.isEmpty(shopList)) { - lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); - lineInfoDAO.updateLineInfo(lineInfo); - } + Integer wantShopNum = lineInfo.getWantShopNum() + 1; + lineInfo.setWantShopNum(wantShopNum); + lineInfoDAO.updateLineInfo(lineInfo); ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); @@ -313,6 +313,22 @@ public class ShopServiceImpl implements ShopService { return shopInfoDAO.updateShopInfo(shopInfo); } + @Override + public Boolean shopClose(Long shopId) { + log.info("shopClose shopId:{}", shopId); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (Objects.nonNull(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 (!sysRoleService.checkIsAdmin(userId)) { @@ -371,4 +387,47 @@ public class ShopServiceImpl implements ShopService { return new PageInfo<>(responses); } + + + /** + * 数据处理 + * @param shopId + * @return + */ + @Override + public Boolean dataHandle(Long shopId){ + log.info("------dataHandle start-----"); + boolean hasNext = true; + int pageNum = 1; + int pageSize = 50; + while (hasNext) { + PageHelper.startPage(pageNum, pageSize); + List shopInfoDOS = shopInfoDAO.selectAllDataOrByShopId(shopId); + if (CollectionUtils.isEmpty(shopInfoDOS)) { + log.info("------dataHandle end------"); + return Boolean.TRUE; + } + List lineIds = shopInfoDOS.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList()); + List lines = lineInfoDAO.getByLineIds(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()); + 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); + hasNext = shopInfoDOS.size() >= pageSize; + pageNum++; + } + return Boolean.TRUE; + } + + } 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/PCShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java index 172006084..aa9f09eef 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 @@ -123,4 +123,11 @@ public class PCShopController { String userId = CurrentUserHolder.getUserId(); return ResponseResult.success(shopService.getBranchShopList(request, userId)); } + + + @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/webc/MiniShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java index e2d8d5744..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 @@ -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..f91003828 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 @@ -21,6 +21,7 @@ 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.PointService; import com.cool.store.service.RegionService; import com.cool.store.utils.poi.ExcelUtil; import com.cool.store.utils.poi.StringUtils; @@ -259,6 +260,13 @@ public class TestController { } + @Resource + PointService pointService; + @GetMapping("/linePointToShopPoint") + public ResponseResult linePointToShopPoint(@RequestParam("shopId")Long shopId){ + return ResponseResult.success(pointService.linePointToShopPoint(shopId)); + } + } From 06e37e0e8959f5fb117a3cadf7b40b2dddf9c38a Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 13 Jan 2025 14:53:18 +0800 Subject: [PATCH 11/79] fix --- .../main/java/com/cool/store/dao/ShopInfoDAO.java | 4 ++-- .../com/cool/store/mapper/ShopInfoMapper.java | 2 +- .../src/main/resources/mapper/ShopInfoMapper.xml | 6 ++++++ .../com/cool/store/request/BranchShopRequest.java | 6 +----- .../cool/store/response/BranchShopResponse.java | 8 ++++---- .../store/service/impl/ExportServiceImpl.java | 2 ++ .../cool/store/service/impl/ShopServiceImpl.java | 9 +++++++-- .../store/controller/webb/PCShopController.java | 7 +------ .../controller/webb/PreparationController.java | 15 ++++++++++----- 9 files changed, 34 insertions(+), 25 deletions(-) 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 e968c92f7..e9a069b25 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 @@ -76,11 +76,11 @@ public class ShopInfoDAO { return shopInfoMapper.getShopList(lineId); } - public List getShopListByRegion(Long lineId,List regionIdList){ + public List getShopListByRegion(Long lineId,List regionIdList,String userId){ if(Objects.isNull(lineId)){ return new ArrayList<>(); } - return shopInfoMapper.getShopListByRegion(lineId,regionIdList); + return shopInfoMapper.getShopListByRegion(lineId,regionIdList,userId); } /** 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 8f2fd7cdb..770e2393f 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 @@ -39,7 +39,7 @@ public interface ShopInfoMapper extends Mapper { */ List getShopList(@Param("lineId") Long lineId); - List getShopListByRegion(@Param("lineId") Long lineId,@Param("list") List regions); + List getShopListByRegion(@Param("lineId") Long lineId,@Param("list") List regions,@Param("userId") String userId); /** * 店铺信息 diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index bd6d1ef73..c66f185a9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -330,6 +330,12 @@ #{item} + + and shop_status in (0,1) + + + and shop_status in (0,1,2) + - select * from xfsg_shop_info - - and id = #{shopId} + + and line_id = #{lineId} 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 0dd1a10dd..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 @@ -102,5 +102,5 @@ public interface ShopService { */ PageInfo getBranchShopList(BranchShopRequest request, String userId); - Boolean dataHandle(Long shopId); + Boolean dataHandler(Long shopId); } 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 77cce3b7b..c0accd2cb 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,5 +1,6 @@ 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; @@ -26,6 +27,7 @@ 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; @@ -213,6 +215,8 @@ 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); @@ -248,9 +252,14 @@ public class ShopServiceImpl implements ShopService { request.setInvestmentManagerUserId(userId); } LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); - Integer wantShopNum = lineInfo.getWantShopNum() + 1; - lineInfo.setWantShopNum(wantShopNum); - lineInfoDAO.updateLineInfo(lineInfo); + if (lineInfo.getWorkflowSubStageStatus() < WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()) { + throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); + } + List shopList = shopInfoDAO.getShopList(lineInfo.getId()); + if (CollectionUtils.isNotEmpty(shopList)) { + lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); + lineInfoDAO.updateLineInfo(lineInfo); + } ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); @@ -396,24 +405,24 @@ public class ShopServiceImpl implements ShopService { /** * 数据处理 - * @param shopId + * @param lineId * @return */ @Override - public Boolean dataHandle(Long shopId){ + 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.selectAllDataOrByShopId(shopId); + List shopInfoDOS = shopInfoDAO.selectAllDataOrByLineId(lineId); if (CollectionUtils.isEmpty(shopInfoDOS)) { log.info("------dataHandle end------"); return Boolean.TRUE; } - List lineIds = shopInfoDOS.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList()); - List lines = lineInfoDAO.getByLineIds(lineIds); + 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()); @@ -427,7 +436,8 @@ public class ShopServiceImpl implements ShopService { shopInfoDO.setInvestmentManager(lineInfoDO.getInvestmentManager()); shopInfoDO.setWantShopAreaId(lineInfoDO.getWantShopAreaId()); } - shopInfoDAO.batchUpdate(shopInfoDOS); + //shopInfoDAO.batchUpdate(shopInfoDOS); + log.info("------shopInfoDOS:{}------", JSONObject.toJSONString(shopInfoDOS)); hasNext = shopInfoDOS.size() >= pageSize; pageNum++; } 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 f91003828..ea3bcc3f9 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,10 +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.PointService; -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; @@ -262,11 +259,16 @@ public class TestController { @Resource PointService pointService; + @Resource + ShopService shopService; @GetMapping("/linePointToShopPoint") public ResponseResult linePointToShopPoint(@RequestParam("shopId")Long shopId){ return ResponseResult.success(pointService.linePointToShopPoint(shopId)); } - + @GetMapping("/dataHandler") + public ResponseResult dataHandler(@RequestParam("lineId")Long lineId){ + return ResponseResult.success(shopService.dataHandler(lineId)); + } } From 79bd4d68eb9e3ac18c5e4504565e1337dd6ae4db Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 11:33:00 +0800 Subject: [PATCH 15/79] fix --- .../main/java/com/cool/store/response/BranchShopResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 6eebc942e..dd7f15e08 100644 --- 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 @@ -17,7 +17,7 @@ public class BranchShopResponse { private Long shopId; private Long lineId; @ApiModelProperty("加盟商姓名") - private String userName; + private String username; @ApiModelProperty("加盟商手机号") private String mobile; @ApiModelProperty("门店名称") From 9651ced5a19b3f7ab640740632a7b96f09f53409 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 11:39:07 +0800 Subject: [PATCH 16/79] fix --- .../com/cool/store/service/impl/ExportRealizeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b8e0cf699..60bfec027 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 @@ -178,7 +178,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { } for (BranchShopResponse response :list){ ExportBranchShopDTO dto = new ExportBranchShopDTO(); - dto.setUserName(response.getUserName()); + dto.setUserName(response.getUsername()); dto.setMobile(response.getMobile()); dto.setShopName(response.getShopName()); dto.setShopCode(response.getShopCode()); From 85aeaa4243ccf9bd51a86cc17b9a1b8850bc7bdc Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 11:40:31 +0800 Subject: [PATCH 17/79] fix --- .../main/java/com/cool/store/service/impl/ShopServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c0accd2cb..3df3e8641 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 @@ -379,7 +379,7 @@ public class ShopServiceImpl implements ShopService { BranchShopResponse response = new BranchShopResponse(); response.setShopId(dto.getId()); response.setLineId(dto.getLineId()); - response.setUserName(dto.getUsername()); + response.setUsername(dto.getUsername()); response.setMobile(dto.getMobile()); response.setShopName(dto.getShopName()); response.setShopCode(dto.getShopCode()); From abbc26370fe51911d9e9ac6dc19c64e4cded2950 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 15:52:34 +0800 Subject: [PATCH 18/79] fix --- .../java/com/cool/store/controller/webb/PCShopController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 199695189..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 @@ -95,7 +95,7 @@ public class PCShopController { return ResponseResult.success(shopService.updateBranchShopDetail(request, userId)); } - @ApiOperation("修改门店招商专员/督导") + @ApiOperation("门店转让,修改门店招商专员/督导") @GetMapping("/updateShopInvestment") public ResponseResult updateShopInvestment(@RequestParam("shopId") Long shopId, @RequestParam("updateUserId") String updateUserId) { String userId = CurrentUserHolder.getUserId(); From 0df3a200159fa5e97e6461ce1b991cc4ba855bf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 14 Jan 2025 15:54:54 +0800 Subject: [PATCH 19/79] feat:V2.4 --- .../store/service/TransferLogService.java | 6 +++--- .../store/service/impl/LineServiceImpl.java | 2 +- .../store/service/impl/ShopServiceImpl.java | 7 +++++-- .../service/impl/TransferLogServiceImpl.java | 19 +++---------------- .../store/controller/webc/TestController.java | 4 ++-- 5 files changed, 14 insertions(+), 24 deletions(-) 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 5bcaf84b7..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 @@ -15,14 +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); - void addLog(ShopInfoDO shopInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum); PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId,Integer lineShopType); } 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 a2d3a2d40..7c1a95377 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 @@ -331,7 +331,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; } 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 3df3e8641..db7fdadae 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 @@ -318,7 +318,7 @@ public class ShopServiceImpl implements ShopService { if (updateUserId.equals(shopInfo.getInvestmentManager())) { throw new ServiceException(UPDATE_INVESTMENT_MANAGER_FAIL); } - transferLogService.addLog(shopInfo, shopInfo.getInvestmentManager(), updateUserId, OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_4); + transferLogService.addLog(shopInfo.getId(), shopInfo.getPartnerId(), shopInfo.getInvestmentManager(), updateUserId, OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_4); shopInfo.setUpdateTime(new Date()); shopInfo.setUpdateUserId(userId); shopInfo.setInvestmentManager(updateUserId); @@ -429,6 +429,9 @@ public class ShopServiceImpl implements ShopService { 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()); @@ -436,7 +439,7 @@ public class ShopServiceImpl implements ShopService { shopInfoDO.setInvestmentManager(lineInfoDO.getInvestmentManager()); shopInfoDO.setWantShopAreaId(lineInfoDO.getWantShopAreaId()); } - //shopInfoDAO.batchUpdate(shopInfoDOS); + shopInfoDAO.batchUpdate(shopInfoDOS); log.info("------shopInfoDOS:{}------", JSONObject.toJSONString(shopInfoDOS)); hasNext = shopInfoDOS.size() >= pageSize; pageNum++; 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 ecf587db1..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 @@ -26,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()); @@ -39,19 +39,6 @@ public class TransferLogServiceImpl implements TransferLogService { transferLogDAO.add(transferLogDO); } - @Override - public void addLog(ShopInfoDO shopInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum) { - TransferLogDO transferLogDO = new TransferLogDO(); - transferLogDO.setLineId(shopInfoDO.getId()); - transferLogDO.setPartnerId(shopInfoDO.getPartnerId()); - transferLogDO.setFromUserId(formUserId); - transferLogDO.setToUserId(toUserId); - transferLogDO.setType(operationLogTypeEnum.getCode()); - transferLogDO.setCreateUserId("create"); - transferLogDO.setUpdateUserId("update"); - // 添加操作日志 - transferLogDAO.add(transferLogDO); - } @Override public PageInfo getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId,Integer lineShopType) { 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 ea3bcc3f9..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 @@ -262,12 +262,12 @@ public class TestController { @Resource ShopService shopService; @GetMapping("/linePointToShopPoint") - public ResponseResult linePointToShopPoint(@RequestParam("shopId")Long shopId){ + public ResponseResult linePointToShopPoint(@RequestParam(value = "shopId",required = false)Long shopId){ return ResponseResult.success(pointService.linePointToShopPoint(shopId)); } @GetMapping("/dataHandler") - public ResponseResult dataHandler(@RequestParam("lineId")Long lineId){ + public ResponseResult dataHandler(@RequestParam(value = "lineId",required = false)Long lineId){ return ResponseResult.success(shopService.dataHandler(lineId)); } From a5747908e2f92797f6bccfbb2cdd8ea1d4b4e745 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 18:23:41 +0800 Subject: [PATCH 20/79] =?UTF-8?q?fix=20/getLines=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/service/LineService.java | 2 +- .../java/com/cool/store/service/impl/LineServiceImpl.java | 7 +++++-- .../com/cool/store/controller/webb/LineInfoController.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) 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 273547f6e..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 @@ -100,6 +100,6 @@ public interface LineService { String getPayPicByLineId(Long lineId); //增加查询资质审核的意向加盟商或正式加盟商搜索范围为全部 - List getLines(LinesRequest request); + PageInfo getLines(LinesRequest request); } 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 7c1a95377..774d2e105 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 @@ -498,9 +498,12 @@ public class LineServiceImpl implements LineService { } @Override - public List getLines(LinesRequest request) { + public PageInfo getLines(LinesRequest request) { PageHelper.startPage(request.getPageNum(), request.getPageSize()); - return lineInfoDAO.getLines(request.getKeyword()); + List lines = lineInfoDAO.getLines(request.getKeyword()); + PageInfo pageInfo = new PageInfo<>(lines); + + return pageInfo; } /** 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 1f3f51055..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 @@ -176,7 +176,7 @@ public class LineInfoController { @ApiOperation("查询加盟商") @PostMapping("/getLines") - public ResponseResult> getLines(@RequestBody LinesRequest request) { + public ResponseResult> getLines(@RequestBody LinesRequest request) { return ResponseResult.success(lineService.getLines(request)); } } From a98828529a2fb2be674fb24f65fbb78eca4b51f5 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 14 Jan 2025 18:48:40 +0800 Subject: [PATCH 21/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A0=B9=E6=8D=AE=E6=84=8F=E5=90=91=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/HyOpenAreaInfoDAO.java | 7 +++ .../store/mapper/HyOpenAreaInfoMapper.java | 2 + .../resources/mapper/HyOpenAreaInfoMapper.xml | 57 +++++++++++-------- .../main/resources/mapper/ShopInfoMapper.xml | 7 +++ .../cool/store/request/BranchShopRequest.java | 4 +- .../store/response/BranchShopResponse.java | 5 +- .../impl/ExportRealizeServiceImpl.java | 4 +- .../store/service/impl/ShopServiceImpl.java | 11 +++- 8 files changed, 66 insertions(+), 31 deletions(-) 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 8c4155d9c..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 @@ -174,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/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/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index f15afeae2..0edd56b56 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/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 4b78f4d9f..215441918 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -318,6 +318,13 @@ and a.shop_status = #{request.shopStatus} + + and a.want_shop_area_id in + + #{wantShopAreaId} + + order by a.update_time desc select id from xfsg_open_area_info where 1=1 - parent_id in + and parent_id in #{parentId} diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 215441918..e4d8219c1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -309,14 +309,23 @@ - - and a.join_mode = #{request.joinMode} + + and a.join_mode in + + #{item} + - - and a.franchise_brand = #{request.franchiseBrand} + + and a.franchise_brand in + + #{item} + - - and a.shop_status = #{request.shopStatus} + + and a.shop_status in + + #{item} + and a.want_shop_area_id in 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 index a64c48a91..d67bfaf43 100644 --- 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 @@ -26,11 +26,11 @@ public class BranchShopRequest extends PageBasicInfo{ @ApiModelProperty("意向开店区域") private List wantShopAreaId; @ApiModelProperty("加盟模式") - private Integer joinMode; + private List joinMode; @ApiModelProperty("加盟品牌") - private Integer franchiseBrand; + private List franchiseBrand; @ApiModelProperty("开店状态") - private Integer shopStatus; + private List shopStatus; @ApiModelProperty("计划开业日期开始") private Date openTimeStart; @ApiModelProperty("计划开业日期结束") From 33db0a92eecd51144b7cb52f253ffc0ae09262f3 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 09:54:27 +0800 Subject: [PATCH 23/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/ShopServiceImpl.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) 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 b0dbfbce0..28347ac16 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 @@ -132,11 +132,11 @@ public class ShopServiceImpl implements ShopService { public List getShopList(Long lineId, String userId) { List authRegions = new ArrayList<>(); if (StringUtils.isNotBlank(userId) && !sysRoleService.checkIsAdmin(userId)) { - for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)){ + for (String region : userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)) { authRegions.add(Long.valueOf(region)); } } - List shopList = shopInfoDAO.getShopListByRegion(lineId, authRegions,userId); + 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); @@ -331,11 +331,11 @@ public class ShopServiceImpl implements ShopService { public Boolean shopClose(Long shopId) { log.info("shopClose shopId:{}", shopId); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); - if (Objects.nonNull(shopInfo)){ + if (Objects.nonNull(shopInfo)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } //只有跟进中才能结束跟进 - if (ShopStatusEnum.ING.getCode()!=shopInfo.getShopStatus()){ + if (ShopStatusEnum.ING.getCode() != shopInfo.getShopStatus()) { throw new ServiceException(ErrorCodeEnum.SHOP_STATUS_NOT_SUPPORT_HANDLER, ShopStatusEnum.getDesc(shopInfo.getShopStatus())); } shopInfo.setShopStatus(ShopStatusEnum.ABANDON.getCode()); @@ -358,7 +358,7 @@ public class ShopServiceImpl implements ShopService { request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds())); } } - if (CollectionUtils.isNotEmpty(request.getWantShopAreaId())){ + if (CollectionUtils.isNotEmpty(request.getWantShopAreaId())) { List childrenListByParentIds = hyOpenAreaInfoDAO.getChildrenListByParentIds(request.getWantShopAreaId()); childrenListByParentIds.addAll(request.getWantShopAreaId()); request.setWantShopAreaAllIds(childrenListByParentIds); @@ -389,9 +389,11 @@ public class ShopServiceImpl implements ShopService { response.setShopName(dto.getShopName()); response.setShopCode(dto.getShopCode()); response.setRegionName(regionNameMap.getOrDefault(dto.getRegionId(), "")); - response.setFranchiseBrand(Arrays.stream(dto.getFranchiseBrand().split(",")) - .map(Integer::parseInt) - .collect(Collectors.toList())); + if (StringUtils.isNotBlank(dto.getFranchiseBrand())) { + response.setFranchiseBrand(Arrays.stream(dto.getFranchiseBrand().split(",")) + .map(Integer::parseInt) + .collect(Collectors.toList())); + } response.setJoinMode(dto.getJoinMode()); response.setWantRegionName(wantRegionMap.getOrDefault(dto.getWantShopAreaId(), "")); response.setPlanOpenTime(dto.getPlanOpenTime()); @@ -416,7 +418,7 @@ public class ShopServiceImpl implements ShopService { * @return */ @Override - public Boolean dataHandler(Long lineId){ + public Boolean dataHandler(Long lineId) { log.info("------dataHandle start-----"); boolean hasNext = true; int pageNum = 1; @@ -436,7 +438,7 @@ public class ShopServiceImpl implements ShopService { Map shopStatus = preparationService.getShopStatus(shopIds); for (ShopInfoDO shopInfoDO : shopInfoDOS) { LineInfoDO lineInfoDO = lineMap.get(shopInfoDO.getLineId()); - if (lineInfoDO == null){ + if (lineInfoDO == null) { continue; } shopInfoDO.setDevelopmentManager(lineInfoDO.getDevelopmentManager()); From cffd9d86247f92c6dbac2edbb77a0b062f7e6775 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 09:57:19 +0800 Subject: [PATCH 24/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ExportRealizeServiceImpl.java | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) 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 22c862c07..028e4a9a1 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 @@ -112,7 +112,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { Map userInfoMap = enterpriseUserDAO.getUserInfoMap(new ArrayList<>(userIds)); List openActivityActualCompletionTime = shopStageInfoDAO.getOpenActivityActualCompletionTime(shopIds); Map openActivityStageMap; - if (openActivityActualCompletionTime !=null){ + if (openActivityActualCompletionTime != null) { openActivityStageMap = openActivityActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); } else { openActivityStageMap = new HashMap<>(); @@ -130,13 +130,13 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { 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())) { + 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()); + 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()); + } 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)); } @@ -167,16 +167,16 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { List exportList = new ArrayList<>(); List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); - Map signFranchiseMap = new HashMap<>(); - if (signFranchises != null ) { - signFranchiseMap= signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId,Function.identity())); + Map signFranchiseMap = new HashMap<>(); + if (signFranchises != null) { + signFranchiseMap = signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, Function.identity())); } List invoicingDOList = invoicingDAO.listByShopIds(shopIds); - Map InvoicingMap = new HashMap<>(); + Map InvoicingMap = new HashMap<>(); if (invoicingDOList != null) { - InvoicingMap = invoicingDOList.stream().collect(Collectors.toMap(InvoicingDO::getShopId,Function.identity())); + InvoicingMap = invoicingDOList.stream().collect(Collectors.toMap(InvoicingDO::getShopId, Function.identity())); } - for (BranchShopResponse response :list){ + for (BranchShopResponse response : list) { ExportBranchShopDTO dto = new ExportBranchShopDTO(); dto.setUserName(response.getUsername()); dto.setMobile(response.getMobile()); @@ -184,13 +184,15 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setShopCode(response.getShopCode()); dto.setRegionName(response.getRegionName()); dto.setJoinMode(JoinModeEnum.getByCode(response.getJoinMode())); - dto.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(response.getFranchiseBrand().stream().map(Object::toString).collect(Collectors.joining(",")))); + if (CollectionUtils.isNotEmpty(response.getFranchiseBrand())) { + dto.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(response.getFranchiseBrand().stream().map(Object::toString).collect(Collectors.joining(",")))); + } 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())); + dto.setContractStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractStartTime())); + dto.setContractEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractEndTime())); } InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); if (invoicingDO != null) { @@ -204,14 +206,14 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setDesignFeeTax(invoicingDO.getDesignServiceFeeTax().toString()); dto.setDesignFee(invoicingDO.getDesignServiceFee().toString()); } - dto.setCurrentProgress(response.getCompletionColumn()+"/"+response.getTotalColumn()); + dto.setCurrentProgress(response.getCompletionColumn() + "/" + response.getTotalColumn()); dto.setShopStatus(response.getShopStatus()); - dto.setPlanOpenTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1,response.getPlanOpenTime())); + dto.setPlanOpenTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, response.getPlanOpenTime())); dto.setOpenDuration(response.getDays()); 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) { + } catch (Throwable e) { flag = Boolean.FALSE; log.error("fileUpload upload err, originFileName={}", FileTypeEnum.BRANCH_SHOP_LIST.getDesc(), e); throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); From d1975cb87ebe619a7337ddfd8f51529a52488f9d Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 11:04:33 +0800 Subject: [PATCH 25/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/response/BranchShopDetailResponse.java | 3 ++- .../main/java/com/cool/store/service/impl/ShopServiceImpl.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) 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 index c6f59039f..a095831b9 100644 --- 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 @@ -55,5 +55,6 @@ public class BranchShopDetailResponse { @ApiModelProperty("意向开店区域") private String wantRegionName; - + @ApiModelProperty("门店状态:0.跟进中 1.已完成 2.已放弃") + private Integer shopStatus; } 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 28347ac16..329095c50 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 @@ -285,6 +285,7 @@ public class ShopServiceImpl implements ShopService { 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); From d1bcd2c5586caa3d5e1757414edd6ebe3a68d313 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 11:35:29 +0800 Subject: [PATCH 26/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/response/BranchShopResponse.java | 2 +- .../cool/store/service/impl/ExportRealizeServiceImpl.java | 4 +--- .../java/com/cool/store/service/impl/ShopServiceImpl.java | 6 +----- 3 files changed, 3 insertions(+), 9 deletions(-) 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 index 3ba6b2962..55538d454 100644 --- 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 @@ -28,7 +28,7 @@ public class BranchShopResponse { @ApiModelProperty("所属大区") private String regionName; @ApiModelProperty("所属品牌") - private List franchiseBrand; + private String franchiseBrand; @ApiModelProperty("加盟模式") private Integer joinMode; @ApiModelProperty("意向开店区域") 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 028e4a9a1..3abe6cbed 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 @@ -184,9 +184,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setShopCode(response.getShopCode()); dto.setRegionName(response.getRegionName()); dto.setJoinMode(JoinModeEnum.getByCode(response.getJoinMode())); - if (CollectionUtils.isNotEmpty(response.getFranchiseBrand())) { - dto.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(response.getFranchiseBrand().stream().map(Object::toString).collect(Collectors.joining(",")))); - } + dto.setFranchiseBrand(FranchiseBrandEnum.getDescByCode(response.getFranchiseBrand())); dto.setInvestmentManager(response.getInvestmentManagerName()); SignFranchiseDO signFranchiseDO = signFranchiseMap.get(response.getShopId()); if (signFranchiseDO != null) { 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 329095c50..25fb753f1 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 @@ -390,11 +390,7 @@ public class ShopServiceImpl implements ShopService { response.setShopName(dto.getShopName()); response.setShopCode(dto.getShopCode()); response.setRegionName(regionNameMap.getOrDefault(dto.getRegionId(), "")); - if (StringUtils.isNotBlank(dto.getFranchiseBrand())) { - response.setFranchiseBrand(Arrays.stream(dto.getFranchiseBrand().split(",")) - .map(Integer::parseInt) - .collect(Collectors.toList())); - } + response.setFranchiseBrand(dto.getFranchiseBrand()); response.setJoinMode(dto.getJoinMode()); response.setWantRegionName(wantRegionMap.getOrDefault(dto.getWantShopAreaId(), "")); response.setPlanOpenTime(dto.getPlanOpenTime()); From fb07cdabcda2285d8b9f188ade00e643a86f1edb Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 13:42:56 +0800 Subject: [PATCH 27/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/response/BranchShopDetailResponse.java | 8 +++++++- .../java/com/cool/store/service/impl/ShopServiceImpl.java | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) 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 index a095831b9..e2ad5540f 100644 --- 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 @@ -49,12 +49,18 @@ public class BranchShopDetailResponse { @ApiModelProperty("招商经理userId") private String investmentManagerId; - @ApiModelProperty("所属大区") + @ApiModelProperty("所属大区name") private String regionName; + @ApiModelProperty("所属大区id") + private Long regionId; + @ApiModelProperty("意向开店区域") private String wantRegionName; + @ApiModelProperty("意向开店区域id") + private Long wantRegionId; + @ApiModelProperty("门店状态:0.跟进中 1.已完成 2.已放弃") private Integer shopStatus; } 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 25fb753f1..581e26584 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 @@ -295,6 +295,8 @@ public class ShopServiceImpl implements ShopService { } response.setInvestmentManagerId(shopInfo.getInvestmentManager()); response.setInvestmentManagerName(invest.getName()); + response.setRegionId(shopInfo.getRegionId()); + response.setWantRegionId(shopInfo.getWantShopAreaId()); response.setRegionName(shopRegion.getName()); response.setWantRegionName(wantShopArea); return response; From c266ec0253c0eb8d11cff86674d522272f0dd024 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 15:12:51 +0800 Subject: [PATCH 28/79] =?UTF-8?q?fix=20=E5=BC=80=E5=BA=97=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/response/BranchShopDetailResponse.java | 4 +++- .../java/com/cool/store/service/impl/ShopServiceImpl.java | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) 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 index e2ad5540f..93e23172f 100644 --- 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 @@ -58,8 +58,10 @@ public class BranchShopDetailResponse { @ApiModelProperty("意向开店区域") private String wantRegionName; - @ApiModelProperty("意向开店区域id") + @ApiModelProperty("意向开店区域市id") private Long wantRegionId; + @ApiModelProperty("意向开店区域省id") + private Long wantRegionParentId; @ApiModelProperty("门店状态:0.跟进中 1.已完成 2.已放弃") private Integer shopStatus; 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 581e26584..e6020a4e1 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 @@ -278,6 +278,7 @@ public class ShopServiceImpl implements ShopService { 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()); @@ -299,6 +300,7 @@ public class ShopServiceImpl implements ShopService { response.setWantRegionId(shopInfo.getWantShopAreaId()); response.setRegionName(shopRegion.getName()); response.setWantRegionName(wantShopArea); + response.setWantRegionParentId(hyOpenAreaInfoDO.getParentId()); return response; } From e39607382cc732f952366951ec3f9130f6797f17 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 15 Jan 2025 17:14:07 +0800 Subject: [PATCH 29/79] =?UTF-8?q?fix=20=E6=84=8F=E5=90=91=E5=8A=A0?= =?UTF-8?q?=E7=9B=9F=E9=98=B6=E6=AE=B5=E5=AE=8C=E6=88=90=E5=AF=B9=E9=97=A8?= =?UTF-8?q?=E5=BA=97=E9=98=B6=E6=AE=B5=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/ShopStageInfoDAO.java | 174 +++-- .../store/mapper/ShopStageInfoMapper.java | 1 + .../resources/mapper/ShopStageInfoMapper.xml | 712 +++++++++--------- .../impl/IntentAgreementServiceImpl.java | 25 +- .../store/service/impl/ShopServiceImpl.java | 6 +- 5 files changed, 509 insertions(+), 409 deletions(-) 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 29fe46fde..8940ec4dc 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,14 @@ public class ShopStageInfoDAO { ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum(); shopStageInfo.setShopStage(shopStageEnum.getShopStage()); shopStageInfo.setShopSubStage(shopSubStageEnum.getShopSubStage()); - ShopSubStageStatusEnum initStatus = shopSubStageEnum.getInitStatus(); + ShopSubStageStatusEnum initStatus; + if (flag) { + initStatus = shopSubStageEnum.getInitStatus(); + } else { + initStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00; + } 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 +75,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 +98,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 +110,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 +149,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,7 +172,7 @@ 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(); @@ -182,6 +190,34 @@ public class ShopStageInfoDAO { return shopStageInfoMapper.batchUpdateShopStageStatus(shopId, shopStageList); } + + /** + * 批量更新店铺状态 + * @param shopIds + * @param subStageStatusList + * @return + */ + public Integer batchUpdateByShopIdsAndSubStageStatus(List shopIds, List subStageStatusList) { + if (Objects.isNull(shopIds) || CollectionUtils.isEmpty(subStageStatusList)) { + return CommonConstants.ZERO; + } + List shopStageList = Lists.newArrayList(); + for (Long shopId : shopIds) { + for (ShopSubStageStatusEnum subStageStatus : subStageStatusList) { + String remark = subStageStatus.getShopSubStageName() + CommonConstants.PATH_BAR + subStageStatus.getShopSubStageStatusName(); + ShopStageInfoDO shopStageInfo = new ShopStageInfoDO(); + shopStageInfo.setShopId(shopId); + shopStageInfo.setShopSubStage(subStageStatus.getShopSubStageEnum().getShopSubStage()); + shopStageInfo.setShopSubStageStatus(subStageStatus.getShopSubStageStatus()); + shopStageInfo.setRemark(remark); + shopStageInfo.setIsTerminated(subStageStatus.isTerminated()); + shopStageList.add(shopStageInfo); + } + } + + return shopStageInfoMapper.batchUpdateByShopIdsAndSubStageStatus(shopIds, shopStageList); + } + /** * 更新子阶段到未开始状态 * @param shopId @@ -189,7 +225,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,49 +238,51 @@ 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)){ + 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 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)){ + public List getOpenActivityActualCompletionTime(List shopIdList) { + if (CollectionUtils.isEmpty(shopIdList)) { return new ArrayList<>(); } return shopStageInfoMapper.getOpenActivityActualCompletionTime(shopIdList); @@ -256,53 +294,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 +352,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,12 +386,28 @@ 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); + 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()); + return shopStageInfoMapper.selectByExample(example); } } 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 4a361fad3..a553e32c9 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); /** * 更新阶段及审核信息 diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml index 07d496a28..c82482963 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -1,367 +1,391 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - 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} + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + From 9764974aa9f610a1b817a903e514056cbe5f91ee Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 21 Jan 2025 16:13:11 +0800 Subject: [PATCH 47/79] fix initShop --- .../java/com/cool/store/request/BranchShopDetailRequest.java | 2 +- .../java/com/cool/store/service/impl/ShopServiceImpl.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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 index 404145b9d..c1d58962c 100644 --- 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 @@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull; */ @Data public class BranchShopDetailRequest { - + @NotNull private Long shopId; @ApiModelProperty("加盟意向区域") private Long wantShopAreaId; 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 e4c040a87..0f093fcae 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 @@ -104,6 +104,10 @@ 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)); From 780a31323a6d64348ce9e76634b9feeada4da0ab Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Tue, 21 Jan 2025 16:20:08 +0800 Subject: [PATCH 48/79] fix initShop --- .../cool/store/service/impl/IntentAgreementServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b5db3c5e5..79e9e5476 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 @@ -150,7 +150,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten updateLine.setUpdateUserId(userId); lineInfoDAO.updateLineInfo(updateLine); //初始化店铺 - shopService.initShop(lineInfo); + shopService.initShop(updateLine); // 批量获取线索下门店的选址未开始的数据 List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); @@ -219,7 +219,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten updateLine.setUpdateUserId(user.getUserId()); lineInfoDAO.updateLineInfo(updateLine); //初始化店铺 - shopService.initShop(lineInfo); + shopService.initShop(updateLine); // 批量获取线索下门店的选址未开始的数据 List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); From 2580837cc470eb236452db739786a884c90c8747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 21 Jan 2025 17:33:19 +0800 Subject: [PATCH 49/79] =?UTF-8?q?feat:=E6=8E=A8=E9=80=81=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/service/impl/PointServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0f0d80727..d317206bc 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 @@ -657,7 +657,7 @@ 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.getShopIds().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, "推送失败,铺位已被选"); } From f4b3178c19b796287e7116c628b63ae567459600 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 22 Jan 2025 09:51:29 +0800 Subject: [PATCH 50/79] fix initShop --- .../impl/IntentAgreementServiceImpl.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) 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 79e9e5476..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 @@ -142,15 +142,14 @@ 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(updateLine); + shopService.initShop(lineInfo); // 批量获取线索下门店的选址未开始的数据 List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); @@ -211,15 +210,14 @@ 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(updateLine); + shopService.initShop(lineInfo); // 批量获取线索下门店的选址未开始的数据 List stages = shopStageInfoDAO.getByLineIdAndSubStage(lineInfo.getId()); List shopIds = stages.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); From 1c6c2de8c0c617bfc3792d200729d1fd0cd928a7 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 22 Jan 2025 10:17:57 +0800 Subject: [PATCH 51/79] fix initShop --- .../src/main/resources/mapper/ShopInfoMapper.xml | 6 ++++-- .../java/com/cool/store/service/impl/ShopServiceImpl.java | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 092dfdc8a..4df75ca25 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -39,10 +39,12 @@ - insert into xfsg_shop_info(region_id, line_id, partner_id, shop_name, store_num,supervisor_user_id) values + 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.storeNum},#{shop.supervisorUserId},#{shop.createTime},#{shop.joinMode},#{shop.franchiseBrand},#{shop.developmentManager}, + #{shop.wantShopAreaId},#{shop.investmentManager}) 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 0f093fcae..aedbfc77d 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 @@ -111,6 +111,8 @@ public class ShopServiceImpl implements ShopService { 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); From f849e6f82d507bfab911ee9bdcd5d6a005c00527 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 22 Jan 2025 10:39:15 +0800 Subject: [PATCH 52/79] fix getBranchShopList --- .../main/java/com/cool/store/service/impl/ShopServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 aedbfc77d..b8ab038f2 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 @@ -363,7 +363,7 @@ public class ShopServiceImpl implements ShopService { @Override public PageInfo getBranchShopList(BranchShopRequest request, String userId) { - if (request.getFlag().equals(CommonConstants.ZERO)) { + if (request.getFlag().equals(CommonConstants.TWO)) { if (!sysRoleService.checkIsAdmin(userId)) { request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId)); if (CollectionUtils.isEmpty(request.getAuthRegionIds())) { From 07cd613e32db9fd659fccc999255cc99d36cd1d1 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 22 Jan 2025 11:31:08 +0800 Subject: [PATCH 53/79] fix getBranchShopList --- .../src/main/resources/mapper/ShopInfoMapper.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 4df75ca25..79098bccb 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -312,9 +312,9 @@ - and a.franchise_brand in - - #{item} + and + + FIND_IN_SET(#{item}, a.franchise_brand)>0 From 58d571f1a4a6ac5ce532c719051b3030c8f2f16d Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 22 Jan 2025 11:43:29 +0800 Subject: [PATCH 54/79] fix addBranchShop --- .../com/cool/store/request/AddBranchShopRequest.java | 1 - .../com/cool/store/service/impl/ShopServiceImpl.java | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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 index 0f19dafa0..89556b61d 100644 --- 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 @@ -23,7 +23,6 @@ public class AddBranchShopRequest { @NotNull private Long lineId; @ApiModelProperty("门店名称") - @NotBlank private String shopName; @ApiModelProperty("意向开店区域") @NotNull 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 b8ab038f2..c1581ffa5 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 @@ -261,12 +261,19 @@ public class ShopServiceImpl implements ShopService { if (lineInfo.getWorkflowSubStageStatus() < WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()) { throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); } + ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); List shopList = shopInfoDAO.getShopList(lineInfo.getId()); if (CollectionUtils.isNotEmpty(shopList)) { + if (StringUtils.isBlank(request.getShopName())) { + shopInfoDO.setShopName("店铺" + NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum()+1)); + } lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); lineInfoDAO.updateLineInfo(lineInfo); + }else { + if (StringUtils.isBlank(request.getShopName())) { + shopInfoDO.setShopName("店铺" + NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum())); + } } - ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); if (lineInfo.getWorkflowSubStageStatus().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode())) { From 492f2999ee0ddcc5454105e8f24c55b41cf0c228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 22 Jan 2025 14:04:57 +0800 Subject: [PATCH 55/79] feat:addBranchShop --- .../com/cool/store/request/AddBranchShopRequest.java | 9 ++++++--- .../com/cool/store/service/impl/ShopServiceImpl.java | 9 +-------- 2 files changed, 7 insertions(+), 11 deletions(-) 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 index 89556b61d..ead6dbea7 100644 --- 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 @@ -1,10 +1,13 @@ 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; @@ -42,10 +45,10 @@ public class AddBranchShopRequest { @ApiModelProperty("所属大区") private Long regionId; - public ShopInfoDO toDO(AddBranchShopRequest request, String partnerId) { + public ShopInfoDO toDO(AddBranchShopRequest request, LineInfoDO lineInfo) { ShopInfoDO shopInfoDO = new ShopInfoDO(); shopInfoDO.setLineId(request.getLineId()); - shopInfoDO.setShopName(request.getShopName()); + 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()); @@ -56,7 +59,7 @@ public class AddBranchShopRequest { shopInfoDO.setCreateTime(new Date()); shopInfoDO.setShopStatus(ShopStatusEnum.ING.getCode()); shopInfoDO.setShopStage(ShopStageEnum.SHOP_STAGE_1.getShopStage()); - shopInfoDO.setPartnerId(partnerId); + shopInfoDO.setPartnerId(lineInfo.getPartnerId()); shopInfoDO.setFranchiseBrand(request.getFranchiseBrand()); return shopInfoDO; } 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 c1581ffa5..98d095650 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 @@ -261,18 +261,11 @@ public class ShopServiceImpl implements ShopService { if (lineInfo.getWorkflowSubStageStatus() < WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()) { throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); } - ShopInfoDO shopInfoDO = request.toDO(request, lineInfo.getPartnerId()); + ShopInfoDO shopInfoDO = request.toDO(request, lineInfo); List shopList = shopInfoDAO.getShopList(lineInfo.getId()); if (CollectionUtils.isNotEmpty(shopList)) { - if (StringUtils.isBlank(request.getShopName())) { - shopInfoDO.setShopName("店铺" + NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum()+1)); - } lineInfo.setWantShopNum(lineInfo.getWantShopNum() + 1); lineInfoDAO.updateLineInfo(lineInfo); - }else { - if (StringUtils.isBlank(request.getShopName())) { - shopInfoDO.setShopName("店铺" + NumberConverter.convertArabicToChinese(lineInfo.getWantShopNum())); - } } shopInfoDO.setCreateUserId(userId); Long shopId = shopInfoDAO.addShopInfo(shopInfoDO); From ca3303d898338853fb7b6d80a5c2ca60c437dfa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 22 Jan 2025 15:53:56 +0800 Subject: [PATCH 56/79] feat:shopId --- .../src/main/java/com/cool/store/enums/FileTypeEnum.java | 2 +- .../com/cool/store/request/PointRecommendLineRequest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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 69ac696bf..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,7 +14,7 @@ public enum FileTypeEnum { MY_FRANCHISEES("my_franchisees","我的加盟商"), TEAM_FRANCHISEES("team_franchisees","团队加盟商"), PREPARATION("preparation","进度管理"), - BRANCH_SHOP_LIST("branchShopList","开店列表") + BRANCH_SHOP_LIST("branchShopList","开店管理") ; private String fileType; private String desc; 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 54cc61fa3..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 @@ -33,9 +33,9 @@ public class PointRecommendLineRequest { if(Objects.isNull(this.shopIds) || CollectionUtils.isEmpty(this.shopIds) || Objects.isNull(pointId)){ return Lists.newArrayList(); } - return this.shopIds.stream().map(shopIds -> { + return this.shopIds.stream().map(shopId -> { PointRecommendDO pointRecommendDO = new PointRecommendDO(); - pointRecommendDO.setLineId(shopIds); + pointRecommendDO.setShopId(shopId); pointRecommendDO.setDevelopmentManager(this.developmentManager); pointRecommendDO.setPointId(pointId); pointRecommendDO.setStatus(PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode()); From a3b3a835e0d535e4bf60fd339cfa07d2dc26915a Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 23 Jan 2025 14:43:30 +0800 Subject: [PATCH 57/79] =?UTF-8?q?fix=20=E8=AE=A1=E5=88=92=E5=BC=80?= =?UTF-8?q?=E4=B8=9A=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ShopInfoMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 79098bccb..a71b33fe9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -275,7 +275,7 @@ b.username as username, b.mobile as mobile, a.investment_manager as investmentManager, - DATE_ADD(b.create_time, INTERVAL 50 DAY) as planOpenTime, + DATE_ADD(a.create_time, INTERVAL 50 DAY) as planOpenTime, a.create_time as createTime, a.join_mode as joinMode, a.franchise_brand as franchiseBrand, From 172572106bfda6017790271878eafa56953d1618 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 23 Jan 2025 15:45:27 +0800 Subject: [PATCH 58/79] fix updateShopStatus --- .../com/cool/store/service/impl/PreparationServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 bea191f90..feec4b25d 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 @@ -285,12 +285,12 @@ public class PreparationServiceImpl implements PreparationService { @Override public void updateShopStatus(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); - if (shopInfo.getShopStage().equals(ShopStatusEnum.ING.getCode())){ + if (shopInfo.getShopStatus().equals(ShopStatusEnum.ING.getCode())){ Map map= getShopStatus(Arrays.asList(shopId)); Integer shopStatus = map.get(shopId); ShopInfoDO shopInfoDO = new ShopInfoDO(); shopInfoDO.setId(shopId); - shopInfoDO.setShopStage(shopStatus); + shopInfoDO.setShopStatus(shopStatus); shopInfoDAO.updateShopInfo(shopInfoDO); } } From 78af1e29d5a47e137c9cb9d7d203e5f7a077973d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 6 Feb 2025 10:02:38 +0800 Subject: [PATCH 59/79] =?UTF-8?q?fix:=E9=93=BA=E4=BD=8D=E6=8E=A8=E9=80=81b?= =?UTF-8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ShopInfoMapper.xml | 2 +- .../main/java/com/cool/store/service/impl/PointServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index a71b33fe9..9bb9f0f9e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -366,7 +366,7 @@ b.mobile as mobile, b.investment_manager as investmentManager from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id - where a.deleted = 0 and a.development_manager = #{request.developmentManager} and shop_status in (0, 1) + where a.deleted = 0 and a.development_manager = #{request.developmentManager} and shop_status in (0, 1) and point_id is null and (b.username like concat('%', #{request.keyword}, '%') or b.mobile like concat('%', #{request.keyword}, '%')) 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 d317206bc..9e8f751dc 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 @@ -661,7 +661,7 @@ public class PointServiceImpl implements PointService { if(CollectionUtils.isNotEmpty(recommendList)){ throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "推送失败,铺位已被选"); } - List shopIds = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus())).filter(o->request.getShopIds().contains(o.getLineId())).map(PointRecommendDO::getLineId).collect(Collectors.toList()); + 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)){ shopIds.retainAll(request.getShopIds()); if(CollectionUtils.isNotEmpty(shopIds)){ From a109c20c3474cf1ed406fa5ae14916ea17db818f Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 6 Feb 2025 10:17:36 +0800 Subject: [PATCH 60/79] =?UTF-8?q?fix=20pointRecommendLine=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/PointServiceImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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 9e8f751dc..373bb5648 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 @@ -661,14 +661,13 @@ public class PointServiceImpl implements PointService { if(CollectionUtils.isNotEmpty(recommendList)){ throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "推送失败,铺位已被选"); } - 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)){ - shopIds.retainAll(request.getShopIds()); + 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); } From c87a934bde6b9fc3c5a2a522459a609b6cea400c Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 7 Feb 2025 10:51:38 +0800 Subject: [PATCH 61/79] =?UTF-8?q?=E5=BC=80=E5=BA=97=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/mapper/FranchiseFeeMapper.java | 8 +- .../resources/mapper/FranchiseFeeMapper.xml | 10 +++ .../cool/store/dto/ExportBranchShopDTO.java | 3 + .../store/service/ExportRealizeService.java | 2 +- .../com/cool/store/service/ExportService.java | 1 - .../impl/ExportRealizeServiceImpl.java | 76 ++----------------- .../store/service/impl/ExportServiceImpl.java | 37 +-------- 7 files changed, 28 insertions(+), 109 deletions(-) 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 168ef8396..13229c1b4 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,10 +1,16 @@ package com.cool.store.mapper; 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); - + @MapKey("shopId") + Map getPayTimeByShopIds(@Param("shopIds") List shopIds); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml index f5df125cd..e6af0d5f1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml @@ -9,4 +9,14 @@ order by create_time desc limit 1 + \ 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 index bfd5c6e0d..da809ab43 100644 --- 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 @@ -110,5 +110,8 @@ public class ExportBranchShopDTO { @ColumnWidth(30) private String openDuration; + @ExcelProperty(value = "缴费时间",order = 24) + @ColumnWidth(30) + private String payTime; } 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 31941bd5b..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 @@ -16,6 +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 400998fa7..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,7 +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/impl/ExportRealizeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java index 3abe6cbed..7e33a0d83 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 @@ -14,10 +14,7 @@ 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.SignFranchiseMapper; +import com.cool.store.mapper.*; import com.cool.store.request.InitiatingRequest; import com.cool.store.response.BranchShopResponse; import com.cool.store.service.*; @@ -54,7 +51,7 @@ import static com.cool.store.utils.poi.DateUtils.*; @Slf4j public class ExportRealizeServiceImpl implements ExportRealizeService { @Resource - private InvoicingDAO invoicingDAO; + private FranchiseFeeMapper franchiseFeeMapper; @Resource private ImportTaskMapper importTaskMapper; @Autowired @@ -93,71 +90,8 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { @Autowired private RegionDao regionDao; - @Async - @Override - public void preparationList(List preparationDTOS, 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 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)); - } - result.add(dto1); - }); - url = easyExcelUtil.exportExcel(PreparationScheduleDTO.class, result, null, FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date())); - } catch (Throwable e) { - flag = Boolean.FALSE; - log.error("fileUpload upload err, originFileName={}", FileTypeEnum.PREPARATION.getDesc(), e); - throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR); - } finally { - if (flag) { - importTaskDO.setStatus(ImportStatusEnum.success.getCode()); - importTaskDO.setFileUrl(url); - } else { - importTaskDO.setStatus(ImportStatusEnum.fail.getCode()); - } - importTaskMapper.update(eid, importTaskDO); - } - } - + @Resource + private InvoicingDAO invoicingDAO; @Override @Async public void branchShopList(List list, ImportTaskDO importTaskDO) { @@ -167,6 +101,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { List exportList = new ArrayList<>(); List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); + Map payTimeByShopIds = franchiseFeeMapper.getPayTimeByShopIds(shopIds); Map signFranchiseMap = new HashMap<>(); if (signFranchises != null) { signFranchiseMap = signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, Function.identity())); @@ -192,6 +127,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setContractStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractStartTime())); dto.setContractEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractEndTime())); } + dto.setPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, payTimeByShopIds.get(response.getShopId()))); InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); if (invoicingDO != null) { dto.setInvoicingTime(invoicingDO.getInvoiceDate()); 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 82a7b900b..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 @@ -73,42 +73,7 @@ public class ExportServiceImpl implements ExportService { private ShopService shopService; - //原先进度管理接口废弃,使用branchShopList - @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); - } else { - result = preparationDTOS; - } - ImportTaskDO importTaskDO = new ImportTaskDO(); - importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode()); - importTaskDO.setFileName(FileTypeEnum.PREPARATION.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date())); - importTaskDO.setIsImport(Boolean.FALSE); - importTaskDO.setFileType(FileTypeEnum.PREPARATION.getFileType()); - importTaskDO.setCreateUserId(request.getCurUserId()); - importTaskDO.setCreateTime(new Date().getTime()); - importTaskDO.setCreateName(loginUserInfo.getName()); - importTaskMapper.insert(eid, importTaskDO); - exportRealizeService.preparationList(result, importTaskDO); - return result.size(); - } + @Override public Long branchShopList(BranchShopRequest request, LoginUserInfo user) { From 279ab0e0d44ab4b9eaaf856e8d2d618e0170b5a4 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 7 Feb 2025 14:40:11 +0800 Subject: [PATCH 62/79] =?UTF-8?q?=E5=BC=80=E5=BA=97=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/mapper/FranchiseFeeMapper.java | 5 +++-- .../resources/mapper/FranchiseFeeMapper.xml | 5 +++-- .../com/cool/store/dto/FranchiseFeeDTO.java | 19 +++++++++++++++++++ .../impl/ExportRealizeServiceImpl.java | 13 ++++++++++--- 4 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java 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 13229c1b4..2fbc5a424 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,5 +1,6 @@ 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; @@ -11,6 +12,6 @@ import java.util.Map; public interface FranchiseFeeMapper extends Mapper { FranchiseFeeDO selectByShopId(@Param("shopId") Long shopId); - @MapKey("shopId") - Map getPayTimeByShopIds(@Param("shopIds") List shopIds); + + List getPayTimeByShopIds(@Param("shopIds") List shopIds); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml index e6af0d5f1..bfd01f793 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml @@ -9,14 +9,15 @@ order by create_time desc limit 1 - select a.shop_id AS shopId , b.pay_time as payTime from xfsg_franchise_fee a - LEFT JOIN xfsg_line_pay b ON b.id = a.pay_id; + LEFT JOIN xfsg_line_pay b ON b.id = a.pay_id where a.shop_id in #{shopId} + \ No newline at end of file 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..e74b5a50a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java @@ -0,0 +1,19 @@ +package com.cool.store.dto; + +import lombok.Data; + +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; +} 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 7e33a0d83..2a921c927 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 @@ -6,6 +6,7 @@ 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; @@ -101,7 +102,10 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { List exportList = new ArrayList<>(); List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); - Map payTimeByShopIds = franchiseFeeMapper.getPayTimeByShopIds(shopIds); + List payTimeByShopIds = franchiseFeeMapper.getPayTimeByShopIds(shopIds); + Map payTimeMap = payTimeByShopIds.stream().filter(o -> o.getPayTime() != null) + .filter(o -> o.getShopId() != null) + .collect(Collectors.toMap(FranchiseFeeDTO::getShopId, FranchiseFeeDTO::getPayTime)); Map signFranchiseMap = new HashMap<>(); if (signFranchises != null) { signFranchiseMap = signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, Function.identity())); @@ -127,8 +131,11 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setContractStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractStartTime())); dto.setContractEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractEndTime())); } - dto.setPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, payTimeByShopIds.get(response.getShopId()))); - InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); + Date payTime = payTimeMap.get(response.getShopId()); + if (Objects.nonNull(payTime)){ + dto.setPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1,payTime)); + } + InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); if (invoicingDO != null) { dto.setInvoicingTime(invoicingDO.getInvoiceDate()); dto.setManagementFeeTax(invoicingDO.getManagementFeeTax().toString()); From 8b7b15aea16c4b422e25519f1ca2db3d80383067 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 7 Feb 2025 18:00:04 +0800 Subject: [PATCH 63/79] =?UTF-8?q?fix=20=E5=B1=95=E7=A4=BA=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=8B=9B=E5=95=86=E4=B8=93=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/ShopInfoDAO.java | 7 ++++ .../com/cool/store/mapper/ShopInfoMapper.java | 2 + .../main/resources/mapper/ShopInfoMapper.xml | 9 ++++ .../store/service/impl/LineServiceImpl.java | 42 ++++++++++++++----- 4 files changed, 50 insertions(+), 10 deletions(-) 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 ba6721d8d..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 @@ -212,4 +212,11 @@ public class ShopInfoDAO { } 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/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java index c068e7a4a..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 @@ -117,4 +117,6 @@ public interface ShopInfoMapper extends Mapper { List selectAllDataOrByLineId(@Param("lineId") Long lineId); Boolean batchUpdate(List list); + + List selectInvestmentByList (@Param("list") List list); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 9bb9f0f9e..7e5345236 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -381,6 +381,15 @@ + 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 bd97b83d4..f28d2e5f8 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,19 @@ public class LineServiceImpl implements LineService { if (regionNameMap!=null){ partnerListVO.setRegionName(regionNameMap.get(x.getRegionId())); } + StringBuilder investmentManagerUserName = new StringBuilder(); + investmentManagerUserName.append(userNameMap.get(x.getInvestmentManager())); + if (investmentManagerIdMapByLineId.get(x.getId()) != null){ + for (String s : investmentManagerIdMapByLineId.get(x.getId())){ + investmentManagerUserName.append(",").append(userNameMap.get(s)); + } + } 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()); partnerListVO.setUpdateUserName(userNameMap.get(x.getUpdateUserId())); partnerListVO.setDevelopmentManagerUserName(userNameMap.get(x.getDevelopmentManager())); partnerListVO.setWantShopNum(x.getWantShopNum()); From a3a253523929278c43e44dc701b7960a54863451 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 7 Feb 2025 18:05:44 +0800 Subject: [PATCH 64/79] =?UTF-8?q?fix=20=E5=B1=95=E7=A4=BA=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=8B=9B=E5=95=86=E4=B8=93=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/LineServiceImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 f28d2e5f8..eff66cf62 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 @@ -291,11 +291,10 @@ public class LineServiceImpl implements LineService { partnerListVO.setRegionName(regionNameMap.get(x.getRegionId())); } StringBuilder investmentManagerUserName = new StringBuilder(); - investmentManagerUserName.append(userNameMap.get(x.getInvestmentManager())); - if (investmentManagerIdMapByLineId.get(x.getId()) != null){ - for (String s : investmentManagerIdMapByLineId.get(x.getId())){ - investmentManagerUserName.append(",").append(userNameMap.get(s)); - } + Set userIdSet = investmentManagerIdMapByLineId.get(x.getId()); + userIdSet.add(x.getInvestmentManager()); + for (String s : userIdSet) { + investmentManagerUserName.append(",").append(userNameMap.get(s)); } partnerListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime())); partnerListVO.setLineSourceName(channelMapByIds.get(x.getLineSource())); From f16678104b6fcdd799bdfbc9e19ef064e974c0c3 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 7 Feb 2025 18:08:21 +0800 Subject: [PATCH 65/79] =?UTF-8?q?fix=20=E5=B1=95=E7=A4=BA=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=8B=9B=E5=95=86=E4=B8=93=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/LineServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 eff66cf62..8331ca4cb 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 @@ -294,14 +294,14 @@ public class LineServiceImpl implements LineService { Set userIdSet = investmentManagerIdMapByLineId.get(x.getId()); userIdSet.add(x.getInvestmentManager()); for (String s : userIdSet) { - investmentManagerUserName.append(",").append(userNameMap.get(s)); + 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(investmentManagerUserName.toString()); + 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()); From f3af0c7704629d20d24210c87316c57c1337ec78 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 10 Feb 2025 14:01:29 +0800 Subject: [PATCH 66/79] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E7=BC=B4=E7=BA=B3=E5=8A=A0=E7=9B=9F=E8=B4=B9=E5=88=86?= =?UTF-8?q?=E9=85=8D=E7=BB=99=E5=88=86=E9=83=A8=E5=86=85=E5=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/enums/UserRoleEnum.java | 1 + .../java/com/cool/store/service/impl/DeskServiceImpl.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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-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 80e7dde16..207a9dd20 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; @@ -226,8 +227,12 @@ public class DeskServiceImpl implements DeskService { @Override public PageInfo payFranchiseFeesPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { + List userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId()); + if (CollectionUtils.isEmpty(userRoleIds)|| !userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode())){ + return new PageInfo<>(); + } PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, - Arrays.asList(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.FALSE); + Arrays.asList(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.TRUE); List list = pageInfo.getList(); if (CollectionUtils.isEmpty(list)){ return pageInfo; From 5485835abfeead1a157bd35fe8550622c277ac39 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 10 Feb 2025 15:08:25 +0800 Subject: [PATCH 67/79] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=BC=80?= =?UTF-8?q?=E5=BA=97=E7=AE=A1=E7=90=86=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/FranchiseFeeMapper.xml | 8 +- .../cool/store/dto/ExportBranchShopDTO.java | 97 ++++++++++++++----- .../com/cool/store/dto/FranchiseFeeDTO.java | 13 +++ .../impl/ExportRealizeServiceImpl.java | 27 ++++-- 4 files changed, 113 insertions(+), 32 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml index bfd01f793..303df5a83 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml @@ -11,7 +11,13 @@ + \ No newline at end of file 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 3bc4abc08..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 @@ -65,13 +65,13 @@ public class AuditOpeningOperationPlanImpl implements AuditOpeningOperationPlanS Boolean flag = Boolean.FALSE; if(OpeningOperationPlanResultTypeEnum.PASS_AUDIT.getCode().equals(request.getResultType())){ shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143; - preparationService.updateShopStatus(request.getShopId()); flag = Boolean.TRUE; }else { shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_142; } 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 2080532b4..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 @@ -652,7 +652,6 @@ public class DecorationServiceImpl implements DecorationService { acceptanceInfoDO.setCreateTime(new Date()); acceptanceInfoDAO.insertSelectiveAcceptanceInfo(acceptanceInfoDO); } - preparationService.updateShopStatus(shopId); shopStageInfoDAO.batchUpdateShopStageStatus(shopId, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121)); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfo.getLineId()); 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/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 373bb5648..8b9a79553 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 @@ -968,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); + preparationService.updateShopStatus(request.getShopId()); + return CommonConstants.ONE; } @Override 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 feec4b25d..84940656c 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 @@ -286,11 +286,12 @@ public class PreparationServiceImpl implements PreparationService { public void updateShopStatus(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); if (shopInfo.getShopStatus().equals(ShopStatusEnum.ING.getCode())){ - Map map= getShopStatus(Arrays.asList(shopId)); - Integer shopStatus = map.get(shopId); + ScheduleDTO scheduleAll = shopStageInfoDAO.getScheduleAll(shopId); ShopInfoDO shopInfoDO = new ShopInfoDO(); + if (scheduleAll.getTotalColumn().equals(scheduleAll.getCompletionColumn())){ + shopInfoDO.setShopStatus(ShopStatusEnum.DONE.getCode()); + } shopInfoDO.setId(shopId); - shopInfoDO.setShopStatus(shopStatus); shopInfoDAO.updateShopInfo(shopInfoDO); } } From ac01c4009f5a56559b5a585c228548c4e0990b61 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 13 Feb 2025 20:00:31 +0800 Subject: [PATCH 77/79] =?UTF-8?q?fix=20=E9=97=A8=E5=BA=97=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PreparationServiceImpl.java | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) 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 84940656c..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 @@ -95,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<>(); } @@ -119,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()); @@ -195,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); @@ -218,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); } } } @@ -230,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); } } } @@ -254,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); @@ -262,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); } } } @@ -285,26 +285,27 @@ public class PreparationServiceImpl implements PreparationService { @Override public void updateShopStatus(Long shopId) { ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); - if (shopInfo.getShopStatus().equals(ShopStatusEnum.ING.getCode())){ + 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()); - } + 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) { + 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()); + 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; From e76e09b18bdcb3a5091c0c18aaebb0c2df4ba17d Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 13 Feb 2025 20:16:05 +0800 Subject: [PATCH 78/79] =?UTF-8?q?fix=20=E9=97=A8=E5=BA=97=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ShopStageInfoMapper.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml index 1abc96196..faac662f6 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -402,9 +402,9 @@ select shop_id as shopId, max(plan_complete_time) as planCompleteTime, - count(1) as totalColumn, - sum(if(is_terminated = 1 , 1, 0)) as completionColumn - from xfsg_shop_stage_info where + count(1)-1 as totalColumn, + sum(if(is_terminated = 1 and shop_sub_stage!=85, 1, 0)) as completionColumn + from xfsg_shop_stage_info where shop_stage = 2 and shop_id = #{shopId} From f1e49fab7a6524c9af2fa09c8e2c52be8f49937d Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 13 Feb 2025 20:22:56 +0800 Subject: [PATCH 79/79] =?UTF-8?q?fix=20=E9=97=A8=E5=BA=97=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/service/impl/PointServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8b9a79553..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 @@ -969,7 +969,7 @@ public class PointServiceImpl implements PointService { // } } shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, subStageStatus, auditId); - preparationService.updateShopStatus(request.getShopId()); + return CommonConstants.ONE; }