From 0750d68809990790503fb2f08933b031aefa0722 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Wed, 21 Jun 2023 15:14:13 +0800 Subject: [PATCH] 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;