diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java index 487f69744..1d98c27ac 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/CoolDateUtils.java @@ -1,5 +1,7 @@ package com.cool.store.utils; +import cn.hutool.core.date.DateUtil; + import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -39,6 +41,21 @@ public class CoolDateUtils { return now.getTime(); } + /** + * n天后 的最小时间 20230613 2天后最小时间---->2023-06-15 00:00:00 + * @param day + * @return + */ + public static Date getDateFormatDayMinTime(int day){ + LocalDate today = LocalDate.now(); + LocalDate thirdDay = today.plusDays(day); + LocalDateTime thirdDayMidnight = LocalDateTime.of(thirdDay, LocalTime.MIDNIGHT); + LocalDateTime thirdDay235959 = thirdDayMidnight.with(LocalTime.MIN); + ZonedDateTime zonedDateTime = ZonedDateTime.of(thirdDay235959, ZoneId.systemDefault()); + return Date.from(zonedDateTime.toInstant()); + } + + /** * n天后 的最大时间 20230613 2天后最大时间---->2023-06-15 23:59:59 diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml index e2f551d84..87872d83c 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml @@ -140,7 +140,7 @@ from hy_intend_developement_mapping a inner join hy_intend_dev_zone_info b on a.mapping_id = b.id - and type = #{type} + and a.type = #{type} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index 7d99774a5..d3bb6c529 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -185,6 +185,8 @@ select * from hy_open_area_info where area_status = 'keyOpen' + and province_city_flag = 1 + and parent_id is null select ifnull(sum(if(interview_date=#{currentDate},1,0)),0) as currentDayInterviewCount, - ifnull(sum(if(start_time>#{startTime} and #{endTime},1,0)),0) as lastSevenDayInterviewCount + ifnull(sum(if(start_time>#{startTime} and end_time #{endTime},1,0)),0) as lastSevenDayInterviewCount FROM hy_partner_interview_plan where interviewer = #{userId} and application_approved = 0 @@ -335,6 +335,7 @@ left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id left join enterprise_user eu on hpip.interviewer = eu.user_id + hpip.deleted = 0 hpui.username like concat('%',#{record.partnerName},'%') @@ -350,7 +351,7 @@ and hpui.mobile like concat('%',#{record.interviewerMobile},'%') - + and hpip.room_status = #{record.roomStatus} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java index 5d74e7ec2..e1bab4f83 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java @@ -37,7 +37,7 @@ public class PartnerIntentInfoRequest { private Integer isHaveWantShop; @ApiModelProperty("意向铺位信息,json字段,最多5个") - private String wantShopInfo; + private List wantShopInfo; @ApiModelProperty("最大预算") private String maxBudget; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java index 4ec755803..7684ccb2b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PrivateSeaLineListRequest.java @@ -35,7 +35,7 @@ public class PrivateSeaLineListRequest extends PageInfoRequest { private Date deadlineEnd; @ApiModelProperty("意向区域") - private String IntentArea; + private String intentArea; @ApiModelProperty("调剂方式") private Integer acceptAdjustType; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/WantShopInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/WantShopInfoRequest.java new file mode 100644 index 000000000..d58220b70 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/WantShopInfoRequest.java @@ -0,0 +1,45 @@ +package com.cool.store.request; + +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/21 22:07 + * @Version 1.0 + */ +@Data +public class WantShopInfoRequest { + + + private ShopInfo shopInfo; + + + private String uuid; + + + + @Data + static class ShopInfo{ + private ShopAddress shopAddress; + + private String storeIsTakeDown; + + private String takeDown; + + } + + @Data + static class ShopAddress{ + + private String address; + + private String longitude; + + private String latitude; + + } + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/ApplyBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/ApplyBaseInfoVO.java new file mode 100644 index 000000000..364605893 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/ApplyBaseInfoVO.java @@ -0,0 +1,22 @@ +package com.cool.store.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author wxp + * @Date 2023/6/25 9:49 + * @Version 1.0 + */ +@Data +@ApiModel +public class ApplyBaseInfoVO { + + @ApiModelProperty("状态 open-开放 keyOpen-重点开放 notOpen-未开放 saturated-已饱和") + private String selectAreaStatus; + + @ApiModelProperty("所选省内是否含有开放城市") + private Boolean provinceHasOpenArea; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java index 6cacce458..8c3f1cd88 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java @@ -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; /** * 生成一条默认线索 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java index 1c6e7e5c9..1429c7bd9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java @@ -22,7 +22,7 @@ public interface InterviewService { * @param request * @return */ - InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request); + InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) throws ApiException; /** * 委托他人 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java index 46244c6d0..6364931cb 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java @@ -27,7 +27,7 @@ public interface PartnerInterviewService { /** * 获取通知函详情 */ - PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId); + PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) throws ApiException; /** * 修改面试时间 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java index a15b932b5..31e31c840 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java @@ -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); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java index cc508e1a7..9f36c32d9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java @@ -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()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java index e34e96189..e808423f2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java @@ -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. 更新线索信息(开发主管) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 397c0c2a9..b5ae8d7df 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -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())){ 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 397fd4390..78fd0bf0b 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 @@ -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 followCountList = hyPartnerLineInfoDAO.getFollowCountList(partnerIdList); Map countMap = followCountList.stream().collect(Collectors.toMap(LineCountDTO::getPartnerId, LineCountDTO::getFollowCount)); - List wantShopAreaList = list.stream().map(PublicSeaLineDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList()); + List wantShopAreaList = list.stream().map(PublicSeaLineDTO::getWantShopArea).filter(Objects::nonNull).map(Long::parseLong).distinct().collect(Collectors.toList()); Map wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList); List 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 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){ 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 2d170288e..af7650d4e 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 @@ -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 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; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java index 8a9ed7c64..13dbfc8c7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java @@ -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("/"); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index 3a98ae2ac..245eed02b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java @@ -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 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; } } 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 f8d78c21e..f302bc185 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 @@ -291,7 +291,7 @@ public class DeskController { @ApiImplicitParams({ @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) - public ResponseResult getInterviewInfoByLineId(@RequestParam(value = "lineId",required = false)Long lineId){ + public ResponseResult getInterviewInfoByLineId(@RequestParam(value = "lineId",required = false)Long lineId) throws ApiException { return ResponseResult.success(hyPartnerLineInfoService.getInterviewInfo(lineId)); } } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java index 87cf83594..5be60d4e1 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java @@ -42,7 +42,7 @@ public class InterviewController { @PostMapping("/queryByInterviewPlanId") @ApiOperation("根据面试会议计划id查询面试信息") - public ResponseResult queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) { + public ResponseResult queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) throws ApiException { InterviewVO interviewVO = interviewService.getInterviewInfo(request); return ResponseResult.success(interviewVO); } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java index f6bfcec47..9bcdd298e 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java @@ -44,7 +44,7 @@ public class InterviewController { @PostMapping("/passLetter/detail") @ApiOperation("通过函详情") - public ResponseResult passLetterDetail(@RequestBody PartnerGetPassLetterDetailDto dto) { + public ResponseResult passLetterDetail(@RequestBody PartnerGetPassLetterDetailDto dto) throws ApiException { return ResponseResult.success(interviewService.passLetterDetail(dto.getInterviewPlanId())); } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index a13c68e7e..371df2c89 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -52,7 +52,7 @@ public class PartnerController { @PostMapping(path = "/applyBaseInfo") @ApiOperation("提交加盟商基本信息") - public ResponseResult applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ + public ResponseResult applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest)); }