Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -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
|
||||
*/
|
||||
|
||||
@@ -205,4 +205,11 @@ public interface HyPartnerLineInfoMapper {
|
||||
* @return
|
||||
*/
|
||||
List<HyPartnerLineInfoDO> getLineFollowHistoryList(String partnerId);
|
||||
|
||||
/**
|
||||
* 根据面试计划 id 查询战区 id
|
||||
* @param interviewPlanId
|
||||
* @return
|
||||
*/
|
||||
String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId);
|
||||
}
|
||||
@@ -28,7 +28,7 @@
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="PartnerInterviewInfoVO" type="com.cool.store.vo.PartnerInterviewInfoVO">
|
||||
<id column="interviewId" property="interviewPlanId"/>
|
||||
<id column="interviewId" property="interviewId"/>
|
||||
<result column="partnerId" property="partnerId"/>
|
||||
<result column="interviewerId" property="interviewerId"/>
|
||||
<association property="partnerName" column="partnerId" select="queryPartnerName" javaType="string"/>
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
<!-- 根据加盟商id查询面试信息 -->
|
||||
<select id="queryByPartnerId" resultMap="PartnerInterviewInfoVO">
|
||||
SELECT t1.id interviewId, t1.id interview_id, t1.interview_plan_id, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
|
||||
SELECT t1.id interviewId, t1.id interview_id, t2.id as interviewPlanId, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
|
||||
FROM hy_partner_interview t1
|
||||
LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id
|
||||
WHERE t1.partner_id = #{partnerId}
|
||||
@@ -296,41 +296,6 @@
|
||||
AND user_id = #{interview}
|
||||
</select>
|
||||
|
||||
<!-- 修改面试状态 -->
|
||||
<update id="updateInterviewStatus">
|
||||
UPDATE hy_partner_interview
|
||||
SET `status` = #{status}
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改面试实际开始时间 -->
|
||||
<update id="updateActualStartTime">
|
||||
UPDATE hy_partner_interview_plan
|
||||
SET actual_start_time = IF(actual_start_time IS NULL, #{dateTime}, actual_start_time)
|
||||
WHERE id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改面试官或加盟商入会时间 -->
|
||||
<update id="updateEnterTime">
|
||||
UPDATE hy_partner_interview
|
||||
<set>
|
||||
<if test="userType != null and userType == 1">
|
||||
interviewer_enter_time = IF(interviewer_enter_time IS NULL, #{dateTime}, interviewer_enter_time),
|
||||
</if>
|
||||
<if test="userType != null and userType == 2">
|
||||
partner_enter_time = IF(partner_enter_time IS NULL, #{dateTime}, partner_enter_time)
|
||||
</if>
|
||||
</set>
|
||||
WHERE interview_plan_id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 修改加盟商参会状态为参加 -->
|
||||
<update id="updateWhetherPartnerEnter">
|
||||
UPDATE hy_partner_interview_plan
|
||||
SET is_partner_interview = 1
|
||||
WHERE id = #{interviewPlanId}
|
||||
</update>
|
||||
|
||||
<!-- 根据会议 id 获取面试官 id -->
|
||||
<select id="getInterviewerByInterviewPlanId" resultMap="partnerEnterInterviewVO">
|
||||
SELECT interviewer, interviewer interviewer_id, partner_id
|
||||
|
||||
@@ -293,6 +293,7 @@
|
||||
a.id as id,
|
||||
a.partner_id as partnerId,
|
||||
a.workflow_stage as workflowStage,
|
||||
a.line_status as lineStatus,
|
||||
a.workflow_status as workflowStatus,
|
||||
a.partner_id as partnerUserId,
|
||||
a.investment_manager as investmentManager,
|
||||
@@ -301,9 +302,15 @@
|
||||
b.pass_reason as passReason,
|
||||
b.certify_file as certifyFile,
|
||||
b.pass_time as passTime,
|
||||
b.pass_user_id as passUserId
|
||||
from hy_partner_line_info a inner join hy_partner_base_info b
|
||||
on a.id = b.partner_line_id
|
||||
b.pass_user_id as passUserId,
|
||||
hpuinfo.live_area as liveArea,
|
||||
hpuinfo.want_shop_area as wantShopArea,
|
||||
hpuinfo.accept_adjust_type as acceptAdjustType,
|
||||
hpuinfo.mobile as partnerUserPhone,
|
||||
hpuinfo.username as partnerUserName
|
||||
from hy_partner_line_info a
|
||||
left join hy_partner_base_info b on a.id = b.partner_line_id
|
||||
LEFT JOIN hy_partner_user_info hpuinfo ON a.partner_id = hpuinfo.partner_id
|
||||
<where>
|
||||
<if test="lineId!=null">
|
||||
and a.id = #{lineId}
|
||||
@@ -450,7 +457,7 @@
|
||||
hpuinfo.mobile as partnerUserPhone,
|
||||
hpuinfo.shop_name as storeName,
|
||||
hpuinfo.recommend_partner_name as recommendPartnerName,
|
||||
eu.name as investmentManagerName
|
||||
eu.name as investmentManagerName
|
||||
FROM
|
||||
hy_partner_line_info hpli
|
||||
LEFT JOIN hy_partner_intent_info hpii ON hpli.id = hpii.partner_line_id
|
||||
@@ -478,28 +485,37 @@
|
||||
<if test="acceptAdjustType!=null">
|
||||
AND hpuinfo.accept_adjust_type = #{acceptAdjustType}
|
||||
</if>
|
||||
<if test="storeKeywordType!=null and storeKeywordType==storeCode">
|
||||
<if test="storeKeywordType!=null and storeKeywordType=='storeCode'">
|
||||
AND hpuinfo.shop_code like concat('%',#{storeKeyword},'%')
|
||||
</if>
|
||||
<if test="storeKeywordType!=null and storeKeywordType==storeName">
|
||||
<if test="storeKeywordType!=null and storeKeywordType=='storeName'">
|
||||
AND hpuinfo.shop_name like concat('%',#{storeKeyword},'%')
|
||||
</if>
|
||||
<if test="storeKeywordType!=null and storeKeywordType==partnerName">
|
||||
<if test="storeKeywordType!=null and storeKeywordType=='partnerName'">
|
||||
AND hpuinfo.recommend_partner_name like concat('%',#{storeKeyword},'%')
|
||||
</if>
|
||||
<if test="storeKeywordType!=null and storeKeywordType==partnerMobile">
|
||||
<if test="storeKeywordType!=null and storeKeywordType=='partnerMobile'">
|
||||
AND hpuinfo.recommend_partner_mobile like concat('%',#{storeKeyword},'%')
|
||||
</if>
|
||||
<if test="userIdList!=null and userIdList.size>0">
|
||||
<if test="userIdList!=null and userIdList.size>0 and developmentManagerList!=null and developmentManagerList.size==0">
|
||||
<foreach collection="userIdList" item="userId" open="and hpli.investment_manager in (" close=")" separator=",">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="developmentManagerList!=null and developmentManagerList.size>0">
|
||||
<if test="userIdList!=null and userIdList.size==0 and developmentManagerList!=null and developmentManagerList.size>0">
|
||||
<foreach collection="developmentManagerList" item="developmentManager" open="and hpli.development_manager in (" close=")" separator=",">
|
||||
#{developmentManager}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="userIdList!=null and userIdList.size>0 and developmentManagerList!=null and developmentManagerList.size>0">
|
||||
<foreach collection="userIdList" item="userId" open="and (hpli.investment_manager in (" close=")" separator=",">
|
||||
#{userId}
|
||||
</foreach>
|
||||
<foreach collection="developmentManagerList" item="developmentManager" open="or hpli.development_manager in (" close="))" separator=",">
|
||||
#{developmentManager}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ public class HyPartnerInterviewDO implements Serializable {
|
||||
private Date passTime;
|
||||
|
||||
@ApiModelProperty("有效期")
|
||||
private Date expiryDate;
|
||||
private String expiryDate;
|
||||
|
||||
@ApiModelProperty("最近的日志消息")
|
||||
private String latestLogMessage;
|
||||
|
||||
@@ -12,6 +12,9 @@ import lombok.Data;
|
||||
@Data
|
||||
@ApiModel
|
||||
public class QueryByInterviewPlanIdReq {
|
||||
@ApiModelProperty("会议编号")
|
||||
@ApiModelProperty("会议计划编号")
|
||||
private String interviewPlanId;
|
||||
|
||||
@ApiModelProperty(value = "是否是需要查询战区主管的页面", required = true)
|
||||
private Boolean needDevelopmentDirector;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,9 @@ public class PartnerIntentInfoVO {
|
||||
@ApiModelProperty("意向开店区域")
|
||||
private String wantShopArea;
|
||||
|
||||
@ApiModelProperty("意向开店区域名称")
|
||||
private String wantShopAreaName;
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
|
||||
@@ -68,4 +68,16 @@ public class PartnerLineInfoAndBaseInfoVO {
|
||||
|
||||
@ApiModelProperty("通过证明")
|
||||
private List<String> passCertifyFile;
|
||||
|
||||
@ApiModelProperty("常驻区域")
|
||||
private String liveArea;
|
||||
|
||||
@ApiModelProperty("意向开店区域")
|
||||
private String wantShopArea;
|
||||
|
||||
@ApiModelProperty("意向开店区域名称")
|
||||
private String wantShopAreaName;
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -39,8 +39,9 @@ public class PublicSeaLineListVo {
|
||||
|
||||
@ApiModelProperty("手机号归属地")
|
||||
private String phoneAddress;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty("面试开始时间")
|
||||
private Date partnerInterviewStartTime;
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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.");
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@ public interface InterviewService {
|
||||
|
||||
/**
|
||||
* 根据面试会议计划id查询面试信息
|
||||
* @param interviewPlanId
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
InterviewVO getInterviewInfo(String interviewPlanId);
|
||||
InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request);
|
||||
|
||||
/**
|
||||
* 委托他人
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<PartnerIntentApplyInfoVO> 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());
|
||||
|
||||
@@ -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<PartnerBlackListDTO> list = blackListDTOPageInfo.getList();
|
||||
List<String> closeUserIdList = list.stream().map(PartnerBlackListDTO::getCloseUserId).collect(Collectors.toList());
|
||||
List<EnterpriseUserDO> userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(closeUserIdList);
|
||||
Map<String, String> userPhoneMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getMobile));
|
||||
List<BlackListVO> 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));
|
||||
}
|
||||
|
||||
@@ -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<InterviewVO> getInterviewList(GetInterviewListReq request) {
|
||||
List<InterviewVO> 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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() : "";
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ public class DeskController {
|
||||
|
||||
@PostMapping(path = "/updatePartnerIntentInfo")
|
||||
@ApiOperation("修改加盟商意向信息/行业认知")
|
||||
public ResponseResult<Boolean> updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
public ResponseResult<String> updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public class InterviewController {
|
||||
@PostMapping("/queryByInterviewPlanId")
|
||||
@ApiOperation("根据面试会议id查询面试信息")
|
||||
public ResponseResult<InterviewVO> queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) {
|
||||
InterviewVO interviewVO = interviewService.getInterviewInfo(request.getInterviewPlanId());
|
||||
InterviewVO interviewVO = interviewService.getInterviewInfo(request);
|
||||
return ResponseResult.success(interviewVO);
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 942 KiB After Width: | Height: | Size: 942 KiB |
@@ -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<String> getUserPhoneNumber(@RequestParam(value = "mobileCode",required = true)String mobileCode) {
|
||||
return ResponseResult.success(wechatMiniAppService.getUserPhoneNumber(mobileCode));
|
||||
}
|
||||
|
||||
@ApiOperation("更新手机号")
|
||||
@PostMapping("/updateUserPhoneNumber")
|
||||
public ResponseResult<String> updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) {
|
||||
|
||||
@@ -108,23 +108,19 @@ public class PartnerController {
|
||||
|
||||
@PostMapping(path = "/submitPartnerIntentInfo")
|
||||
@ApiOperation("提意向书意向信息/行业认知")
|
||||
public ResponseResult<Boolean> submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
public ResponseResult<String> submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping(path = "/changePartnerClerkInfo")
|
||||
@ApiOperation("修改意向书店员信息")
|
||||
public ResponseResult<Boolean> changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
|
||||
|
||||
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping(path = "/changePartnerIntentInfo")
|
||||
@ApiOperation("修改意向书意向信息/行业认知")
|
||||
public ResponseResult<Boolean> changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
public ResponseResult<String> changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
|
||||
}
|
||||
@@ -140,8 +136,8 @@ public class PartnerController {
|
||||
|
||||
@PostMapping(path = "/delCoolDownFirstLoginFlag")
|
||||
@ApiOperation("删除冷静期是否首次登录缓存")
|
||||
public ResponseResult<Boolean> delCoolDownFirstLoginFlag(@RequestParam(value = "partnerId",required = true)String partnerId){
|
||||
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId);
|
||||
public ResponseResult<Boolean> delCoolDownFirstLoginFlag(@RequestParam(value = "lineId",required = true)String lineId){
|
||||
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, lineId);
|
||||
redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey);
|
||||
return ResponseResult.success(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user