Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
pserimal
2023-06-21 20:26:49 +08:00
21 changed files with 162 additions and 79 deletions

View File

@@ -69,7 +69,7 @@ public enum ErrorCodeEnum {
FEISHU_DELETE_SCHEDULE_ERROR(1021108, "删除原面试安排失败!", null),
CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面试安排失败!", null),
FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "修改面试安排失败!", null),
INTERVIEW_STATUS_ERROR(1021111, "面试状态错误", null),
INTERVIEW_STATUS_ERROR(1021111, "当前面试状态不允许修改面试时间", null),
INTERVIEW_PLAN_ALREADY_EXIST(1021112, "面试计划已存在,请勿重复申请!", null),
INTERVIEW_LINE_ID_IS_NULL(1021113, "线索id为空", null),
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面试人{0} 手机号:{1}", null),

View File

@@ -48,7 +48,6 @@ public interface HyPartnerBaseInfoMapper {
List<HyPartnerBaseInfoDO> getByPartnerLineIds(@Param("partnerLineId") List<Long> partnerLineIds);
Long getLineIdByIdCard(@Param("idCard") String idCard);
HyPartnerBaseInfoDO getByIdCard(@Param("idCard") String idCard);
int cleanIdCardInfoByPartnerLineId(@Param("idCard") String idCard,

View File

@@ -299,7 +299,7 @@
a.investment_manager as investmentManager,
b.user_portrait as user_portrait,
b.id as partnerBaseInfoId,
b.pass_reason as passReason,
b.pass_reason as passCause,
b.certify_file as certifyFile,
b.pass_time as passTime,
b.pass_user_id as passUserId,

View File

@@ -74,4 +74,8 @@ public class HyPartnerBaseInfoDO implements Serializable {
@ApiModelProperty("更新时间")
private Date updateTime;
private Date passTime;
private String passUserId;
}

View File

@@ -24,4 +24,6 @@ public class InterviewDetailInfoVO {
private Long lineId;
@ApiModelProperty("面试开始时间")
private Date startTime;
private Long interviewPlanId;
}

View File

@@ -58,7 +58,7 @@ public class PartnerLineInfoAndBaseInfoVO {
private String passCause;
@ApiModelProperty("通过时间")
private Date passTime;
private String passTime;
@ApiModelProperty("通过人名称")
private String passUserName;

View File

@@ -15,7 +15,7 @@ import java.util.List;
@Data
public class GetFreeBusyListVO {
@ApiModelProperty("日期列表(默认七天,只有请求参数中查询日期不传时才会返回,否则不返回)")
@ApiModelProperty("忙闲列表")
private List<CalendarInfo> calendarList;
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;
@@ -57,8 +58,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
@Resource
private RedisUtilPool redisUtilPool;
@Resource
EnterpriseUserDAO enterpriseUserDAO;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Override
@@ -66,10 +65,10 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = new PartnerIntentApplyInfoVO();
String workflowStatus = "";
if (CommonConstants.PENDING.equals(type)) {
workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode();
workflowStatus = WorkflowStatusEnum.INTENT_1.getCode();
}
if (CommonConstants.FOLLOW.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode();
workflowStatus = WorkflowStatusEnum.INTENT_0.getCode();
}
PageHelper.startPage(pageNumber,pageSize);
PageInfo partnerIntentApplyInfo = new PageInfo(hyPartnerIntentInfoDAO.selectPartnerIntentApplyInfoList(userId, WorkflowStageEnum.INTENT.getCode(), workflowStatus));
@@ -152,14 +151,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);
}

View File

@@ -150,6 +150,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
}
interviewDetailInfoVO.setLineId(hyPartnerInterviewPlanDO.getPartnerLineId());
interviewDetailInfoVO.setStartTime(hyPartnerInterviewPlanDO.getStartTime());
interviewDetailInfoVO.setInterviewPlanId(hyPartnerInterviewPlanDO.getId());
return interviewDetailInfoVO;
}

View File

@@ -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
@@ -258,6 +258,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){
hyPartnerLineInfoDO.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()));
}
HyPartnerBaseInfoDO hy = hyPartnerBaseInfoDAO.getByPartnerLineId(hyPartnerLineInfoDO.getId());
hy.setPassReason(closeFollowRequest.getPassReason());
hy.setPassTime(new Date());
hy.setPassUserId(userId);
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hy);
}
//拒绝
@@ -506,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();
}
/**
@@ -560,7 +601,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile(), String.class));
}
partnerLineInfoAndBaseInfoVO.setPassUserId(partnerLineInfoAndBaseInfoDTO.getPassUserId());
partnerLineInfoAndBaseInfoVO.setPassTime(partnerLineInfoAndBaseInfoDTO.getPassTime());
partnerLineInfoAndBaseInfoVO.setPassTime(DateUtil.format(partnerLineInfoAndBaseInfoDTO.getPassTime(),CoolDateUtils.DATE_FORMAT_SEC));
return partnerLineInfoAndBaseInfoVO;
}
@@ -578,4 +619,5 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
stageCountVO.setReservationInterviewCount(stageCountDTO.getReservationInterviewCount());
return stageCountVO;
}
}

View File

@@ -9,10 +9,7 @@ import com.cool.store.dto.calendar.*;
import com.cool.store.dto.message.SendCardMessageDTO;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.*;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.MessageTypeEnum;
import com.cool.store.enums.RoomStatus;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
@@ -170,6 +167,11 @@ public class InterviewServiceImpl implements InterviewService {
}
/**
* PC端修改面试时间目前和小程序端逻辑一致后续可能扩展
* @param request
* @throws ApiException
*/
@Override
public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException {
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
@@ -177,19 +179,20 @@ public class InterviewServiceImpl implements InterviewService {
if (interviewInfo == null) {
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
}
UpdateCalendarEventDTO updateCalendarEventDTO = new UpdateCalendarEventDTO();
updateCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
updateCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
updateCalendarEventDTO.setStartTime(DateUtil.parseDate(request.getNewStartBookingTime()).getTime());
updateCalendarEventDTO.setEndTime(DateUtil.parseDate(request.getNewEndBookingTime()).getTime());
updateCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.updateUserCalendarEvent(updateCalendarEventDTO);
if(userCalendarsEventDTO == null ){
throw new ApiException(ErrorCodeEnum.FEISHU_UPDATE_SCHEDULE_ERROR);
}
// UpdateCalendarEventDTO updateCalendarEventDTO = new UpdateCalendarEventDTO();
// updateCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
// updateCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
// updateCalendarEventDTO.setStartTime(DateUtil.parseDate(request.getNewStartBookingTime()).getTime());
// updateCalendarEventDTO.setEndTime(DateUtil.parseDate(request.getNewEndBookingTime()).getTime());
// updateCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
// UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.updateUserCalendarEvent(updateCalendarEventDTO);
// if(userCalendarsEventDTO == null ){
// throw new ApiException(ErrorCodeEnum.FEISHU_UPDATE_SCHEDULE_ERROR);
// }
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
record.setId(Long.valueOf(request.getInterviewPlanId()));
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
record.setEndTime(Convert.toDate(request.getNewEndBookingTime()));
record.setUpdateTime(new Date());
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
}
@@ -312,6 +315,13 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_1.getCode()));
hyPartnerInterviewMapper.insertSelective(hyPartnerInterviewDO);
//修改线索状态
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
hyPartnerLineDO.setId(request.getPartnerLineId());
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_1.getCode());
hyPartnerLineDO.setUpdateTime(new Date());
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
//异步发送飞书信息给面试官
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(String.valueOf(interviewPlanId));
List<String> userIds = new ArrayList<>();
@@ -370,6 +380,14 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_2.getCode()));
hyPartnerInterviewDO.setUpdateTime(new Date());
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
//更新线索状态
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
hyPartnerLineDO.setId(request.getPartnerLineId());
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.INTERVIEW.getCode());
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_2.getCode());
hyPartnerLineDO.setUpdateTime(new Date());
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
//异步发送短信给加盟商
InterviewSmsReq interviewSmsReq = new InterviewSmsReq();
interviewSmsReq.setInterviewStartTime(DateUtil.format(DateUtil.parse(interviewVO.getStartTime()), DatePattern.NORM_DATETIME_MINUTE_PATTERN));

View File

@@ -138,6 +138,7 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
record.setId(Long.valueOf(request.getInterviewPlanId()));
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
record.setEndTime(Convert.toDate(request.getNewEndBookingTime()));
record.setUpdateTime(new Date());
interviewPlanMapper.updateByPrimaryKeySelective(record);
}

View File

@@ -1,20 +1,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 +20,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 +90,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() : "";
}

View File

@@ -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){

View File

@@ -73,3 +73,8 @@ xxl.job.accessToken =
hs.mdm.baseUrl=http://10.56.21.30/
hs.mdm.appkey = HSAYPartner
hs.mdm.appsec = ab39fedb886fa3587c7f517551976de8b2606f5511fd8f8675266825d74c5cd3
#sms
hs.sms.accessKeyId = LTAI4GEZKz9PBqqKa3hjup3W
hs.sms.accessKeySecret = iVOiK74k7C1wVbuUbipgJbfpAh1Zdb
hs.sms.templateCode = SMS_461530041

View File

@@ -174,14 +174,10 @@ public class PartnerController {
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult<PartnerIntentInfoVO> queryPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO.getPartnerId(), lineId));
return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO, lineId));
}
@GetMapping(path = "/completeJoinNotice")
@ApiOperation("提交加盟须知")
@ApiImplicitParams({
@@ -201,6 +197,16 @@ public class PartnerController {
return ResponseResult.success(partnerUserInfoService.queryJoinNotice(partnerId));
}
@GetMapping(path = "/checkGenerateNewLineId")
@ApiOperation("提交意向申请书之前——判断是否生成新线索")
@ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult<Long> checkGenerateNewLineId(@RequestParam(value = "lineId",required = false)Long lineId){
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerLineInfoService.checkGenerateNewLineId(lineId));
}
@GetMapping(path = "/getIdentityCardInfo")
@ApiOperation("根据身份证正面解析获取数据")

View File

@@ -61,7 +61,5 @@ weixin.appSecret=77abdcae754add92889566b543e5ad79
signKey=77fea013c3a6459685b83c21a2fc3411
#MDM
hs.mdm.baseUrl=http://10.56.21.30/
hs.mdm.appkey = HSAYPartner
hs.mdm.appsec = ab39fedb886fa3587c7f517551976de8b2606f5511fd8f8675266825d74c5cd3
#飞书通知
feishu.notice.link.url = https://applink.feishu.cn/client/web_app/open?appId=cli_a4f3e24dc73a100c&lk_target_url=https%3A%2F%2Ftest-hsay-web.coolstore.cn%2F%23%2Fwork%2Fbench