Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.request.PrivateSeaLineListRequest;
|
||||
@@ -147,7 +148,7 @@ public interface HyPartnerLineInfoService {
|
||||
*/
|
||||
String getAssignFollowUser(String partnerId,String type);
|
||||
|
||||
InterviewVO getInterviewInfo(Long lineId);
|
||||
InterviewVO getInterviewInfo(Long lineId) throws ApiException;
|
||||
|
||||
/**
|
||||
* 生成一条默认线索
|
||||
|
||||
@@ -22,7 +22,7 @@ public interface InterviewService {
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request);
|
||||
InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) throws ApiException;
|
||||
|
||||
/**
|
||||
* 委托他人
|
||||
|
||||
@@ -27,7 +27,7 @@ public interface PartnerInterviewService {
|
||||
/**
|
||||
* 获取通知函详情
|
||||
*/
|
||||
PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId);
|
||||
PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) throws ApiException;
|
||||
|
||||
/**
|
||||
* 修改面试时间
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.request.PartnerUserInfoRequest;
|
||||
import com.cool.store.vo.ApplyBaseInfoVO;
|
||||
import com.cool.store.vo.InviteCodeDetailVO;
|
||||
|
||||
public interface PartnerUserInfoService {
|
||||
@@ -14,6 +15,6 @@ public interface PartnerUserInfoService {
|
||||
|
||||
InviteCodeDetailVO selectInviteCodeDetail(String partnerId);
|
||||
|
||||
String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest);
|
||||
ApplyBaseInfoVO updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest);
|
||||
|
||||
}
|
||||
|
||||
@@ -65,8 +65,8 @@ public class DeskServiceImpl implements DeskService {
|
||||
//查询面试数量
|
||||
|
||||
String currentDate = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_DAY);
|
||||
String startTime = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_SEC);
|
||||
String endTime = DateUtil.format(CoolDateUtils.getDateBefore(dateTime, 7), CoolDateUtils.DATE_FORMAT_SEC);
|
||||
String startTime = DateUtil.format(CoolDateUtils.getDateFormatDayMinTime(1), CoolDateUtils.DATE_FORMAT_SEC);
|
||||
String endTime = DateUtil.format(CoolDateUtils.getDateFormatDay(7), CoolDateUtils.DATE_FORMAT_SEC);
|
||||
SpecialDateRangeInterviewCountDTO interviewCount = hyPartnerInterviewPlanDAO.getInterviewCount(userId, currentDate, startTime, endTime);
|
||||
|
||||
interviewScheduleInfoVO.setCurrentDayInterviewCount(interviewCount.getCurrentDayInterviewCount());
|
||||
|
||||
@@ -157,6 +157,7 @@ public class FlowServiceImpl implements FlowService {
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
//更新
|
||||
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_5.getCode()));
|
||||
hyPartnerInterviewDO.setAuthCode(authCode);
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
|
||||
//4. 更新线索信息(开发主管)
|
||||
|
||||
@@ -173,7 +173,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
intentInfoDO.setWantShopArea(request.getWantShopArea());
|
||||
intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType());
|
||||
intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop());
|
||||
intentInfoDO.setWantShopInfo(request.getWantShopInfo());
|
||||
if (CollectionUtils.isNotEmpty(request.getWantShopInfo())){
|
||||
intentInfoDO.setWantShopInfo(JSONObject.toJSONString(request.getWantShopInfo()));
|
||||
}
|
||||
intentInfoDO.setMaxBudget(request.getMaxBudget());
|
||||
intentInfoDO.setMoneySource(request.getMoneySource());
|
||||
if(CollectionUtils.isNotEmpty(request.getMoneyProve())){
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
|
||||
import com.cool.store.dto.partner.*;
|
||||
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.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
@@ -336,7 +337,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
List<LineCountDTO> followCountList = hyPartnerLineInfoDAO.getFollowCountList(partnerIdList);
|
||||
Map<String, Integer> countMap = followCountList.stream().collect(Collectors.toMap(LineCountDTO::getPartnerId, LineCountDTO::getFollowCount));
|
||||
|
||||
List<Long> wantShopAreaList = list.stream().map(PublicSeaLineDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList());
|
||||
List<Long> wantShopAreaList = list.stream().map(PublicSeaLineDTO::getWantShopArea).filter(Objects::nonNull).map(Long::parseLong).distinct().collect(Collectors.toList());
|
||||
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
||||
List<PublicSeaLineListVo> result = new ArrayList<>();
|
||||
list.forEach(x->{
|
||||
@@ -432,6 +433,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
Boolean lineStatus = getLineStatus(Long.valueOf(wantShopArea), acceptAdjustType);
|
||||
return lineStatus;
|
||||
}
|
||||
//如果意向区域没有绑定战区 不分配招商经理
|
||||
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea), "intent");
|
||||
if (hyIntendDevelopementMappingDO==null){
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
//如果是私海线索 不需要重新分配招商经理 或者跟进次数大于1
|
||||
if (HyPartnerLineInfo.getLineStatus()==1||CollectionUtils.isEmpty(lineFollowHistoryList)){
|
||||
return Boolean.FALSE;
|
||||
@@ -486,11 +492,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
//意向区域
|
||||
String wantShopArea = hyPartnerUserInfoDO.getWantShopArea();
|
||||
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
|
||||
// TODO: 2023/6/21 如果意向区域没有绑定战区 分配给谁
|
||||
//查询意向区域绑定的组织架构
|
||||
//查询意向区域绑定的组织架构 没有绑定战区 分配空
|
||||
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea),type);
|
||||
if (hyIntendDevelopementMappingDO==null){
|
||||
throw new ServiceException(ErrorCodeEnum.INTENT_AREA_NOT_BING_ZONE);
|
||||
return "";
|
||||
}
|
||||
List<String> result = new ArrayList<>();
|
||||
if (hyIntendDevelopementMappingDO!=null){
|
||||
@@ -516,7 +521,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public InterviewVO getInterviewInfo(Long lineId) {
|
||||
public InterviewVO getInterviewInfo(Long lineId) throws ApiException {
|
||||
Long interviewId = hyPartnerInterviewPlanDAO.selectInterviewIdByLineId(lineId);
|
||||
QueryByInterviewPlanIdReq queryByInterviewPlanIdReq = new QueryByInterviewPlanIdReq();
|
||||
if (interviewId!=null){
|
||||
|
||||
@@ -93,9 +93,13 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) {
|
||||
public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) throws ApiException {
|
||||
String interviewPlanId = request.getInterviewPlanId();
|
||||
InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId);
|
||||
//如果面试信息为空,抛出异常
|
||||
if (vo == null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
//将 processInfo 解析为 List
|
||||
if (!StringUtils.isEmpty(vo.getProcessInfo())) {
|
||||
List<String> split = Arrays.asList(vo.getProcessInfo().split(","));
|
||||
@@ -239,9 +243,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
|
||||
//1. 将面试状态改为 --> 2已开始
|
||||
hyPartnerInterviewDO.setStatus(2);
|
||||
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
hyPartnerInterviewDO.setInterviewer(DateUtil.now());
|
||||
//4. 修改加盟商或面试官进入面试时间
|
||||
//2. 修改加盟商或面试官进入面试时间
|
||||
//加盟商
|
||||
if (dto.getUserType().equals(2)) {
|
||||
hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date());
|
||||
@@ -252,14 +254,17 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId()));
|
||||
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
|
||||
//6. 修改房间状态为已开放
|
||||
hyPartnerInterviewPlanDO.setRoomStatus(1);
|
||||
//3. TODO(待确认) 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
hyPartnerInterviewPlanDO.setActualEndTime(DateUtil.date());
|
||||
//4. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
if (dto.getUserType().equals(2)) {
|
||||
hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
|
||||
}
|
||||
//5. 修改房间状态为已开放
|
||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||
//7. 查询对应的面试官id、姓名及加盟商姓名
|
||||
//6. 查询对应的面试官id、姓名及加盟商姓名
|
||||
EnterInterviewVO vo = hyPartnerInterviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
|
||||
//8. 生成 userSign
|
||||
//7. 生成 userSign
|
||||
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
|
||||
vo.setUserSign(userSig);
|
||||
return vo;
|
||||
|
||||
@@ -71,9 +71,7 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
|
||||
//1. 将面试状态改为 --> 2已开始
|
||||
hyPartnerInterviewDO.setStatus(2);
|
||||
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date());
|
||||
//4. 修改加盟商或面试官进入面试时间
|
||||
//2. 修改加盟商或面试官进入面试时间
|
||||
//加盟商
|
||||
if (dto.getUserType().equals(2)) {
|
||||
hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date());
|
||||
@@ -84,15 +82,17 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
interviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId()));
|
||||
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
//3. TODO(待确认) 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||
hyPartnerInterviewPlanDO.setActualEndTime(DateUtil.date());
|
||||
//4. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||
if (dto.getUserType().equals(2)) {
|
||||
hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
|
||||
}
|
||||
//6. 修改房间状态为已开放
|
||||
//5. 修改房间状态为已开放
|
||||
interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||
//7. 查询对应的面试官id、姓名及加盟商姓名
|
||||
//6. 查询对应的面试官id、姓名及加盟商姓名
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
|
||||
//8. 生成 userSign
|
||||
//7. 生成 userSign
|
||||
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
|
||||
vo.setUserSign(userSig);
|
||||
return vo;
|
||||
@@ -105,8 +105,12 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
* 获取通知函详情
|
||||
*/
|
||||
@Override
|
||||
public PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) {
|
||||
public PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) throws ApiException {
|
||||
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewPlanId);
|
||||
//如果面试信息为空,抛出异常
|
||||
if (vo == null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
//解析意向开店区域为市级行政区
|
||||
String verifyCity = vo.getVerifyCity();
|
||||
String[] split = verifyCity.split("/");
|
||||
|
||||
@@ -11,11 +11,14 @@ 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.ApplyBaseInfoVO;
|
||||
import com.cool.store.vo.InviteCodeDetailVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
@@ -72,11 +75,12 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) {
|
||||
public ApplyBaseInfoVO updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) {
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId()));
|
||||
if (hyPartnerUserInfoDO == null){
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
|
||||
}
|
||||
ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO();
|
||||
hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername());
|
||||
hyPartnerUserInfoDO.setMobile(partnerUserInfoRequest.getMobile());
|
||||
hyPartnerUserInfoDO.setLiveArea(partnerUserInfoRequest.getLiveArea());
|
||||
@@ -95,6 +99,17 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
// 生成一条意向基本信息
|
||||
hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, hyPartnerLineInfoDO.getId());
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea()));
|
||||
return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : "";
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = null;
|
||||
if(hyOpenAreaInfoDO != null){
|
||||
applyBaseInfoVO.setSelectAreaStatus(hyOpenAreaInfoDO.getAreaStatus());
|
||||
String areaPath = hyOpenAreaInfoDO.getAreaPath();
|
||||
String province = areaPath.substring(0, areaPath.indexOf("/", areaPath.indexOf("/") + 1));
|
||||
hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(province, true, null, true);
|
||||
}
|
||||
applyBaseInfoVO.setProvinceHasOpenArea(false);
|
||||
if (CollectionUtils.isNotEmpty(hyOpenAreaInfoDOS)) {
|
||||
applyBaseInfoVO.setProvinceHasOpenArea(true);
|
||||
}
|
||||
return applyBaseInfoVO;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user