Merge branch 'hxd/feat/partner1.5' into dev/feat/partner1.5_20231106
# Conflicts: # coolstore-partner-service/src/main/java/com/cool/store/service/FollowTaskService.java # coolstore-partner-service/src/main/java/com/cool/store/service/impl/FollowTaskServiceImpl.java # coolstore-partner-webb/src/main/java/com/cool/store/controller/FollowTaskController.java
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerEcTrackLogDO;
|
||||
import com.cool.store.request.CustomerInfoRequest;
|
||||
import com.cool.store.request.GetTagRequest;
|
||||
|
||||
@@ -12,4 +13,10 @@ public interface EcSyncService {
|
||||
|
||||
Boolean labelInfo(List<GetTagRequest> getTagRequestList);
|
||||
|
||||
String getLastCrmCreateTime();
|
||||
|
||||
Boolean historyLine(List<CustomerInfoRequest> resultCustomerInfoList);
|
||||
|
||||
Integer historyLineTrajectory(List<HyPartnerEcTrackLogDO> resultTrajectoryList);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.entity.HyPartnerEcTrackLogDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.follow.AddFollowLogRequest;
|
||||
import com.cool.store.request.follow.AddFollowTaskRequest;
|
||||
@@ -89,4 +90,7 @@ public interface FollowTaskService {
|
||||
* @return
|
||||
*/
|
||||
void followTaskDailyRemind() throws ApiException;
|
||||
|
||||
|
||||
PageInfo<HyPartnerEcTrackLogDO> getEcFollowLogPage(Integer pageNum, Integer pageSize, String partnerId);
|
||||
}
|
||||
|
||||
@@ -9,4 +9,6 @@ public interface LineHighSeasService {
|
||||
Boolean addLine(AddLineRequest request);
|
||||
|
||||
ResponseResult importLine(MultipartFile file);
|
||||
|
||||
Boolean addCheckout(String mobile);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@@ -16,8 +18,7 @@ import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.http.UserSourceResponse;
|
||||
import com.cool.store.mapper.HyPartnerLabelGroupMapper;
|
||||
import com.cool.store.mapper.HyPartnerLabelMapper;
|
||||
import com.cool.store.mapper.HyPartnerEcTrackLogMapper;
|
||||
import com.cool.store.mapper.HyPartnerUserChannelMapper;
|
||||
import com.cool.store.request.CustomerInfoRequest;
|
||||
import com.cool.store.request.GetTagRequest;
|
||||
@@ -31,9 +32,11 @@ import com.cool.store.sdk.ec.response.UpdateCustomerResponse;
|
||||
import com.cool.store.service.EcSyncService;
|
||||
import com.cool.store.service.LabelGroupService;
|
||||
import com.cool.store.service.LabelService;
|
||||
import com.cool.store.utils.MybatisBatchUtils;
|
||||
import com.cool.store.utils.Post;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -56,7 +59,6 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
@Value("${ec.baseUrl:null}")
|
||||
private String baseUrl;
|
||||
|
||||
|
||||
@Resource
|
||||
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
|
||||
@@ -70,6 +72,9 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
|
||||
|
||||
@Resource
|
||||
private MybatisBatchUtils mybatisBatchUtils;
|
||||
|
||||
@Resource
|
||||
private HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
||||
|
||||
@@ -79,15 +84,14 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
@Resource
|
||||
private LabelService labelService;
|
||||
|
||||
|
||||
@Override
|
||||
public boolean ecToApplet(List<CustomerInfoRequest> queryListData) {
|
||||
for (CustomerInfoRequest customerInfoItem : queryListData) {
|
||||
try {
|
||||
insertSelectiveSync(customerInfoItem);
|
||||
} catch (Exception e) {
|
||||
log.error("ec同步至招商小程序报错"+JSONObject.toJSONString(e));
|
||||
sendFeiShuRobotMessage("推送:"+JSONObject.toJSONString(e),"27243d49-97ca-4981-8aec-7c3bf84eb660");
|
||||
log.error("ec同步至招商小程序报错" + JSONObject.toJSONString(e));
|
||||
sendFeiShuRobotMessage("推送:" + JSONObject.toJSONString(e), "27243d49-97ca-4981-8aec-7c3bf84eb660");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -135,6 +139,33 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLastCrmCreateTime() {
|
||||
return hyPartnerUserInfoDAO.selectLastCrmCreateTime();
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public Boolean historyLine(List<CustomerInfoRequest> resultCustomerInfoList) {
|
||||
for (CustomerInfoRequest customerInfoRequest : resultCustomerInfoList) {
|
||||
customerInfoRequest.setUpdateTime(DateUtil.parse(customerInfoRequest.getCrmCreateTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
insertSelectiveSync(customerInfoRequest);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer historyLineTrajectory(List<HyPartnerEcTrackLogDO> resultTrajectoryList) {
|
||||
for (HyPartnerEcTrackLogDO hyPartnerEcTrackLogDO : resultTrajectoryList) {
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(hyPartnerEcTrackLogDO.getMobile());
|
||||
if (ObjectUtil.isNotNull(hyPartnerUserInfoDO)) {
|
||||
hyPartnerEcTrackLogDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
}
|
||||
}
|
||||
return mybatisBatchUtils.batchInsertOrUpdate(resultTrajectoryList, HyPartnerEcTrackLogMapper.class, (record, mapper) -> mapper.insertSelective(record)) ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步ec数据到表中 同时将部分数据同步到ec
|
||||
*
|
||||
@@ -157,8 +188,17 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
channelId = channelDO.getChannelId();
|
||||
}
|
||||
String newPartnerId = UUIDUtils.get32UUID();
|
||||
HyPartnerBaseInfoDO resultBase = new HyPartnerBaseInfoDO();
|
||||
HyPartnerUserInfoDO resultUser = new HyPartnerUserInfoDO();
|
||||
resultUser.setUsername(customerInfoItem.getName()).setMobile(customerInfoItem.getMobile()).setUserChannelId(Convert.toInt(channelId)).setEcWantShopArea(customerInfoItem.getEcWantShopArea());
|
||||
Date time = new Date();
|
||||
if (ObjectUtil.isNotNull(customerInfoItem.getUpdateTime())) {
|
||||
time = customerInfoItem.getUpdateTime();
|
||||
resultUser.setCrmCreateTime(time);
|
||||
if (StringUtil.isNotEmpty(customerInfoItem.getLabelIds())) {
|
||||
resultBase.setUserPortrait(","+customerInfoItem.getLabelIds()+",");
|
||||
}
|
||||
}
|
||||
HyPartnerLineInfoDO resultLine = new HyPartnerLineInfoDO();
|
||||
String followUserName = customerInfoItem.getFollowUserName();
|
||||
String followUserMobile = customerInfoItem.getFollowUserMobile();
|
||||
@@ -175,7 +215,7 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
resultLine.setWorkflowStage(WorkflowStageEnum.INTENT.getCode())
|
||||
.setLineStatus(StringUtil.isEmpty(customerInfoItem.getFollowUserName()) ? LineStatusEnum.PUBLIC_SEAS.getCode() : LineStatusEnum.PRIVATE_SEAS.getCode());
|
||||
|
||||
HyPartnerBaseInfoDO resultBase = new HyPartnerBaseInfoDO();
|
||||
|
||||
resultBase.setUsername(customerInfoItem.getName()).setMobile(customerInfoItem.getMobile());
|
||||
|
||||
HyPartnerUserInfoDO newUserInfo = hyPartnerUserInfoDAO.selectByMobile(resultUser.getMobile());
|
||||
@@ -183,7 +223,7 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
//有就更新ec没有就插入
|
||||
if (newUserInfo != null) {
|
||||
//招商客户姓名为空
|
||||
if (ObjectUtil.isNull(newUserInfo.getUsername())||StringUtil.isEmpty(newUserInfo.getUsername())) {
|
||||
if (ObjectUtil.isNull(newUserInfo.getUsername()) || StringUtil.isEmpty(newUserInfo.getUsername())) {
|
||||
newUserInfo.setUsername(resultUser.getUsername());
|
||||
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(newUserInfo);
|
||||
}
|
||||
@@ -201,7 +241,7 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
if (partnerLine != null) {
|
||||
// EC与沪姨合伙人同时存在的线索用户,但存在不同的跟进人,将沪姨合伙人跟进人信息同步至EC覆盖原EC跟进人信息
|
||||
if (StringUtil.isEmpty(partnerLine.getInvestmentManager())) {
|
||||
if (StringUtil.isNotEmpty(resultLine.getInvestmentManager())&&!getFollowLineStatus(partnerLine)) {
|
||||
if (StringUtil.isNotEmpty(resultLine.getInvestmentManager()) && !getFollowLineStatus(partnerLine)) {
|
||||
resultLine.setId(partnerLine.getId()).setUpdateTime(new Date());
|
||||
//沪姨合伙人线索存在黑名单,EC该线索分配跟进人同步到沪姨合伙人但线索状态不变,还存在黑名单中
|
||||
resultLine.setLineStatus(partnerLine.getLineStatus().intValue() == LineStatusEnum.BLACKLIST.getCode().intValue()
|
||||
@@ -237,48 +277,49 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
HyPartnerBaseInfoDO partnerIdAndLine = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerLine.getPartnerId(), partnerLine.getId());
|
||||
if (partnerIdAndLine == null) {
|
||||
resultBase.setPartnerId(newPartnerId).setPartnerLineId(partnerLine.getId()).setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode())).
|
||||
setCreateTime(new Date());
|
||||
setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerBaseInfoDAO.insertSelective(resultBase);
|
||||
}
|
||||
} else {
|
||||
resultLine.setPartnerId(newPartnerId).setCreateTime(new Date());
|
||||
resultLine.setPartnerId(newPartnerId).setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerLineInfoDAO.insertSelective(resultLine);
|
||||
|
||||
resultBase.setPartnerId(newPartnerId).setPartnerLineId(resultLine.getId()).setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode())).
|
||||
setCreateTime(new Date());
|
||||
setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerBaseInfoDAO.insertSelective(resultBase);
|
||||
}
|
||||
newUserInfo.setEcWantShopArea(resultUser.getEcWantShopArea());
|
||||
//添加ec意向区域同步
|
||||
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(newUserInfo);
|
||||
} else {
|
||||
resultUser.setPartnerId(newPartnerId).setCreateTime(new Date());
|
||||
resultUser.setPartnerId(newPartnerId).setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerUserInfoDAO.insertSelective(resultUser);
|
||||
|
||||
resultLine.setPartnerId(newPartnerId).setCreateTime(new Date());
|
||||
resultLine.setPartnerId(newPartnerId).setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerLineInfoDAO.insertSelective(resultLine);
|
||||
|
||||
resultBase.setPartnerId(newPartnerId).setPartnerLineId(resultLine.getId()).setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode())).
|
||||
setCreateTime(new Date());
|
||||
setCreateTime(time).setUpdateTime(time);
|
||||
hyPartnerBaseInfoDAO.insertSelective(resultBase);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*招商公海内跟进次数大于等于1的用户EC同步该用户进去公海,假若跟进次数为0的同步到EC跟进人就是唐佑玉
|
||||
* @param partnerLine
|
||||
* 招商公海内跟进次数大于等于1的用户EC同步该用户进去公海,假若跟进次数为0的同步到EC跟进人就是唐佑玉
|
||||
*
|
||||
* @param partnerLine
|
||||
* @return true为公海 false:私海
|
||||
*/
|
||||
public Boolean getFollowLineStatus(HyPartnerLineInfoDO partnerLine){
|
||||
if(partnerLine.getLineStatus()!=0){
|
||||
public Boolean getFollowLineStatus(HyPartnerLineInfoDO partnerLine) {
|
||||
if (partnerLine.getLineStatus() != 0) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.add(partnerLine.getPartnerId());
|
||||
List<LineCountDTO> followCountList = hyPartnerLineInfoDAO.getFollowCountList(list);
|
||||
if (!CollectionUtils.isEmpty(followCountList)) {
|
||||
return followCountList.get(0).getFollowCount()>0;
|
||||
return followCountList.get(0).getFollowCount() > 0;
|
||||
}
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
@@ -10,19 +11,14 @@ import com.cool.store.dao.HyFollowTaskDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
|
||||
import com.cool.store.dto.follow.FollowTaskNumDTO;
|
||||
import com.cool.store.dto.log.LineLogInfo;
|
||||
import com.cool.store.dto.log.LogFieldDTO;
|
||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||
import com.cool.store.dto.partner.PartnerSimpleInfoDTO;
|
||||
import com.cool.store.entity.CallRecordDO;
|
||||
import com.cool.store.entity.HyFollowTaskDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.http.EventCenterHttpRequest;
|
||||
import com.cool.store.http.ISVHttpRequest;
|
||||
import com.cool.store.mapper.HyPartnerEcTrackLogMapper;
|
||||
import com.cool.store.request.follow.AddFollowLogRequest;
|
||||
import com.cool.store.request.follow.AddFollowTaskRequest;
|
||||
import com.cool.store.request.follow.FollowTaskIdRequest;
|
||||
@@ -35,6 +31,7 @@ import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.follow.FollowTaskLogVO;
|
||||
import com.cool.store.vo.follow.FollowTaskPageVO;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -76,6 +73,10 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
||||
private NoticeService noticeService;
|
||||
@Resource
|
||||
private EventCenterHttpRequest eventCenterHttpRequest;
|
||||
|
||||
@Resource
|
||||
private HyPartnerEcTrackLogMapper hyPartnerEcTrackLogMapper;
|
||||
|
||||
@Value("${feishu.notice.link.url}")
|
||||
private String linkUrl;
|
||||
|
||||
@@ -257,6 +258,19 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<HyPartnerEcTrackLogDO> getEcFollowLogPage(Integer pageNum, Integer pageSize, String partnerId) {
|
||||
if(Objects.isNull(partnerId)){
|
||||
return new PageInfo<>();
|
||||
}
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
Page<HyPartnerEcTrackLogDO> logPage = hyPartnerEcTrackLogMapper.getEcLogPageByPartnerId(partnerId);
|
||||
for (HyPartnerEcTrackLogDO hyPartnerEcTrackLogDO : logPage) {
|
||||
hyPartnerEcTrackLogDO.setDetailContent(HyPartnerEcTrackLogDO.getDetailContentJoint(hyPartnerEcTrackLogDO));
|
||||
}
|
||||
return new PageInfo(logPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 线索校验
|
||||
* @param partnerLineId
|
||||
|
||||
@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.cool.store.constants.ExcelErrorConstants;
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.partner.MobileCheckDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
@@ -30,6 +31,7 @@ import javax.annotation.Resource;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -79,7 +81,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
if (ObjectUtil.isNotNull(hyPartnerUserInfoDO)) {
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_MOBILE_EXIST);
|
||||
}
|
||||
return add(request,"add");
|
||||
return add(request, "add");
|
||||
}
|
||||
|
||||
|
||||
@@ -88,8 +90,8 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
*
|
||||
* @param request
|
||||
*/
|
||||
public boolean add(AddLineRequest request,String type) {
|
||||
Boolean flag =false;
|
||||
public boolean add(AddLineRequest request, String type) {
|
||||
Boolean flag = false;
|
||||
String partnerId = UUIDUtils.get32UUID();
|
||||
HyPartnerUserInfoDO resultUser = new HyPartnerUserInfoDO();
|
||||
resultUser.setUsername(request.getPartnerName()).setMobile(request.getMobile()).setPartnerId(partnerId).setCreateTime(new Date()).setAcceptAdjustType(request.getAcceptAdjustType())
|
||||
@@ -104,10 +106,10 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
//判断招商经理是否为空
|
||||
if (StringUtil.isNotEmpty(request.getInvestmentManager())) {
|
||||
resultLine.setInvestmentManager(request.getInvestmentManager()).setLineStatus(LineStatusEnum.PRIVATE_SEAS.getCode());
|
||||
flag=true;
|
||||
flag = true;
|
||||
} else {
|
||||
//是否分配跟进人
|
||||
flag = hyPartnerLineInfoService.assignFollowUser(partnerId, request.getWantShopArea(), request.getAcceptAdjustType(), Boolean.TRUE);
|
||||
flag = hyPartnerLineInfoService.assignFollowUser(partnerId, request.getWantShopArea(), request.getAcceptAdjustType(), Boolean.TRUE);
|
||||
if (flag) {
|
||||
//查询跟进人
|
||||
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(partnerId, "intent");
|
||||
@@ -136,18 +138,18 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
Map<Integer, Map<Integer, List<String>>> styleCells = new HashMap<>(4);
|
||||
if (lineDOList.size() > excelMaxSize) {
|
||||
//超出五百条的excel都标红
|
||||
for (int i = excelMaxSize; i < lineDOList.size() ; i++) {
|
||||
for (int i = excelMaxSize; i < lineDOList.size(); i++) {
|
||||
lineDOList.get(i).setErrorInfo(ExcelErrorConstants.COUNT_MORE);
|
||||
styleCells.put(i,new HashMap<>(4));
|
||||
styleCells.put(i, new HashMap<>(4));
|
||||
}
|
||||
ExcelUtil.setRowStyle(styleCells,ExcelUtil.FONT_RED,7);
|
||||
ExcelUtil.setRowStyle(styleCells, ExcelUtil.FONT_RED, 7);
|
||||
util.exportExcel(outputStream, lineDOList, "", styleCells);
|
||||
InputStream stream = new ByteArrayInputStream(outputStream.toByteArray());
|
||||
String fileStr = ossServer.uploadFileServer(stream, dir + getExcelName());
|
||||
return new ResponseResult(500, "共上传" + lineDOList.size() + "条线索,其中" + styleCells.size() + "条存在异常", new ErrorExcelResponse(lineDOList.size(), styleCells.size(), fileStr));
|
||||
}
|
||||
//获取重复手机号集合
|
||||
List<String> uniqueList = lineDOList.stream().filter(item->StringUtil.isNotEmpty(item.getMobile())).collect(Collectors.groupingBy(HyPartnerLineDO::getMobile, Collectors.counting()))
|
||||
List<String> uniqueList = lineDOList.stream().filter(item -> StringUtil.isNotEmpty(item.getMobile())).collect(Collectors.groupingBy(HyPartnerLineDO::getMobile, Collectors.counting()))
|
||||
.entrySet().stream().filter(e -> e.getValue() > 1)
|
||||
.map(Map.Entry::getKey).collect(Collectors.toList());
|
||||
for (int i = 0; i < lineDOList.size(); i++) {
|
||||
@@ -156,8 +158,8 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
if (StringUtil.isEmpty(partnerName)) {
|
||||
hyPartnerLineDO.setErrorInfo(StringUtil.isEmpty(hyPartnerLineDO.getErrorInfo()) ? ExcelErrorConstants.NAME_LOSE : hyPartnerLineDO.getErrorInfo().concat(Constants.SEMICOLON).concat(ExcelErrorConstants.NAME_LOSE));
|
||||
ExcelUtil.setStyleMap(styleCells, i, 0, new String[]{ExcelUtil.FONT_RED});
|
||||
}else {
|
||||
if (partnerName.length()>10) {
|
||||
} else {
|
||||
if (partnerName.length() > 10) {
|
||||
hyPartnerLineDO.setErrorInfo(StringUtil.isEmpty(hyPartnerLineDO.getErrorInfo()) ? ExcelErrorConstants.NAME_OVER_LENGTH : hyPartnerLineDO.getErrorInfo().concat(Constants.SEMICOLON).concat(ExcelErrorConstants.NAME_OVER_LENGTH));
|
||||
ExcelUtil.setStyleMap(styleCells, i, 0, new String[]{ExcelUtil.FONT_RED});
|
||||
}
|
||||
@@ -219,7 +221,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
if (StringUtil.isEmpty(acceptAdjustType)) {
|
||||
hyPartnerLineDO.setErrorInfo(StringUtil.isEmpty(hyPartnerLineDO.getErrorInfo()) ? ExcelErrorConstants.ACCEPT_ADJUST_TYPE_LOSE : hyPartnerLineDO.getErrorInfo().concat(Constants.SEMICOLON).concat(ExcelErrorConstants.ACCEPT_ADJUST_TYPE_LOSE));
|
||||
ExcelUtil.setStyleMap(styleCells, i, 4, new String[]{ExcelUtil.FONT_RED});
|
||||
}else {
|
||||
} else {
|
||||
Integer enumByName = AcceptAdjustTypeEnum.findEnumByName(acceptAdjustType);
|
||||
if (ObjectUtil.isNull(enumByName)) {
|
||||
hyPartnerLineDO.setErrorInfo(StringUtil.isEmpty(hyPartnerLineDO.getErrorInfo()) ? ExcelErrorConstants.ACCEPT_ADJUST_TYPE_LOSE : hyPartnerLineDO.getErrorInfo().concat(Constants.SEMICOLON).concat(ExcelErrorConstants.ACCEPT_ADJUST_TYPE_LOSE));
|
||||
@@ -251,16 +253,32 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
AddLineRequest addLineRequest = new AddLineRequest();
|
||||
BeanUtil.copyProperties(hyPartnerLineDO, addLineRequest);
|
||||
addLineRequest.setWantShopArea(hyPartnerLineDO.getWantShopArea().toString());
|
||||
add(addLineRequest,"import");
|
||||
add(addLineRequest, "import");
|
||||
}
|
||||
return new ResponseResult(ResponseCodeEnum.SUCCESS.getCode(), "共上传" + lineDOList.size() + "条线索", new ErrorExcelResponse(lineDOList.size(), styleCells.size(), fileStr));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addCheckout(String mobile) {
|
||||
if (!isPhone(mobile)) {
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_MOBILE_INCORRECT);
|
||||
}
|
||||
MobileCheckDTO mobileCheckDTO = hyPartnerUserInfoDAO.selectByCheckMobile(mobile);
|
||||
if (ObjectUtil.isNotNull(mobileCheckDTO)) {
|
||||
if (mobileCheckDTO.getLineStatus().equals(LineStatusEnum.PUBLIC_SEAS.getCode())) {
|
||||
throw new ServiceException(ErrorCodeEnum.PUBLIC_LINE_NOT_FOLLOW);
|
||||
} else {
|
||||
throw new ServiceException(MessageFormat.format(ErrorCodeEnum.LINE_EXIST_FOLLOW.getMessage(),mobileCheckDTO.getInvestmentManager()));
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param phone 字符串类型的手机号
|
||||
* 传入手机号,判断后返回
|
||||
* true为手机号,false相反
|
||||
* */
|
||||
* 传入手机号,判断后返回
|
||||
* true为手机号,false相反
|
||||
*/
|
||||
public static boolean isPhone(String phone) {
|
||||
String regex = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$";
|
||||
if (phone.length() != 11) {
|
||||
@@ -277,7 +295,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private String getExcelName() {
|
||||
private String getExcelName() {
|
||||
String format = DateUtil.format(new Date(), "yyyyMMdd").concat(Constants.D_LINE).concat(IdUtil.simpleUUID().substring(0, 10));
|
||||
return format.concat(Constants.POMINT).concat(Constants.EXCEL_XLSX);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user