Merge remote-tracking branch 'hs/dev/feat/partner1.1_20230727' into dev/feat/partner1.1_20230727
This commit is contained in:
@@ -120,5 +120,10 @@ public class CommonConstants {
|
||||
public static final String ALLOCATION = "allocation";
|
||||
|
||||
public static final String TRANSFER = "transfer";
|
||||
|
||||
|
||||
// 短信模版-意向申请审批通过
|
||||
public static final String SMS_TEMPLATE_CODE_INTENT = "SMS_461990823";
|
||||
// 短信模版-资质审核通过
|
||||
public static final String SMS_TEMPLATE_CODE_VERIFY = "SMS_461980876";
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-07-19 16:49
|
||||
* @Description:
|
||||
*/
|
||||
public enum FeiShuNoticeMsgEnum {
|
||||
|
||||
//分配招商经理
|
||||
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索 于 {0} 分配给您,线索信息{1}手机号{2},请及时跟进"),
|
||||
//转让招商经理
|
||||
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索 于 {0} 转让给您,线索信息{1}手机号{2},请及时跟进"),
|
||||
//意向申请通知
|
||||
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人{0}手机号{1}于 {2} 提交加盟意向申请,请及时处理");
|
||||
|
||||
private String title;
|
||||
private String content;
|
||||
|
||||
FeiShuNoticeMsgEnum(String title, String content) {
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
}
|
||||
@@ -3,20 +3,20 @@
|
||||
<mapper namespace="com.cool.store.mapper.HyInspectionMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInspectionDO">
|
||||
<constructor>
|
||||
<idArg column="id" javaType="java.lang.Long" jdbcType="BIGINT" />
|
||||
<arg column="interview_plan_id" javaType="java.lang.Long" jdbcType="BIGINT" />
|
||||
<arg column="operator_user_id" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="type" javaType="java.lang.Integer" jdbcType="TINYINT" />
|
||||
<arg column="status" javaType="java.lang.Integer" jdbcType="TINYINT" />
|
||||
<arg column="files" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="description" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="inspection_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<arg column="creator" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="updator" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="remark" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="deleted" javaType="java.lang.Boolean" jdbcType="BIT" />
|
||||
<arg column="create_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<arg column="update_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<idArg column="id" javaType="java.lang.Long" />
|
||||
<arg column="interview_plan_id" javaType="java.lang.Long" />
|
||||
<arg column="operator_user_id" javaType="java.lang.String" />
|
||||
<arg column="type" javaType="java.lang.Integer" />
|
||||
<arg column="status" javaType="java.lang.Integer" />
|
||||
<arg column="files" javaType="java.lang.String" />
|
||||
<arg column="description" javaType="java.lang.String" />
|
||||
<arg column="inspection_time" javaType="java.lang.String" />
|
||||
<arg column="creator" javaType="java.lang.String" />
|
||||
<arg column="updator" javaType="java.lang.String" />
|
||||
<arg column="remark" javaType="java.lang.String" />
|
||||
<arg column="deleted" javaType="java.lang.Boolean" />
|
||||
<arg column="create_time" javaType="java.lang.String" />
|
||||
<arg column="update_time" javaType="java.lang.String" />
|
||||
</constructor>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
@@ -51,11 +51,11 @@
|
||||
description, inspection_time, creator,
|
||||
updator, remark, deleted,
|
||||
create_time, update_time)
|
||||
values (#{id}, #{interviewPlanId}, #{operatorUserId,jdbcType=VARCHAR},
|
||||
#{type,jdbcType=TINYINT}, #{status,jdbcType=TINYINT}, #{files,jdbcType=VARCHAR},
|
||||
#{description,jdbcType=VARCHAR}, #{inspectionTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR},
|
||||
#{updator,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{deleted,jdbcType=BIT},
|
||||
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
|
||||
values (#{id}, #{interviewPlanId}, #{operatorUserId},
|
||||
#{type}, #{status}, #{files},
|
||||
#{description}, #{inspectionTime}, #{creator},
|
||||
#{updator}, #{remark}, #{deleted},
|
||||
#{createTime}, #{updateTime})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.cool.store.entity.HyInspectionDO">
|
||||
insert into hy_inspection
|
||||
@@ -111,40 +111,40 @@
|
||||
#{interviewPlanId},
|
||||
</if>
|
||||
<if test="operatorUserId != null">
|
||||
#{operatorUserId,jdbcType=VARCHAR},
|
||||
#{operatorUserId},
|
||||
</if>
|
||||
<if test="type != null">
|
||||
#{type,jdbcType=TINYINT},
|
||||
#{type},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
#{status,jdbcType=TINYINT},
|
||||
#{status},
|
||||
</if>
|
||||
<if test="files != null">
|
||||
#{files,jdbcType=VARCHAR},
|
||||
#{files},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
#{description,jdbcType=VARCHAR},
|
||||
#{description},
|
||||
</if>
|
||||
<if test="inspectionTime != null">
|
||||
#{inspectionTime,jdbcType=TIMESTAMP},
|
||||
#{inspectionTime},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
#{creator,jdbcType=VARCHAR},
|
||||
#{creator},
|
||||
</if>
|
||||
<if test="updator != null">
|
||||
#{updator,jdbcType=VARCHAR},
|
||||
#{updator},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
#{remark,jdbcType=VARCHAR},
|
||||
#{remark},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
#{deleted,jdbcType=BIT},
|
||||
#{deleted},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
#{createTime,jdbcType=TIMESTAMP},
|
||||
#{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
#{updateTime,jdbcType=TIMESTAMP},
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
@@ -155,40 +155,40 @@
|
||||
interview_plan_id = #{interviewPlanId},
|
||||
</if>
|
||||
<if test="operatorUserId != null">
|
||||
operator_user_id = #{operatorUserId,jdbcType=VARCHAR},
|
||||
operator_user_id = #{operatorUserId},
|
||||
</if>
|
||||
<if test="type != null">
|
||||
type = #{type,jdbcType=TINYINT},
|
||||
type = #{type},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status,jdbcType=TINYINT},
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="files != null">
|
||||
files = #{files,jdbcType=VARCHAR},
|
||||
files = #{files},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description,jdbcType=VARCHAR},
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="inspectionTime != null">
|
||||
inspection_time = #{inspectionTime,jdbcType=TIMESTAMP},
|
||||
inspection_time = #{inspectionTime},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator = #{creator,jdbcType=VARCHAR},
|
||||
creator = #{creator},
|
||||
</if>
|
||||
<if test="updator != null">
|
||||
updator = #{updator,jdbcType=VARCHAR},
|
||||
updator = #{updator},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
remark = #{remark},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted,jdbcType=BIT},
|
||||
deleted = #{deleted},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
create_time = #{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
update_time = #{updateTime},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id}
|
||||
@@ -196,18 +196,18 @@
|
||||
<update id="updateByPrimaryKey" parameterType="com.cool.store.entity.HyInspectionDO">
|
||||
update hy_inspection
|
||||
set interview_plan_id = #{interviewPlanId},
|
||||
operator_user_id = #{operatorUserId,jdbcType=VARCHAR},
|
||||
type = #{type,jdbcType=TINYINT},
|
||||
status = #{status,jdbcType=TINYINT},
|
||||
files = #{files,jdbcType=VARCHAR},
|
||||
description = #{description,jdbcType=VARCHAR},
|
||||
inspection_time = #{inspectionTime,jdbcType=TIMESTAMP},
|
||||
creator = #{creator,jdbcType=VARCHAR},
|
||||
updator = #{updator,jdbcType=VARCHAR},
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
deleted = #{deleted,jdbcType=BIT},
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP}
|
||||
operator_user_id = #{operatorUserId},
|
||||
type = #{type},
|
||||
status = #{status},
|
||||
files = #{files},
|
||||
description = #{description},
|
||||
inspection_time = #{inspectionTime},
|
||||
creator = #{creator},
|
||||
updator = #{updator},
|
||||
remark = #{remark},
|
||||
deleted = #{deleted},
|
||||
create_time = #{createTime},
|
||||
update_time = #{updateTime}
|
||||
where id = #{id}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -3,16 +3,16 @@
|
||||
<mapper namespace="com.cool.store.mapper.HyInterviewInspectionLogMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyInterviewInspectionLogDO">
|
||||
<constructor>
|
||||
<idArg column="id" javaType="java.lang.Long" jdbcType="BIGINT" />
|
||||
<arg column="operator_user_id" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="inspection_id" javaType="java.lang.Long" jdbcType="BIGINT" />
|
||||
<arg column="operation_type" javaType="java.lang.Byte" jdbcType="TINYINT" />
|
||||
<arg column="description" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="files" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="operation_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<arg column="remark" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="create_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<arg column="update_time" javaType="java.lang.String" jdbcType="TIMESTAMP" />
|
||||
<idArg column="id" javaType="java.lang.Long" />
|
||||
<arg column="operator_user_id" javaType="java.lang.String" />
|
||||
<arg column="inspection_id" javaType="java.lang.Long" />
|
||||
<arg column="operation_type" javaType="java.lang.Byte" />
|
||||
<arg column="description" javaType="java.lang.String" />
|
||||
<arg column="files" javaType="java.lang.String" />
|
||||
<arg column="operation_time" javaType="java.lang.String" />
|
||||
<arg column="remark" javaType="java.lang.String" />
|
||||
<arg column="create_time" javaType="java.lang.String" />
|
||||
<arg column="update_time" javaType="java.lang.String" />
|
||||
</constructor>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
@@ -23,21 +23,21 @@
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from hy_interview_inspection_log
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
where id = #{id}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
||||
delete from hy_interview_inspection_log
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
where id = #{id}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
|
||||
insert into hy_interview_inspection_log (id, operator_user_id, inspection_id,
|
||||
operation_type, description, files,
|
||||
operation_time, remark, create_time,
|
||||
update_time)
|
||||
values (#{id,jdbcType=BIGINT}, #{operatorUserId,jdbcType=VARCHAR}, #{inspectionId,jdbcType=BIGINT},
|
||||
#{operationType,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR}, #{files,jdbcType=VARCHAR},
|
||||
#{operationTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
|
||||
#{updateTime,jdbcType=TIMESTAMP})
|
||||
values (#{id}, #{operatorUserId}, #{inspectionId},
|
||||
#{operationType}, #{description}, #{files},
|
||||
#{operationTime}, #{remark}, #{createTime},
|
||||
#{updateTime})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
|
||||
insert into hy_interview_inspection_log
|
||||
@@ -75,34 +75,34 @@
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
#{id,jdbcType=BIGINT},
|
||||
#{id},
|
||||
</if>
|
||||
<if test="operatorUserId != null">
|
||||
#{operatorUserId,jdbcType=VARCHAR},
|
||||
#{operatorUserId},
|
||||
</if>
|
||||
<if test="inspectionId != null">
|
||||
#{inspectionId,jdbcType=BIGINT},
|
||||
#{inspectionId},
|
||||
</if>
|
||||
<if test="operationType != null">
|
||||
#{operationType,jdbcType=TINYINT},
|
||||
#{operationType},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
#{description,jdbcType=VARCHAR},
|
||||
#{description},
|
||||
</if>
|
||||
<if test="files != null">
|
||||
#{files,jdbcType=VARCHAR},
|
||||
#{files},
|
||||
</if>
|
||||
<if test="operationTime != null">
|
||||
#{operationTime,jdbcType=TIMESTAMP},
|
||||
#{operationTime},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
#{remark,jdbcType=VARCHAR},
|
||||
#{remark},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
#{createTime,jdbcType=TIMESTAMP},
|
||||
#{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
#{updateTime,jdbcType=TIMESTAMP},
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
@@ -110,46 +110,46 @@
|
||||
update hy_interview_inspection_log
|
||||
<set>
|
||||
<if test="operatorUserId != null">
|
||||
operator_user_id = #{operatorUserId,jdbcType=VARCHAR},
|
||||
operator_user_id = #{operatorUserId},
|
||||
</if>
|
||||
<if test="inspectionId != null">
|
||||
inspection_id = #{inspectionId,jdbcType=BIGINT},
|
||||
inspection_id = #{inspectionId},
|
||||
</if>
|
||||
<if test="operationType != null">
|
||||
operation_type = #{operationType,jdbcType=TINYINT},
|
||||
operation_type = #{operationType},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description,jdbcType=VARCHAR},
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="files != null">
|
||||
files = #{files,jdbcType=VARCHAR},
|
||||
files = #{files},
|
||||
</if>
|
||||
<if test="operationTime != null">
|
||||
operation_time = #{operationTime,jdbcType=TIMESTAMP},
|
||||
operation_time = #{operationTime},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
remark = #{remark},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
create_time = #{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
update_time = #{updateTime},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
where id = #{id}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.cool.store.entity.HyInterviewInspectionLogDO">
|
||||
update hy_interview_inspection_log
|
||||
set operator_user_id = #{operatorUserId,jdbcType=VARCHAR},
|
||||
inspection_id = #{inspectionId,jdbcType=BIGINT},
|
||||
operation_type = #{operationType,jdbcType=TINYINT},
|
||||
description = #{description,jdbcType=VARCHAR},
|
||||
files = #{files,jdbcType=VARCHAR},
|
||||
operation_time = #{operationTime,jdbcType=TIMESTAMP},
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP}
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
set operator_user_id = #{operatorUserId},
|
||||
inspection_id = #{inspectionId},
|
||||
operation_type = #{operationType},
|
||||
description = #{description},
|
||||
files = #{files},
|
||||
operation_time = #{operationTime},
|
||||
remark = #{remark},
|
||||
create_time = #{createTime},
|
||||
update_time = #{updateTime}
|
||||
where id = #{id}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-21 11:17
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
public class IntentSmsReq {
|
||||
private String deadLine;
|
||||
}
|
||||
@@ -98,7 +98,7 @@ public class InterviewVO {
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "面试过程信息视频URL数组", required = true)
|
||||
private List<String> vedioList;
|
||||
private List<String> videoList;
|
||||
|
||||
@ApiModelProperty(value = "面试过程信息未解析String", required = false)
|
||||
private String processInfo;
|
||||
|
||||
@@ -5,16 +5,19 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.HyInterviewDAO;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dto.log.CreateQualifyVerifyDTO;
|
||||
import com.cool.store.dto.log.LogBasicDTO;
|
||||
import com.cool.store.dto.mdm.AccessTokenDTO;
|
||||
import com.cool.store.dto.response.MDMResultDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.InspectionTyeEnum;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
@@ -27,6 +30,7 @@ import com.cool.store.request.data.flow.SkrRelshipProve;
|
||||
import com.cool.store.service.FlowService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.LogService;
|
||||
import com.cool.store.service.SmsService;
|
||||
import com.cool.store.utils.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -91,6 +95,11 @@ public class FlowServiceImpl implements FlowService {
|
||||
|
||||
@Autowired
|
||||
private HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
@Autowired
|
||||
private SmsService smsService;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||
|
||||
@Autowired
|
||||
private HyInspectionMapper inspectionMapper;
|
||||
@@ -264,7 +273,12 @@ public class FlowServiceImpl implements FlowService {
|
||||
//4. 向面试稽核表中新增一条信息
|
||||
HyInspectionDO hyInspectionDO = new HyInspectionDO();
|
||||
hyInspectionDO.setInterviewPlanId(Long.parseLong(interviewPlanId));
|
||||
hyInspectionDO.setCreateTime(DateUtil.formatDateTime(passDate));
|
||||
hyInspectionDO.setType(InspectionTyeEnum.INTERVIEW_INSPECTION.getCode());
|
||||
inspectionMapper.insertSelective(hyInspectionDO);
|
||||
//发送加盟商资质审核通过短信
|
||||
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(partnerLineId);
|
||||
smsService.sendSms(null, CommonConstants.SMS_TEMPLATE_CODE_VERIFY, hyPartnerBaseInfoDO.getMobile());
|
||||
//记录日志
|
||||
LogBasicDTO log = LogBasicDTO.builder().operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
|
||||
.build();
|
||||
|
||||
@@ -8,15 +8,11 @@ import com.cool.store.constants.RedisConstant;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.log.AddTagsDTO;
|
||||
import com.cool.store.dto.log.LineLogInfo;
|
||||
import com.cool.store.dto.log.UserInfoUpdateDTO;
|
||||
import com.cool.store.dto.log.WantInfoUpdateDTO;
|
||||
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.HyPartnerIntentInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
@@ -78,6 +74,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
@Autowired
|
||||
private LogService logService;
|
||||
|
||||
@Autowired
|
||||
private NoticeService noticeService;
|
||||
|
||||
@Override
|
||||
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
|
||||
PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = new PartnerIntentApplyInfoVO();
|
||||
@@ -181,6 +180,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
|
||||
@Override
|
||||
public Integer submitPartnerIntentInfo(PartnerIntentInfoRequest request) {
|
||||
boolean isUpdateIntentInfo = true;
|
||||
log.info("HyPartnerClerkServiceImpl#submitPartnerIntentInfo request:{}", JSONObject.toJSONString(request));
|
||||
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
||||
@@ -196,6 +196,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
OperateTypeEnum operateTypeEnum = OperateTypeEnum.INTENT_INFO_UPDATE;
|
||||
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
|
||||
if(intentInfoDO == null){
|
||||
isUpdateIntentInfo = false;
|
||||
intentInfoDO = new HyPartnerIntentInfoDO();
|
||||
fillIntentInfo(intentInfoDO, request);
|
||||
hyPartnerIntentInfoDAO.insertSelective(intentInfoDO);
|
||||
@@ -220,11 +221,19 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){
|
||||
Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType());
|
||||
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
if (flag){
|
||||
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent");
|
||||
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
|
||||
userIdList.add(investmentManager);
|
||||
}
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
if(!isUpdateIntentInfo){
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTENTION_APPLY,userIdList,hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile(),DateUtil.formatDateTime(new Date()));
|
||||
}
|
||||
if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile());
|
||||
}
|
||||
}
|
||||
}
|
||||
//记录日志
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.constants.RedisConstant;
|
||||
@@ -26,12 +27,11 @@ import com.github.pagehelper.PageInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.Array;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -78,6 +78,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Autowired
|
||||
private NoticeService noticeService;
|
||||
|
||||
@Autowired
|
||||
private SmsService smsService;
|
||||
|
||||
@Override
|
||||
public StageCountVO selectStagePendingCount(String userId) {
|
||||
@@ -161,6 +166,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
&& WorkflowStatusEnum.INTERVIEW_2.getCode().equals(hyPartnerLineInfoDO.getWorkflowStatus())){
|
||||
workFlowService.transferInvestmentManager(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),request);
|
||||
}
|
||||
//发送飞书工作通知
|
||||
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(request.getLineId());
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerBaseInfoDO.getUsername(),hyPartnerBaseInfoDO.getMobile());
|
||||
|
||||
//添加日志
|
||||
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), user.getUserId(),
|
||||
@@ -215,9 +223,15 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
List<HyPartnerLineInfoDO> otherLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() == null).collect(Collectors.toList());
|
||||
List<Long> otherLineIdList = otherLineList.stream().map(HyPartnerLineInfoDO::getId).collect(Collectors.toList());
|
||||
hyPartnerLineInfoDAO.updateInvestmentManager(user.getUserId(), otherLineIdList);
|
||||
|
||||
//添加日志
|
||||
partnerLineInfoList.forEach(x->{
|
||||
//给招商经理发送飞书工作通知
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
userIdList.add(user.getUserId());
|
||||
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(x.getId());
|
||||
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerBaseInfoDO.getUsername(),hyPartnerBaseInfoDO.getMobile());
|
||||
|
||||
LineLogInfo lineLogInfo = new LineLogInfo(x.getPartnerId(), x.getId(), user.getUserId(),
|
||||
user.getName(), OperateTypeEnum.ALLOCATION_INVESTMENT_MANAGER,
|
||||
WorkflowStageEnum.getWorkflowStageByCode(x.getWorkflowStage()),
|
||||
@@ -362,6 +376,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hy.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()));
|
||||
}
|
||||
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hy);
|
||||
IntentSmsReq intentSmsReq = new IntentSmsReq();
|
||||
intentSmsReq.setDeadLine(DateUtil.formatDateTime(hyPartnerLineInfoDO.getDeadline()));
|
||||
smsService.sendSms(JSON.toJSONString(intentSmsReq),CommonConstants.SMS_TEMPLATE_CODE_INTENT, hy.getMobile());
|
||||
}
|
||||
|
||||
//拒绝
|
||||
@@ -710,6 +727,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
}
|
||||
}
|
||||
//发送飞书工作通知
|
||||
if(flag){
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
userIdList.add(investmentManager);
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
|
||||
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile());
|
||||
}
|
||||
return hyPartnerLineInfoDO;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
//将 processInfo 解析为 List
|
||||
if (!StringUtils.isEmpty(vo.getProcessInfo())) {
|
||||
List<String> split = Arrays.asList(vo.getProcessInfo().split(","));
|
||||
vo.setVedioList(split);
|
||||
vo.setVideoList(split);
|
||||
vo.setProcessInfo("");
|
||||
}
|
||||
//查询面试官和记录人信息(面试官必须有)
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||
import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
||||
import com.cool.store.enums.MessageTypeEnum;
|
||||
import com.cool.store.http.ISVHttpRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-07-19 17:06
|
||||
* @Description:
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class NoticeService {
|
||||
@Value("${feishu.notice.link.url:null}")
|
||||
private String linkUrl;
|
||||
@Autowired
|
||||
private ISVHttpRequest isvHttpRequest;
|
||||
public void sendFeiShuNotice(FeiShuNoticeMsgEnum feiShuNoticeMsgEnum, List<String> userIds,Object... objects) {
|
||||
try{
|
||||
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
||||
sendCardMessageDTO.setUserIds(userIds);
|
||||
sendCardMessageDTO.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
||||
sendCardMessageDTO.setMessageUrl(linkUrl);
|
||||
sendCardMessageDTO.setTitle(feiShuNoticeMsgEnum.getTitle());
|
||||
sendCardMessageDTO.setContent(MessageFormat.format(feiShuNoticeMsgEnum.getContent(),objects));
|
||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessageDTO);
|
||||
}catch (Exception e){
|
||||
log.info("发送飞书通知失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,6 +48,8 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
RegionDAO regionDAO;
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
|
||||
|
||||
|
||||
@@ -67,8 +69,9 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
//添加战区映射的意向区域
|
||||
hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),hyIntendDevZoneInfoDO.getType());
|
||||
List<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
|
||||
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
|
||||
List<HyIntendDevelopementMappingDO> list = new ArrayList<>();
|
||||
openAreaIdList.stream().forEach(x->{
|
||||
openAreaIdFilterList.stream().forEach(x->{
|
||||
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO();
|
||||
hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType());
|
||||
hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x));
|
||||
@@ -95,8 +98,9 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
hyIntendDevMappingDAO.deleteByMappingIds(Arrays.asList(intentAreaSettingRequest.getId())
|
||||
,intentAreaSettingRequest.getType());
|
||||
List<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
|
||||
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
|
||||
List<HyIntendDevelopementMappingDO> list = new ArrayList<>();
|
||||
openAreaIdList.stream().forEach(x->{
|
||||
openAreaIdFilterList.stream().forEach(x->{
|
||||
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO();
|
||||
hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType());
|
||||
hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x));
|
||||
@@ -206,7 +210,8 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
//查询已经绑定战区的 意向区域
|
||||
List<ZoneCheckDTO> list = hyIntendDevMappingDAO.selectByOpenAreaMappingIdList(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType(),intentAreaSettingRequest.getId());
|
||||
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
|
||||
List<Long> openAreaIdFilterList = hyOpenAreaInfoDAO.filterLeafNode(openAreaIdList);
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdFilterList);
|
||||
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
|
||||
List<ZoneCheckVO> result = new ArrayList<>();
|
||||
list.forEach(x->{
|
||||
|
||||
Reference in New Issue
Block a user