From 2986f3bf0a455032fa835e80cab2a6f7162563b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 20 Jun 2023 11:10:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=86=E9=85=8D=E8=A7=84=E5=88=991?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/HyOpenAreaInfoDAO.java | 4 ++-- .../com/cool/store/dao/HyPartnerLineInfoDAO.java | 4 ++-- .../cool/store/mapper/HyOpenAreaInfoMapper.java | 1 + .../store/mapper/HyPartnerLineInfoMapper.java | 3 ++- .../resources/mapper/HyPartnerLineInfoMapper.xml | 11 ++++++++--- .../com/cool/store/service/OpenAreaService.java | 2 +- .../service/impl/EnterpriseUserServiceImpl.java | 8 ++++---- .../impl/HyPartnerLineInfoServiceImpl.java | 16 ++++++++++++---- .../store/service/impl/OpenAreaServiceImpl.java | 6 +++--- .../cool/store/controller/DeskController.java | 3 +-- .../store/controller/OpenAreaController.java | 2 +- .../store/controller/OpenAreaController.java | 6 ++++-- 12 files changed, 41 insertions(+), 25 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java index 63ca48ab2..e0f1c643e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java @@ -29,8 +29,8 @@ public class HyOpenAreaInfoDAO { return hyOpenAreaInfoMapper.queryKeyOpenArea(); } - public List queryByKeyword(String keyword,String areaStatus,Boolean filterData){ - return hyOpenAreaInfoMapper.queryByKeyword(keyword,areaStatus,filterData); + public List queryByKeyword(String keyword,Boolean applyFlag,String areaStatus,Boolean filterData){ + return hyOpenAreaInfoMapper.queryByKeyword(keyword,applyFlag,areaStatus,filterData); } public List queryFirstLevel(){ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 2ba898a51..206e66c3b 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -131,9 +131,9 @@ public class HyPartnerLineInfoDAO { } public List getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, Date deadlineStart, Date deadlineEnd, - String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList){ + String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList,List developmentManagerList){ return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd, - intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList); + intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java index 3bd0fa866..4d90a6146 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java @@ -41,6 +41,7 @@ public interface HyOpenAreaInfoMapper { * @return */ List queryByKeyword(@Param("keyword") String keyword, + @Param("applyFlag") Boolean applyFlag, @Param("areaStatus") String areaStatus, @Param("filterData") Boolean filterData); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 155b370e8..e5211aff6 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -173,7 +173,8 @@ public interface HyPartnerLineInfoMapper { @Param("acceptAdjustType") Integer acceptAdjustType, @Param("storeKeyword") String storeKeyword, @Param("storeKeywordType") String storeKeywordType, - @Param("userIdList") List userIdList); + @Param("userIdList") List userIdList, + @Param("developmentManagerList") List developmentManagerList); /** diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index cee13a969..f0dc5a367 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -359,9 +359,9 @@ a.close_user_id as closeUserId, a.close_time as closeTime, a.join_black_reason as joinBlackReason - from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id - where deleted = 0 - and line_status = 3 + from hy_partner_line_info a inner join hy_partner_user_info b on a.partner_id = b.partner_id + where a.deleted = 0 + and a.line_status = 3 and b.username like concat('%', #{userNameKeyword}, '%') @@ -494,6 +494,11 @@ #{userId} + + + #{developmentManager} + + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java index 5ac2be270..f59e37b15 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java @@ -30,7 +30,7 @@ public interface OpenAreaService { * @param flag * @return */ - List queryAllOpenAreaByKeyword(String keyword,Boolean flag); + List queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag); /** diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java index f30d0cd05..4989edba2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java @@ -125,11 +125,11 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService { result.setInvestmentUserIds(userList); } //开发区域 - List developementList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(developementList)){ + List developmentList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(developmentList)){ //获取负责的区域 - developementList.retainAll(subRegionIds); - List userList = userRegionMappingDAO.getUserListByRegionIds(developementList); + developmentList.retainAll(subRegionIds); + List userList = userRegionMappingDAO.getUserListByRegionIds(developmentList); userList.add(userId); result.setDevelopmentUserIds(userList); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index 15f07ffd1..5b2e4f596 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -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 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 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; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java index 630eb232c..ba4c0a0c9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java @@ -38,7 +38,7 @@ public class OpenAreaServiceImpl implements OpenAreaService { Map longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); //查询关键字下所有的数据 原始的数据 - List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,areaStatus,flag); + List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,areaStatus,flag); Set longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet()); List result = new ArrayList<>(); @@ -60,13 +60,13 @@ public class OpenAreaServiceImpl implements OpenAreaService { } @Override - public List queryAllOpenAreaByKeyword(String keyword, Boolean flag) { + public List queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag, Boolean flag) { //先查出所有的一级菜单 List openArea = hyOpenAreaInfoDAO.queryFirstLevel(); Map longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); //查询关键字下所有的数据 原始的数据 - List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,flag); + List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,applyFlag,null,flag); Map hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index 8b1e7b5fd..8181e0ffd 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -213,8 +213,7 @@ public class DeskController { @PostMapping(path = "/queryPrivateSeaLineList") @ApiOperation("私海列表") public ResponseResult> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ - - return ResponseResult.success(); + return ResponseResult.success(hyPartnerLineInfoService.privateSeaLineList(CurrentUserHolder.getUserId(),privateSeaLineListRequest)); } @PostMapping(path = "/queryBlackList") diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java index 876cf2e81..f4c4958eb 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -43,7 +43,7 @@ public class OpenAreaController { @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false) }) public ResponseResult> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){ - return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE)); + return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,null,Boolean.FALSE)); } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java index 5090d56c5..6a3d2c16e 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -49,9 +49,11 @@ public class OpenAreaController { @ApiOperation("区域申请搜索 树形结构") @ApiImplicitParams({ @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false), + @ApiImplicitParam(name = "applyFlag", value = "可申请标识", required = false) }) - public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){ - List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE); + public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword, + @RequestParam(value = "applyFlag",required = false)Boolean applyFlag){ + List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,applyFlag,Boolean.FALSE); return ResponseResult.success(openAreaTreeVOS); } From d1f0e4748e554be979cf97a31ab104bc461799ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E6=89=AC?= Date: Tue, 20 Jun 2023 11:47:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BF=99=E9=97=B2?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 2 +- .../mapper/HyPartnerInterviewMapper.java | 2 +- .../mapper/HyPartnerInterviewMapper.xml | 126 +++++++++--------- .../store/request/GetFreeBusyListReq.java | 6 +- .../store/service/impl/FeiShuServiceImpl.java | 18 ++- .../service/impl/InterviewServiceImpl.java | 13 +- 6 files changed, 91 insertions(+), 76 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 535d2f7ea..e227d8ecc 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -61,7 +61,7 @@ public enum ErrorCodeEnum { INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null), INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null), - INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID和面试官ID不能同时为空!", null), + INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面试官ID不能同时为空!", null), INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面试安排!", null), DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null), INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null), diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java index 5b60798b3..ef22c78aa 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java @@ -18,7 +18,7 @@ public interface HyPartnerInterviewMapper { * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-06-09 05:51 */ - int insertSelective(HyPartnerInterviewDO record); + int insertSelective(@Param("record") HyPartnerInterviewDO record); /** * diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml index 584bebc81..7d0e1fd1b 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml @@ -54,133 +54,133 @@ insert into hy_partner_interview - + status, - + partner_line_id, - + interview_plan_id, - + partner_id, - + deadline, - + interviewer, - + recorder, - + process_info, - + record_time, - + summary, - + auth_code, - + pass_file_url, - + expiry_date, - + latest_log_message, - + pass_reason, - + certify_file, - + create_time, - + update_time, - + approve_time, - + partner_enter_time, - + interviewer_enter_time, - - #{status}, + + #{record.status}, - - #{partnerLineId}, + + #{record.partnerLineId}, - - #{interviewPlanId}, + + #{record.interviewPlanId}, - - #{partnerId}, + + #{record.partnerId}, - - #{deadline}, + + #{record.deadline}, - - #{interviewer}, + + #{record.interviewer}, - - #{recorder}, + + #{record.recorder}, - - #{processInfo}, + + #{record.processInfo}, - - #{recordTime}, + + #{record.recordTime}, - - #{summary}, + + #{record.summary}, - - #{authCode}, + + #{record.authCode}, - - #{passFileUrl}, + + #{record.passFileUrl}, - - #{expiryDate}, + + #{record.expiryDate}, - - #{latestLogMessage}, + + #{record.latestLogMessage}, - - #{passReason}, + + #{record.passReason}, - - #{certifyFile}, + + #{record.certifyFile}, - - #{createTime}, + + #{record.createTime}, - - #{updateTime}, + + #{record.updateTime}, - - #{approveTime}, + + #{record.approveTime}, - - #{partnerEnterTime}, + + #{record.partnerEnterTime}, - - #{interviewerEnterTime}, + + #{record.interviewerEnterTime}, diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java index c1245ea8a..32e13925e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java @@ -16,8 +16,10 @@ public class GetFreeBusyListReq { private String startDate; @ApiModelProperty("结束时间") private String endDate; - @ApiModelProperty("加盟商用户ID") + @ApiModelProperty("线索id(C端使用)") + private String lineId; + @ApiModelProperty("加盟商用户ID(C端使用,与面试官id两个字段中必传一个,该字段传值时,线索id必传)") private String partnerId; - @ApiModelProperty("面试官ID(如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)") + @ApiModelProperty("面试官ID(B端使用,如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)") private String interviewerId; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java index 30ef5c972..1a9363f4f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java @@ -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 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; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index 6348b591d..03d894d4b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -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());