From 31e6e8a1a276826e5d7aa97f545fa7bd6924512e Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 4 Nov 2024 19:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E5=93=81=E7=89=8C=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/FranchiseBrandEnum.java | 26 ++++++++++++++++ .../java/com/cool/store/dao/LineInfoDAO.java | 8 ++--- .../com/cool/store/mapper/LineInfoMapper.java | 4 +-- .../main/resources/mapper/LineInfoMapper.xml | 13 ++++---- .../com/cool/store/entity/LineInfoDO.java | 3 +- .../cool/store/request/LineListRequest.java | 4 +++ .../cool/store/request/PartnerRequest.java | 5 +++- .../cool/store/request/UpdateLineRequest.java | 7 +++-- .../java/com/cool/store/vo/BaseInfoVO.java | 3 +- .../java/com/cool/store/vo/LineInfoVO.java | 1 + .../impl/JoinIntentionServiceImpl.java | 30 +++++++++---------- .../store/service/impl/LineServiceImpl.java | 27 ++++++++++++----- .../controller/webb/LineInfoController.java | 4 +++ 13 files changed, 95 insertions(+), 40 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java 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 new file mode 100644 index 000000000..f8e5dfb5b --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseBrandEnum.java @@ -0,0 +1,26 @@ +package com.cool.store.enums;/** + * @Author: WangShuo + * @Date: 2024/11/04/下午7:00 + * @Version 1.0 + * @注释: + */ +public enum FranchiseBrandEnum { + ZXJP(1,"正新鸡排"), + ZXSMZ(2,"正新三明治"), + ZJS(3,"正烧记"), + DGMX(4,"大鼓米线"), + CXM(5,"串小妹"), + MZG(6,"茂掌柜"); + private int code; + private String desc; + FranchiseBrandEnum(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/LineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java index b767d48df..33fa7c2e0 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 @@ -123,13 +123,13 @@ public class LineInfoDAO { return lineInfo; } - public List lineList(LineListRequest lineListRequest,String wantShopAreaName, String userId, List wantShopAreaIds) { - List lineInfo = lineInfoMapper.lineList(lineListRequest,wantShopAreaName,userId,wantShopAreaIds); + public List lineList(LineListRequest lineListRequest,String wantShopAreaName, String userId, List regionIds) { + List lineInfo = lineInfoMapper.lineList(lineListRequest,wantShopAreaName,userId,regionIds); return lineInfo; } - public List partnerList(PartnerRequest partnerRequest,String wantShopAreaName, String userId, List wantShopAreaIds) { - List lineInfo = lineInfoMapper.partnerList(partnerRequest,wantShopAreaName,userId,wantShopAreaIds); + public List partnerList(PartnerRequest partnerRequest,String wantShopAreaName, String userId, List regionIds) { + List lineInfo = lineInfoMapper.partnerList(partnerRequest,wantShopAreaName,userId,regionIds); return lineInfo; } 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 fc5a4b865..50f7a54cf 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 @@ -47,12 +47,12 @@ public interface LineInfoMapper extends Mapper { List lineList(@Param("request") LineListRequest lineListRequest, @Param("wantShopAreaName") String wantShopAreaName, @Param("userId") String userId, - @Param("wantShopAreaIds") List wantShopAreaIds); + @Param("regionIds") List regionIds); List partnerList(@Param("request") PartnerRequest partnerRequest, @Param("wantShopAreaName") String wantShopAreaName, @Param("userId") String userId, - @Param("wantShopAreaIds") List wantShopAreaIds); + @Param("regionIds") List regionIds); /** diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 1b997e1e8..0b4cf7e87 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -32,6 +32,7 @@ + INSERT INTO xfsg_line_info @@ -437,9 +438,9 @@ and a.investment_manager = #{request.investmentManagerUserId} - - - #{wantShopAreaId} + + + #{regionId} order by a.id desc @@ -472,9 +473,9 @@ and a.development_manager = #{request.queryUserId} - - - #{wantShopAreaId} + + + #{regionId} order by a.id desc diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java index e13344004..dcb89ba14 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java @@ -175,5 +175,6 @@ public class LineInfoDO { @Column(name = "join_mode") private Integer joinMode; - + @Column(name = "franchise_brand") + private Integer franchiseBrand; } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java index 1d8364a88..ab131891e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import io.swagger.models.auth.In; import lombok.Data; +import java.util.List; + /** * @Author suzhuhong * @Date 2024/3/27 16:32 @@ -18,6 +20,8 @@ public class LineListRequest extends PageBasicInfo { private String userName; @ApiModelProperty("线索手机号") private String mobile; + @ApiModelProperty("所属区域") + private List regionIds; @ApiModelProperty("关键字") private String keyword; @ApiModelProperty("线索子阶段") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerRequest.java index 050ee037e..cc7d06007 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerRequest.java @@ -4,6 +4,8 @@ import com.cool.store.common.PageBasicInfo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @Author suzhuhong * @Date 2024/4/1 11:21 @@ -12,7 +14,8 @@ import lombok.Data; @Data public class PartnerRequest extends PageBasicInfo { - + @ApiModelProperty("所属区域") + private List regionIds; @ApiModelProperty("加密状态 1-蓄水池 2-正式") private Integer joinStatus; @ApiModelProperty("加盟上姓名或者手机号") 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 b0f4bba98..2212bf35e 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 @@ -21,12 +21,15 @@ public class UpdateLineRequest { private String lineName; @ApiModelProperty("加盟意向区域") private Long wantShopAreaId; - + @ApiModelProperty("所属区域") + private Long regionId; @NotNull @Min(1) @Max(2) @ApiModelProperty("加盟模式 1-社会加盟 2-强加盟") private Integer joinMode; - + @NotNull + @ApiModelProperty("加盟品牌") + private Integer franchiseBrand; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java index 3daad6ac6..c0059250c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java @@ -12,7 +12,8 @@ import java.util.List; */ @Data public class BaseInfoVO { - + @ApiModelProperty("所属区域") + private String regionName; @ApiModelProperty("线索ID") private Long lineId; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java index da3d91e42..781023e2a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java @@ -228,5 +228,6 @@ public class LineInfoVO { private Long bigRegionId; + private Integer franchiseBrand; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 8be0a0c44..d6ef017a1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -76,26 +76,26 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt lineInfoParam.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); lineInfoParam.setWorkflowSubStage(WorkflowSubStageEnum.INTEND.getCode()); lineInfoParam.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.INTENT_5.getCode()); - if ((Objects.nonNull(request.getAreaCode()) && Objects.nonNull(lineInfoDO) && StringUtils.isBlank(lineInfoDO.getInvestmentManager())) || (Objects.isNull(lineInfoDO))) { - EnterpriseUserDO userByRoleNameAndAreaId = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.SUPERVISION, Long.valueOf(request.getAreaCode())); - lineInfoParam.setInvestmentManager(userByRoleNameAndAreaId.getUserId()); - } - lineInfoParam.setLineStatus(1); +// if ((Objects.nonNull(request.getAreaCode()) && Objects.nonNull(lineInfoDO) && StringUtils.isBlank(lineInfoDO.getInvestmentManager())) || (Objects.isNull(lineInfoDO))) { +// EnterpriseUserDO userByRoleNameAndAreaId = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.SUPERVISION, Long.valueOf(request.getAreaCode())); +// lineInfoParam.setInvestmentManager(userByRoleNameAndAreaId.getUserId()); +// } + lineInfoParam.setLineStatus(0); //强加盟 前期不确定意向区域 - if (lineInfoParam.getWantShopAreaId() != null&&lineInfoDO.getJoinMode()==1) { - Long regionId = regionAreaConfigDao.getByWantShopAreaId(lineInfoParam.getWantShopAreaId()); - lineInfoParam.setRegionId(regionId); - } +// if (lineInfoParam.getWantShopAreaId() != null&&lineInfoDO.getJoinMode()==1) { +// Long regionId = regionAreaConfigDao.getByWantShopAreaId(lineInfoParam.getWantShopAreaId()); +// lineInfoParam.setRegionId(regionId); +// } lineInfoDAO.insertOrUpdate(lineInfoParam); QualificationsInfoDO qualificationsInfoDO = request.toQualificationsInfoDO(); qualificationsInfoDAO.insertOrUpdate(qualificationsInfoDO); - Map requestMap = new HashMap<>(); - requestMap.put("partnerUsername", lineInfoParam.getUsername()); - requestMap.put("partnerMobile", lineInfoParam.getMobile()); - requestMap.put("lineId", String.valueOf(lineInfoParam.getId())); - HyOpenAreaInfoDO openAreaInfoDO = openAreaInfoMapper.selectById(lineInfoParam.getWantShopAreaId()); - requestMap.put("regionName", openAreaInfoDO.getAreaName()); +// Map requestMap = new HashMap<>(); +// requestMap.put("partnerUsername", lineInfoParam.getUsername()); +// requestMap.put("partnerMobile", lineInfoParam.getMobile()); +// requestMap.put("lineId", String.valueOf(lineInfoParam.getId())); +// HyOpenAreaInfoDO openAreaInfoDO = openAreaInfoMapper.selectById(lineInfoParam.getWantShopAreaId()); +// requestMap.put("regionName", openAreaInfoDO.getAreaName()); //工作通知后面对接企业微信 // commonService.sendMessage(Collections.singletonList(lineInfoParam.getInvestmentManager()), // MessageEnum.MESSAGE_29, 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 3c65ad7d2..b70a51379 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 @@ -30,6 +30,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @Author suzhuhong @@ -163,11 +164,15 @@ public class LineServiceImpl implements LineService { List userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList()); userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getUpdateUserId() != null).map(LineInfoDO::getUpdateUserId).collect(Collectors.toList())); Map userNameMap = enterpriseUserDAO.getUserNameMap(userIds); - + List regionIds = lineInfoDOS.stream().filter(x -> x.getRegionId() != null).map(LineInfoDO::getRegionId).collect(Collectors.toList()); + Map regionNameMap = regionDao.getRegionNameMap(regionIds); List result = new ArrayList<>(); lineInfoDOS.forEach(x->{ BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); LineListVO lineListVO = new LineListVO(baseInfoVO); + if (regionNameMap!=null){ + lineListVO.setRegionName(regionNameMap.get(x.getRegionId())); + } lineListVO.setCreateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getCreateTime())); lineListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime())); lineListVO.setLineSourceName(channelMapByIds.get(x.getLineSource())); @@ -194,7 +199,6 @@ public class LineServiceImpl implements LineService { userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getCreateUserId() != null).map(LineInfoDO::getCreateUserId).collect(Collectors.toList())); userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getDevelopmentManager() != null).map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList())); Map userNameMap = enterpriseUserDAO.getUserNameMap(userIds); - List result = new ArrayList<>(); lineInfoDOS.forEach(x->{ BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); @@ -215,15 +219,17 @@ public class LineServiceImpl implements LineService { @Override public PageInfo getPartnerList(PartnerRequest partnerRequest, LoginUserInfo loginUserInfo, Boolean teamFlag) { - List wantShopAreaIds = new ArrayList<>(); + List regionId = new ArrayList<>(); String userId = null; if(!teamFlag){ userId = loginUserInfo.getUserId(); } if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())){ - List list = userAuthMappingService.listWantShopAreaIdByUserId(loginUserInfo.getUserId()); + List list = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(loginUserInfo.getUserId()); if (CollectionUtils.isNotEmpty(list)){ - wantShopAreaIds = list; + for (String s : list){ + regionId.add(Long.valueOf(s)); + } }else { userId = loginUserInfo.getUserId(); } @@ -234,7 +240,7 @@ public class LineServiceImpl implements LineService { areaName = hyOpenAreaInfoDO.getAreaPath(); } PageHelper.startPage(partnerRequest.getPageNum(), partnerRequest.getPageSize()); - List lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, wantShopAreaIds); + List lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, regionId); PageInfo page = new PageInfo(lineInfoDOS); Map userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); List wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); @@ -252,6 +258,8 @@ public class LineServiceImpl implements LineService { List signingBaseInfoDOS = intentAgreementMapper.selectByLineIds(lineIds); Map dateMap = signingBaseInfoDOS.stream().collect(Collectors.toMap(SigningBaseInfoDO::getLineId, SigningBaseInfoDO::getCreateTime)); + List regionIds = lineInfoDOS.stream().filter(x -> x.getRegionId() != null).map(LineInfoDO::getRegionId).collect(Collectors.toList()); + Map regionNameMap = regionDao.getRegionNameMap(regionIds); List result = new ArrayList<>(); lineInfoDOS.forEach(x->{ BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap); @@ -260,6 +268,9 @@ public class LineServiceImpl implements LineService { if (date != null){ partnerListVO.setJoinTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, date)); } + if (regionNameMap!=null){ + partnerListVO.setRegionName(regionNameMap.get(x.getId())); + } partnerListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime())); partnerListVO.setLineSourceName(channelMapByIds.get(x.getLineSource())); partnerListVO.setJoinStatus(x.getJoinStatus()); @@ -332,9 +343,9 @@ public class LineServiceImpl implements LineService { if (lineInfo==null){ throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } + lineInfo.setFranchiseBrand(updateLineRequest.getFranchiseBrand()); lineInfo.setJoinMode(updateLineRequest.getJoinMode()); - Long regionId = regionAreaConfigDao.getByWantShopAreaId(updateLineRequest.getWantShopAreaId()); - lineInfo.setRegionId(regionId); + lineInfo.setRegionId(updateLineRequest.getRegionId()); lineInfo.setWantShopAreaId(updateLineRequest.getWantShopAreaId()); lineInfo.setUsername(updateLineRequest.getLineName()); lineInfo.setUpdateTime(new Date()); 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 1d7868f43..915d8cd51 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 @@ -3,6 +3,7 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; import com.cool.store.dto.TransferLogDTO; +import com.cool.store.entity.LineInfoDO; import com.cool.store.enums.point.PayBusinessTypeEnum; import com.cool.store.request.*; import com.cool.store.response.ResponseResult; @@ -19,6 +20,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Author suzhuhong