Merge remote-tracking branch 'xfsg/cc_partner_init' into cc_partner_init
# Conflicts: # coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java # coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
package com.cool.store.dto.message;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SendMessageDTO {
|
||||
/**
|
||||
* 钉钉的企业唯一ID
|
||||
*/
|
||||
private String corpId;
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 发送的人员ID集合
|
||||
*/
|
||||
private String userIds;
|
||||
/**
|
||||
* PC链接的参数
|
||||
*/
|
||||
private String pcParam;
|
||||
/**
|
||||
* 移动链接的参数
|
||||
*/
|
||||
private String mobileParam;
|
||||
/**
|
||||
* oa消息的钉钉图片ID
|
||||
*/
|
||||
private String picUrl;
|
||||
/**
|
||||
* 是否侧边栏打开消息(钉钉PC端)
|
||||
* 默认为false
|
||||
*/
|
||||
private Boolean isSideOpen = false;
|
||||
/**
|
||||
* 是否外跳浏览器打开消息
|
||||
* 默认为false
|
||||
*/
|
||||
private Boolean isJumpOpen = false;
|
||||
/**
|
||||
* 是否包含PC端链接(如果不包含,则PC端打开消息时弹出二维码用于移动端扫描)
|
||||
* 默认为false
|
||||
*/
|
||||
private Boolean containPcUrl = false;
|
||||
/**
|
||||
* 是否是静态链接(直接发送此链接,可以是H5的固定页面,一般用于推送运营页面)
|
||||
* 默认为false
|
||||
*/
|
||||
private Boolean isStaticUrl = false;
|
||||
/**
|
||||
* 静态链接地址
|
||||
*/
|
||||
private String staticUrl;
|
||||
|
||||
/**
|
||||
* 发送消息业务id标识
|
||||
*/
|
||||
private String outBusinessId;
|
||||
|
||||
/**
|
||||
* 微应用:micro_app; E应用-e_app; 钉钉:DINGDING; 企业微信:qw
|
||||
*/
|
||||
private String appType;
|
||||
|
||||
private JSONObject oaJson;
|
||||
|
||||
private String messageType;
|
||||
|
||||
|
||||
public SendMessageDTO() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "JmsSendMessageVo{" +
|
||||
"corpId='" + corpId + '\'' +
|
||||
", title='" + title + '\'' +
|
||||
", content='" + content + '\'' +
|
||||
", userIds=" + userIds +
|
||||
", pcParam='" + pcParam + '\'' +
|
||||
", mobileParam='" + mobileParam + '\'' +
|
||||
", picUrl='" + picUrl + '\'' +
|
||||
", isSideOpen=" + isSideOpen +
|
||||
", isJumpOpen=" + isJumpOpen +
|
||||
", containPcUrl=" + containPcUrl +
|
||||
", isStaticUrl=" + isStaticUrl +
|
||||
", staticUrl='" + staticUrl + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
@Data
|
||||
@Table(name = "xfsg_line_follow_log")
|
||||
public class LineFollowLogDO {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* hy_partner_user_info.partner_id
|
||||
*/
|
||||
@Column(name = "partner_id")
|
||||
private String partnerId;
|
||||
|
||||
/**
|
||||
* hy_partner_line_info.id
|
||||
*/
|
||||
@Column(name = "line_id")
|
||||
private Long lineId;
|
||||
|
||||
/**
|
||||
* 操作人id
|
||||
*/
|
||||
@Column(name = "operate_user_id")
|
||||
private String operateUserId;
|
||||
|
||||
/**
|
||||
* 操作人姓名
|
||||
*/
|
||||
@Column(name = "operate_username")
|
||||
private String operateUsername;
|
||||
|
||||
/**
|
||||
* 流程阶段:1意向加盟;2新店进展;
|
||||
*/
|
||||
@Column(name = "workflow_stage")
|
||||
private Integer workflowStage;
|
||||
|
||||
/**
|
||||
* 流程子阶段
|
||||
*/
|
||||
@Column(name = "workflow_sub_stage")
|
||||
private Integer workflowSubStage;
|
||||
|
||||
/**
|
||||
* 流程子阶段状态
|
||||
*/
|
||||
@Column(name = "workflow_sub_stage_status")
|
||||
private Integer workflowSubStageStatus;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Column(name = "update_time")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 删除标识
|
||||
*/
|
||||
private Boolean deleted;
|
||||
|
||||
public LineFollowLogDO() {
|
||||
}
|
||||
|
||||
public LineFollowLogDO(String partnerId, Long lineId, String operateUserId, String operateUsername, Integer workflowStage, Integer workflowSubStage, Integer workflowSubStageStatus, String message) {
|
||||
this.partnerId = partnerId;
|
||||
this.lineId = lineId;
|
||||
this.operateUserId = operateUserId;
|
||||
this.operateUsername = operateUsername;
|
||||
this.workflowStage = workflowStage;
|
||||
this.workflowSubStage = workflowSubStage;
|
||||
this.workflowSubStageStatus = workflowSubStageStatus;
|
||||
this.message = message;
|
||||
this.createTime= new Date();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
/**
|
||||
* 加盟问卷信息
|
||||
*/
|
||||
@Table(name = "xfsg_member_question_info")
|
||||
public class MemberQuestionDO {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "audit_id")
|
||||
private Long auditId;
|
||||
|
||||
@Column(name = "partner_id", nullable = false)
|
||||
private String partnerId;
|
||||
|
||||
@Column(name = "line_id", nullable = false)
|
||||
private Long lineId;
|
||||
|
||||
@Column(name = "join_type")
|
||||
private Integer joinType;
|
||||
|
||||
@Column(name = "create_time", nullable = false, columnDefinition = "datetime default current_timestamp")
|
||||
private Date createTime;
|
||||
|
||||
@Column(name = "update_time", nullable = false, columnDefinition = "datetime default current_timestamp on update current_timestamp")
|
||||
private Date updateTime;
|
||||
|
||||
@Column(name = "career_status")
|
||||
private Integer careerStatus;
|
||||
|
||||
@Column(name = "education_level")
|
||||
private Integer educationLevel;
|
||||
|
||||
@Column(name = "annual_income")
|
||||
private String annualIncome;
|
||||
|
||||
@Column(name = "has_partner")
|
||||
private Integer hasPartner;
|
||||
|
||||
@Column(name = "capital_source")
|
||||
private Integer capitalSource;
|
||||
|
||||
@Column(name = "business_mode")
|
||||
private Integer businessMode;
|
||||
|
||||
@Column(name = "join_experience")
|
||||
private Integer joinExperience;
|
||||
|
||||
@Column(name = "fruit_industry_experience")
|
||||
private Integer fruitIndustryExperience;
|
||||
|
||||
@Column(name = "store_condition")
|
||||
private String storeCondition;
|
||||
|
||||
@Column(name = "payback_period")
|
||||
private String paybackPeriod;
|
||||
|
||||
@Column(name = "follows_management_standard")
|
||||
private Integer followsManagementStandard;
|
||||
|
||||
@Column(name = "can_training")
|
||||
private Integer canTraining;
|
||||
|
||||
@Column(name = "deleted", nullable = false, columnDefinition = "tinyint default '0'")
|
||||
private Boolean deleted;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import com.cool.store.entity.MemberQuestionDO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -9,16 +11,12 @@ import javax.validation.constraints.NotBlank;
|
||||
@Data
|
||||
@ApiModel("加盟意向Request")
|
||||
public class JoinIntentionRequest {
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("线索信息表-线索id")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("用户信息表partnerId")
|
||||
@NotBlank(message = "partnerId不能为空")
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty("加盟身份 1个人加盟 2企业加盟")
|
||||
private Integer joinType;
|
||||
@ApiModelProperty("姓名")
|
||||
@@ -35,6 +33,65 @@ public class JoinIntentionRequest {
|
||||
private String liveArea;
|
||||
@ApiModelProperty("常驻区域详细地址")
|
||||
private String liveAddress;
|
||||
@ApiModelProperty("加盟问卷长json")
|
||||
private String joiningQuestionnaire;
|
||||
@ApiModelProperty("线索审核信息id")
|
||||
private Long auditId;
|
||||
@ApiModelProperty("职业状态 1:在职 2:个体 3:自己开公司 0:待业")
|
||||
private Integer careerStatus;
|
||||
@ApiModelProperty("教育程度 1:小学 2:初中 3:高中 4大学及以上")
|
||||
private Integer educationLevel;
|
||||
@ApiModelProperty("家庭年收入 1:10-20万 2:20-30万 3:30-50万 4:50万以上")
|
||||
private String annualIncome;
|
||||
@ApiModelProperty("是否有合伙人 1:是 0:否")
|
||||
private Integer hasPartner;
|
||||
@ApiModelProperty("资金来源 1:自有资金 2:合伙资金 3:借贷")
|
||||
private Integer capitalSource;
|
||||
@ApiModelProperty("经营方式 1:自己独立经营 2:和家人一起经营 3:和合伙人一起经营 4:只投资让他人经营")
|
||||
private Integer businessMode;
|
||||
@ApiModelProperty("是否有加盟品牌经营的经验 1:无 2:单店经验 3:多店经验 4:多店连锁经验")
|
||||
private Integer joinExperience;
|
||||
@ApiModelProperty("是否有水果行业经营的经验 1:无 2:单店经验 3:多店经验 4:多店连锁经验")
|
||||
private Integer fruitIndustryExperience;
|
||||
@ApiModelProperty("店铺情况 1:自有店铺 2:自有意向店铺 3:无意向店铺" )
|
||||
private String storeCondition;
|
||||
@ApiModelProperty("预期回本的最长周期 1:1年半以上 2:1年半内 3:1年内 4:半年内")
|
||||
private String paybackPeriod;
|
||||
@ApiModelProperty("是否严格遵守管理标准 1:是 2:否")
|
||||
private Integer followsManagementStandard;
|
||||
@ApiModelProperty("是否能参加认证培训 1:是 2:否")
|
||||
private Integer canTraining;
|
||||
|
||||
public LineInfoDO toLineInfoDO() {
|
||||
LineInfoDO lineInfoDO = new LineInfoDO();
|
||||
lineInfoDO.setPartnerId(this.partnerId);
|
||||
lineInfoDO.setMobile(this.mobile);
|
||||
lineInfoDO.setLiveAddress(this.liveAddress);
|
||||
lineInfoDO.setUsername(this.userName);
|
||||
lineInfoDO.setSex(String.valueOf(this.sex));
|
||||
lineInfoDO.setWantShopAreaId(Long.valueOf(this.areaCode));
|
||||
lineInfoDO.setId(this.lineId);
|
||||
return lineInfoDO;
|
||||
}
|
||||
|
||||
|
||||
public MemberQuestionDO toMemberQuestionDO() {
|
||||
MemberQuestionDO memberQuestionDO = new MemberQuestionDO();
|
||||
memberQuestionDO.setId(this.id);
|
||||
memberQuestionDO.setAuditId(this.auditId);
|
||||
memberQuestionDO.setPartnerId(this.partnerId);
|
||||
memberQuestionDO.setLineId(this.lineId);
|
||||
memberQuestionDO.setCareerStatus(this.careerStatus);
|
||||
memberQuestionDO.setEducationLevel(this.educationLevel);
|
||||
memberQuestionDO.setAnnualIncome(this.annualIncome);
|
||||
memberQuestionDO.setHasPartner(this.hasPartner);
|
||||
memberQuestionDO.setCapitalSource(this.capitalSource);
|
||||
memberQuestionDO.setBusinessMode(this.businessMode);
|
||||
memberQuestionDO.setJoinExperience(this.joinExperience);
|
||||
memberQuestionDO.setFruitIndustryExperience(this.fruitIndustryExperience);
|
||||
memberQuestionDO.setStoreCondition(this.storeCondition);
|
||||
memberQuestionDO.setPaybackPeriod(this.paybackPeriod);
|
||||
memberQuestionDO.setFollowsManagementStandard(this.followsManagementStandard);
|
||||
memberQuestionDO.setCanTraining(this.canTraining);
|
||||
memberQuestionDO.setJoinType(this.joinType);
|
||||
return memberQuestionDO;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: LineFollowLogRequest
|
||||
* @Description:
|
||||
* @date 2024-03-27 14:59
|
||||
*/
|
||||
@Data
|
||||
public class LineFollowLogRequest {
|
||||
|
||||
@ApiModelProperty("线索id")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("日志")
|
||||
private String message;
|
||||
|
||||
}
|
||||
@@ -44,5 +44,6 @@ public class LineInterviewPageRequest extends PageBasicInfo {
|
||||
@ApiModelProperty("面试类型:0面谈;1一审;2二审")
|
||||
private Integer interviewType;
|
||||
|
||||
@ApiModelProperty("面试官")
|
||||
private String interviewerUserId;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.cool.store.vo;
|
||||
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import com.cool.store.entity.MemberQuestionDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
@Data
|
||||
public class PartnerBaseInfoVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String partnerId;
|
||||
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("加盟身份 1个人加盟 2企业加盟")
|
||||
private Integer joinType;
|
||||
@ApiModelProperty("姓名")
|
||||
private String username;
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
@ApiModelProperty("1男 2女")
|
||||
private Integer sex;
|
||||
@ApiModelProperty("意向区域编码")
|
||||
private String areaCode;
|
||||
@ApiModelProperty("常驻区域详细地址(居住地址)")
|
||||
private String liveAddress;
|
||||
|
||||
@ApiModelProperty("线索审核信息id")
|
||||
private Long auditId;
|
||||
@ApiModelProperty("职业状态 1:在职 2:个体 3:自己开公司 0:待业")
|
||||
private Integer careerStatus;
|
||||
@ApiModelProperty("教育程度 1:小学 2:初中 3:高中 4大学及以上")
|
||||
private Integer educationLevel;
|
||||
@ApiModelProperty("家庭年收入 1:10-20万 2:20-30万 3:30-50万 4:50万以上")
|
||||
private String annualIncome;
|
||||
@ApiModelProperty("是否有合伙人 1:是 0:否")
|
||||
private Integer hasPartner;
|
||||
@ApiModelProperty("资金来源 1:自有资金 2:合伙资金 3:借贷")
|
||||
private Integer capitalSource;
|
||||
@ApiModelProperty("经营方式 1:自己独立经营 2:和家人一起经营 3:和合伙人一起经营 4:只投资让他人经营")
|
||||
private Integer businessMode;
|
||||
@ApiModelProperty("是否有加盟品牌经营的经验 1:无 2:单店经验 3:多店经验 4:多店连锁经验")
|
||||
private Integer joinExperience;
|
||||
@ApiModelProperty("是否有水果行业经营的经验 1:无 2:单店经验 3:多店经验 4:多店连锁经验")
|
||||
private Integer fruitIndustryExperience;
|
||||
@ApiModelProperty("店铺情况 1:自有店铺 2:自有意向店铺 3:无意向店铺" )
|
||||
private String storeCondition;
|
||||
@ApiModelProperty("预期回本的最长周期 1:1年半以上 2:1年半内 3:1年内 4:半年内")
|
||||
private String paybackPeriod;
|
||||
@ApiModelProperty("是否严格遵守管理标准 1:是 2:否")
|
||||
private Integer followsManagementStandard;
|
||||
@ApiModelProperty("是否能参加认证培训 1:是 2:否")
|
||||
private Integer canTraining;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
private Integer deleted;
|
||||
|
||||
|
||||
|
||||
|
||||
public static PartnerBaseInfoVO from(MemberQuestionDO memberQuestionDO, LineInfoDO lineInfoDO) {
|
||||
if (Objects.isNull(memberQuestionDO) && Objects.isNull(lineInfoDO)) {
|
||||
return null;
|
||||
}
|
||||
PartnerBaseInfoVO partnerBaseInfoVO = new PartnerBaseInfoVO();
|
||||
// MemberQuestionDO
|
||||
partnerBaseInfoVO.setPartnerId(memberQuestionDO.getPartnerId());
|
||||
partnerBaseInfoVO.setAuditId(memberQuestionDO.getAuditId());
|
||||
partnerBaseInfoVO.setCareerStatus(memberQuestionDO.getCareerStatus());
|
||||
partnerBaseInfoVO.setEducationLevel(memberQuestionDO.getEducationLevel());
|
||||
partnerBaseInfoVO.setAnnualIncome(memberQuestionDO.getAnnualIncome());
|
||||
partnerBaseInfoVO.setHasPartner(memberQuestionDO.getHasPartner());
|
||||
partnerBaseInfoVO.setCapitalSource(memberQuestionDO.getCapitalSource());
|
||||
partnerBaseInfoVO.setBusinessMode(memberQuestionDO.getBusinessMode());
|
||||
partnerBaseInfoVO.setJoinExperience(memberQuestionDO.getJoinExperience());
|
||||
partnerBaseInfoVO.setFruitIndustryExperience(memberQuestionDO.getFruitIndustryExperience());
|
||||
partnerBaseInfoVO.setStoreCondition(memberQuestionDO.getStoreCondition());
|
||||
partnerBaseInfoVO.setPaybackPeriod(memberQuestionDO.getPaybackPeriod());
|
||||
partnerBaseInfoVO.setFollowsManagementStandard(memberQuestionDO.getFollowsManagementStandard());
|
||||
partnerBaseInfoVO.setCanTraining(memberQuestionDO.getCanTraining());
|
||||
partnerBaseInfoVO.setJoinType(memberQuestionDO.getJoinType());
|
||||
//LineInfoDO
|
||||
partnerBaseInfoVO.setId(lineInfoDO.getId());
|
||||
partnerBaseInfoVO.setPartnerId(lineInfoDO.getPartnerId());
|
||||
partnerBaseInfoVO.setUsername(lineInfoDO.getUsername());
|
||||
partnerBaseInfoVO.setMobile(lineInfoDO.getMobile());
|
||||
partnerBaseInfoVO.setLiveAddress(lineInfoDO.getLiveAddress());
|
||||
partnerBaseInfoVO.setLineId(lineInfoDO.getId());
|
||||
partnerBaseInfoVO.setSex(Integer.valueOf(lineInfoDO.getSex()));
|
||||
partnerBaseInfoVO.setAreaCode(String.valueOf(lineInfoDO.getWantShopAreaId()));
|
||||
return partnerBaseInfoVO;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -45,7 +45,7 @@ public class LineInterviewPageVO {
|
||||
@ApiModelProperty("计划结束时间")
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty("面试状态")
|
||||
@ApiModelProperty("面试状态 1待面试 2待审核 3审批通过 4不通过")
|
||||
private Integer interviewStatus;
|
||||
|
||||
@ApiModelProperty("招商经理")
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.vo.log;
|
||||
|
||||
import com.cool.store.entity.LineFollowLogDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: LineFollowLogVO
|
||||
* @Description:跟进日志
|
||||
* @date 2024-03-27 14:50
|
||||
*/
|
||||
@Data
|
||||
public class LineFollowLogVO {
|
||||
|
||||
@ApiModelProperty("日志")
|
||||
private String message;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
public LineFollowLogVO(String message, Date createTime) {
|
||||
this.message = message;
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public static List<LineFollowLogVO> convertList(List<LineFollowLogDO> list){
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return null;
|
||||
}
|
||||
List<LineFollowLogVO> resultList = new ArrayList<>();
|
||||
for (LineFollowLogDO followLog : list) {
|
||||
resultList.add(new LineFollowLogVO(followLog.getMessage(), followLog.getCreateTime()));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user