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

# Conflicts:
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
This commit is contained in:
俞扬
2023-06-21 10:25:03 +08:00
51 changed files with 551 additions and 206 deletions

View File

@@ -214,9 +214,11 @@ public class RedisConstant {
public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}"; public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}";
public static final String STOREWORK_BUILD_CACHE_KEY = "storeworkBuildDataCache:{0}:{1}:{2}"; public static final String PARTNER_BASEINFO_CACHE_KEY = "partnerBaseInfoCache:{0}:{1}";
public static final String STORE_WORK_COMMENT_CACHE_KEY = "storeWorkCommentCache:{0}:{1}:{2}"; public static final String PARTNER_CLERKINFO_CACHE_KEY = "partnerClerkInfoCache:{0}:{1}";
public static final String PARTNER_INTENTINFO_CACHE_KEY = "partnerIntentInfoCache:{0}:{1}";
public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}"; public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}";

View File

@@ -1,5 +1,8 @@
package com.cool.store.utils; package com.cool.store.utils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*; import java.time.*;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
@@ -51,5 +54,16 @@ public class CoolDateUtils {
} }
public static final Date parseDate(String dateString ){
DateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_SEC);
Date date = null;
try {
date = dateFormat.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
} }

View File

@@ -90,4 +90,12 @@ public class EnterpriseUserDAO {
} }
return enterpriseUserMapper.getUserListByDeptLeaders(regionIds); return enterpriseUserMapper.getUserListByDeptLeaders(regionIds);
} }
public List<EnterpriseUserDO> getUserListByRegionIds(List<String> regionIds){
if(CollectionUtils.isEmpty(regionIds)){
return Lists.newArrayList();
}
return enterpriseUserMapper.getUserListByRegionIds(regionIds);
}
} }

View File

@@ -37,6 +37,11 @@ public class HyPartnerBaseInfoDAO {
public int updateByPartnerId(String userName,String mobile,String partnerId){ public int updateByPartnerId(String userName,String mobile,String partnerId){
return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId);
} }
public int cleanIdCardInfoByPartnerLineId(String idCard, String idCardPhotoFront,
String idCardPhotoBlack, Long partnerLineId){
return hyPartnerBaseInfoMapper.cleanIdCardInfoByPartnerLineId(idCard, idCardPhotoFront, idCardPhotoBlack, partnerLineId);
}
public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || partnerLineId == null){ if (StringUtils.isEmpty(partnerId) || partnerLineId == null){

View File

@@ -83,4 +83,11 @@ public interface EnterpriseUserMapper {
* @return * @return
*/ */
List<EnterpriseUserDO> getUserListByDeptLeaders(@Param("regionIds") List<String> regionIds); List<EnterpriseUserDO> getUserListByDeptLeaders(@Param("regionIds") List<String> regionIds);
/**
* 获取部门人员
* @param regionIds
* @return
*/
List<EnterpriseUserDO> getUserListByRegionIds(@Param("regionIds") List<String> regionIds);
} }

View File

@@ -40,4 +40,9 @@ public interface HyPartnerBaseInfoMapper {
Long getLineIdByIdCard(@Param("idCard") String idCard); Long getLineIdByIdCard(@Param("idCard") String idCard);
int cleanIdCardInfoByPartnerLineId(@Param("idCard") String idCard,
@Param("idCardPhotoFront") String idCardPhotoFront,
@Param("idCardPhotoBlack") String idCardPhotoBlack,
@Param("partnerLineId") Long partnerLineId);
} }

View File

@@ -34,32 +34,6 @@ public interface HyPartnerInterviewMapper {
*/ */
PartnerInterviewInfoVO queryByPartnerId(@Param("partnerId") String partnerId); 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 * 根据会议 id 查询面试官 id
*/ */

View File

@@ -205,4 +205,11 @@ public interface HyPartnerLineInfoMapper {
* @return * @return
*/ */
List<HyPartnerLineInfoDO> getLineFollowHistoryList(String partnerId); List<HyPartnerLineInfoDO> getLineFollowHistoryList(String partnerId);
/**
* 根据面试计划 id 查询战区 id
* @param interviewPlanId
* @return
*/
String getAffiliationZoneIdByInterviewPlanId(String interviewPlanId);
} }

View File

@@ -297,4 +297,13 @@
where where
deleted = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> leader_dept_ids like concat("%", #{regionId}, "%") </foreach> deleted = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> leader_dept_ids like concat("%", #{regionId}, "%") </foreach>
</select> </select>
<select id="getUserListByRegionIds" resultMap="BaseResultMap">
select
user_id, name, mobile
from
enterprise_user
where
deleted = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> user_region_ids like concat("%", #{regionId}, "%") </foreach>
</select>
</mapper> </mapper>

View File

@@ -21,7 +21,7 @@
<select id="selectById" resultMap="BaseResultMap"> <select id="selectById" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"></include> <include refid="Base_Column_List"></include>
from id = #{id} from hy_open_area_info where id = #{id}
</select> </select>
<insert id="insertSelective" parameterType="com.cool.store.entity.HyOpenAreaInfoDO" keyProperty="record.id" useGeneratedKeys="true"> <insert id="insertSelective" parameterType="com.cool.store.entity.HyOpenAreaInfoDO" keyProperty="record.id" useGeneratedKeys="true">
insert into hy_open_area_info insert into hy_open_area_info

View File

@@ -238,4 +238,13 @@
where id_card = #{idCard} where id_card = #{idCard}
</select> </select>
<update id="cleanIdCardInfoByPartnerLineId">
update hy_partner_base_info
set
id_card = #{idCard},
id_card_photo_front = #{idCardPhotoFront},
id_card_photo_black = #{idCardPhotoBlack}
where partner_line_id = #{partnerLineId}
</update>
</mapper> </mapper>

View File

@@ -28,7 +28,7 @@
</resultMap> </resultMap>
<resultMap id="PartnerInterviewInfoVO" type="com.cool.store.vo.PartnerInterviewInfoVO"> <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="partnerId" property="partnerId"/>
<result column="interviewerId" property="interviewerId"/> <result column="interviewerId" property="interviewerId"/>
<association property="partnerName" column="partnerId" select="queryPartnerName" javaType="string"/> <association property="partnerName" column="partnerId" select="queryPartnerName" javaType="string"/>
@@ -279,7 +279,7 @@
<!-- 根据加盟商id查询面试信息 --> <!-- 根据加盟商id查询面试信息 -->
<select id="queryByPartnerId" resultMap="PartnerInterviewInfoVO"> <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 FROM hy_partner_interview t1
LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id
WHERE t1.partner_id = #{partnerId} WHERE t1.partner_id = #{partnerId}
@@ -296,41 +296,6 @@
AND user_id = #{interview} AND user_id = #{interview}
</select> </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 --> <!-- 根据会议 id 获取面试官 id -->
<select id="getInterviewerByInterviewPlanId" resultMap="partnerEnterInterviewVO"> <select id="getInterviewerByInterviewPlanId" resultMap="partnerEnterInterviewVO">
SELECT interviewer, interviewer interviewer_id, partner_id SELECT interviewer, interviewer interviewer_id, partner_id

View File

@@ -293,6 +293,7 @@
a.id as id, a.id as id,
a.partner_id as partnerId, a.partner_id as partnerId,
a.workflow_stage as workflowStage, a.workflow_stage as workflowStage,
a.line_status as lineStatus,
a.workflow_status as workflowStatus, a.workflow_status as workflowStatus,
a.partner_id as partnerUserId, a.partner_id as partnerUserId,
a.investment_manager as investmentManager, a.investment_manager as investmentManager,
@@ -301,12 +302,18 @@
b.pass_reason as passReason, b.pass_reason as passReason,
b.certify_file as certifyFile, b.certify_file as certifyFile,
b.pass_time as passTime, b.pass_time as passTime,
b.pass_user_id as passUserId b.pass_user_id as passUserId,
from hy_partner_line_info a inner join hy_partner_base_info b hpuinfo.live_area as liveArea,
on a.id = b.partner_line_id 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> <where>
<if test="lineId!=null"> <if test="lineId!=null">
and a.id = #{id} and a.id = #{lineId}
</if> </if>
</where> </where>
</select> </select>
@@ -320,14 +327,14 @@
and investment_manager = #{userId} and investment_manager = #{userId}
</if> </if>
<if test="lastMonthTodayDate!=null"> <if test="lastMonthTodayDate!=null">
and close_time > #{lastMonthTodayDate} and close_time <![CDATA[<]]> now and close_time > #{lastMonthTodayDate} and close_time <![CDATA[<]]> now()
</if> </if>
</where> </where>
</select> </select>
<update id="updateInvestmentManager"> <update id="updateInvestmentManager">
update hy_partner_line_info update hy_partner_line_info
set investment_manager = #{userId} set investment_manager = #{userId}, line_status= '1'
<if test="lineIdList!=null and lineIdList.size>0"> <if test="lineIdList!=null and lineIdList.size>0">
<foreach collection="lineIdList" open="where id in (" close=")" separator="," item="lineId"> <foreach collection="lineIdList" open="where id in (" close=")" separator="," item="lineId">
#{lineId} #{lineId}
@@ -396,7 +403,7 @@
select select
<include refid="Base_Column_List"></include> <include refid="Base_Column_List"></include>
from hy_partner_line_info from hy_partner_line_info
where partner_id = #{partnerId} where partner_id = #{partnerId} and deleted = 0
</select> </select>
<select id="getPublicSeaLineList" resultType="com.cool.store.dto.partner.PublicSeaLineDTO"> <select id="getPublicSeaLineList" resultType="com.cool.store.dto.partner.PublicSeaLineDTO">
@@ -409,7 +416,7 @@
b.want_shop_area as wantShopArea, b.want_shop_area as wantShopArea,
b.accept_adjust_type as acceptAdjustType b.accept_adjust_type as acceptAdjustType
FROM hy_partner_line_info a inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id FROM hy_partner_line_info a inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id
where a.line_status = 0 where a.line_status = 0 and a.deleted = 0
<if test="userNameKeyword!=null and userNameKeyword!=''"> <if test="userNameKeyword!=null and userNameKeyword!=''">
and b.username like concat('%',#{userNameKeyword},'%') and b.username like concat('%',#{userNameKeyword},'%')
</if> </if>
@@ -444,13 +451,13 @@
hpli.development_manager as developmentManager, hpli.development_manager as developmentManager,
hpli.line_status as lineStatus, hpli.line_status as lineStatus,
hpli.update_time as updateTime, hpli.update_time as updateTime,
hpii.want_shop_area as wantShopArea, hpuinfo.want_shop_area as wantShopArea,
hpii.accept_adjust_type as acceptAdjustType, hpuinfo.accept_adjust_type as acceptAdjustType,
hpuinfo.username as partnerUserName, hpuinfo.username as partnerUserName,
hpuinfo.mobile as partnerUserPhone, hpuinfo.mobile as partnerUserPhone,
hpuinfo.shop_name as storeName, hpuinfo.shop_name as storeName,
hpuinfo.recommend_partner_name as recommendPartnerName, hpuinfo.recommend_partner_name as recommendPartnerName,
eu.name as investmentManagerName eu.name as investmentManagerName
FROM FROM
hy_partner_line_info hpli hy_partner_line_info hpli
LEFT JOIN hy_partner_intent_info hpii ON hpli.id = hpii.partner_line_id LEFT JOIN hy_partner_intent_info hpii ON hpli.id = hpii.partner_line_id
@@ -478,28 +485,37 @@
<if test="acceptAdjustType!=null"> <if test="acceptAdjustType!=null">
AND hpuinfo.accept_adjust_type = #{acceptAdjustType} AND hpuinfo.accept_adjust_type = #{acceptAdjustType}
</if> </if>
<if test="storeKeywordType!=null and storeKeywordType==storeCode"> <if test="storeKeywordType!=null and storeKeywordType=='storeCode'">
AND hpuinfo.shop_code like concat('%',#{storeKeyword},'%') AND hpuinfo.shop_code like concat('%',#{storeKeyword},'%')
</if> </if>
<if test="storeKeywordType!=null and storeKeywordType==storeName"> <if test="storeKeywordType!=null and storeKeywordType=='storeName'">
AND hpuinfo.shop_name like concat('%',#{storeKeyword},'%') AND hpuinfo.shop_name like concat('%',#{storeKeyword},'%')
</if> </if>
<if test="storeKeywordType!=null and storeKeywordType==partnerName"> <if test="storeKeywordType!=null and storeKeywordType=='partnerName'">
AND hpuinfo.recommend_partner_name like concat('%',#{storeKeyword},'%') AND hpuinfo.recommend_partner_name like concat('%',#{storeKeyword},'%')
</if> </if>
<if test="storeKeywordType!=null and storeKeywordType==partnerMobile"> <if test="storeKeywordType!=null and storeKeywordType=='partnerMobile'">
AND hpuinfo.recommend_partner_mobile like concat('%',#{storeKeyword},'%') AND hpuinfo.recommend_partner_mobile like concat('%',#{storeKeyword},'%')
</if> </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 a.investment_manager in (" close=")" separator=","> <foreach collection="userIdList" item="userId" open="and hpli.investment_manager in (" close=")" separator=",">
#{userId} #{userId}
</foreach> </foreach>
</if> </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 a.development_manager in (" close=")" separator=","> <foreach collection="developmentManagerList" item="developmentManager" open="and hpli.development_manager in (" close=")" separator=",">
#{developmentManager} #{developmentManager}
</foreach> </foreach>
</if> </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> </select>

View File

@@ -62,4 +62,18 @@ public class PartnerLineInfoAndBaseInfoDTO {
@ApiModelProperty("通过证明") @ApiModelProperty("通过证明")
private String passCertifyFile; 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;
} }

View File

@@ -67,7 +67,7 @@ public class HyPartnerInterviewDO implements Serializable {
private Date passTime; private Date passTime;
@ApiModelProperty("有效期") @ApiModelProperty("有效期")
private Date expiryDate; private String expiryDate;
@ApiModelProperty("最近的日志消息") @ApiModelProperty("最近的日志消息")
private String latestLogMessage; private String latestLogMessage;

View File

@@ -12,6 +12,9 @@ import lombok.Data;
@Data @Data
@ApiModel @ApiModel
public class QueryByInterviewPlanIdReq { public class QueryByInterviewPlanIdReq {
@ApiModelProperty("会议编号") @ApiModelProperty("会议计划编号")
private String interviewPlanId; private String interviewPlanId;
@ApiModelProperty(value = "是否是需要查询战区主管的页面", required = true)
private Boolean needDevelopmentDirector;
} }

View File

@@ -37,6 +37,9 @@ public class PartnerIntentInfoVO {
@ApiModelProperty("意向开店区域") @ApiModelProperty("意向开店区域")
private String wantShopArea; private String wantShopArea;
@ApiModelProperty("意向开店区域名称")
private String wantShopAreaName;
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
private Integer acceptAdjustType; private Integer acceptAdjustType;

View File

@@ -1,5 +1,7 @@
package com.cool.store.vo; package com.cool.store.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -22,6 +24,9 @@ public class PartnerLineBaseInfoVO {
@ApiModelProperty("hy_partner_user_info.partner_id") @ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId; private String partnerId;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同") @ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同")
private String workflowStage; private String workflowStage;
@@ -29,9 +34,11 @@ public class PartnerLineBaseInfoVO {
private String workflowStatus; private String workflowStatus;
@ApiModelProperty("当前阶段截止时间") @ApiModelProperty("当前阶段截止时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date deadline; private Date deadline;
@ApiModelProperty("结束跟进时间 冷静期使用 计算15天还剩多少天") @ApiModelProperty("结束跟进时间 冷静期使用 计算15天还剩多少天")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date closeTime; private Date closeTime;
@ApiModelProperty("冷静期首次登录标识 true-是首次") @ApiModelProperty("冷静期首次登录标识 true-是首次")

View File

@@ -49,7 +49,7 @@ public class PartnerLineInfoAndBaseInfoVO {
private String investmentManagerPhone; private String investmentManagerPhone;
@ApiModelProperty("用户画像") @ApiModelProperty("用户画像")
private String userPortrait; private List<String> userPortrait;
@ApiModelProperty("线索状态") @ApiModelProperty("线索状态")
private Integer lineStatus; private Integer lineStatus;
@@ -68,4 +68,16 @@ public class PartnerLineInfoAndBaseInfoVO {
@ApiModelProperty("通过证明") @ApiModelProperty("通过证明")
private List<String> passCertifyFile; private List<String> passCertifyFile;
@ApiModelProperty("常驻区域")
private String liveArea;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("意向开店区域名称")
private String wantShopAreaName;
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
private Integer acceptAdjustType;
} }

View File

@@ -31,11 +31,11 @@ public class PartnerUserInfoVO {
@ApiModelProperty("常驻区域") @ApiModelProperty("常驻区域")
private String liveArea; private String liveArea;
@ApiModelProperty("意向开店区域") @ApiModelProperty("意向开店区域ID")
private String wantShopArea; private String wantShopArea;
@ApiModelProperty("意向开店区域ID") @ApiModelProperty("意向开店区域名称")
private Long wantShopAreaId; private String wantShopAreaName;
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
private Integer acceptAdjustType; private Integer acceptAdjustType;

View File

@@ -39,8 +39,9 @@ public class PublicSeaLineListVo {
@ApiModelProperty("手机号归属地") @ApiModelProperty("手机号归属地")
private String phoneAddress; private String phoneAddress;
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date createTime; private String createTime;
@ApiModelProperty("面试开始时间") @ApiModelProperty("面试开始时间")
private Date partnerInterviewStartTime; private Date partnerInterviewStartTime;

View File

@@ -1,5 +1,6 @@
package com.cool.store.vo.interview; package com.cool.store.vo.interview;
import com.cool.store.entity.EnterpriseUserDO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -108,4 +109,10 @@ public class InterviewVO {
@ApiModelProperty("飞书日程id") @ApiModelProperty("飞书日程id")
private String feishuScheduleId; private String feishuScheduleId;
@ApiModelProperty("开发主管信息")
private EnterpriseUserDO developmentDirector;
@ApiModelProperty("所属战区id")
private String affiliationZone;
} }

View File

@@ -37,11 +37,12 @@ public class OSSServer {
// 创建OSSClient实例。 // 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try { try {
// 创建PutObjectRequest对象 // 创建PutObjectRequest对象
objectName = "partner/" + corpId + "/" + objectName;
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, objectName, inputStream); PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, objectName, inputStream);
// 创建PutObject请求。 // 创建PutObject请求。
ossClient.putObject(putObjectRequest); ossClient.putObject(putObjectRequest);
return cdnUrl + "/partner/" + corpId + "/" + objectName; return cdnUrl + "/" + objectName;
} catch (OSSException oe) { } catch (OSSException oe) {
log.error("Caught an OSSException, which means your request made it to OSS, " log.error("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason."); + "but was rejected with an error response for some reason.");

View File

@@ -28,7 +28,7 @@ public interface DeskService {
* @param selectedData * @param selectedData
* @return * @return
*/ */
InterviewScheduleInfoVO interviewSchedule(String userId,Date selectedData); InterviewScheduleInfoVO interviewSchedule(String userId,String selectedData);
/** /**
* 招商经理 各阶段 待处理 待跟进数量 * 招商经理 各阶段 待处理 待跟进数量

View File

@@ -3,6 +3,7 @@ package com.cool.store.service;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -27,7 +28,7 @@ public interface HyPartnerBaseInfoService {
Long getLineIdByIdCard(String idCard); Long getLineIdByIdCard(String idCard);
Boolean changeBinding(String idCard, Long lineId); Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser);
} }

View File

@@ -38,7 +38,7 @@ public interface HyPartnerIntentInfoService {
*/ */
Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest);
Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); String submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest);
PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId); PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId);

View File

@@ -19,10 +19,10 @@ public interface InterviewService {
/** /**
* 根据面试会议计划id查询面试信息 * 根据面试会议计划id查询面试信息
* @param interviewPlanId * @param request
* @return * @return
*/ */
InterviewVO getInterviewInfo(String interviewPlanId); InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request);
/** /**
* 委托他人 * 委托他人

View File

@@ -14,6 +14,6 @@ public interface PartnerUserInfoService {
InviteCodeDetailVO selectInviteCodeDetail(String partnerId); InviteCodeDetailVO selectInviteCodeDetail(String partnerId);
Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest); String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest);
} }

View File

@@ -3,6 +3,7 @@ package com.cool.store.service;
import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.dto.wx.MiniProgramLoginDTO;
import com.cool.store.request.MobileUpdateRequest; import com.cool.store.request.MobileUpdateRequest;
import com.cool.store.vo.PartnerUserInfoVO; import com.cool.store.vo.PartnerUserInfoVO;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
* @FileName: WechatMiniAppService * @FileName: WechatMiniAppService
@@ -11,9 +12,10 @@ import com.cool.store.vo.PartnerUserInfoVO;
*/ */
public interface WechatMiniAppService { public interface WechatMiniAppService {
PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param); PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param);
String getUserPhoneNumber(String mobileCode);
String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO); String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);
PartnerUserInfoVO getUserInfo(String mobile, String openId); PartnerUserInfoVO getUserInfo(String mobile, String openId);

View File

@@ -1,5 +1,6 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyPartnerInterviewPlanDAO; import com.cool.store.dao.HyPartnerInterviewPlanDAO;
@@ -16,6 +17,7 @@ import com.cool.store.vo.InterviewPlanVO;
import com.cool.store.vo.InterviewScheduleInfoVO; import com.cool.store.vo.InterviewScheduleInfoVO;
import com.cool.store.vo.StageCountVO; import com.cool.store.vo.StageCountVO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.utils.DateUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -53,15 +55,18 @@ public class DeskServiceImpl implements DeskService {
} }
@Override @Override
public InterviewScheduleInfoVO interviewSchedule(String userId,Date selectedData) { public InterviewScheduleInfoVO interviewSchedule(String userId,String selectedData) {
if (StringUtils.isEmpty(userId)||selectedData==null){ if (StringUtils.isEmpty(userId)||selectedData==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
Date dateTime = CoolDateUtils.parseDate(selectedData);
InterviewScheduleInfoVO interviewScheduleInfoVO = new InterviewScheduleInfoVO(); InterviewScheduleInfoVO interviewScheduleInfoVO = new InterviewScheduleInfoVO();
//查询面试数量 //查询面试数量
String currentDate = DateUtil.format(selectedData, CoolDateUtils.DATE_FORMAT_DAY);
String startTime = DateUtil.format(selectedData, CoolDateUtils.DATE_FORMAT_SEC); String currentDate = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_DAY);
String endTime = DateUtil.format(CoolDateUtils.getDateBefore(selectedData, 7), CoolDateUtils.DATE_FORMAT_SEC); String startTime = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_SEC);
String endTime = DateUtil.format(CoolDateUtils.getDateBefore(dateTime, 7), CoolDateUtils.DATE_FORMAT_SEC);
SpecialDateRangeInterviewCountDTO interviewCount = hyPartnerInterviewPlanDAO.getInterviewCount(userId, currentDate, startTime, endTime); SpecialDateRangeInterviewCountDTO interviewCount = hyPartnerInterviewPlanDAO.getInterviewCount(userId, currentDate, startTime, endTime);
interviewScheduleInfoVO.setCurrentDayInterviewCount(interviewCount.getCurrentDayInterviewCount()); interviewScheduleInfoVO.setCurrentDayInterviewCount(interviewCount.getCurrentDayInterviewCount());

View File

@@ -81,7 +81,7 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
} }
//转交 所有的招商经理 //转交 所有的招商经理
if (CommonConstants.TRANSFER.equals(type)){ if (CommonConstants.TRANSFER.equals(type)){
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE); enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.FALSE);
} }
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS); return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
} }

View File

@@ -277,12 +277,13 @@ public class FlowServiceImpl implements FlowService {
//上传 OSS //上传 OSS
String passImageUrl = ossServer.uploadFileServer(inputStream, "passLetter/" + passCode + ".png"); 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(); HyPartnerInterviewDO interviewDO = new HyPartnerInterviewDO();
interviewDO.setId(Long.parseLong(interviewId)); interviewDO.setId(Long.parseLong(interviewId));
interviewDO.setPassCode(passCode); interviewDO.setPassCode(passCode);
interviewDO.setPassTime(passTime); interviewDO.setPassTime(passTime);
interviewDO.setExpiryDate(expiryDate); interviewDO.setExpiryDate(DateUtil.formatDateTime(expiryDate));
interviewDO.setPassPdfUrl(passPdfUrl); interviewDO.setPassPdfUrl(passPdfUrl);
interviewDO.setPassImageUrl(passImageUrl); interviewDO.setPassImageUrl(passImageUrl);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO); hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO);

View File

@@ -2,19 +2,29 @@ package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerBaseInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.service.HyPartnerBaseInfoService; import com.cool.store.service.HyPartnerBaseInfoService;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -27,6 +37,15 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
@Resource @Resource
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Resource
HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Override @Override
public Boolean addTags(AddTagsRequest addTagsRequest) { public Boolean addTags(AddTagsRequest addTagsRequest) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO();
@@ -44,6 +63,12 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
*/ */
@Override @Override
public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) { public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE;
}
HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
if(baseInfoDO == null){ if(baseInfoDO == null){
baseInfoDO = new HyPartnerBaseInfoDO(); baseInfoDO = new HyPartnerBaseInfoDO();
@@ -53,17 +78,33 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
fillBaseInfo(baseInfoDO, request); fillBaseInfo(baseInfoDO, request);
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO);
} }
return true; 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;
} }
@Override @Override
public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) { public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, partnerId, lineId);
if (hyPartnerBaseInfoDO == null){ if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST); PartnerBaseInfoVO partnerBaseInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerBaseInfoVO.class);
return partnerBaseInfoVO;
} }
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO(); PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO();
BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); if (hyPartnerBaseInfoDO != null){
BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO);
}
return baseInfoVO; return baseInfoVO;
} }
@@ -84,9 +125,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
} }
@Override @Override
public Boolean changeBinding(String idCard, Long lineId) { public Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser) {
// 先把之前状态置为 待提交,清空身份证号 ,把新的绑定身份证号 // 把旧线索的身份证号置空,状态改为待提交
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(lineId); Long oldLineId = hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard);
HyPartnerLineInfoDO oldLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(oldLineId);
// 该身份证当前申请状态同步至该账号下,原账号变为【加盟意向申请 待提交状态】
HyPartnerLineInfoDO newLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
newLineInfo.setWorkflowStage(oldLineInfo.getWorkflowStage());
newLineInfo.setWorkflowStatus(oldLineInfo.getWorkflowStatus());
newLineInfo.setLineStatus(oldLineInfo.getLineStatus());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(newLineInfo);
oldLineInfo.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
oldLineInfo.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
oldLineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(oldLineInfo);
hyPartnerBaseInfoDAO.cleanIdCardInfoByPartnerLineId(null, null, null, oldLineId);
// 新线索绑定身份证号
return true; return true;
} }

View File

@@ -1,19 +1,24 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.HyPartnerClerkDAO; import com.cool.store.dao.HyPartnerClerkDAO;
import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest;
import com.cool.store.service.HyPartnerClerkService; import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerClerkVO; import com.cool.store.vo.PartnerClerkVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -30,6 +35,9 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Resource @Resource
HyPartnerClerkDAO hyPartnerClerkDAO; HyPartnerClerkDAO hyPartnerClerkDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Override @Override
public List<PartnerClerkVO> getPartnerClerkList(Long lineId) { public List<PartnerClerkVO> getPartnerClerkList(Long lineId) {
List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId);
@@ -49,6 +57,12 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Override @Override
public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) { public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_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()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
@@ -65,11 +79,22 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
clerkDOList.add(clerkDO); clerkDOList.add(clerkDO);
}); });
hyPartnerClerkDAO.batchInsert(clerkDOList); hyPartnerClerkDAO.batchInsert(clerkDOList);
redisUtilPool.delKey(cacheKey);
return true; return true;
} }
@Override @Override
public List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId) { public List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_CACHE_KEY, partnerId, lineId);
if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
PartnerClerkInfoRequest partnerClerkInfoRequest = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerClerkInfoRequest.class);
List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(partnerClerkInfoRequest.getPartnerClerkRequestList()).stream().map(clerkRequest -> {
PartnerClerkVO clerkVO = new PartnerClerkVO();
BeanUtil.copyProperties(clerkRequest, clerkVO);
return clerkVO;
}).collect(Collectors.toList());
return clerkVOList;
}
List<HyPartnerClerkDO> clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId); List<HyPartnerClerkDO> clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId);
List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> { List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> {
PartnerClerkVO clerkVO = new PartnerClerkVO(); PartnerClerkVO clerkVO = new PartnerClerkVO();

View File

@@ -3,9 +3,10 @@ package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
@@ -15,15 +16,19 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest;
import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.HyPartnerIntentInfoService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentApplyInfoVO;
import com.cool.store.vo.PartnerIntentInfoVO; import com.cool.store.vo.PartnerIntentInfoVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -47,6 +52,12 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
HyPartnerLineInfoDAO hyPartnerLineInfoDAO; HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource @Resource
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Resource
EnterpriseUserDAO enterpriseUserDAO;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Override @Override
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
@@ -99,24 +110,32 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
return Boolean.TRUE; return Boolean.TRUE;
} }
@Resource
EnterpriseUserDAO enterpriseUserDAO;
@Override @Override
public PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId) { public PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId) {
HyPartnerIntentInfoDO hyPartnerIntentInfoDO= hyPartnerIntentInfoDAO.selectByLineId(lineId); HyPartnerIntentInfoDO hyPartnerIntentInfoDO= hyPartnerIntentInfoDAO.selectByLineId(lineId);
if(Objects.isNull(hyPartnerIntentInfoDO)){
return null;
}
PartnerIntentInfoVO partnerIntentInfoVO = convertPartnerIntentApplyInfoDOToVO(hyPartnerIntentInfoDO); PartnerIntentInfoVO partnerIntentInfoVO = convertPartnerIntentApplyInfoDOToVO(hyPartnerIntentInfoDO);
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerIntentInfoDO.getPartnerId()); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerIntentInfoDO.getPartnerId());
partnerIntentInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername()); partnerIntentInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername());
partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile());
//todo su 手机号归属地 意向申请区域名称 HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
partnerIntentInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaName());
return partnerIntentInfoVO; return partnerIntentInfoVO;
} }
@Override @Override
public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { public String submitPartnerIntentInfo(PartnerIntentInfoRequest request) {
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); 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 "";
}
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
if(intentInfoDO == null){ if(intentInfoDO == null){
intentInfoDO = new HyPartnerIntentInfoDO(); intentInfoDO = new HyPartnerIntentInfoDO();
@@ -126,17 +145,26 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
fillIntentInfo(intentInfoDO, request); fillIntentInfo(intentInfoDO, request);
hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO);
} }
return true; redisUtilPool.delKey(cacheKey);
if(StringUtils.isNotBlank(request.getWantShopArea())){
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(request.getWantShopArea()));
return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : null;
}
return null;
} }
@Override @Override
public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) { public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) {
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, partnerId, lineId);
if (intentInfoDO == null){ if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST); PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class);
return intentInfoVO;
} }
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO(); PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO();
BeanUtil.copyProperties(intentInfoDO, intentInfoVO); if (intentInfoDO != null){
BeanUtil.copyProperties(intentInfoDO, intentInfoVO);
}
return intentInfoVO; return intentInfoVO;
} }
@@ -150,7 +178,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
intentInfoDO.setWantShopInfo(request.getWantShopInfo()); intentInfoDO.setWantShopInfo(request.getWantShopInfo());
intentInfoDO.setMaxBudget(request.getMaxBudget()); intentInfoDO.setMaxBudget(request.getMaxBudget());
intentInfoDO.setMoneySource(request.getMoneySource()); 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.setEducation(request.getEducation());
intentInfoDO.setWorkYear(request.getWorkYear()); intentInfoDO.setWorkYear(request.getWorkYear());
intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp());

View File

@@ -26,7 +26,6 @@ import com.cool.store.utils.StringUtil;
import com.cool.store.vo.*; import com.cool.store.vo.*;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -81,16 +80,24 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
} }
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo(partnerLineInfoAndBaseInfoDTO); 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()); EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(partnerLineInfoAndBaseInfoDTO.getPassUserId());
if (userInfo!=null){ if (userInfo!=null){
partnerLineInfoAndBaseInfoVO.setPassUserName(userInfo.getName()); 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; return partnerLineInfoAndBaseInfoVO;
} }
@@ -158,10 +165,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize());
PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType())); PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType()));
List<PartnerBlackListDTO> list = blackListDTOPageInfo.getList(); 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<BlackListVO> result = new ArrayList<>();
list.stream().forEach(x->{ list.stream().forEach(x->{
BlackListVO blackListVO = convertPartnerBlackListDTOToVo(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); result.add(blackListVO);
}); });
blackListDTOPageInfo.setList(result); blackListDTOPageInfo.setList(result);
@@ -191,6 +204,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
if (lineId==null){ if (lineId==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
HyPartnerLineInfoDO hyPartnerLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO(); HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setId(lineId); hyPartnerLineInfoDO.setId(lineId);
hyPartnerLineInfoDO.setLineStatus(status); hyPartnerLineInfoDO.setLineStatus(status);
@@ -200,10 +214,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO(); HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfoDO.getPartnerId()); newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId());
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
hyPartnerLineInfoDO.setLineStatus(0); newHyPartnerLineInfoDO.setLineStatus(0);
hyPartnerLineInfoDAO.batchInsert(Arrays.asList(newHyPartnerLineInfoDO)); hyPartnerLineInfoDAO.batchInsert(Arrays.asList(newHyPartnerLineInfoDO));
return Boolean.TRUE; return Boolean.TRUE;
} }
@@ -214,9 +228,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
if (hyPartnerLineInfoDO==null){ if (hyPartnerLineInfoDO==null){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); 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())){ if ("pass".equals(closeFollowRequest.getType())){
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode()); hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
@@ -235,6 +246,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus); hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
//15天 冷静期 //15天 冷静期
// TODO: 2023/6/13 冷静期 // TODO: 2023/6/13 冷静期
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId());
redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest));
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15)); hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason()); hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason());
hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason()); hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason());
@@ -286,7 +299,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo(); PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo();
publicSeaLineListVo.setPartnerId(x.getPartnerId()); publicSeaLineListVo.setPartnerId(x.getPartnerId());
publicSeaLineListVo.setCreateTime(x.getCreateTime()); publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
publicSeaLineListVo.setPartnerUserName(x.getUserName()); publicSeaLineListVo.setPartnerUserName(x.getUserName());
publicSeaLineListVo.setPartnerUserPhone(x.getMobile()); publicSeaLineListVo.setPartnerUserPhone(x.getMobile());
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile()); DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile());
@@ -301,7 +314,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason()); publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason());
publicSeaLineListVo.setLastCloseDate(hy.getCloseTime()); publicSeaLineListVo.setLastCloseDate(hy.getCloseTime());
publicSeaLineListVo.setLastInvestmentManager(hy.getInvestmentManager()); publicSeaLineListVo.setLastInvestmentManager(hy.getInvestmentManager());
publicSeaLineListVo.setPartnerUserPhone(mobileMap.get(hy.getInvestmentManager())); publicSeaLineListVo.setLastInvestmentManager(mobileMap.get(hy.getInvestmentManager()));
result.add(publicSeaLineListVo); result.add(publicSeaLineListVo);
}); });
publicSeaLineList.setList(result); publicSeaLineList.setList(result);
@@ -336,8 +349,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
privateSeaLineListVo.setLineId(x.getLineId()); privateSeaLineListVo.setLineId(x.getLineId());
privateSeaLineListVo.setLineStatus(x.getLineStatus()); privateSeaLineListVo.setLineStatus(x.getLineStatus());
privateSeaLineListVo.setPartnerId(x.getPartnerId()); privateSeaLineListVo.setPartnerId(x.getPartnerId());
privateSeaLineListVo.setWorkflowStatus(x.getWorkflowStatus());
privateSeaLineListVo.setDeadline(x.getDeadline()); privateSeaLineListVo.setDeadline(x.getDeadline());
privateSeaLineListVo.setPartnerUserPhone(x.getPartnerUserPhone()); privateSeaLineListVo.setPartnerUserPhone(x.getPartnerUserPhone());
privateSeaLineListVo.setPartnerUserName(x.getPartnerUserName());
privateSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType()); privateSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType());
privateSeaLineListVo.setInvestmentManagerName(x.getInvestmentManager()); privateSeaLineListVo.setInvestmentManagerName(x.getInvestmentManager());
privateSeaLineListVo.setDevelopmentManager(x.getDevelopmentManager()); privateSeaLineListVo.setDevelopmentManager(x.getDevelopmentManager());
@@ -345,7 +360,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
privateSeaLineListVo.setStoreCode(x.getStoreCode()); privateSeaLineListVo.setStoreCode(x.getStoreCode());
privateSeaLineListVo.setStoreName(x.getStoreName()); privateSeaLineListVo.setStoreName(x.getStoreName());
privateSeaLineListVo.setUpdateTime(x.getUpdateTime()); privateSeaLineListVo.setUpdateTime(x.getUpdateTime());
privateSeaLineListVo.setDeadline(x.getDeadline());
privateSeaLineListVo.setRecommendPartnerId(x.getRecommendPartnerId()); privateSeaLineListVo.setRecommendPartnerId(x.getRecommendPartnerId());
privateSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType());
privateSeaLineListVo.setWantShopArea(x.getWantShopArea());
privateSeaLineListVo.setInvestmentManager(x.getInvestmentManager());
privateSeaLineListVo.setRecommendPartnerName(x.getRecommendPartnerName()); privateSeaLineListVo.setRecommendPartnerName(x.getRecommendPartnerName());
privateSeaLineListVo.setWorkflowStage(x.getWorkflowStage()); privateSeaLineListVo.setWorkflowStage(x.getWorkflowStage());
privateSeaLineListVo.setWantShopArea(x.getWantShopArea()); privateSeaLineListVo.setWantShopArea(x.getWantShopArea());
@@ -363,9 +382,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
// todo wxp 需要加条件 // todo wxp 需要加条件
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId); HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId);
BeanUtil.copyProperties(lineInfoDO, lineBaseInfoVO); 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); String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey);
lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value)); lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value));
lineBaseInfoVO.setPartnerLineId(lineInfoDO.getId());
lineBaseInfoVO.setCause(lineInfoDO.getRejectPublicReason());
return lineBaseInfoVO; return lineBaseInfoVO;
} }
@@ -455,6 +477,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
blackListVO.setCloseTime(partnerBlackListDTO.getCloseTime()); blackListVO.setCloseTime(partnerBlackListDTO.getCloseTime());
blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason()); blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason());
blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId()); blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId());
blackListVO.setCloseUserPhone(partnerBlackListDTO.getCloseUserId());
return blackListVO; return blackListVO;
} }
@@ -471,11 +494,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO.setId(partnerLineInfoAndBaseInfoDTO.getId()); partnerLineInfoAndBaseInfoVO.setId(partnerLineInfoAndBaseInfoDTO.getId());
partnerLineInfoAndBaseInfoVO.setPartnerUserId(partnerLineInfoAndBaseInfoDTO.getPartnerId()); partnerLineInfoAndBaseInfoVO.setPartnerUserId(partnerLineInfoAndBaseInfoDTO.getPartnerId());
partnerLineInfoAndBaseInfoVO.setInvestmentManager(partnerLineInfoAndBaseInfoDTO.getInvestmentManager()); partnerLineInfoAndBaseInfoVO.setInvestmentManager(partnerLineInfoAndBaseInfoDTO.getInvestmentManager());
partnerLineInfoAndBaseInfoVO.setUserPortrait(partnerLineInfoAndBaseInfoDTO.getUserPortrait()); if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getUserPortrait())){
partnerLineInfoAndBaseInfoVO.setUserPortrait(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getUserPortrait(),String.class));
}
partnerLineInfoAndBaseInfoVO.setPartnerBaseInfoId(partnerLineInfoAndBaseInfoDTO.getPartnerBaseInfoId()); partnerLineInfoAndBaseInfoVO.setPartnerBaseInfoId(partnerLineInfoAndBaseInfoDTO.getPartnerBaseInfoId());
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage()); partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus()); partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause()); 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())){ if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile())){
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile(), String.class)); partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getPassCertifyFile(), String.class));
} }

View File

@@ -2,10 +2,14 @@ package com.cool.store.service.impl;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.cool.store.dto.calendar.*; import com.cool.store.dto.calendar.CreateCalendarEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
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.message.SendCardMessageDTO;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
@@ -17,10 +21,13 @@ import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest; import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyPartnerBaseInfoMapper; import com.cool.store.mapper.HyPartnerBaseInfoMapper;
import com.cool.store.mapper.EnterpriseUserMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper; import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.request.*; 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.service.InterviewService;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.TRTCUtils;
@@ -72,6 +79,10 @@ public class InterviewServiceImpl implements InterviewService {
@Autowired @Autowired
private HyPartnerBaseInfoMapper hyPartnerBaseInfoMapper; private HyPartnerBaseInfoMapper hyPartnerBaseInfoMapper;
@Autowired
private EnterpriseUserService enterpriseUserService;
@Override @Override
public List<InterviewVO> getInterviewList(GetInterviewListReq request) { public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request); List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
@@ -79,7 +90,8 @@ public class InterviewServiceImpl implements InterviewService {
} }
@Override @Override
public InterviewVO getInterviewInfo(String interviewPlanId) { public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) {
String interviewPlanId = request.getInterviewPlanId();
InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId); InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId);
//将 processInfo 解析为 List //将 processInfo 解析为 List
if (!StringUtils.isEmpty(vo.getProcessInfo())) { if (!StringUtils.isEmpty(vo.getProcessInfo())) {
@@ -94,6 +106,17 @@ public class InterviewServiceImpl implements InterviewService {
EnterpriseUserBaseInfoVO recorderInfo = hyPartnerInterviewPlanMapper.getEnterpriseUserBaseInfo(vo.getRecorderId()); EnterpriseUserBaseInfoVO recorderInfo = hyPartnerInterviewPlanMapper.getEnterpriseUserBaseInfo(vo.getRecorderId());
vo.setRecorderName(recorderInfo.getName()); vo.setRecorderName(recorderInfo.getName());
vo.setRecorderMobile(recorderInfo.getMobile()); 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; return vo;
} }
@@ -195,17 +218,31 @@ public class InterviewServiceImpl implements InterviewService {
@Transactional @Transactional
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try { try {
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2); hyPartnerInterviewDO.setStatus(2);
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 //3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now()); hyPartnerInterviewDO.setInterviewer(DateUtil.now());
//4. 修改加盟商或面试官进入面试时间 //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 字段 //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId()); hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
//6. 查询对应的面试官id、姓名及加盟商姓名 //6. 修改房间状态为已开放
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); hyPartnerInterviewPlanDO.setRoomStatus(1);
//生成 userSign hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
//7. 查询对应的面试官id、姓名及加盟商姓名
EnterInterviewVO vo = hyPartnerInterviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
//8. 生成 userSign
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
vo.setUserSign(userSig); vo.setUserSign(userSig);
return vo; return vo;

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowStatusEnum; 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.service.PartnerInterviewService;
import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.TRTCUtils;
import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.EnterpriseUserBaseInfoVO;
import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO; import com.cool.store.vo.PartnerPassLetterDetailVO;
import com.cool.store.vo.interview.InterviewVO; import com.cool.store.vo.interview.InterviewVO;
@@ -64,17 +66,33 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Transactional @Transactional
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try { try {
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
interviewMapper.updateInterviewStatus(dto.getInterviewPlanId(), 2); hyPartnerInterviewDO.setStatus(2);
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 //3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
interviewMapper.updateActualStartTime(dto.getInterviewPlanId(), DateUtil.now()); hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date());
//4. 修改加盟商或面试官进入面试时间 //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 字段 //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewPlanId()); if (dto.getUserType().equals(2)) {
//6. 查询对应的面试官id、姓名及加盟商姓名 hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
}
//6. 修改房间状态为已开放
hyPartnerInterviewPlanDO.setRoomStatus(1);
interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
//7. 查询对应的面试官id、姓名及加盟商姓名
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
//生成 userSign //8. 生成 userSign
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
vo.setUserSign(userSig); vo.setUserSign(userSig);
return vo; return vo;

View File

@@ -1,23 +1,47 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants; 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.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.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerUserInfoRequest; import com.cool.store.request.PartnerUserInfoRequest;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.service.PartnerUserInfoService; import com.cool.store.service.PartnerUserInfoService;
import com.cool.store.vo.InviteCodeDetailVO; import com.cool.store.vo.InviteCodeDetailVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service @Service
public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
@Autowired
private HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Autowired @Autowired
private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; private HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
@Resource
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource
HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Override @Override
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
return hyPartnerUserInfoDAO.selectByPartnerId(partnerId); return hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
@@ -57,9 +81,9 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
} }
@Override @Override
public Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) { public String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId())); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId()));
if (hyPartnerUserInfoDO==null){ if (hyPartnerUserInfoDO == null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
} }
hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername()); hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername());
@@ -75,6 +99,32 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName()); hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile()); hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
return Boolean.TRUE;
// 生成一条线索
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() : "";
} }
} }

View File

@@ -1,16 +1,17 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dao.HyPartnerUserPlatformBindDAO; import com.cool.store.dao.HyPartnerUserPlatformBindDAO;
import com.cool.store.dto.wx.CodeSessionDTO; import com.cool.store.dto.wx.CodeSessionDTO;
import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.dto.wx.MiniProgramLoginDTO;
import com.cool.store.dto.wx.PhoneInfoDTO; import com.cool.store.dto.wx.PhoneInfoDTO;
import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.entity.HyPartnerUserPlatformBindDO; import com.cool.store.entity.HyPartnerUserPlatformBindDO;
@@ -32,7 +33,6 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.Date; import java.util.Date;
import java.util.Objects;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
@@ -54,6 +54,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
private HyPartnerUserPlatformBindDAO hyPartnerUserPlatformBindDAO; private HyPartnerUserPlatformBindDAO hyPartnerUserPlatformBindDAO;
@Resource @Resource
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO; private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Value("${weixin.appId}") @Value("${weixin.appId}")
private String wxAppId; private String wxAppId;
@@ -98,10 +100,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
hyPartnerUserInfoDO.setAcceptAdjustType(0); hyPartnerUserInfoDO.setAcceptAdjustType(0);
hyPartnerUserInfoDO.setIsWritePartnerKnow(0); hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
// 生成一条线索 也可在提交加盟信息时插入
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
} }
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid);
if(hyPartnerUserPlatformBindDO == null){ if(hyPartnerUserPlatformBindDO == null){
@@ -113,12 +111,28 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO); hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO);
} }
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId());
}
} }
userInfoVO.setOpenid(openid); userInfoVO.setOpenid(openid);
userInfoVO.setUnionId(unionId); userInfoVO.setUnionId(unionId);
return userInfoVO; 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 @Override
public String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO) { public String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO) {
String newMobile = ""; String newMobile = "";
@@ -155,6 +169,14 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
userInfoVO.setOpenid(hyPartnerUserPlatformBindDO.getPlatformUserId()); 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; return userInfoVO;
} }

View File

@@ -78,7 +78,8 @@ public class TokenValidateFilter implements Filter {
String userStr = ""; String userStr = "";
LoginUserInfo currentUser = null; LoginUserInfo currentUser = null;
boolean isInWhiteList = excludePath(uri); boolean isInWhiteList = excludePath(uri);
String accessToken = "1cd17699b7dc1f64161485c2d365e0e0"; String accessToken = reqs.getHeader("accessToken");
//String accessToken = "1cd17699b7dc1f64161485c2d365e0e0";
String key = "access_token:" + accessToken; String key = "access_token:" + accessToken;
if(StringUtils.isNotBlank(accessToken)){ if(StringUtils.isNotBlank(accessToken)){
userStr = redisUtilPool.getString(key); userStr = redisUtilPool.getString(key);

View File

@@ -50,7 +50,7 @@ public class DeskController {
@GetMapping(path = "/interviewSchedule") @GetMapping(path = "/interviewSchedule")
@ApiOperation("面试日程信息 面试信息有限 不做分页") @ApiOperation("面试日程信息 面试信息有限 不做分页")
public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "selectedData",required = false) Date selectedData){ public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "selectedData",required = false) String selectedData){
String userId = CurrentUserHolder.getUserId(); String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(deskService.interviewSchedule(userId,selectedData)); return ResponseResult.success(deskService.interviewSchedule(userId,selectedData));
@@ -70,9 +70,8 @@ public class DeskController {
@GetMapping(path = "/getUserCalendarsEvents") @GetMapping(path = "/getUserCalendarsEvents")
@ApiOperation("飞书日程信息") @ApiOperation("飞书日程信息")
public ResponseResult<List<UserCalendarsEventDTO>> getUserCalendarsEvents(@RequestParam(value = "startTime",required = true) Long startTime, public ResponseResult<List<UserCalendarsEventDTO>> getUserCalendarsEvents(@RequestParam(value = "startTime") Long startTime,
@RequestParam(value = "endTime",required = true) Long endTime) throws ApiException { @RequestParam(value = "endTime") Long endTime) throws ApiException {
String userId = CurrentUserHolder.getUserId(); String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(isvHttpRequest.getUserCalendarsEvents(userId,startTime,endTime)); return ResponseResult.success(isvHttpRequest.getUserCalendarsEvents(userId,startTime,endTime));
} }
@@ -257,7 +256,7 @@ public class DeskController {
@PostMapping(path = "/updatePartnerIntentInfo") @PostMapping(path = "/updatePartnerIntentInfo")
@ApiOperation("修改加盟商意向信息/行业认知") @ApiOperation("修改加盟商意向信息/行业认知")
public ResponseResult<Boolean> updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ public ResponseResult<String> updatePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
} }

View File

@@ -43,7 +43,7 @@ public class InterviewController {
@PostMapping("/queryByInterviewPlanId") @PostMapping("/queryByInterviewPlanId")
@ApiOperation("根据面试会议id查询面试信息") @ApiOperation("根据面试会议id查询面试信息")
public ResponseResult<InterviewVO> queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) { public ResponseResult<InterviewVO> queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) {
InterviewVO interviewVO = interviewService.getInterviewInfo(request.getInterviewPlanId()); InterviewVO interviewVO = interviewService.getInterviewInfo(request);
return ResponseResult.success(interviewVO); return ResponseResult.success(interviewVO);
} }

View File

@@ -48,7 +48,7 @@ rocketmq.topic=simple_message
oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2 oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
oss.endpoint=oss-cn-hangzhou.aliyuncs.com oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.bucket=vec-coolstore oss.bucket=cool-store-hsay
#企业corpId #企业corpId
corp.id = 171cddee76471740 corp.id = 171cddee76471740

View File

Before

Width:  |  Height:  |  Size: 942 KiB

After

Width:  |  Height:  |  Size: 942 KiB

View File

@@ -89,12 +89,7 @@ public class SignValidateFilter implements Filter {
if ( !isInWhiteList && !method.equals("OPTIONS")) { if ( !isInWhiteList && !method.equals("OPTIONS")) {
String params = ""; String params = "";
if("GET".equalsIgnoreCase(method)){ if("GET".equalsIgnoreCase(method)){
Map<String, String> parameterMap = new HashMap(); params = request.getQueryString();
Map<String, String[]> requestMap = request.getParameterMap();
for(String key : requestMap.keySet()){
parameterMap.put(key, requestMap.get(key)[0]);
}
params = JSONObject.toJSONString(parameterMap);
}else if("POST".equalsIgnoreCase(method)){ }else if("POST".equalsIgnoreCase(method)){
params = wrapper.getBody(); params = wrapper.getBody();
// params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator())); // params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));

View File

@@ -1,6 +1,5 @@
package com.cool.store.controller; package com.cool.store.controller;
import com.cool.store.context.PartnerUserHolder; import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.dto.wx.MiniProgramLoginDTO;
import com.cool.store.request.MobileUpdateRequest; import com.cool.store.request.MobileUpdateRequest;
@@ -36,6 +35,12 @@ public class MiniProgramAppController {
return ResponseResult.success(userInfoVO); 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("更新手机号") @ApiOperation("更新手机号")
@PostMapping("/updateUserPhoneNumber") @PostMapping("/updateUserPhoneNumber")
public ResponseResult<String> updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) { public ResponseResult<String> updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) {

View File

@@ -49,15 +49,12 @@ public class PartnerController {
@Resource @Resource
private RedisUtilPool redisUtilPool; private RedisUtilPool redisUtilPool;
@PostMapping(path = "/applyBaseInfo") @PostMapping(path = "/applyBaseInfo")
@ApiOperation("提交加盟商基本信息") @ApiOperation("提交加盟商基本信息")
public ResponseResult<Boolean> applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ public ResponseResult<String> applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){
return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest)); return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest));
} }
@GetMapping(path = "/getSubmitIntentionApplyFlag") @GetMapping(path = "/getSubmitIntentionApplyFlag")
@ApiOperation("获取提交意向申请标识 true 已提交 false 未提交") @ApiOperation("获取提交意向申请标识 true 已提交 false 未提交")
public ResponseResult<Boolean> getSubmitIntentionApplyFlag(){ public ResponseResult<Boolean> getSubmitIntentionApplyFlag(){
@@ -88,8 +85,8 @@ public class PartnerController {
}) })
public ResponseResult<Boolean> changeBinding(@RequestParam(value = "idCard",required = false)String idCard, public ResponseResult<Boolean> changeBinding(@RequestParam(value = "idCard",required = false)String idCard,
@RequestParam(value = "lineId",required = false)Long lineId){ @RequestParam(value = "lineId",required = false)Long lineId){
PartnerUserInfoVO currentUser = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId)); return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId, currentUser));
} }
@@ -111,23 +108,19 @@ public class PartnerController {
@PostMapping(path = "/submitPartnerIntentInfo") @PostMapping(path = "/submitPartnerIntentInfo")
@ApiOperation("提意向书意向信息/行业认知") @ApiOperation("提意向书意向信息/行业认知")
public ResponseResult<Boolean> submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ public ResponseResult<String> submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
} }
@PostMapping(path = "/changePartnerClerkInfo") @PostMapping(path = "/changePartnerClerkInfo")
@ApiOperation("修改意向书店员信息") @ApiOperation("修改意向书店员信息")
public ResponseResult<Boolean> changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ public ResponseResult<Boolean> changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
} }
@PostMapping(path = "/changePartnerIntentInfo") @PostMapping(path = "/changePartnerIntentInfo")
@ApiOperation("修改意向书意向信息/行业认知") @ApiOperation("修改意向书意向信息/行业认知")
public ResponseResult<Boolean> changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ public ResponseResult<String> changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
} }
@@ -143,8 +136,8 @@ public class PartnerController {
@PostMapping(path = "/delCoolDownFirstLoginFlag") @PostMapping(path = "/delCoolDownFirstLoginFlag")
@ApiOperation("删除冷静期是否首次登录缓存") @ApiOperation("删除冷静期是否首次登录缓存")
public ResponseResult<Boolean> delCoolDownFirstLoginFlag(@RequestParam(value = "partnerId",required = true)String partnerId){ public ResponseResult<Boolean> delCoolDownFirstLoginFlag(@RequestParam(value = "lineId",required = true)String lineId){
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, lineId);
redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey); redisUtilPool.delKey(coolingPeriodFirstLoginCacheKey);
return ResponseResult.success(true); return ResponseResult.success(true);
} }
@@ -157,7 +150,8 @@ public class PartnerController {
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false), @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
}) })
public ResponseResult<PartnerBaseInfoVO> queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){ public ResponseResult<PartnerBaseInfoVO> queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success(hyPartnerBaseInfoService.getByPartnerLineId(lineId)); PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId));
} }

View File

@@ -59,4 +59,9 @@ trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wxb2a0addf956ad4b7 weixin.appId=wxb2a0addf956ad4b7
weixin.appSecret=77abdcae754add92889566b543e5ad79 weixin.appSecret=77abdcae754add92889566b543e5ad79
signKey=77fea013c3a6459685b83c21a2fc3411 signKey=77fea013c3a6459685b83c21a2fc3411
#MDM
hs.mdm.baseUrl=http://10.56.21.30/
hs.mdm.appkey = HSAYPartner
hs.mdm.appsec = ab39fedb886fa3587c7f517551976de8b2606f5511fd8f8675266825d74c5cd3

View File

@@ -46,10 +46,10 @@ rocketmq.topic=simple_message
rocketmq.orderTopic=order_message rocketmq.orderTopic=order_message
#oss配置 #oss配置
oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3 oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
oss.endpoint=oss-cn-shanghai.aliyuncs.com oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.bucket=vec-coolstore oss.bucket=cool-store-hsay
#企业corpId #企业corpId
corp.id = 171cddee76471740 corp.id = 171cddee76471740