Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
# Conflicts: # coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: OperateLogFieldValue
|
||||
* @Description:
|
||||
* @date 2023-06-27 10:44
|
||||
*/
|
||||
public enum OperateLogFieldValueEnum {
|
||||
|
||||
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
|
||||
MOBILE("mobile","手机号"),
|
||||
OPERATE_TIME("operateTime","操作时间"),
|
||||
OPERATE_USER_NAME("operateUsername","操作人姓名"),
|
||||
REASON("reason","原因"),
|
||||
PASS_REASON("pass_reason","通过原因"),
|
||||
REJECT_PUBLIC_REASON("reject_public_reason", "公开拒绝原因"),
|
||||
REJECT_REAL_REASON("reject_real_reason", "真实拒绝原因"),
|
||||
CERTIFY_FILE("certify_file", "上传的证明文件或凭证"),
|
||||
BEFORE_INVESTMENT_MANAGER_USERNAME("before_investment_manager_username", "转让前的招商经理姓名"),
|
||||
BEFORE_INVESTMENT_MANAGER_MOBILE("before_investment_manager_mobile", "转让前的招商经理手机号"),
|
||||
AFTER_INVESTMENT_MANAGER_USERNAME("after_investment_manager_username", "转让后的招商经理姓名"),
|
||||
AFTER_INVESTMENT_MANAGER_MOBILE("after_investment_manager_mobile", "转让后的招商经理手机好"),
|
||||
;
|
||||
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
|
||||
OperateLogFieldValueEnum(String code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cool.store.enums.OperateLogFieldValueEnum.*;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: OperateTypeEnum
|
||||
* @Description:
|
||||
* @date 2023-06-27 10:41
|
||||
*/
|
||||
public enum OperateTypeEnum {
|
||||
|
||||
ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)),
|
||||
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
|
||||
REMOVE_BLACKLIST("add_blacklist", "移除黑名单", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
|
||||
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
|
||||
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE));
|
||||
|
||||
;
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
private List<OperateLogFieldValueEnum> filedList;
|
||||
|
||||
OperateTypeEnum(String code, String name, List<OperateLogFieldValueEnum> filedList) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.filedList = filedList;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public List<OperateLogFieldValueEnum> getFiledList() {
|
||||
return filedList;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,12 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -44,4 +50,13 @@ public enum WorkflowStageEnum {
|
||||
return message;
|
||||
}
|
||||
|
||||
protected static final Map<String, WorkflowStageEnum> map = Arrays.stream(values()).collect(
|
||||
Collectors.toMap(WorkflowStageEnum::getCode, Function.identity()));
|
||||
|
||||
public static WorkflowStageEnum getWorkflowStageByCode(String code) {
|
||||
if(StringUtils.isBlank(code)) {
|
||||
return null;
|
||||
}
|
||||
return map.get(code);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.dto.log.LineLogInfo;
|
||||
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.mapper.HyPartnerTaskInfoLogMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@@ -23,8 +25,20 @@ public class HyPartnerTaskInfoLogDAO {
|
||||
return hyPartnerTaskInfoLogMapper.updateByPrimaryKeySelective(hyPartnerTaskInfoLogDO);
|
||||
}
|
||||
|
||||
public int insertSelective( HyPartnerTaskInfoLogDO record){
|
||||
public int insertSelective( HyPartnerTaskInfoLogDO record){
|
||||
return hyPartnerTaskInfoLogMapper.insertSelective(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增操作日志
|
||||
* @param lineLogInfo
|
||||
*/
|
||||
public void addOperateLog(LineLogInfo lineLogInfo){
|
||||
if(!LineLogInfo.checkParams(lineLogInfo)){
|
||||
return;
|
||||
}
|
||||
HyPartnerTaskInfoLogDO logInfo = LineLogInfo.convertDO(lineLogInfo);
|
||||
insertSelective(logInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
|
||||
<select id="getInterviewCount" resultType="com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO">
|
||||
select
|
||||
ifnull(sum(if(start_time>now() or (start_time<![CDATA[<]]>now() and room_status!=2),1,0)),0) as currentDayInterviewCount,
|
||||
ifnull(sum(if(interview_date = #{currentDate} and (start_time>now() or (start_time <![CDATA[<]]> now() and room_status!=2)),1,0)),0) as currentDayInterviewCount,
|
||||
ifnull(sum(if(start_time>#{startTime} and end_time <![CDATA[<]]> #{endTime},1,0)),0) as lastSevenDayInterviewCount
|
||||
FROM hy_partner_interview_plan
|
||||
where interviewer = #{userId}
|
||||
@@ -401,7 +401,9 @@
|
||||
hpip.interviewer as interviewerId,
|
||||
hpip.feishu_calendar_id as feishuCalendarId,
|
||||
hpip.feishu_schedule_id as feishuScheduleId,
|
||||
hpi.status as status
|
||||
hpi.status as status,
|
||||
hpip.actual_start_time actualStartTime,
|
||||
hpip.actual_end_time actualEndTime
|
||||
from hy_partner_interview_plan hpip
|
||||
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
||||
left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id
|
||||
|
||||
@@ -307,10 +307,12 @@
|
||||
hpuinfo.want_shop_area as wantShopArea,
|
||||
hpuinfo.accept_adjust_type as acceptAdjustType,
|
||||
hpuinfo.mobile as partnerUserPhone,
|
||||
hpuinfo.username as partnerUserName
|
||||
hpuinfo.username as partnerUserName,
|
||||
hpuc.channel_name as channelName
|
||||
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
|
||||
LEFT JOIN hy_partner_user_channel hpuc ON a.user_channel_id = hpuc.channel_id
|
||||
<where>
|
||||
<if test="lineId!=null">
|
||||
and a.id = #{lineId}
|
||||
|
||||
@@ -1,129 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cool.store.mapper.HyPartnerTaskInfoLogMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyPartnerTaskInfoLogDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="partner_line_id" jdbcType="BIGINT" property="partnerLineId" />
|
||||
<result column="operate_user_id" jdbcType="VARCHAR" property="operateUserId" />
|
||||
<result column="operate_username" jdbcType="VARCHAR" property="operateUsername" />
|
||||
<result column="workflow_stage" jdbcType="VARCHAR" property="workflowStage" />
|
||||
<result column="workflow_status" jdbcType="VARCHAR" property="workflowStatus" />
|
||||
<result column="message" jdbcType="VARCHAR" property="message" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="partner_id" jdbcType="VARCHAR" property="partnerId" />
|
||||
</resultMap>
|
||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.HyPartnerTaskInfoLogDO">
|
||||
<result column="field_copy" jdbcType="LONGVARCHAR" property="fieldCopy" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, partner_line_id, operate_user_id, operate_username, workflow_stage, workflow_status,
|
||||
message, create_time, update_time, partner_id
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
field_copy
|
||||
</sql>
|
||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||
insert into hy_partner_task_info_log
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="record.partnerLineId != null">
|
||||
partner_line_id,
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
operate_user_id,
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
operate_username,
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
workflow_stage,
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
workflow_status,
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
message,
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
partner_id,
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
field_copy,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.partnerLineId != null">
|
||||
#{record.partnerLineId},
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
#{record.operateUserId},
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
#{record.operateUsername},
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
#{record.workflowStage},
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
#{record.workflowStatus},
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
#{record.message},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
#{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
#{record.updateTime},
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
#{record.partnerId},
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
#{record.fieldCopy},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
update hy_partner_task_info_log
|
||||
<set>
|
||||
<if test="record.partnerLineId != null">
|
||||
partner_line_id = #{record.partnerLineId},
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
operate_user_id = #{record.operateUserId},
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
operate_username = #{record.operateUsername},
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
workflow_stage = #{record.workflowStage},
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
workflow_status = #{record.workflowStatus},
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
message = #{record.message},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time = #{record.updateTime},
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
partner_id = #{record.partnerId},
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
field_copy = #{record.fieldCopy},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyPartnerTaskInfoLogDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="partner_line_id" jdbcType="BIGINT" property="partnerLineId"/>
|
||||
<result column="operate_user_id" jdbcType="VARCHAR" property="operateUserId"/>
|
||||
<result column="operate_username" jdbcType="VARCHAR" property="operateUsername"/>
|
||||
<result column="operate_type" jdbcType="VARCHAR" property="operateType"/>
|
||||
<result column="workflow_stage" jdbcType="VARCHAR" property="workflowStage"/>
|
||||
<result column="workflow_status" jdbcType="VARCHAR" property="workflowStatus"/>
|
||||
<result column="message" jdbcType="VARCHAR" property="message"/>
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
||||
<result column="partner_id" jdbcType="VARCHAR" property="partnerId"/>
|
||||
</resultMap>
|
||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.HyPartnerTaskInfoLogDO">
|
||||
<result column="field_copy" jdbcType="LONGVARCHAR" property="fieldCopy"/>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, partner_line_id, operate_user_id, operate_username, workflow_stage, workflow_status,
|
||||
message, create_time, update_time, partner_id
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
field_copy
|
||||
</sql>
|
||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||
insert into hy_partner_task_info_log
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="record.partnerLineId != null">
|
||||
partner_line_id,
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
operate_user_id,
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
operate_username,
|
||||
</if>
|
||||
<if test="record.operateType != null">
|
||||
operate_type,
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
workflow_stage,
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
workflow_status,
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
message,
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
partner_id,
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
field_copy,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.partnerLineId != null">
|
||||
#{record.partnerLineId},
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
#{record.operateUserId},
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
#{record.operateUsername},
|
||||
</if>
|
||||
<if test="record.operateType != null">
|
||||
#{record.operateType},
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
#{record.workflowStage},
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
#{record.workflowStatus},
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
#{record.message},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
#{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
#{record.updateTime},
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
#{record.partnerId},
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
#{record.fieldCopy},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
update hy_partner_task_info_log
|
||||
<set>
|
||||
<if test="record.partnerLineId != null">
|
||||
partner_line_id = #{record.partnerLineId},
|
||||
</if>
|
||||
<if test="record.operateUserId != null">
|
||||
operate_user_id = #{record.operateUserId},
|
||||
</if>
|
||||
<if test="record.operateUsername != null">
|
||||
operate_username = #{record.operateUsername},
|
||||
</if>
|
||||
<if test="record.workflowStage != null">
|
||||
workflow_stage = #{record.workflowStage},
|
||||
</if>
|
||||
<if test="record.workflowStatus != null">
|
||||
workflow_status = #{record.workflowStatus},
|
||||
</if>
|
||||
<if test="record.message != null">
|
||||
message = #{record.message},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time = #{record.updateTime},
|
||||
</if>
|
||||
<if test="record.partnerId != null">
|
||||
partner_id = #{record.partnerId},
|
||||
</if>
|
||||
<if test="record.fieldCopy != null">
|
||||
field_copy = #{record.fieldCopy},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.cool.store.dto.log;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
|
||||
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
|
||||
import com.cool.store.enums.OperateLogFieldValueEnum;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: LineLogInfo
|
||||
* @Description:
|
||||
* @date 2023-06-27 13:44
|
||||
*/
|
||||
@Slf4j
|
||||
@Data
|
||||
public class LineLogInfo<T> {
|
||||
|
||||
@ApiModelProperty("hy_partner_user_info.partner_id")
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty("hy_partner_line_info.id")
|
||||
private Long partnerLineId;
|
||||
|
||||
@ApiModelProperty("操作人id")
|
||||
private String operateUserId;
|
||||
|
||||
@ApiModelProperty("操作人姓名")
|
||||
private String operateUsername;
|
||||
|
||||
@ApiModelProperty("操作类型")
|
||||
private OperateTypeEnum operateType;
|
||||
|
||||
@ApiModelProperty("流程阶段:意向申请审核、预约面试时间、加盟资格面试、分配选址开发经理、商圈点位评估、上传店铺租赁信息、完善加盟签约信息、支付加盟费用、签订加盟合同")
|
||||
private WorkflowStageEnum workflowStage;
|
||||
|
||||
@ApiModelProperty("流程子状态")
|
||||
private WorkflowStatusEnum workflowStatus;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String message;
|
||||
|
||||
@ApiModelProperty("数据处理字段")
|
||||
private T data;
|
||||
|
||||
public static boolean checkParams(LineLogInfo params){
|
||||
if(StringUtils.isAnyBlank(params.getPartnerId(), params.getOperateUserId(), params.getOperateUsername())){
|
||||
log.info("lineLogInfo string:{}", JSONObject.toJSONString(params));
|
||||
return false;
|
||||
}
|
||||
if(Objects.isNull(params.getOperateType()) || Objects.isNull(params.getWorkflowStage()) || Objects.isNull(params.getWorkflowStatus())){
|
||||
log.info("lineLogInfo enum is null:{}", JSONObject.toJSONString(params));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static HyPartnerTaskInfoLogDO convertDO(LineLogInfo params){
|
||||
OperateTypeEnum operateType = params.getOperateType();
|
||||
HyPartnerTaskInfoLogDO result = new HyPartnerTaskInfoLogDO();
|
||||
result.setPartnerId(params.getPartnerId());
|
||||
result.setPartnerLineId(params.getPartnerLineId());
|
||||
result.setOperateType(params.getOperateType().getCode());
|
||||
result.setWorkflowStage(params.getWorkflowStage().getCode());
|
||||
result.setWorkflowStatus(params.getWorkflowStatus().getCode());
|
||||
result.setOperateUserId(params.getOperateUserId());
|
||||
result.setOperateUsername(params.getOperateUsername());
|
||||
result.setMessage(params.getMessage());
|
||||
result.setCreateTime(new Date());
|
||||
result.setUpdateTime(new Date());
|
||||
Object data = params.getData();
|
||||
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(data));
|
||||
List<OperateLogFieldValueEnum> filedList = operateType.getFiledList();
|
||||
List<Map<String, Object>> fieldMapList = new ArrayList<>();
|
||||
for (OperateLogFieldValueEnum field : filedList) {
|
||||
Map<String, Object> fieldMap = new HashMap<>();
|
||||
fieldMap.put("code",field.getCode());
|
||||
fieldMap.put("name",field.getName());
|
||||
fieldMap.put("value",jsonObject.get(field.getCode()));
|
||||
fieldMapList.add(fieldMap);
|
||||
}
|
||||
result.setFieldCopy(JSONObject.toJSONString(fieldMapList));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -76,4 +76,6 @@ public class PartnerLineInfoAndBaseInfoDTO {
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
private String channelName;
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FraSourceDO {
|
||||
|
||||
@ApiModelProperty("key")
|
||||
private String key;
|
||||
|
||||
@ApiModelProperty("text")
|
||||
private String text;
|
||||
|
||||
}
|
||||
@@ -42,6 +42,9 @@ public class HyPartnerCertificationInfoDO implements Serializable {
|
||||
@ApiModelProperty("意向签约时间")
|
||||
private Date wantSignTime;
|
||||
|
||||
@ApiModelProperty("数据来源")
|
||||
private String dataSource;
|
||||
|
||||
@ApiModelProperty("加盟费")
|
||||
private String partnerFee;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class HyPartnerTaskInfoLogDO implements Serializable {
|
||||
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
@@ -30,6 +31,9 @@ public class HyPartnerTaskInfoLogDO implements Serializable {
|
||||
@ApiModelProperty("操作人姓名")
|
||||
private String operateUsername;
|
||||
|
||||
@ApiModelProperty("操作类型 参考代码中OperateTypeEnum")
|
||||
private String operateType;
|
||||
|
||||
@ApiModelProperty("流程阶段:意向申请审核、预约面试时间、加盟资格面试、分配选址开发经理、商圈点位评估、上传店铺租赁信息、完善加盟签约信息、支付加盟费用、签订加盟合同")
|
||||
private String workflowStage;
|
||||
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.request.data.flow.IdName;
|
||||
import com.cool.store.request.data.flow.KeyText;
|
||||
import com.cool.store.request.data.flow.SkrRelshipProve;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 14:18
|
||||
@@ -30,23 +35,38 @@ public class CreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "面试表现记录", required = true)
|
||||
private String summary;
|
||||
|
||||
@ApiModelProperty(value = "合作关系: 1总部下属; 2小区代直营; 3县代直营; 4县代下属; 5区代直营; 6区代下属", required = true)
|
||||
private Integer partnership;
|
||||
@ApiModelProperty(value = "加盟商类型", required = true)
|
||||
private KeyText fraType;
|
||||
|
||||
@ApiModelProperty(value = "合作关系", required = true)
|
||||
private KeyText partnership;
|
||||
|
||||
@ApiModelProperty(value = "意向人email", required = true)
|
||||
private String intendedEmail;
|
||||
|
||||
@ApiModelProperty(value = "意向人联系地址", required = true)
|
||||
private String intendedAddress;
|
||||
|
||||
@ApiModelProperty(value = "意向人身份证号", required = true)
|
||||
private String intendedDCardNum;
|
||||
|
||||
@ApiModelProperty(value = "意向签约时间", required = true, example = "YYYY-MM-DD")
|
||||
private String wantSignTime;
|
||||
|
||||
@ApiModelProperty(value = "数据来源", required = true)
|
||||
private String dataSource;
|
||||
|
||||
@ApiModelProperty(value = "加盟费", required = true)
|
||||
private String partnerFee;
|
||||
private Integer partnerFee;
|
||||
|
||||
@ApiModelProperty(value = "保证金", required = true)
|
||||
private String securityFund;
|
||||
private Integer securityFund;
|
||||
|
||||
@ApiModelProperty(value = "技术服务费", required = true)
|
||||
private String technicalServiceFee;
|
||||
private Integer technicalServiceFee;
|
||||
|
||||
@ApiModelProperty(value = "意向金金额", required = true)
|
||||
private String intentionMoney;
|
||||
private Integer intentionMoney;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人姓名", required = true)
|
||||
private String intentionSignerUsername;
|
||||
@@ -54,8 +74,8 @@ public class CreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "意向签约人手机号", required = true)
|
||||
private String intentionSignerMobile;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人学历: 1.初中及以下 2.高中 3.大专 4.本科 5.硕士及以上", required = true)
|
||||
private String intentionEdu;
|
||||
@ApiModelProperty(value = "意向签约人学历", required = true)
|
||||
private KeyText intentionEdu;
|
||||
|
||||
@ApiModelProperty(value = "实控人姓名", required = true)
|
||||
private String realControlUsername;
|
||||
@@ -63,16 +83,34 @@ public class CreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "实控人身份证", required = true)
|
||||
private String realControlIdcard;
|
||||
|
||||
@ApiModelProperty(value = "实控人与签约人关系: 1.本人 2.配偶 3.二代直系亲属 4.雇佣 5.其他", required = true)
|
||||
private String signerRealControlRelation;
|
||||
@ApiModelProperty(value = "实控人与签约人关系", required = true)
|
||||
private KeyText signerRealControlRelation;
|
||||
|
||||
@ApiModelProperty(value = "其他实控人与签约人关系")
|
||||
private String signerOtherRealControlRelation;
|
||||
|
||||
@ApiModelProperty(value = "实控人与签约人关系证明(文件上传地址,多个以英文逗号隔开)")
|
||||
@ApiModelProperty(value = "实控人与签约人关系证明(文件上传地址,多个以英文逗号隔开)", required = true)
|
||||
private String signerRealControlRelationCert;
|
||||
|
||||
@ApiModelProperty(value = "省", required = true)
|
||||
private IdName linkProv;
|
||||
|
||||
@ApiModelProperty(value = "省编码", required = true)
|
||||
private String provID;
|
||||
|
||||
@ApiModelProperty(value = "市", required = true)
|
||||
private IdName linkCity;
|
||||
|
||||
@ApiModelProperty(value = "市编码", required = true)
|
||||
private String cityID;
|
||||
|
||||
@ApiModelProperty(value = "所属大区", required = true)
|
||||
private IdName linkOrgRegion;
|
||||
|
||||
@ApiModelProperty(value = "业务战区", required = true)
|
||||
private IdName linkbuArea;
|
||||
|
||||
@ApiModelProperty(value = "实控人手机号", required = true)
|
||||
private String skrPhone;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.entity.FraSourceDO;
|
||||
import com.cool.store.request.data.flow.IdName;
|
||||
import com.cool.store.request.data.flow.KeyText;
|
||||
import com.cool.store.request.data.flow.SkrRelshipProve;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 15:06
|
||||
@@ -14,14 +18,15 @@ public class RpcCreateQualifyVerifyReq {
|
||||
|
||||
@lombok.Data
|
||||
public class Data {
|
||||
|
||||
@ApiModelProperty(value = "意向签约时间", required = true)
|
||||
private String intendedSignDate;
|
||||
|
||||
@ApiModelProperty(value = "请求来源", required = true)
|
||||
private FraSourceDO fraSource;
|
||||
@ApiModelProperty(value = "请求来源", required = false)
|
||||
private KeyText fraSource;
|
||||
|
||||
@ApiModelProperty(value = "保证金(元)", required = true, example = "5000")
|
||||
private int amtDeposit;
|
||||
private Integer amtDeposit;
|
||||
|
||||
@ApiModelProperty(value = "授权码", required = true)
|
||||
private String authCode;
|
||||
@@ -29,9 +34,72 @@ public class RpcCreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "意向签约人", required = true)
|
||||
private String intendedSigner;
|
||||
|
||||
@ApiModelProperty(value = "手机号", required = true)
|
||||
@ApiModelProperty(value = "意向签约人手机号", required = true)
|
||||
private String intendedSignerTel;
|
||||
|
||||
@ApiModelProperty(value = "合作关系", required = true)
|
||||
private KeyText partnership;
|
||||
|
||||
@ApiModelProperty(value = "所属大区", required = true)
|
||||
private IdName linkOrgRegion;
|
||||
|
||||
@ApiModelProperty(value = "省", required = true)
|
||||
private IdName linkProv;
|
||||
|
||||
@ApiModelProperty(value = "省编码", required = true)
|
||||
private String provID;
|
||||
|
||||
@ApiModelProperty(value = "市", required = true)
|
||||
private IdName linkCity;
|
||||
|
||||
@ApiModelProperty(value = "市编码", required = true)
|
||||
private String cityID;
|
||||
|
||||
@ApiModelProperty(value = "加盟商类型", required = true)
|
||||
private KeyText fraType;
|
||||
|
||||
@ApiModelProperty(value = "意向人email", required = true)
|
||||
private String intendedEmail;
|
||||
|
||||
@ApiModelProperty(value = "意向人联系地址", required = true)
|
||||
private String intendedAddress;
|
||||
|
||||
@ApiModelProperty(value = "意向人身份证号", required = true)
|
||||
private String intendedDCardNum;
|
||||
|
||||
@ApiModelProperty(value = "签约人学历", required = true)
|
||||
private KeyText signerEdu;
|
||||
|
||||
@ApiModelProperty(value = "实控人", required = true)
|
||||
private String skrName;
|
||||
|
||||
@ApiModelProperty(value = "实控人身份证号", required = true)
|
||||
private String skrIDCard;
|
||||
|
||||
@ApiModelProperty(value = "实控人与签约人关系", required = true)
|
||||
private KeyText skrRelship;
|
||||
|
||||
@ApiModelProperty("实控人与签约人关系证明文件")
|
||||
private List<SkrRelshipProve> skrRelshipProve;
|
||||
|
||||
@ApiModelProperty("其他实控人与签约人关系")
|
||||
private String skrRelshipOther;
|
||||
|
||||
@ApiModelProperty(value = "加盟费(元)", required = true)
|
||||
private Integer amtJoin;
|
||||
|
||||
@ApiModelProperty(value = "技术服务费", required = true)
|
||||
private Integer amtTechSer;
|
||||
|
||||
@ApiModelProperty(value = "意向金金额", required = true)
|
||||
private Integer amtIntended;
|
||||
|
||||
@ApiModelProperty(value = "业务战区", required = true)
|
||||
private IdName linkbuArea;
|
||||
|
||||
@ApiModelProperty(value = "实控人手机号", required = true)
|
||||
private String skrPhone;
|
||||
|
||||
}
|
||||
|
||||
@ApiModelProperty(value = "数据体", required = true)
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cool.store.request.data.flow;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 800 发起审批入参用
|
||||
* 对应 800 系统中需要入参格式为
|
||||
* "linkProv": {
|
||||
* "id": "1645610037222441004",
|
||||
* "name": "广东省"
|
||||
* },
|
||||
* 的地方
|
||||
* 暂时使用,后期应该使用各字段对应的枚举类
|
||||
*/
|
||||
@Data
|
||||
public class IdName {
|
||||
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "name", required = true)
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cool.store.request.data.flow;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 800 发起审批入参用
|
||||
* 对应 800 系统中需要入参格式为
|
||||
* "fraType": {
|
||||
* "key": "LEGAL",
|
||||
* "text": "法人"
|
||||
* },
|
||||
* 的地方
|
||||
* 暂时使用,后期应该使用各字段对应的枚举类
|
||||
*/
|
||||
@Data
|
||||
public class KeyText {
|
||||
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String key;
|
||||
|
||||
@ApiModelProperty(value = "text", required = true)
|
||||
private String text;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.request.data.flow;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 实控人与签约人关系证明文件
|
||||
*/
|
||||
@Data
|
||||
public class SkrRelshipProve {
|
||||
|
||||
@ApiModelProperty("id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("文件名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("大小")
|
||||
private String size;
|
||||
|
||||
@ApiModelProperty("文件后缀")
|
||||
private String suffix;
|
||||
|
||||
@ApiModelProperty("文件类型")
|
||||
private String type;
|
||||
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
private String deadline;
|
||||
|
||||
@ApiModelProperty("阶段提交时间")
|
||||
private Date partnerSubmitTime;
|
||||
private String partnerSubmitTime;
|
||||
|
||||
@ApiModelProperty("阶段状态")
|
||||
private String WorkflowStatus;
|
||||
@@ -72,7 +72,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
|
||||
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
|
||||
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
||||
partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime());
|
||||
partnerIntentApplyInfoVO.setPartnerSubmitTime( DateUtil.format(partnerIntentApplyInfoDTO.getPartnerSubmitTime(), CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
|
||||
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
|
||||
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
|
||||
|
||||
@@ -31,7 +31,7 @@ public class PartnerInterviewInfoVO {
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty("截止时间")
|
||||
private Date deadline;
|
||||
private String deadline;
|
||||
|
||||
@ApiModelProperty("房间号")
|
||||
private String roomId;
|
||||
@@ -70,5 +70,5 @@ public class PartnerInterviewInfoVO {
|
||||
private String authCode;
|
||||
|
||||
@ApiModelProperty("审批发起时间")
|
||||
private Date approveTime;
|
||||
private String approveTime;
|
||||
}
|
||||
|
||||
@@ -83,4 +83,7 @@ public class PartnerLineInfoAndBaseInfoVO {
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
@ApiModelProperty("线索来源名称")
|
||||
private String channelName;
|
||||
}
|
||||
|
||||
@@ -82,6 +82,12 @@ public class InterviewVO {
|
||||
@ApiModelProperty(value = "会议结束时间", required = true, example = "2023-06-03 12:00")
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty(value = "面试实际开始时间", required = true, example = "2023-06-03 12:00")
|
||||
private String actualStartTime;
|
||||
|
||||
@ApiModelProperty(value = "面试实际结束时间", required = true, example = "2023-06-03 12:00")
|
||||
private String actualEndTime;
|
||||
|
||||
@ApiModelProperty(value = "预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝", required = true)
|
||||
private Integer status;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -18,4 +19,11 @@ public interface WorkFlowService {
|
||||
*/
|
||||
void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request);
|
||||
|
||||
/**
|
||||
* 转让招商经理
|
||||
* @param workflowStage
|
||||
* @param request
|
||||
*/
|
||||
void transferInvestmentManager(WorkflowStageEnum workflowStage,TransferInvestmentManagerRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
||||
}
|
||||
//转交 所有的招商经理
|
||||
if (CommonConstants.TRANSFER.equals(type)){
|
||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, null);
|
||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(list), keyword, null);
|
||||
}
|
||||
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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;
|
||||
@@ -22,6 +23,7 @@ import com.cool.store.request.CreateQualifyVerifyReq;
|
||||
import com.cool.store.request.QualificationCallbackReq;
|
||||
import com.cool.store.request.RpcCreateQualifyVerifyReq;
|
||||
import com.cool.store.request.RpcGetMdmTokenReq;
|
||||
import com.cool.store.request.data.flow.KeyText;
|
||||
import com.cool.store.service.FlowService;
|
||||
import com.cool.store.utils.PDFUtils;
|
||||
import com.cool.store.utils.PassLetterUtils;
|
||||
@@ -37,10 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
@@ -89,13 +88,29 @@ public class FlowServiceImpl implements FlowService {
|
||||
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException {
|
||||
//1.发起加盟商资质审核
|
||||
RpcCreateQualifyVerifyReq rpcRequest = new RpcCreateQualifyVerifyReq();
|
||||
RpcCreateQualifyVerifyReq.Data data = new RpcCreateQualifyVerifyReq().new Data();
|
||||
rpcRequest.setData(data);
|
||||
FraSourceDO fraSourceDO = new FraSourceDO();
|
||||
fraSourceDO.setKey("HSAYPartner");
|
||||
fraSourceDO.setText("沪上阿姨合伙人");
|
||||
data.setFraSource(fraSourceDO);
|
||||
data.setAmtDeposit(Integer.parseInt(request.getSecurityFund()));
|
||||
RpcCreateQualifyVerifyReq.Data dataBody = rpcRequest.getData();
|
||||
KeyText fraSource = new KeyText();
|
||||
fraSource.setKey("HSAYPartner");
|
||||
fraSource.setText("沪上阿姨合伙人");
|
||||
dataBody.setFraSource(fraSource);
|
||||
//copy properties
|
||||
BeanUtil.copyProperties(request, rpcRequest);
|
||||
dataBody.setIntendedSignDate(request.getWantSignTime());
|
||||
dataBody.setAmtDeposit(request.getSecurityFund());
|
||||
dataBody.setIntendedSigner(request.getIntentionSignerUsername());
|
||||
dataBody.setIntendedSignerTel(request.getIntentionSignerMobile());
|
||||
dataBody.setSignerEdu(request.getIntentionEdu());
|
||||
dataBody.setSkrName(request.getRealControlUsername());
|
||||
dataBody.setSkrIDCard(request.getRealControlIdcard());
|
||||
dataBody.setSkrRelship(request.getSignerRealControlRelation());
|
||||
String[] split = request.getSignerRealControlRelationCert().split(",");
|
||||
//TODO 文件需要通过MDM上传并获取链接
|
||||
// dataBody.setSkrRelshipProve();
|
||||
dataBody.setSkrRelshipOther(request.getSignerOtherRealControlRelation());
|
||||
dataBody.setAmtJoin(request.getPartnerFee());
|
||||
dataBody.setAmtTechSer(request.getTechnicalServiceFee());
|
||||
dataBody.setAmtIntended(request.getIntentionMoney());
|
||||
rpcRequest.setData(dataBody);
|
||||
|
||||
//获取授权码
|
||||
String authCode = null;
|
||||
@@ -114,13 +129,11 @@ public class FlowServiceImpl implements FlowService {
|
||||
}
|
||||
rpcRequest.setDingUserId(dingdingUserDO.getUserid());
|
||||
authCode = generateAuthCode(jobNumber);
|
||||
data.setAuthCode(authCode);
|
||||
rpcRequest.getData().setAuthCode(authCode);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
data.setIntendedSigner(request.getIntentionSignerUsername());
|
||||
data.setIntendedSignerTel(request.getIntentionSignerMobile());
|
||||
//通过 rpc 请求审核系统获取返回数据
|
||||
Map<String, String> qualifyVerifyRespData = JSON.parseObject(createQualifyVerify(rpcRequest), new TypeReference<HashMap<String,String>>() {});
|
||||
|
||||
@@ -131,18 +144,19 @@ public class FlowServiceImpl implements FlowService {
|
||||
partnerCertificationInfoDO.setPartnerInterviewId(Long.valueOf(request.getInterviewId()));
|
||||
partnerCertificationInfoDO.setPartnership(String.valueOf(request.getPartnership()));
|
||||
partnerCertificationInfoDO.setWantSignTime(DateUtil.parse(request.getWantSignTime()));
|
||||
partnerCertificationInfoDO.setPartnerFee(request.getPartnerFee());
|
||||
partnerCertificationInfoDO.setSecurityFund(request.getSecurityFund());
|
||||
partnerCertificationInfoDO.setTechnicalServiceFee(request.getTechnicalServiceFee());
|
||||
partnerCertificationInfoDO.setIntentionMoney(request.getIntentionMoney());
|
||||
|
||||
partnerCertificationInfoDO.setPartnerFee(request.getPartnerFee().toString());
|
||||
partnerCertificationInfoDO.setSecurityFund(request.getSecurityFund().toString());
|
||||
partnerCertificationInfoDO.setTechnicalServiceFee(request.getTechnicalServiceFee().toString());
|
||||
partnerCertificationInfoDO.setIntentionMoney(request.getIntentionMoney().toString());
|
||||
partnerCertificationInfoDO.setIntentionSignerUsername(request.getIntentionSignerUsername());
|
||||
partnerCertificationInfoDO.setIntentionSignerMobile(request.getIntentionSignerMobile());
|
||||
partnerCertificationInfoDO.setIntentionEdu(request.getIntentionEdu());
|
||||
partnerCertificationInfoDO.setIntentionEdu(request.getIntentionEdu().toString());
|
||||
partnerCertificationInfoDO.setRealControlUsername(request.getRealControlUsername());
|
||||
partnerCertificationInfoDO.setRealControlIdcard(request.getRealControlIdcard());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelation(request.getSignerRealControlRelation());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelation(request.getSignerRealControlRelation().toString());
|
||||
partnerCertificationInfoDO.setSignerOtherRealControlRelation(request.getSignerOtherRealControlRelation());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelationCert(request.getSignerRealControlRelationCert());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelationCert(request.getSignerRealControlRelationCert().toString());
|
||||
partnerCertificationInfoDO.setCreateTime(new Date());
|
||||
partnerCertificationInfoDO.setUpdateTime(new Date());
|
||||
//set 资质审核流程id
|
||||
|
||||
@@ -113,7 +113,7 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
|
||||
HyPartnerTaskInfoLogDO logDO = new HyPartnerTaskInfoLogDO(request.getPartnerId(), request.getPartnerLineId(), WorkflowStageEnum.INTENT.getCode(), WorkflowStatusEnum.INTENT_1.getCode(), currentUser.getPartnerId(), currentUser.getUsername(), null);
|
||||
|
||||
hyPartnerTaskInfoLogDAO.insertSelective(logDO);
|
||||
// hyPartnerTaskInfoLogDAO.insertSelective(logDO);
|
||||
}
|
||||
// 清空暂存信息
|
||||
redisUtilPool.delKey(cacheKey);
|
||||
|
||||
@@ -269,12 +269,12 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
|
||||
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setRoomId(partnerInterviewInfoDTO.getRoomId());
|
||||
partnerInterviewInfoVO.setDeadline(partnerInterviewInfoDTO.getDeadline());
|
||||
partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
|
||||
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
|
||||
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setApproveTime(partnerInterviewInfoDTO.getApproveTime());
|
||||
partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
return partnerInterviewInfoVO;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,7 @@ import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.request.PrivateSeaLineListRequest;
|
||||
import com.cool.store.request.QueryByInterviewPlanIdReq;
|
||||
import com.cool.store.service.AliyunService;
|
||||
import com.cool.store.service.EnterpriseUserService;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.InterviewService;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
@@ -31,6 +27,7 @@ import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.Array;
|
||||
@@ -72,6 +69,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
HyPartnerInterviewPlanDAO hyPartnerInterviewPlanDAO;
|
||||
@Resource
|
||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
@Resource
|
||||
WorkFlowService workFlowService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -252,6 +251,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
|
||||
if (hyPartnerLineInfoDO==null){
|
||||
@@ -282,7 +282,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage());
|
||||
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
|
||||
//15天 冷静期
|
||||
// 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));
|
||||
@@ -294,6 +293,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
hyPartnerLineInfoDO.setCloseTime(new Date());
|
||||
hyPartnerLineInfoDO.setCloseUserId(userId);
|
||||
//各阶段单独的逻辑
|
||||
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),closeFollowRequest);
|
||||
}
|
||||
|
||||
//面试超时
|
||||
@@ -628,6 +629,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType());
|
||||
partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea());
|
||||
partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea());
|
||||
partnerLineInfoAndBaseInfoVO.setChannelName(partnerLineInfoAndBaseInfoDTO.getChannelName());
|
||||
if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){
|
||||
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class));
|
||||
}
|
||||
|
||||
@@ -101,7 +101,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||
// hyPartnerUserInfoDO.setUsername(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||
hyPartnerUserInfoDO.setPartnerId(UUIDUtils.get32UUID());
|
||||
hyPartnerUserInfoDO.setAcceptAdjustType(0);
|
||||
hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
|
||||
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import com.cool.store.service.WorkFlowService;
|
||||
import com.cool.store.service.impl.workflow.IntentWorkFlowService;
|
||||
import com.cool.store.service.impl.workflow.InterviewWorkFlowService;
|
||||
@@ -18,7 +19,6 @@ import org.springframework.stereotype.Service;
|
||||
*/
|
||||
@Service
|
||||
public class WorkFlowServiceImpl implements WorkFlowService{
|
||||
|
||||
private WorkFlowBaseService getWorkflowService(WorkflowStageEnum workflowStage){
|
||||
switch (workflowStage){
|
||||
case INTENT:
|
||||
@@ -32,8 +32,14 @@ public class WorkFlowServiceImpl implements WorkFlowService{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) {
|
||||
getWorkflowService(workflowStage).endProcess(request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferInvestmentManager(WorkflowStageEnum workflowStage, TransferInvestmentManagerRequest request) {
|
||||
getWorkflowService(workflowStage).transferInvestmentManager(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.cool.store.service.impl.workflow;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.service.impl.WorkFlowServiceImpl;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -25,4 +25,9 @@ public class IntentWorkFlowService extends WorkFlowBaseService {
|
||||
public void endProcess(CloseFollowRequest request) {
|
||||
log.info("意向申请结束~");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||
log.info("转让招商经理~");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package com.cool.store.service.impl.workflow;
|
||||
|
||||
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.service.InterviewService;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -44,4 +41,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
|
||||
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||
log.info("转让招商经理~");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl.workflow;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -24,4 +25,9 @@ public class ReservationWorkFlowService extends WorkFlowBaseService {
|
||||
public void endProcess(CloseFollowRequest request) {
|
||||
log.info("预约面试结束~");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||
log.info("转让招商经理~");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl.workflow;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -22,4 +23,10 @@ public abstract class WorkFlowBaseService {
|
||||
* @param request
|
||||
*/
|
||||
public abstract void endProcess(CloseFollowRequest request);
|
||||
|
||||
/**
|
||||
* 转让招商经理
|
||||
* @param request
|
||||
*/
|
||||
public abstract void transferInvestmentManager(TransferInvestmentManagerRequest request);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user