Merge remote-tracking branch 'origin/dev/feat/partner1.3_20230828' into dev/feat/partner1.3_20230828

This commit is contained in:
俞扬
2023-08-11 15:43:28 +08:00
33 changed files with 574 additions and 58 deletions

View File

@@ -19,6 +19,8 @@ public class PartnerIntentApplyInfoDTO {
@ApiModelProperty("加盟商用户名称")
private String partnerUserName;
private String mobile;
@ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId;
@@ -46,4 +48,17 @@ public class PartnerIntentApplyInfoDTO {
@ApiModelProperty("子流程状态")
private String workflowStatus;
@ApiModelProperty("上次跟进时间")
private String lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
@ApiModelProperty("来源名称")
private String userChannelName;
private Integer userChannelId;
private String userPortrait;
}

View File

@@ -61,4 +61,12 @@ public class PartnerInterviewInfoDTO {
@ApiModelProperty("过程信息")
private String processInfo;
@ApiModelProperty("上次跟进时间")
private Date lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
private String userPortrait;
}

View File

@@ -77,4 +77,8 @@ public class PrivateSeaLineDTO {
private String recommendPartnerMobile;
private Integer userChannelId;
private String userPortrait;
}

View File

@@ -29,4 +29,8 @@ public class PublicSeaLineDTO {
private Date updateTime;
private String phoneAddress;
private Integer userChannelId;
private String userPortrait;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.partner;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/8/10 11:12
* @Version 1.0
*/
@Data
public class UserChannelDTO {
private Long userChannelId;
private String userChannelName;
}

View File

@@ -3,6 +3,8 @@ package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

View File

@@ -18,5 +18,5 @@ public class AddTagsRequest {
@ApiModelProperty("加盟申请基本信息ID")
private Long partnerBaseInfoId;
@ApiModelProperty("标签列表")
private List<String> Tags;
private List<Long> Tags;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/8/11 14:30
* @Version 1.0
*/
@Data
@ApiModel
public class BatchTransferInvestmentManagerRequest {
private List<Long> lineIds;
private String userId;
}

View File

@@ -8,8 +8,11 @@ import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -23,6 +26,7 @@ import java.util.Map;
*/
@Data
@ApiModel
@Slf4j
public class PartnerIntentApplyInfoVO {
@ApiModelProperty("")
@@ -61,8 +65,20 @@ public class PartnerIntentApplyInfoVO {
@ApiModelProperty("阶段状态")
private String WorkflowStatus;
@ApiModelProperty("用户画像")
private List<String> userPortraitList;
public static List<PartnerIntentApplyInfoVO> convertList(List<PartnerIntentApplyInfoDTO> list, Map<String, HyPartnerUserInfoDO> infoDOMap, Map<String, String> wantShopAreaNameMap, String workflowStatus){
@ApiModelProperty("上次跟进时间")
private String lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
@ApiModelProperty("来源名称")
private String userChannelName;
public static List<PartnerIntentApplyInfoVO> convertList(List<PartnerIntentApplyInfoDTO> list, Map<String, String> wantShopAreaNameMap, String workflowStatus,
Map<Long, String> userChannelMap,Map<Long,String> userPortraitMap ){
if(CollectionUtils.isEmpty(list)){
return Lists.newArrayList();
}
@@ -78,11 +94,34 @@ public class PartnerIntentApplyInfoVO {
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
String deadLine = DateUtil.format(partnerIntentApplyInfoDTO.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
partnerIntentApplyInfoVO.setDeadline(deadLine);
HyPartnerUserInfoDO infoDOMapOrDefault = infoDOMap.getOrDefault(partnerIntentApplyInfoDTO.getPartnerId(), new HyPartnerUserInfoDO());
partnerIntentApplyInfoVO.setPartnerUserName(infoDOMapOrDefault.getUsername());
partnerIntentApplyInfoVO.setPartnerUserPhone(infoDOMapOrDefault.getMobile());
partnerIntentApplyInfoVO.setPartnerUserName(partnerIntentApplyInfoDTO.getPartnerUserName());
partnerIntentApplyInfoVO.setPartnerUserPhone(partnerIntentApplyInfoDTO.getMobile());
partnerIntentApplyInfoVO.setWorkflowStatus(workflowStatus);
partnerIntentApplyInfoVO.setWantShopAreaName(wantShopAreaNameMap.get(partnerIntentApplyInfoDTO.getWantShopArea()));
partnerIntentApplyInfoVO.setLastFollowTime(partnerIntentApplyInfoDTO.getLastFollowTime());
Integer callStatus = null;
if(partnerIntentApplyInfoDTO.getCallStatus()!=null){
callStatus = partnerIntentApplyInfoDTO.getCallStatus()==1?partnerIntentApplyInfoDTO.getCallStatus():0;
}
partnerIntentApplyInfoVO.setCallStatus(callStatus);
partnerIntentApplyInfoVO.setUserChannelName(userChannelMap.getOrDefault(partnerIntentApplyInfoDTO.getUserChannelId(),""));
List<String> userPortraitList= new ArrayList<>();
if(StringUtils.isNotEmpty(partnerIntentApplyInfoDTO.getUserPortrait())){
String[] parts = partnerIntentApplyInfoDTO.getUserPortrait().split(",");
for (String part : parts) {
String trimmedPart = part.trim();
if (!trimmedPart.isEmpty()) {
try {
userPortraitList.add(userPortraitMap.get(Long.valueOf(part)));
} catch (NumberFormatException e) {
log.info("Invalid format: {}" , trimmedPart);
}
}
}
}
partnerIntentApplyInfoVO.setUserPortraitList(userPortraitList);
resultList.add(partnerIntentApplyInfoVO);
}
return resultList;

View File

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author suzhuhong
@@ -71,4 +72,16 @@ public class PartnerInterviewInfoVO {
@ApiModelProperty("审批发起时间")
private String approveTime;
@ApiModelProperty("用户画像")
private List<String> userPortraitList;
@ApiModelProperty("上次跟进时间")
private String lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
@ApiModelProperty("来源名称")
private String userChannelName;
}

View File

@@ -7,6 +7,8 @@ import com.cool.store.utils.CoolDateUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import java.util.ArrayList;
@@ -21,6 +23,7 @@ import java.util.Map;
*/
@Data
@ApiModel
@Slf4j
public class PrivateSeaLineListVo {
@@ -92,8 +95,15 @@ public class PrivateSeaLineListVo {
private String investmentManagerMobile;
@ApiModelProperty("用户画像")
private List<String> userPortraitList;
public static List<PrivateSeaLineListVo> convertList(List<PrivateSeaLineDTO> list, Map<String, String> finalDevManagerMap, Map<String, String> wantShopAreaNameMap,Map<Long, HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOMap){
@ApiModelProperty("来源名称")
private String userChannelName;
public static List<PrivateSeaLineListVo> convertList(List<PrivateSeaLineDTO> list, Map<String, String> finalDevManagerMap, Map<String, String> wantShopAreaNameMap,
Map<Long, HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOMap,Map<Long, String> channelMap,Map<Long, String> userPortraitMap){
List<PrivateSeaLineListVo> resultList = new ArrayList<>();
for (PrivateSeaLineDTO x : list) {
PrivateSeaLineListVo privateSeaLineListVo = new PrivateSeaLineListVo();
@@ -127,6 +137,22 @@ public class PrivateSeaLineListVo {
privateSeaLineListVo.setStartTime(hyPartnerInterviewPlanDOMap.getOrDefault(x.getLineId(),new HyPartnerInterviewPlanDO()).getStartTime());
privateSeaLineListVo.setInterviewPlanId(hyPartnerInterviewPlanDOMap.getOrDefault(x.getLineId(),new HyPartnerInterviewPlanDO()).getId());
privateSeaLineListVo.setDevelopmentManagerName(finalDevManagerMap.get(x.getDevelopmentManager()));
privateSeaLineListVo.setUserChannelName(channelMap.get(x.getUserChannelId()));
List<String> userPortraitList= new ArrayList<>();
if(StringUtils.isNotEmpty(x.getUserPortrait())){
String[] parts = x.getUserPortrait().split(",");
for (String part : parts) {
String trimmedPart = part.trim();
if (!trimmedPart.isEmpty()) {
try {
userPortraitList.add(userPortraitMap.get(Long.valueOf(part)));
} catch (NumberFormatException e) {
log.info("Invalid format: {}" , trimmedPart);
}
}
}
}
privateSeaLineListVo.setUserPortraitList(userPortraitList);
resultList.add(privateSeaLineListVo);
}
return resultList;

View File

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author suzhuhong
@@ -71,4 +72,10 @@ public class PublicSeaLineListVo {
private String updateTime;
@ApiModelProperty("用户画像")
private List<String> userPortraitList;
@ApiModelProperty("来源名称")
private String userChannelName;
}