From 0750d68809990790503fb2f08933b031aefa0722 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Wed, 21 Jun 2023 15:14:13 +0800 Subject: [PATCH 1/2] update --- .../com/cool/store/utils/CoolDateUtils.java | 1 + .../com/cool/store/dao/EnterpriseUserDAO.java | 7 +++ .../com/cool/store/dao/HyOpenAreaInfoDAO.java | 4 +- .../mapper/HyPartnerLineInfoMapper.xml | 2 +- .../mapper/HyPartnerUserInfoMapper.xml | 5 +- .../store/vo/PartnerIntentApplyInfoVO.java | 39 ++++++++++++++- .../com/cool/store/vo/PartnerLineInfoVO.java | 50 ++++++++++++++++--- .../cool/store/vo/PrivateSeaLineListVo.java | 2 +- .../store/handler/CustomExceptionHandler.java | 3 +- .../impl/HyPartnerIntentInfoServiceImpl.java | 33 ++---------- .../impl/HyPartnerLineInfoServiceImpl.java | 18 +++---- 11 files changed, 106 insertions(+), 58 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java index f11237ce8..487f69744 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java @@ -25,6 +25,7 @@ public class CoolDateUtils { public static final String DATE_FORMAT_SEC_4 = "yyyy.MM.dd HH:mm"; public static final String DATE_FORMAT_SEC_5 = "yyyy.MM.dd HH:mm"; public static final String DATE_FORMAT_SEC_6 = "yyyy.MM.dd"; + public static final String DATE_FORMAT_SEC_7 = "yyyy/MM/dd HH:mm"; /** * 几天后的当前 * @param d 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 0454438ca..6ff692687 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 @@ -10,6 +10,8 @@ import org.springframework.stereotype.Repository; import javax.annotation.Resource; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author zhangchenbiao @@ -98,4 +100,9 @@ public class EnterpriseUserDAO { } return enterpriseUserMapper.getUserListByRegionIds(regionIds); } + + public Map getUserNameAndMobile(List userIds){ + List userList = getUserInfoByUserIds(userIds); + return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile(), o.getName())).collect(Collectors.toMap(k -> k.getUserId(), v -> v.getName() + " " + v.getMobile())); + } } \ No newline at end of file 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 e07e9391c..da0cbf0c2 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 @@ -89,12 +89,12 @@ public class HyOpenAreaInfoDAO { return hyOpenAreaInfoMapper.selectByIds(ids); } - public Map selectNameMapByIds(List ids){ + public Map selectNameMapByIds(List ids){ if (CollectionUtils.isEmpty(ids)){ return Maps.newHashMap(); } List hyOpenAreaInfoDOS = hyOpenAreaInfoMapper.selectByIds(ids); - return ListUtils.emptyIfNull(hyOpenAreaInfoDOS).stream().collect(Collectors.toMap(k->k.getId(), v->v.getAreaName())); + return ListUtils.emptyIfNull(hyOpenAreaInfoDOS).stream().collect(Collectors.toMap(k->String.valueOf(k.getId()), v->v.getAreaName())); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 5c5c7c375..240bc9673 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -323,7 +323,7 @@ from hy_partner_line_info - + and investment_manager = #{userId} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml index a997ef69d..9a34e14cd 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml @@ -43,11 +43,10 @@ select from hy_partner_user_info - - + where + #{partnerId} - diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentApplyInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentApplyInfoVO.java index 91bfd84a7..c0964dc6f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentApplyInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentApplyInfoVO.java @@ -1,10 +1,19 @@ package com.cool.store.vo; +import cn.hutool.core.date.DateUtil; +import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; +import com.cool.store.entity.HyPartnerUserInfoDO; +import com.cool.store.utils.CoolDateUtils; +import com.google.common.collect.Lists; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.collections4.CollectionUtils; +import java.util.ArrayList; import java.util.Date; +import java.util.List; +import java.util.Map; /** @@ -16,7 +25,6 @@ import java.util.Date; @ApiModel public class PartnerIntentApplyInfoVO { - @ApiModelProperty("") private Long id; @@ -45,7 +53,7 @@ public class PartnerIntentApplyInfoVO { private Integer acceptAdjustType; @ApiModelProperty("截止时间") - private Date deadline; + private String deadline; @ApiModelProperty("阶段提交时间") private Date partnerSubmitTime; @@ -53,4 +61,31 @@ public class PartnerIntentApplyInfoVO { @ApiModelProperty("阶段状态") private String WorkflowStatus; + + public static List convertList(List list, Map infoDOMap, Map wantShopAreaNameMap, String workflowStatus){ + if(CollectionUtils.isEmpty(list)){ + return Lists.newArrayList(); + } + List resultList = new ArrayList<>(); + for (PartnerIntentApplyInfoDTO partnerIntentApplyInfoDTO : list) { + PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = new PartnerIntentApplyInfoVO(); + partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId()); + partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId()); + partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId()); + partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime()); + partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType()); + partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea()); + partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea()); + String deadLine = DateUtil.format(partnerIntentApplyInfoDTO.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC); + partnerIntentApplyInfoVO.setDeadline(deadLine); + HyPartnerUserInfoDO infoDOMapOrDefault = infoDOMap.getOrDefault(partnerIntentApplyInfoDTO.getPartnerId(), new HyPartnerUserInfoDO()); + partnerIntentApplyInfoVO.setPartnerUserName(infoDOMapOrDefault.getUsername()); + partnerIntentApplyInfoVO.setPartnerUserPhone(infoDOMapOrDefault.getMobile()); + partnerIntentApplyInfoVO.setWorkflowStatus(workflowStatus); + partnerIntentApplyInfoVO.setWantShopAreaName(wantShopAreaNameMap.get(partnerIntentApplyInfoDTO.getWantShopArea())); + resultList.add(partnerIntentApplyInfoVO); + } + return resultList; + } + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoVO.java index d78dece53..68b2a2b84 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoVO.java @@ -1,11 +1,15 @@ package com.cool.store.vo; -import io.swagger.annotations.Api; +import cn.hutool.core.date.DateUtil; +import com.cool.store.entity.HyPartnerLineInfoDO; +import com.cool.store.utils.CoolDateUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * @Author suzhuhong @@ -19,7 +23,6 @@ public class PartnerLineInfoVO { @ApiModelProperty("") private Long lineId; - @ApiModelProperty("hy_partner_user_info.partner_id") private String partnerId; @@ -42,7 +45,7 @@ public class PartnerLineInfoVO { private String developmentManager; @ApiModelProperty("截止时间") - private Date deadline; + private String deadline; @ApiModelProperty("通过原因") private String passReason; @@ -67,12 +70,45 @@ public class PartnerLineInfoVO { @ApiModelProperty("加盟商用户手机号") private String partnerUserPhone; + @ApiModelProperty("结束操作人ID") - private String closeUserId ; + private String closeUserId ; + @ApiModelProperty("结束操作人名称") - private String closeUserName ; + private String closeUserName ; + @ApiModelProperty("结束时间") - private Date closeDate ; + private String closeDate ; + + /** + * + * @param lineList + * @return + */ + public static List convertList(List lineList, Map userNamePhoneMap){ + List resultList = new ArrayList<>(); + for (HyPartnerLineInfoDO line : lineList) { + PartnerLineInfoVO result = new PartnerLineInfoVO(); + result.setLineId(line.getId()); + result.setPartnerId(line.getPartnerId()); + result.setCertifyFile(line.getCertifyFile()); + result.setWorkflowStage(line.getWorkflowStage()); + result.setWorkflowStatus(line.getWorkflowStatus()); + result.setLineStatus(line.getLineStatus()); + String deadLine = DateUtil.format(line.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC); + result.setDeadline(deadLine); + result.setPassReason(line.getPassReason()); + result.setRejectPublicReason(line.getRejectPublicReason()); + result.setRejectRealReason(line.getRejectRealReason()); + result.setCertifyFile(line.getCertifyFile()); + result.setCloseUserId(line.getCloseUserId()); + result.setCloseUserName(userNamePhoneMap.get(line.getCloseUserId())); + String closeDate = DateUtil.format(line.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_7); + result.setCloseDate(closeDate); + resultList.add(result); + } + return resultList; + } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java index 534982260..1692151cc 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java @@ -84,7 +84,7 @@ public class PrivateSeaLineListVo { private String recommendPartnerName; - public static List convertList(List list, Map finalDevManagerMap, Map wantShopAreaNameMap){ + public static List convertList(List list, Map finalDevManagerMap, Map wantShopAreaNameMap){ List resultList = new ArrayList<>(); for (PrivateSeaLineDTO x : list) { PrivateSeaLineListVo privateSeaLineListVo = new PrivateSeaLineListVo(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java b/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java index 510227552..40f4357ef 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/handler/CustomExceptionHandler.java @@ -34,7 +34,7 @@ public class CustomExceptionHandler { @ExceptionHandler(value = ServiceException.class) public void handleCustomException(ServiceException e, HttpServletResponse httpServletResponse) { log.error(e.getMessage(), e); - ResponseResult responseResult = new ResponseResult(e.getErrorCode(), e.getMessage()); + ResponseResult responseResult = new ResponseResult(e.getErrorCode(), e.getErrorMessage()); responseResult(httpServletResponse, responseResult); } @@ -52,7 +52,6 @@ public class CustomExceptionHandler { responseResult(httpServletResponse, responseResult); } - private void responseResult(HttpServletResponse response, ResponseResult result) { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-type", "application/json;charset=UTF-8"); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 6f46c9674..fb40e4d12 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.cool.store.constants.CommonConstants; import com.cool.store.constants.RedisConstant; import com.cool.store.dao.*; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; +import com.cool.store.dto.partner.PrivateSeaLineDTO; import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; @@ -78,17 +79,10 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic List partnerIds = list.stream().map(PartnerIntentApplyInfoDTO::getPartnerId).collect(Collectors.toList()); List hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds); Map infoDOMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, data -> data)); - List result = new ArrayList<>(); - String finalWorkflowStatus = workflowStatus; - list.stream().forEach(x->{ - PartnerIntentApplyInfoVO pat = partnerIntentApplyInfoDTOToVo(x); - HyPartnerUserInfoDO infoDOMapOrDefault = infoDOMap.getOrDefault(x.getPartnerId(), new HyPartnerUserInfoDO()); - pat.setPartnerUserName(infoDOMapOrDefault.getUsername()); - pat.setPartnerUserPhone(infoDOMapOrDefault.getMobile()); - pat.setWorkflowStatus(finalWorkflowStatus); - result.add(pat); - }); - partnerIntentApplyInfo.setList(result); + List wantShopAreaList = list.stream().map(PartnerIntentApplyInfoDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList()); + Map wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList); + List resultList = PartnerIntentApplyInfoVO.convertList(list, infoDOMap, wantShopAreaNameMap, workflowStatus); + partnerIntentApplyInfo.setList(resultList); return partnerIntentApplyInfo; } @@ -193,23 +187,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic intentInfoDO.setWeakness(request.getWeakness()); } - /** - * partnerIntentApplyInfoDTOToVo - * @param partnerIntentApplyInfoDTO - * @return - */ - private PartnerIntentApplyInfoVO partnerIntentApplyInfoDTOToVo(PartnerIntentApplyInfoDTO partnerIntentApplyInfoDTO){ - PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = new PartnerIntentApplyInfoVO(); - partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId()); - partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId()); - partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId()); - partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime()); - partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType()); - partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea()); - partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea()); - partnerIntentApplyInfoVO.setDeadline(partnerIntentApplyInfoDTO.getDeadline()); - return partnerIntentApplyInfoVO; - } /** diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index 0ae062c14..612b068c0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -106,16 +106,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { PageHelper.startPage(pageNumber,pageSize); String lastMonthTodayDate = DateUtil.format(CoolDateUtils.getDateBefore(new Date(),-30), CoolDateUtils.DATE_FORMAT_SEC); PageInfo hyPartnerLineInfoDOPageInfo = new PageInfo(hyPartnerLineInfoDAO.lastMonthCloseLine(userId, lastMonthTodayDate)); - List list = hyPartnerLineInfoDOPageInfo.getList(); - List result = new ArrayList<>(); - list.stream().forEach(x->{ - PartnerLineInfoVO partnerLineInfoVO = new PartnerLineInfoVO(); - BeanUtils.copyProperties(x,partnerLineInfoVO); - partnerLineInfoVO.setLineId(x.getId()); - result.add(partnerLineInfoVO); - }); - hyPartnerLineInfoDOPageInfo.setList(result); + List closeUserIds = list.stream().filter(o -> Objects.nonNull(o.getCloseUserId())).map(HyPartnerLineInfoDO::getCloseUserId).distinct().collect(Collectors.toList()); + Map userNamePhoneMap = enterpriseUserDAO.getUserNameAndMobile(closeUserIds); + List resultList = PartnerLineInfoVO.convertList(list, userNamePhoneMap); + hyPartnerLineInfoDOPageInfo.setList(resultList); return hyPartnerLineInfoDOPageInfo; } @@ -166,8 +161,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType())); List list = blackListDTOPageInfo.getList(); List closeUserIdList = list.stream().map(PartnerBlackListDTO::getCloseUserId).collect(Collectors.toList()); - List userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(closeUserIdList); - Map userPhoneMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getMobile)); + Map userPhoneMap = enterpriseUserDAO.getUserNameAndMobile(closeUserIdList); List result = new ArrayList<>(); list.stream().forEach(x->{ BlackListVO blackListVO = convertPartnerBlackListDTOToVo(x); @@ -342,7 +336,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { devManagerMap = devManagerList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getName)); } List wantShopAreaList = list.stream().map(PrivateSeaLineDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList()); - Map wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList); + Map wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList); List result = PrivateSeaLineListVo.convertList(list, devManagerMap, wantShopAreaNameMap); privateLineList.setList(result); return privateLineList; From fa410088f7c151e2b3411dbe21ca76c3532fe91d Mon Sep 17 00:00:00 2001 From: wxp01309236 Date: Wed, 21 Jun 2023 15:27:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dao/HyPartnerBaseInfoDAO.java | 9 ++++-- .../store/mapper/HyPartnerBaseInfoMapper.java | 5 ++- .../mapper/HyPartnerBaseInfoMapper.xml | 16 ++++++++-- .../service/HyPartnerBaseInfoService.java | 3 +- .../service/HyPartnerLineInfoService.java | 2 +- .../impl/HyPartnerBaseInfoServiceImpl.java | 32 ++++++++++++++++--- .../impl/HyPartnerIntentInfoServiceImpl.java | 2 +- .../impl/HyPartnerLineInfoServiceImpl.java | 6 +++- .../impl/PartnerUserInfoServiceImpl.java | 2 +- .../store/controller/PartnerController.java | 9 +++--- 10 files changed, 67 insertions(+), 19 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java index 59c49028e..4ec536f9c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java @@ -34,6 +34,11 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.updateByPrimaryKeySelective(record); } + public int updateByPrimaryKey(HyPartnerBaseInfoDO record){ + return hyPartnerBaseInfoMapper.updateByPrimaryKey(record); + } + + public int updateByPartnerId(String userName,String mobile,String partnerId){ return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); } @@ -57,10 +62,10 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.getByPartnerLineId(partnerLineId); } - public Long getLineIdByIdCard(String idCard){ + public HyPartnerBaseInfoDO getByIdCard(String idCard){ if (StringUtils.isEmpty(idCard)){ return null; } - return hyPartnerBaseInfoMapper.getLineIdByIdCard(idCard); + return hyPartnerBaseInfoMapper.getByIdCard(idCard); } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java index 2d47cdf3c..c6a8c64a4 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java @@ -23,6 +23,9 @@ public interface HyPartnerBaseInfoMapper { */ int updateByPrimaryKeySelective(@Param("record") HyPartnerBaseInfoDO record); + int updateByPrimaryKey(@Param("record") HyPartnerBaseInfoDO record); + + /** * 根据加盟商ID修改用户名称与手机号 * @param userName @@ -38,7 +41,7 @@ public interface HyPartnerBaseInfoMapper { HyPartnerBaseInfoDO getByPartnerLineId(@Param("partnerLineId") Long partnerLineId); - Long getLineIdByIdCard(@Param("idCard") String idCard); + HyPartnerBaseInfoDO getByIdCard(@Param("idCard") String idCard); int cleanIdCardInfoByPartnerLineId(@Param("idCard") String idCard, @Param("idCardPhotoFront") String idCardPhotoFront, diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index a108097d9..1313e9fc5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -203,6 +203,18 @@ where id = #{record.id} + + update hy_partner_base_info + set + nation = #{record.nation}, + birthdate = #{record.birthdate}, + id_card = #{record.idCard}, + id_card_photo_front = #{record.idCardPhotoFront}, + id_card_photo_black = #{record.idCardPhotoBlack}, + live_address = #{record.liveAddress} + where id = #{record.id} + + update hy_partner_base_info @@ -231,9 +243,9 @@ where partner_line_id = #{partnerLineId} - select - partner_line_id + from hy_partner_base_info where id_card = #{idCard} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java index 2c31eedaf..364464005 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.request.AddTagsRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.vo.PartnerBaseInfoVO; @@ -26,7 +27,7 @@ public interface HyPartnerBaseInfoService { PartnerBaseInfoVO getByPartnerLineId(Long lineId); - Long getLineIdByIdCard(String idCard); + HyPartnerBaseInfoDO getByIdCard(String idCard); Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java index 12f36785c..9e4e143b2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java @@ -128,7 +128,7 @@ public interface HyPartnerLineInfoService { * @param lineId * @return */ - Boolean assignFollowUser(String partnerId); + Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType); /** * 线索状态 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java index dd5908523..7d79b0ba6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.MessageFormat; +import java.util.Date; /** * @Author suzhuhong @@ -120,15 +121,15 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { } @Override - public Long getLineIdByIdCard(String idCard) { - return hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard); + public HyPartnerBaseInfoDO getByIdCard(String idCard) { + return hyPartnerBaseInfoDAO.getByIdCard(idCard); } @Override public Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser) { // 把旧线索的身份证号置空,状态改为待提交 - Long oldLineId = hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard); - HyPartnerLineInfoDO oldLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(oldLineId); + HyPartnerBaseInfoDO oldBaseInfo = hyPartnerBaseInfoDAO.getByIdCard(idCard); + HyPartnerLineInfoDO oldLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(oldBaseInfo.getPartnerLineId()); // 该身份证当前申请状态同步至该账号下,原账号变为【加盟意向申请 待提交状态】 HyPartnerLineInfoDO newLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId); newLineInfo.setWorkflowStage(oldLineInfo.getWorkflowStage()); @@ -139,11 +140,32 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { oldLineInfo.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); oldLineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode()); hyPartnerLineInfoDAO.updateByPrimaryKeySelective(oldLineInfo); - hyPartnerBaseInfoDAO.cleanIdCardInfoByPartnerLineId(null, null, null, oldLineId); // 新线索绑定身份证号 + HyPartnerBaseInfoDO newBaseInfo = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(currentUser.getPartnerId(), lineId); + fillBaseInfoIdCard(newBaseInfo, oldBaseInfo.getIdCard(), oldBaseInfo.getIdCardPhotoFront(), oldBaseInfo.getIdCardPhotoBlack(), oldBaseInfo.getUsername(), + oldBaseInfo.getSex(), oldBaseInfo.getBirthdate(), oldBaseInfo.getNation(), oldBaseInfo.getLiveAddress(), oldBaseInfo.getStatus()); + newBaseInfo.setStatus(oldBaseInfo.getStatus()); + hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(newBaseInfo); + // 老的身份证信息置空 + fillBaseInfoIdCard(oldBaseInfo, null, null, null, null, null, null, null, null, null); + oldBaseInfo.setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode())); + hyPartnerBaseInfoDAO.updateByPrimaryKey(oldBaseInfo); return true; } + private void fillBaseInfoIdCard(HyPartnerBaseInfoDO newBaseInfo, String idCard, String idCardPhotoFront, String idCardPhotoBlack, + String username, Integer sex, Date birthdate, String nation, String liveAddress, Integer status) { + newBaseInfo.setIdCard(idCard); + newBaseInfo.setIdCardPhotoBlack(idCardPhotoFront); + newBaseInfo.setIdCardPhotoFront(idCardPhotoBlack); + newBaseInfo.setUsername(username); + newBaseInfo.setSex(sex); + newBaseInfo.setBirthdate(birthdate); + newBaseInfo.setNation(nation); + newBaseInfo.setLiveAddress(liveAddress); + newBaseInfo.setStatus(status); + } + private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) { baseInfoDO.setPartnerId(request.getPartnerId()); baseInfoDO.setPartnerLineId(request.getPartnerLineId()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 73398bedd..b6ab0e87a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -173,7 +173,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic intentInfoDO.setMaxBudget(request.getMaxBudget()); intentInfoDO.setMoneySource(request.getMoneySource()); if(CollectionUtils.isNotEmpty(request.getMoneyProve())){ - intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve())); + intentInfoDO.setMoneyProve(JSONObject.toJSONString(request.getMoneyProve())); } intentInfoDO.setEducation(request.getEducation()); intentInfoDO.setWorkYear(request.getWorkYear()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index da9e481a7..c794e1238 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -372,10 +372,14 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } @Override - public Boolean assignFollowUser(String partnerId) { + public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType) { List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId); //当前加盟商线索 HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId); + if(HyPartnerLineInfo == null){ + Boolean lineStatus = getLineStatus(Long.valueOf(wantShopArea), acceptAdjustType); + return lineStatus; + } //如果是私海线索 不需要重新分配招商经理 或者跟进次数大于1 if (HyPartnerLineInfo.getLineStatus()==1||CollectionUtils.isEmpty(lineFollowHistoryList)){ return Boolean.FALSE; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index f9e284b36..df770d4ed 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java @@ -107,7 +107,7 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId()); hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); - Boolean flag = hyPartnerLineInfoService.assignFollowUser(hyPartnerLineInfoDO.getPartnerId()); + Boolean flag = hyPartnerLineInfoService.assignFollowUser(hyPartnerLineInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType()); hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); if (flag){ hyPartnerLineInfoDO.setInvestmentManager("ou_7a6a19ae800afde783b0ec2dabaabf95"); diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index e20bfcf2a..f87d9fbec 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -2,6 +2,7 @@ package com.cool.store.controller; import com.cool.store.constants.RedisConstant; import com.cool.store.context.PartnerUserHolder; +import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.IDCardSideEnum; import com.cool.store.enums.WorkflowStatusEnum; @@ -70,10 +71,10 @@ public class PartnerController { @ApiImplicitParams({ @ApiImplicitParam(name = "idCard", value = "身份证号码", required = false), }) - public ResponseResult getLineByIdCard(@RequestParam(value = "idCard",required = false)String idCard){ + public ResponseResult getByIdCard(@RequestParam(value = "idCard",required = false)String idCard){ - Long lineId = hyPartnerBaseInfoService.getLineIdByIdCard(idCard); - return ResponseResult.success(lineId != null && lineId > 0L); + HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoService.getByIdCard(idCard); + return ResponseResult.success(baseInfoDO != null && baseInfoDO.getPartnerLineId() > 0L); } @@ -136,7 +137,7 @@ public class PartnerController { @PostMapping(path = "/delCoolDownFirstLoginFlag") @ApiOperation("删除冷静期是否首次登录缓存") - public ResponseResult delCoolDownFirstLoginFlag(@RequestParam(value = "lineId",required = true)String lineId){ + public ResponseResult delCoolDownFirstLoginFlag(@RequestParam(value = "lineId",required = true)Long lineId){ String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, lineId); redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey); return ResponseResult.success(true);