意向书联调
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.request.AddTagsRequest;
|
||||
import com.cool.store.request.PartnerBaseInfoRequest;
|
||||
import com.cool.store.vo.PartnerBaseInfoVO;
|
||||
@@ -31,5 +32,8 @@ public interface HyPartnerBaseInfoService {
|
||||
|
||||
Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser);
|
||||
|
||||
HyPartnerBaseInfoDO generateBaseInfo(HyPartnerUserInfoDO hyPartnerUserInfoDO, Long partnerLineId);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
import com.cool.store.vo.PartnerIntentInfoVO;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
/**
|
||||
@@ -40,6 +41,6 @@ public interface HyPartnerIntentInfoService {
|
||||
|
||||
String submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest);
|
||||
|
||||
PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId);
|
||||
PartnerIntentInfoVO queryPartnerIntentInfo(PartnerUserInfoVO userInfoVO, Long lineId);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.request.PrivateSeaLineListRequest;
|
||||
@@ -148,4 +149,15 @@ public interface HyPartnerLineInfoService {
|
||||
|
||||
InterviewVO getInterviewInfo(Long lineId);
|
||||
|
||||
/**
|
||||
* 生成一条默认线索
|
||||
* @param partnerId
|
||||
* @param wantShopArea
|
||||
* @param acceptAdjustType
|
||||
* @return
|
||||
*/
|
||||
HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType);
|
||||
|
||||
Long checkGenerateNewLineId(Long lineId);
|
||||
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.RedisConstant;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.LineStatusEnum;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -44,6 +47,9 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
@Resource
|
||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
|
||||
@Resource
|
||||
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||
|
||||
@Resource
|
||||
private RedisUtilPool redisUtilPool;
|
||||
|
||||
@@ -153,6 +159,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HyPartnerBaseInfoDO generateBaseInfo(HyPartnerUserInfoDO hyPartnerUserInfoDO, Long partnerLineId) {
|
||||
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(hyPartnerUserInfoDO.getPartnerId(), partnerLineId);
|
||||
if(hyPartnerBaseInfoDO == null){
|
||||
hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO();
|
||||
hyPartnerBaseInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
hyPartnerBaseInfoDO.setPartnerLineId(partnerLineId);
|
||||
hyPartnerBaseInfoDO.setMobile(hyPartnerUserInfoDO.getMobile());
|
||||
hyPartnerBaseInfoDO.setUsername(hyPartnerUserInfoDO.getUsername());
|
||||
hyPartnerBaseInfoDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode()));
|
||||
hyPartnerBaseInfoDO.setSex(1);
|
||||
hyPartnerBaseInfoDAO.insertSelective(hyPartnerBaseInfoDO);
|
||||
}
|
||||
return hyPartnerBaseInfoDO;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
import com.cool.store.vo.PartnerIntentInfoVO;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -51,14 +52,10 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
@Resource
|
||||
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||
@Resource
|
||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
@Resource
|
||||
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||
@Resource
|
||||
private RedisUtilPool redisUtilPool;
|
||||
@Resource
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
|
||||
@Override
|
||||
@@ -152,14 +149,15 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) {
|
||||
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, partnerId, lineId);
|
||||
public PartnerIntentInfoVO queryPartnerIntentInfo(PartnerUserInfoVO userInfoVO, Long lineId) {
|
||||
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, userInfoVO.getPartnerId(), lineId);
|
||||
if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
|
||||
PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class);
|
||||
return intentInfoVO;
|
||||
}
|
||||
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
|
||||
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(userInfoVO.getPartnerId(), lineId);
|
||||
PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO();
|
||||
intentInfoVO.setWantShopArea(userInfoVO.getWantShopArea());
|
||||
if (intentInfoDO != null){
|
||||
BeanUtil.copyProperties(intentInfoDO, intentInfoVO);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.cool.store.request.PrivateSeaLineListRequest;
|
||||
import com.cool.store.request.QueryByInterviewPlanIdReq;
|
||||
import com.cool.store.service.AliyunService;
|
||||
import com.cool.store.service.EnterpriseUserService;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.InterviewService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
@@ -28,7 +29,6 @@ import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -52,8 +52,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
@Resource
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
UserRegionMappingDAO userRegionMappingDAO;
|
||||
@Resource
|
||||
private RedisUtilPool redisUtilPool;
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@@ -71,6 +69,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
InterviewService interviewService;
|
||||
@Resource
|
||||
HyPartnerInterviewPlanDAO hyPartnerInterviewPlanDAO;
|
||||
@Resource
|
||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -511,6 +511,42 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType) {
|
||||
// 生成一条线索
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId);
|
||||
if(hyPartnerLineInfoDO == null){
|
||||
hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
|
||||
hyPartnerLineInfoDO.setPartnerId(partnerId);
|
||||
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
|
||||
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
|
||||
Boolean flag = this.assignFollowUser(hyPartnerLineInfoDO.getPartnerId(), wantShopArea, acceptAdjustType);
|
||||
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
if (flag){
|
||||
hyPartnerLineInfoDO.setInvestmentManager("ou_7a6a19ae800afde783b0ec2dabaabf95");
|
||||
}
|
||||
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
|
||||
}
|
||||
return hyPartnerLineInfoDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long checkGenerateNewLineId(Long lineId) {
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
|
||||
// 15天之后可以继续填写意向信息,把之前的线索删除
|
||||
if(hyPartnerLineInfoDO != null && hyPartnerLineInfoDO.getCloseTime() != null &&
|
||||
CoolDateUtils.getDateBefore(hyPartnerLineInfoDO.getCloseTime(), 15).before(new Date())){
|
||||
//将老的线索置为删除状态
|
||||
hyPartnerLineInfoDAO.batchDeleted(Collections.singletonList(hyPartnerLineInfoDO.getId()));
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
||||
// 生成一条新线索
|
||||
HyPartnerLineInfoDO newLineInfoDO = this.generateDefaultLineInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType());
|
||||
// 生成一条意向基本信息
|
||||
hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, newLineInfoDO.getId());
|
||||
return newLineInfoDO.getId();
|
||||
}
|
||||
return hyPartnerLineInfoDO.getId();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -583,4 +619,5 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
stageCountVO.setReservationInterviewCount(stageCountDTO.getReservationInterviewCount());
|
||||
return stageCountVO;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,18 +3,14 @@ package com.cool.store.service.impl;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.LineStatusEnum;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.PartnerUserInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.PartnerUserInfoService;
|
||||
import com.cool.store.vo.InviteCodeDetailVO;
|
||||
@@ -26,17 +22,14 @@ import javax.annotation.Resource;
|
||||
@Service
|
||||
public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
|
||||
@Autowired
|
||||
private HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||
|
||||
@Resource
|
||||
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
|
||||
@Resource
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@@ -99,33 +92,10 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
|
||||
hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
|
||||
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
|
||||
|
||||
// 生成一条线索
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
if(hyPartnerLineInfoDO == null){
|
||||
hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
|
||||
hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
|
||||
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
|
||||
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");
|
||||
}
|
||||
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
|
||||
}
|
||||
// 生成意向基本信息
|
||||
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(hyPartnerUserInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId());
|
||||
if(hyPartnerBaseInfoDO == null){
|
||||
hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO();
|
||||
hyPartnerBaseInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
hyPartnerBaseInfoDO.setPartnerLineId(hyPartnerLineInfoDO.getId());
|
||||
hyPartnerBaseInfoDO.setMobile(hyPartnerUserInfoDO.getMobile());
|
||||
hyPartnerBaseInfoDO.setUsername(hyPartnerUserInfoDO.getUsername());
|
||||
hyPartnerBaseInfoDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode()));
|
||||
hyPartnerBaseInfoDO.setSex(1);
|
||||
hyPartnerBaseInfoDAO.insertSelective(hyPartnerBaseInfoDO);
|
||||
}
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoService.generateDefaultLineInfo(hyPartnerUserInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType());
|
||||
// 生成一条意向基本信息
|
||||
hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, hyPartnerLineInfoDO.getId());
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea()));
|
||||
return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : "";
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
userInfoVO.setOpenid(hyPartnerUserPlatformBindDO.getPlatformUserId());
|
||||
if(StringUtils.isNotBlank(hyPartnerUserInfoDO.getWantShopArea())){
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
|
||||
userInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", ""));
|
||||
userInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", " ").trim());
|
||||
}
|
||||
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
if (lineInfoDO != null){
|
||||
|
||||
Reference in New Issue
Block a user