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 bc1f9863f..ce5c80c6d 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 @@ -34,32 +34,6 @@ public interface HyPartnerInterviewMapper { */ PartnerInterviewInfoVO queryByPartnerId(@Param("partnerId") String partnerId); - /** - * 修改面试状态 - * 预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝 - */ - int updateInterviewStatus(@Param("interviewPlanId") String interviewPlanId, @Param("status") Integer status); - - /** - * 修改面试实际开始时间 - * @param dateTime "yyyy-MM-dd HH:mm:ss" - */ - int updateActualStartTime(@Param("interviewPlanId") String interviewPlanId, @Param("dateTime") String dateTime); - - /** - * 修改加盟商或面试官进入面试时间 - * @param userType 1.面试官2.加盟商3.其他 - * @param dateTime "yyyy-MM-dd HH:mm:ss" - * @return - */ - int updateEnterTime(@Param("interviewPlanId") String interviewPlanId, @Param("userType") Integer userType, @Param("dateTime") String dateTime); - - /** - * 将加盟商是否参会修改为参会 - * 0未参加,1参加 - */ - int updateWhetherPartnerEnter(@Param("interviewPlanId") String interviewPlanId); - /** * 根据会议 id 查询面试官 id */ 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 e5211aff6..dd6d151dd 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 @@ -205,4 +205,11 @@ public interface HyPartnerLineInfoMapper { * @return */ List getLineFollowHistoryList(String partnerId); + + /** + * 根据面试计划 id 查询战区 id + * @param interviewPlanId + * @return + */ + String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml index 429dd8897..6400cafc0 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml @@ -28,7 +28,7 @@ - + @@ -279,7 +279,7 @@ - - - UPDATE hy_partner_interview - SET `status` = #{status} - WHERE interview_plan_id = #{interviewPlanId} - - - - - UPDATE hy_partner_interview_plan - SET actual_start_time = IF(actual_start_time IS NULL, #{dateTime}, actual_start_time) - WHERE id = #{interviewPlanId} - - - - - UPDATE hy_partner_interview - - - interviewer_enter_time = IF(interviewer_enter_time IS NULL, #{dateTime}, interviewer_enter_time), - - - partner_enter_time = IF(partner_enter_time IS NULL, #{dateTime}, partner_enter_time) - - - WHERE interview_plan_id = #{interviewPlanId} - - - - - UPDATE hy_partner_interview_plan - SET is_partner_interview = 1 - WHERE id = #{interviewPlanId} - - diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java index 647f0f917..f2f8d38dc 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PartnerLineInfoAndBaseInfoDTO.java @@ -62,4 +62,18 @@ public class PartnerLineInfoAndBaseInfoDTO { @ApiModelProperty("通过证明") private String passCertifyFile; + + private Integer lineStatus; + + @ApiModelProperty("常驻区域") + private String liveArea; + + @ApiModelProperty("意向开店区域") + private String wantShopArea; + + @ApiModelProperty("意向开店区域名称") + private String wantShopAreaName; + + @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") + private Integer acceptAdjustType; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java index a56b0076e..38d985f5a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java @@ -67,7 +67,7 @@ public class HyPartnerInterviewDO implements Serializable { private Date passTime; @ApiModelProperty("有效期") - private Date expiryDate; + private String expiryDate; @ApiModelProperty("最近的日志消息") private String latestLogMessage; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/QueryByInterviewPlanIdReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/QueryByInterviewPlanIdReq.java index d07045f40..08be52e8c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/QueryByInterviewPlanIdReq.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/QueryByInterviewPlanIdReq.java @@ -12,6 +12,9 @@ import lombok.Data; @Data @ApiModel public class QueryByInterviewPlanIdReq { - @ApiModelProperty("会议编号") + @ApiModelProperty("会议计划编号") private String interviewPlanId; + + @ApiModelProperty(value = "是否是需要查询战区主管的页面", required = true) + private Boolean needDevelopmentDirector; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java index 803582259..fb5766594 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerIntentInfoVO.java @@ -37,6 +37,9 @@ public class PartnerIntentInfoVO { @ApiModelProperty("意向开店区域") private String wantShopArea; + @ApiModelProperty("意向开店区域名称") + private String wantShopAreaName; + @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") private Integer acceptAdjustType; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java index 1484a5b4d..39d76aa87 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java @@ -68,4 +68,16 @@ public class PartnerLineInfoAndBaseInfoVO { @ApiModelProperty("通过证明") private List passCertifyFile; + + @ApiModelProperty("常驻区域") + private String liveArea; + + @ApiModelProperty("意向开店区域") + private String wantShopArea; + + @ApiModelProperty("意向开店区域名称") + private String wantShopAreaName; + + @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") + private Integer acceptAdjustType; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java index 277a5e6cf..7ec2f1cd8 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java @@ -31,11 +31,11 @@ public class PartnerUserInfoVO { @ApiModelProperty("常驻区域") private String liveArea; - @ApiModelProperty("意向开店区域") + @ApiModelProperty("意向开店区域ID") private String wantShopArea; - @ApiModelProperty("意向开店区域ID") - private Long wantShopAreaId; + @ApiModelProperty("意向开店区域名称") + private String wantShopAreaName; @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") private Integer acceptAdjustType; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java index 848d704ee..ecad5c955 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicSeaLineListVo.java @@ -39,8 +39,9 @@ public class PublicSeaLineListVo { @ApiModelProperty("手机号归属地") private String phoneAddress; + @ApiModelProperty("创建时间") - private Date createTime; + private String createTime; @ApiModelProperty("面试开始时间") private Date partnerInterviewStartTime; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java index 0c1bbc152..477bc316b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java @@ -1,5 +1,6 @@ package com.cool.store.vo.interview; +import com.cool.store.entity.EnterpriseUserDO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -105,4 +106,10 @@ public class InterviewVO { @ApiModelProperty("飞书日程id") private String feishuScheduleId; + @ApiModelProperty("开发主管信息") + private EnterpriseUserDO developmentDirector; + + @ApiModelProperty("所属战区id") + private String affiliationZone; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java b/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java index 03f7bfcf9..95130c4f6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/oss/OSSServer.java @@ -37,11 +37,12 @@ public class OSSServer { // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); try { - // 创建PutObjectRequest对象。 + // 创建PutObjectRequest对象 + objectName = "partner/" + corpId + "/" + objectName; PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, objectName, inputStream); // 创建PutObject请求。 ossClient.putObject(putObjectRequest); - return cdnUrl + "/partner/" + corpId + "/" + objectName; + return cdnUrl + "/" + objectName; } catch (OSSException oe) { log.error("Caught an OSSException, which means your request made it to OSS, " + "but was rejected with an error response for some reason."); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java index 1edf577c3..3a8c15958 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java @@ -38,7 +38,7 @@ public interface HyPartnerIntentInfoService { */ Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); - Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); + String submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId); 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 e4f0d2974..7289b21aa 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 @@ -19,10 +19,10 @@ public interface InterviewService { /** * 根据面试会议计划id查询面试信息 - * @param interviewPlanId + * @param request * @return */ - InterviewVO getInterviewInfo(String interviewPlanId); + InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request); /** * 委托他人 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java index ed21b250c..ea9f1c5a0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java @@ -3,6 +3,7 @@ package com.cool.store.service; import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.request.MobileUpdateRequest; import com.cool.store.vo.PartnerUserInfoVO; + /** * @author zhangchenbiao * @FileName: WechatMiniAppService @@ -11,9 +12,10 @@ import com.cool.store.vo.PartnerUserInfoVO; */ public interface WechatMiniAppService { - PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param); + String getUserPhoneNumber(String mobileCode); + String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO); PartnerUserInfoVO getUserInfo(String mobile, String openId); 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 7b2c13f50..1e0574756 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 @@ -277,12 +277,13 @@ public class FlowServiceImpl implements FlowService { //上传 OSS String passImageUrl = ossServer.uploadFileServer(inputStream, "passLetter/" + passCode + ".png"); //计算有效期截止日期 - DateTime expiryDate = DateUtil.offsetDay(passTime, 60); + Date expiryDate = DateUtil.offsetDay(passTime, 60); + expiryDate = DateUtil.endOfDay(expiryDate); HyPartnerInterviewDO interviewDO = new HyPartnerInterviewDO(); interviewDO.setId(Long.parseLong(interviewId)); interviewDO.setPassCode(passCode); interviewDO.setPassTime(passTime); - interviewDO.setExpiryDate(expiryDate); + interviewDO.setExpiryDate(DateUtil.formatDateTime(expiryDate)); interviewDO.setPassPdfUrl(passPdfUrl); interviewDO.setPassImageUrl(passImageUrl); hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java index e75ecfca0..dd5908523 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java @@ -78,6 +78,17 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { fillBaseInfo(baseInfoDO, request); hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); } + if(request.getSubmitFlag()){ + // 更新线索表状态 + HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getPartnerLineId()); + hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_1.getCode()); + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); + // 更新意向基本信息表状态 + HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + hyPartnerBaseInfoDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTENT_1.getCode())); + hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); + } + // 清空暂存信息 redisUtilPool.delKey(cacheKey); return Boolean.TRUE; } 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 fc669f457..6f46c9674 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 @@ -6,6 +6,7 @@ import com.cool.store.constants.CommonConstants; import com.cool.store.constants.RedisConstant; import com.cool.store.dao.*; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; +import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.enums.ErrorCodeEnum; @@ -22,6 +23,7 @@ import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -52,6 +54,10 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; @Resource private RedisUtilPool redisUtilPool; + @Resource + EnterpriseUserDAO enterpriseUserDAO; + @Resource + HyOpenAreaInfoDAO hyOpenAreaInfoDAO; @Override public PageInfo getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { @@ -104,8 +110,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return Boolean.TRUE; } - @Resource - EnterpriseUserDAO enterpriseUserDAO; @Override public PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId) { HyPartnerIntentInfoDO hyPartnerIntentInfoDO= hyPartnerIntentInfoDAO.selectByLineId(lineId); @@ -116,20 +120,21 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerIntentInfoDO.getPartnerId()); partnerIntentInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); - //todo su 手机号归属地 意向申请区域名称 + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea())); + partnerIntentInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaName()); return partnerIntentInfoVO; } @Override - public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { + public String submitPartnerIntentInfo(PartnerIntentInfoRequest request) { + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId()); if(!request.getSubmitFlag()){ // 自动保存时 redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS); - return Boolean.TRUE; - } - if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ - throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + return ""; } HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); if(intentInfoDO == null){ @@ -141,7 +146,11 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); } redisUtilPool.delKey(cacheKey); - return true; + if(StringUtils.isNotBlank(request.getWantShopArea())){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(request.getWantShopArea())); + return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : null; + } + return null; } @Override @@ -169,7 +178,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic intentInfoDO.setWantShopInfo(request.getWantShopInfo()); intentInfoDO.setMaxBudget(request.getMaxBudget()); intentInfoDO.setMoneySource(request.getMoneySource()); - intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve())); + if(CollectionUtils.isNotEmpty(request.getMoneyProve())){ + intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve())); + } intentInfoDO.setEducation(request.getEducation()); intentInfoDO.setWorkYear(request.getWorkYear()); intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); 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 61a420e18..cf4c4d1ac 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 @@ -80,16 +80,24 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo(partnerLineInfoAndBaseInfoDTO); - HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerLineInfoAndBaseInfoVO.getPartnerUserId()); - if (hyPartnerUserInfoDO!=null){ - partnerLineInfoAndBaseInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); - partnerLineInfoAndBaseInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); - } + EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(partnerLineInfoAndBaseInfoDTO.getPassUserId()); if (userInfo!=null){ partnerLineInfoAndBaseInfoVO.setPassUserName(userInfo.getName()); } - //todo su 1、招商经理名称 手机号归属地 2、加盟商手机号归属地 + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone())){ + DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone()); + partnerLineInfoAndBaseInfoVO.setPhoneAddress(phoneNumberAttribute!=null?phoneNumberAttribute.getCity():""); + } + if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea())); + partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaName()); + } + EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(partnerLineInfoAndBaseInfoVO.getInvestmentManager()); + if (investmentManager!=null){ + partnerLineInfoAndBaseInfoVO.setInvestmentManagerName(investmentManager.getName()); + partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(investmentManager.getMobile()); + } return partnerLineInfoAndBaseInfoVO; } @@ -157,10 +165,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType())); List list = blackListDTOPageInfo.getList(); + List closeUserIdList = list.stream().map(PartnerBlackListDTO::getCloseUserId).collect(Collectors.toList()); + List userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(closeUserIdList); + Map userPhoneMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getMobile)); List result = new ArrayList<>(); list.stream().forEach(x->{ BlackListVO blackListVO = convertPartnerBlackListDTOToVo(x); - //todo su 员工名称手机号 手机号归属地 + blackListVO.setCloseUserPhone(userPhoneMap.get(x.getCloseUserId())); + if (StringUtils.isNotEmpty(x.getMobile())){ + blackListVO.setPhoneAddress(aliyunService.getPhoneNumberAttribute(x.getMobile()).getCity()); + } result.add(blackListVO); }); blackListDTOPageInfo.setList(result); @@ -213,9 +227,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { if (hyPartnerLineInfoDO==null){ throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } - if (WorkflowStageEnum.INTENT.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())){ - throw new ServiceException(ErrorCodeEnum.WORK_FLOW_STAGE_PASS_ERROR); - } //通过 if ("pass".equals(closeFollowRequest.getType())){ hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode()); @@ -285,7 +296,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo(); publicSeaLineListVo.setPartnerId(x.getPartnerId()); - publicSeaLineListVo.setCreateTime(x.getCreateTime()); + publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC)); publicSeaLineListVo.setPartnerUserName(x.getUserName()); publicSeaLineListVo.setPartnerUserPhone(x.getMobile()); DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile()); @@ -300,7 +311,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason()); publicSeaLineListVo.setLastCloseDate(hy.getCloseTime()); publicSeaLineListVo.setLastInvestmentManager(hy.getInvestmentManager()); - publicSeaLineListVo.setPartnerUserPhone(mobileMap.get(hy.getInvestmentManager())); + publicSeaLineListVo.setLastInvestmentManager(mobileMap.get(hy.getInvestmentManager())); result.add(publicSeaLineListVo); }); publicSeaLineList.setList(result); @@ -362,10 +373,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { // todo wxp 需要加条件 HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId); BeanUtil.copyProperties(lineInfoDO, lineBaseInfoVO); - String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); + String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, lineInfoDO.getId()); String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey); lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value)); lineBaseInfoVO.setPartnerLineId(lineInfoDO.getId()); + lineBaseInfoVO.setCause(lineInfoDO.getRejectPublicReason()); + return lineBaseInfoVO; } @@ -455,6 +468,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { blackListVO.setCloseTime(partnerBlackListDTO.getCloseTime()); blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason()); blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId()); + blackListVO.setCloseUserPhone(partnerBlackListDTO.getCloseUserId()); return blackListVO; } @@ -476,6 +490,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage()); partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus()); partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause()); + partnerLineInfoAndBaseInfoVO.setLineStatus(partnerLineInfoAndBaseInfoDTO.getLineStatus()); + partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(partnerLineInfoAndBaseInfoDTO.getInvestmentManagerPhone()); + partnerLineInfoAndBaseInfoVO.setPartnerUserPhone(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone()); + partnerLineInfoAndBaseInfoVO.setPartnerUserName(partnerLineInfoAndBaseInfoDTO.getPartnerUserName()); + partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType()); + partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea()); + partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea()); if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile())){ partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile(), String.class)); } 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 0e0cc2b13..d8f9abed6 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 @@ -8,6 +8,7 @@ import com.cool.store.dto.calendar.UpdateCalendarEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.dto.message.SendCardMessageDTO; import com.cool.store.dto.partner.EnterInterviewDto; +import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.entity.HyPartnerLineInfoDO; @@ -18,10 +19,13 @@ import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ApiException; import com.cool.store.exception.ServiceException; import com.cool.store.http.ISVHttpRequest; +import com.cool.store.mapper.EnterpriseUserMapper; import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.mapper.HyPartnerLineInfoMapper; import com.cool.store.request.*; +import com.cool.store.service.EnterpriseUserService; +import com.cool.store.service.HyPartnerInterviewPlanService; import com.cool.store.service.InterviewService; import com.cool.store.utils.StringUtil; import com.cool.store.utils.TRTCUtils; @@ -59,9 +63,6 @@ public class InterviewServiceImpl implements InterviewService { @Autowired private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper; - @Autowired - private HyPartnerInterviewMapper interviewMapper; - @Autowired private HyPartnerInterviewMapper hyPartnerInterviewMapper; @@ -70,6 +71,10 @@ public class InterviewServiceImpl implements InterviewService { @Autowired private HyPartnerLineInfoMapper hyPartnerLineInfoMapper; + + @Autowired + private EnterpriseUserService enterpriseUserService; + @Override public List getInterviewList(GetInterviewListReq request) { List interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request); @@ -77,7 +82,8 @@ public class InterviewServiceImpl implements InterviewService { } @Override - public InterviewVO getInterviewInfo(String interviewPlanId) { + public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) { + String interviewPlanId = request.getInterviewPlanId(); InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId); //将 processInfo 解析为 List if (!StringUtils.isEmpty(vo.getProcessInfo())) { @@ -92,6 +98,17 @@ public class InterviewServiceImpl implements InterviewService { EnterpriseUserBaseInfoVO recorderInfo = hyPartnerInterviewPlanMapper.getEnterpriseUserBaseInfo(vo.getRecorderId()); vo.setRecorderName(recorderInfo.getName()); vo.setRecorderMobile(recorderInfo.getMobile()); + //查询开发主管信息 + if (request.getNeedDevelopmentDirector() != null && request.getNeedDevelopmentDirector()) { + //查询所属战区 + String affiliationZoneId = hyPartnerLineInfoMapper.getAffiliationZoneIdByInterviewPlanId(interviewPlanId); + if (affiliationZoneId == null) { + return vo; + } + //查询开发主管 + EnterpriseUserDO development = enterpriseUserService.getDevelopmentByZoneId(Long.parseLong(affiliationZoneId)); + vo.setDevelopmentDirector(development); + } return vo; } @@ -191,17 +208,31 @@ public class InterviewServiceImpl implements InterviewService { @Transactional public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { try { + HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); + hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId())); //1. 将面试状态改为 --> 2已开始 - interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2); + hyPartnerInterviewDO.setStatus(2); //3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 - interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now()); + hyPartnerInterviewDO.setInterviewer(DateUtil.now()); //4. 修改加盟商或面试官进入面试时间 - interviewMapper.updateEnterTime(dto.getInterviewPlanId(), dto.getUserType(), DateUtil.now()); + //加盟商 + if (dto.getUserType().equals(2)) { + hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date()); + } else if (dto.getUserType().equals(1)) { + hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date()); + } + //更新 + hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); + HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO(); + hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId())); //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 - interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId()); - //6. 查询对应的面试官id、姓名及加盟商姓名 - EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); - //生成 userSign + hyPartnerInterviewPlanDO.setIsPartnerInterview(1); + //6. 修改房间状态为已开放 + hyPartnerInterviewPlanDO.setRoomStatus(1); + hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO); + //7. 查询对应的面试官id、姓名及加盟商姓名 + EnterInterviewVO vo = hyPartnerInterviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); + //8. 生成 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 4ac098871..2e11e9a84 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 @@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.cool.store.dto.partner.EnterInterviewDto; +import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.WorkflowStatusEnum; @@ -15,6 +16,7 @@ import com.cool.store.request.ModifyInterviewTimeReq; import com.cool.store.service.PartnerInterviewService; import com.cool.store.utils.TRTCUtils; import com.cool.store.vo.EnterInterviewVO; +import com.cool.store.vo.EnterpriseUserBaseInfoVO; import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerPassLetterDetailVO; import com.cool.store.vo.interview.InterviewVO; @@ -64,17 +66,33 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService { @Transactional public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { try { + HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO(); + hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId())); //1. 将面试状态改为 --> 2已开始 - interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2); + hyPartnerInterviewDO.setStatus(2); //3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 - interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now()); + hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date()); //4. 修改加盟商或面试官进入面试时间 - interviewMapper.updateEnterTime(dto.getInterviewPlanId(), dto.getUserType(), DateUtil.now()); + //加盟商 + if (dto.getUserType().equals(2)) { + hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date()); + } else if (dto.getUserType().equals(1)) { + hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date()); + } + //更新 + interviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); + HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO(); + hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId())); //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 - interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId()); - //6. 查询对应的面试官id、姓名及加盟商姓名 + if (dto.getUserType().equals(2)) { + hyPartnerInterviewPlanDO.setIsPartnerInterview(1); + } + //6. 修改房间状态为已开放 + hyPartnerInterviewPlanDO.setRoomStatus(1); + interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO); + //7. 查询对应的面试官id、姓名及加盟商姓名 EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); - //生成 userSign + //8. 生成 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/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index 2bb8d4f6a..df771d650 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 @@ -2,9 +2,11 @@ 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; @@ -24,6 +26,9 @@ import javax.annotation.Resource; @Service public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { + @Autowired + private HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; + @Autowired private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; @@ -96,16 +101,29 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); // 生成一条线索 - HyPartnerLineInfoDO exsitLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); - if(exsitLineInfoDO == null){ - HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); + 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.getLineStatus(Long.valueOf(partnerUserInfoRequest.getWantShopArea()), partnerUserInfoRequest.getAcceptAdjustType()); hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); + 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); + } HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea())); return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : ""; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java index 6a4dc4f36..fab6d2605 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java @@ -4,12 +4,14 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.cool.store.constants.CommonConstants; +import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserPlatformBindDAO; import com.cool.store.dto.wx.CodeSessionDTO; import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.dto.wx.PhoneInfoDTO; +import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserPlatformBindDO; @@ -31,7 +33,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.MessageFormat; import java.util.Date; -import java.util.Objects; /** * @author zhangchenbiao @@ -53,6 +54,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { private HyPartnerUserPlatformBindDAO hyPartnerUserPlatformBindDAO; @Resource private HyPartnerLineInfoDAO hyPartnerLineInfoDAO; + @Resource + HyOpenAreaInfoDAO hyOpenAreaInfoDAO; @Value("${weixin.appId}") private String wxAppId; @@ -118,6 +121,18 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { return userInfoVO; } + @Override + public String getUserPhoneNumber(String mobileCode) { + // 获取小程序token + String accessToken = wechatRest.getAccessToken(wxAppId, wxAppSecret); + // 获取手机号码 + PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(mobileCode, accessToken); + if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){ + return phoneInfoDTO.getPhoneInfo().getPhoneNumber(); + } + return null; + } + @Override public String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO) { String newMobile = ""; @@ -154,6 +169,14 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); userInfoVO.setOpenid(hyPartnerUserPlatformBindDO.getPlatformUserId()); + if(StringUtils.isNotBlank(hyPartnerUserInfoDO.getWantShopArea())){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea())); + userInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", "")); + } + HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); + if (lineInfoDO != null){ + userInfoVO.setPartnerLineId(lineInfoDO.getId()); + } return userInfoVO; } 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 05737e708..4986d85cc 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 @@ -256,7 +256,7 @@ public class DeskController { @PostMapping(path = "/updatePartnerIntentInfo") @ApiOperation("修改加盟商意向信息/行业认知") - public ResponseResult updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ + public ResponseResult updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } 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 dfe566f91..0740ddc92 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 @@ -43,7 +43,7 @@ public class InterviewController { @PostMapping("/queryByInterviewPlanId") @ApiOperation("根据面试会议id查询面试信息") public ResponseResult queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) { - InterviewVO interviewVO = interviewService.getInterviewInfo(request.getInterviewPlanId()); + InterviewVO interviewVO = interviewService.getInterviewInfo(request); return ResponseResult.success(interviewVO); } diff --git a/coolstore-partner-webc/src/main/resources/static/Alibaba-PuHuiTi-Regular.ttf b/coolstore-partner-webb/src/main/resources/static/Alibaba-PuHuiTi-Regular.ttf similarity index 100% rename from coolstore-partner-webc/src/main/resources/static/Alibaba-PuHuiTi-Regular.ttf rename to coolstore-partner-webb/src/main/resources/static/Alibaba-PuHuiTi-Regular.ttf diff --git a/coolstore-partner-webc/src/main/resources/static/passLetterBg.jpg b/coolstore-partner-webb/src/main/resources/static/passLetterBg.jpg similarity index 100% rename from coolstore-partner-webc/src/main/resources/static/passLetterBg.jpg rename to coolstore-partner-webb/src/main/resources/static/passLetterBg.jpg diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java index 5a155a1ac..7a8caa82f 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java @@ -1,6 +1,5 @@ package com.cool.store.controller; - import com.cool.store.context.PartnerUserHolder; import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.request.MobileUpdateRequest; @@ -36,6 +35,12 @@ public class MiniProgramAppController { return ResponseResult.success(userInfoVO); } + @ApiOperation("获取手机号") + @GetMapping("/getUserPhoneNumber") + public ResponseResult getUserPhoneNumber(@RequestParam(value = "mobileCode",required = true)String mobileCode) { + return ResponseResult.success(wechatMiniAppService.getUserPhoneNumber(mobileCode)); + } + @ApiOperation("更新手机号") @PostMapping("/updateUserPhoneNumber") public ResponseResult updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) { 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 ab7e2e96d..e20bfcf2a 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 @@ -108,23 +108,19 @@ public class PartnerController { @PostMapping(path = "/submitPartnerIntentInfo") @ApiOperation("提意向书意向信息/行业认知") - public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ + public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } - - @PostMapping(path = "/changePartnerClerkInfo") @ApiOperation("修改意向书店员信息") public ResponseResult changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ - return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } - @PostMapping(path = "/changePartnerIntentInfo") @ApiOperation("修改意向书意向信息/行业认知") - public ResponseResult changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ + public ResponseResult changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } @@ -140,8 +136,8 @@ public class PartnerController { @PostMapping(path = "/delCoolDownFirstLoginFlag") @ApiOperation("删除冷静期是否首次登录缓存") - public ResponseResult delCoolDownFirstLoginFlag(@RequestParam(value = "partnerId",required = true)String partnerId){ - String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); + public ResponseResult delCoolDownFirstLoginFlag(@RequestParam(value = "lineId",required = true)String lineId){ + String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, lineId); redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey); return ResponseResult.success(true); }