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

# Conflicts:
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java
This commit is contained in:
zhangchenbiao
2023-06-20 13:44:36 +08:00
18 changed files with 132 additions and 101 deletions

View File

@@ -30,7 +30,7 @@ public interface OpenAreaService {
* @param flag
* @return
*/
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean flag);
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag);
/**

View File

@@ -118,11 +118,11 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
result.setInvestmentUserIds(userList);
}
//开发区域
List<String> developementList = zoneInfoList.stream().filter(o -> "dev".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(developementList)){
List<String> developmentList = zoneInfoList.stream().filter(o -> "dev".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(developmentList)){
//获取负责的区域
developementList.retainAll(subRegionIds);
List<String> userList = userRegionMappingDAO.getUserListByRegionIds(developementList);
developmentList.retainAll(subRegionIds);
List<String> userList = userRegionMappingDAO.getUserListByRegionIds(developmentList);
userList.add(userId);
result.setDevelopmentUserIds(userList);
}

View File

@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.request.GetFreeBusyListReq;
import com.cool.store.service.FeiShuService;
import com.cool.store.vo.interview.CalendarInfo;
@@ -36,6 +38,9 @@ public class FeiShuServiceImpl implements FeiShuService {
@Autowired
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
@Autowired
private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
@Override
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
@@ -43,21 +48,24 @@ public class FeiShuServiceImpl implements FeiShuService {
String endDate = request.getEndDate();//结束日期
String partnerId = request.getPartnerId();//加盟商用户ID
String interviewerId = request.getInterviewerId();//面试官ID
String lineId = request.getLineId();//线索id
//如果加盟商用户ID为空且面试官ID为空返回错误信息
if (StringUtils.isEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
if (!(StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) && StringUtils.isEmpty(interviewerId)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_AND_PARTNER_ID_IS_NULL);
}
//如果加盟商用户ID不为空且面试官ID为空
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) {
//根据加盟商用户ID查询面试官ID
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
//如果查询结果为空,返回错误信息
//如果查询结果为空,则去线索中获取招商经理,面试官只有两个阶段,一个是在第一次申请时不存在面试安排直接取招商经理,第二个时面试信息中可修改面试官信息,这个时候以面试信息中为准
if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_IS_NULL);
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(lineId));
interviewerId = hyPartnerLineInfoDO.getInvestmentManager();
}else {
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
}
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
}
long startTime = 0L;
long endTime = 0L;

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*;
import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.partner.*;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.HyOpenAreaInfoDO;
@@ -16,6 +17,7 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool;
@@ -54,6 +56,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
private RedisUtilPool redisUtilPool;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Resource
EnterpriseUserService enterpriseUserService;
@Override
public StageCountVO selectStagePendingCount(String userId) {
@@ -301,13 +305,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return publicSeaLineList;
}
@Override
public PageInfo<PrivateSeaLineListVo> privateSeaLineList(String userId, PrivateSeaLineListRequest request) {
// TODO: 2023/6/19 su userlist计算
UserPositionAndUserScopeDTO userIdsByScope = enterpriseUserService.getUserIdsByScope(userId);
PageHelper.startPage(request.getPageNum(),request.getPageSize());
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(),
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(),
request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(), request.getStoreKeywordType(), null));
request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(),
request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds()));
List<PrivateSeaLineDTO> list = privateLineList.getList();
if (CollectionUtils.isEmpty(list)){
return new PageInfo<>();
@@ -389,10 +396,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
if (AreaStatusEnum.OPEN.equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.equals(hyOpenAreaInfoDO.getAreaStatus())){
if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
return Boolean.TRUE;
}
if (AreaStatusEnum.NOT_OPEN.equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.equals(hyOpenAreaInfoDO.getAreaStatus())){
if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
return Boolean.FALSE;
}

View File

@@ -207,6 +207,7 @@ public class InterviewServiceImpl implements InterviewService {
}
@Override
@Transactional
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) {
CreateAppointmentVO vo = new CreateAppointmentVO();
//1.创建面试计划
@@ -226,14 +227,18 @@ public class InterviewServiceImpl implements InterviewService {
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
record.setDeleted(false);
long interviewPlanId = hyPartnerInterviewPlanMapper.insertSelective(record);
vo.setInterviewPlanId(String.valueOf(interviewPlanId));
hyPartnerInterviewPlanMapper.insertSelective(record);
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
// vo.setInterviewPlanId(String.valueOf(interviewPlanId));
//2.创建面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
// hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
hyPartnerInterviewDO.setCreateTime(new Date());
hyPartnerInterviewDO.setUpdateTime(new Date());

View File

@@ -38,7 +38,7 @@ public class OpenAreaServiceImpl implements OpenAreaService {
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,areaStatus,flag);
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,areaStatus,flag);
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
List<HyOpenAreaInfoDO> result = new ArrayList<>();
@@ -60,13 +60,13 @@ public class OpenAreaServiceImpl implements OpenAreaService {
}
@Override
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword, Boolean flag) {
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag, Boolean flag) {
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,flag);
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,applyFlag,null,flag);
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));