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

This commit is contained in:
zhangchenbiao
2024-03-27 15:52:33 +08:00
12 changed files with 622 additions and 86 deletions

View File

@@ -1,11 +1,14 @@
package com.cool.store.mapper;
import com.cool.store.request.JoinIntentionRequest;
import com.cool.store.entity.MemberQuestionDO;
import com.cool.store.vo.PartnerBaseInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface JoinIntentionMapper {
boolean insert(@Param("request") JoinIntentionRequest request);
boolean insertOrUpdate(@Param("request") MemberQuestionDO request);
MemberQuestionDO getByLineId(@Param("lineId") Long lineId);
}

View File

@@ -8,4 +8,6 @@ public interface LineInfoMapper extends Mapper<LineInfoDO> {
LineInfoDO getByPartnerId(@Param("partnerId") String partnerId);
LineInfoDO getByLineId(@Param("lineId") Long lineId);
void insertOrUpdate(@Param("param") LineInfoDO lineInfoParam);
}

View File

@@ -1,69 +1,117 @@
<?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.JoinIntentionMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PartnerBaseInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="partner_id" jdbcType="VARCHAR" property="partnerId" />
<result column="line_id" jdbcType="BIGINT" property="lineId"/>
<result column="join_type" jdbcType="TINYINT" property="joinType"/>
<result column="mobile" jdbcType="VARCHAR" property="mobile" />
<result column="sex" jdbcType="TINYINT" property="sex" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="want_shop_area" jdbcType="VARCHAR" property="wantShopArea" />
<result column="area_code" jdbcType="VARCHAR" property="areaCode" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="live_area" jdbcType="VARCHAR" property="liveArea"/>
<result column="live_address" jdbcType="VARCHAR" property="liveAddress"/>
<result column="joining_questionnaire" jdbcType="VARCHAR" property="joiningQuestionnaire"/>
<result column="deleted" jdbcType="TINYINT" property="deleted"/>
<resultMap id="BaseResultMap" type="com.cool.store.entity.MemberQuestionDO">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="audit_id" property="auditId" jdbcType="BIGINT"/>
<result column="partner_id" property="partnerId" jdbcType="VARCHAR"/>
<result column="line_id" property="lineId" jdbcType="BIGINT"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="career_status" property="careerStatus" jdbcType="TINYINT"/>
<result column="education_level" property="educationLevel" jdbcType="TINYINT"/>
<result column="annual_income" property="annualIncome" jdbcType="VARCHAR"/>
<result column="has_partner" property="hasPartner" jdbcType="TINYINT"/>
<result column="join_type" property="joinType" jdbcType="TINYINT"/>
<result column="capital_source" property="capitalSource" jdbcType="TINYINT"/>
<result column="business_mode" property="businessMode" jdbcType="TINYINT"/>
<result column="join_experience" property="joinExperience" jdbcType="TINYINT"/>
<result column="fruit_industry_experience" property="fruitIndustryExperience" jdbcType="TINYINT"/>
<result column="store_condition" property="storeCondition" jdbcType="VARCHAR"/>
<result column="payback_period" property="paybackPeriod" jdbcType="VARCHAR"/>
<result column="follows_management_standard" property="followsManagementStandard" jdbcType="TINYINT"/>
<result column="can_training" property="canTraining" jdbcType="TINYINT"/>
<result column="deleted" property="deleted" jdbcType="TINYINT"/>
</resultMap>
<sql id="Base_Column_List">
id,
audit_id,
partner_id,
line_id,
join_type,
mobile,
sex,
username,
want_shop_area,
area_code,
create_time,
update_time,
live_area,
live_address,
joining_questionnaire,
career_status,
education_level,
annual_income,
has_partner,
capital_source,
business_mode,
join_experience,
fruit_industry_experience,
store_condition,
payback_period,
follows_management_standard,
can_training,
deleted
</sql>
<insert id="insert" parameterType="com.cool.store.request.JoinIntentionRequest" useGeneratedKeys="true" keyProperty="id">
insert into xfsg_partner_base_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="request.lineId != null">line_id,</if>
<if test="request.partnerId != null">partner_id,</if>
<if test="request.joinType != null">join_type,</if>
<if test="request.userName != null">username,</if>
<if test="request.mobile != null">mobile,</if>
<if test="request.sex != null">sex,</if>
<if test="request.wantShopArea != null">want_shop_area,</if>
<if test="request.areaCode != null">area_code,</if>
<if test="request.liveArea != null">live_area,</if>
<if test="request.liveAddress != null">live_address,</if>
<if test="request.joiningQuestionnaire != null">joining_questionnaire,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="request.lineId != null">#{request.lineId},</if>
<if test="request.partnerId != null">#{request.partnerId},</if>
<if test="request.joinType != null">#{request.joinType},</if>
<if test="request.userName != null">#{request.userName},</if>
<if test="request.mobile != null">#{request.mobile},</if>
<if test="request.sex != null">#{request.sex},</if>
<if test="request.wantShopArea != null">#{request.wantShopArea},</if>
<if test="request.areaCode != null">#{request.areaCode},</if>
<if test="request.liveArea != null">#{request.liveArea},</if>
<if test="request.liveAddress != null">#{request.liveAddress},</if>
<if test="request.joiningQuestionnaire != null">#{request.joiningQuestionnaire},</if>
</trim>
</insert>
<insert id="insertOrUpdate" parameterType="com.cool.store.entity.MemberQuestionDO" useGeneratedKeys="true"
keyProperty="id">
INSERT INTO xfsg_member_question_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="request.auditId != null">audit_id,</if>
<if test="request.partnerId != null">partner_id,</if>
<if test="request.lineId != null">line_id,</if>
<if test="request.careerStatus != null">career_status,</if>
<if test="request.joinType != null">join_type,</if>
<if test="request.educationLevel != null">education_level,</if>
<if test="request.annualIncome != null">annual_income,</if>
<if test="request.hasPartner != null">has_partner,</if>
<if test="request.capitalSource != null">capital_source,</if>
<if test="request.businessMode != null">business_mode,</if>
<if test="request.joinExperience != null">join_experience,</if>
<if test="request.fruitIndustryExperience != null">fruit_industry_experience,</if>
<if test="request.storeCondition != null">store_condition,</if>
<if test="request.paybackPeriod != null">payback_period,</if>
<if test="request.followsManagementStandard != null">follows_management_standard,</if>
<if test="request.canTraining != null">can_training,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="request.auditId != null">#{request.auditId},</if>
<if test="request.partnerId != null">#{request.partnerId},</if>
<if test="request.lineId != null">#{request.lineId},</if>
<if test="request.careerStatus != null">#{request.careerStatus},</if>
<if test="request.joinType != null">#{request.joinType},</if>
<if test="request.educationLevel != null">#{request.educationLevel},</if>
<if test="request.annualIncome != null">#{request.annualIncome},</if>
<if test="request.hasPartner != null">#{request.hasPartner},</if>
<if test="request.capitalSource != null">#{request.capitalSource},</if>
<if test="request.businessMode != null">#{request.businessMode},</if>
<if test="request.joinExperience != null">#{request.joinExperience},</if>
<if test="request.fruitIndustryExperience != null">#{request.fruitIndustryExperience},</if>
<if test="request.storeCondition != null">#{request.storeCondition},</if>
<if test="request.paybackPeriod != null">#{request.paybackPeriod},</if>
<if test="request.followsManagementStandard != null">#{request.followsManagementStandard},</if>
<if test="request.canTraining != null">#{request.canTraining},</if>
</trim>
ON DUPLICATE KEY UPDATE
<trim suffixOverrides=",">
<if test="request.auditId != null">audit_id = #{request.auditId},</if>
<if test="request.partnerId != null">partner_id = #{request.partnerId},</if>
<if test="request.careerStatus != null">career_status = #{request.careerStatus},</if>
<if test="request.joinType != null">join_type = #{request.joinType},</if>
<if test="request.educationLevel != null">education_level = #{request.educationLevel},</if>
<if test="request.annualIncome != null">annual_income = #{request.annualIncome},</if>
<if test="request.hasPartner != null">has_partner = #{request.hasPartner},</if>
<if test="request.capitalSource != null">capital_source = #{request.capitalSource},</if>
<if test="request.businessMode != null">business_mode = #{request.businessMode},</if>
<if test="request.joinExperience != null">join_experience = #{request.joinExperience},</if>
<if test="request.fruitIndustryExperience != null">fruit_industry_experience = #{request.fruitIndustryExperience},</if>
<if test="request.storeCondition != null">store_condition = #{request.storeCondition},</if>
<if test="request.paybackPeriod != null">payback_period = #{request.paybackPeriod},</if>
<if test="request.followsManagementStandard != null">follows_management_standard = #{request.followsManagementStandard},</if>
<if test="request.canTraining != null">can_training = #{request.canTraining},</if>
</trim>
</insert>
<select id="getByLineId" resultType="com.cool.store.entity.MemberQuestionDO">
select
<include refid="Base_Column_List"/>
from xfsg_member_question_info
where line_id = #{lineId}
and deleted = 0
</select>
</mapper>

View File

@@ -30,8 +30,207 @@
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
<result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap>
<insert id="insertOrUpdate" parameterType="com.cool.store.entity.LineInfoDO" useGeneratedKeys="true" keyProperty="id">
INSERT INTO xfsg_line_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="param.id != null and param.id != ''">
id,
</if>
<if test="param.partnerId != null and param.partnerId != ''">
partner_id,
</if>
<if test="param.regionId != null">
region_id,
</if>
<if test="param.mobile != null and param.mobile != ''">
mobile,
</if>
<if test="param.username != null and param.username != ''">
username,
</if>
<if test="param.sex != null and param.sex != ''">
sex,
</if>
<if test="param.wantShopAreaId != null">
want_shop_area_id,
</if>
<if test="param.liveAddress != null and param.liveAddress != ''">
live_address,
</if>
<if test="param.workflowStage != null">
workflow_stage,
</if>
<if test="param.workflowSubStage != null">
workflow_sub_stage,
</if>
<if test="param.workflowSubStageStatus != null">
workflow_sub_stage_status,
</if>
<if test="param.selectSiteNum != null">
select_site_num,
</if>
<if test="param.prepareShopNum != null">
prepare_shop_num,
</if>
<if test="param.openShopNum != null">
open_shop_num,
</if>
<if test="param.lineSource != null">
line_source,
</if>
<if test="param.investmentManager != null and param.investmentManager != ''">
investment_manager,
</if>
<if test="param.developmentManager != null and param.developmentManager != ''">
development_manager,
</if>
<if test="param.firstInterviewer != null and param.firstInterviewer != ''">
first_interviewer,
</if>
<if test="param.secondInterviewer != null and param.secondInterviewer != ''">
second_interviewer,
</if>
<if test="param.userPortrait != null and param.userPortrait != ''">
user_portrait,
</if>
<if test="param.isJoin != null">
is_join,
</if>
<if test="param.lineStatus != null">
line_status,
</if>
<if test="param.createTime != null">
create_time,
</if>
<if test="param.updateTime != null">
update_time,
</if>
<if test="param.createUserId != null and param.createUserId != ''">
create_user_id,
</if>
<if test="param.updateUserId != null and param.updateUserId != ''">
update_user_id,
</if>
<if test="param.deleted != null">
deleted
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="param.id != null and param.id != ''">
#{param.id},
</if>
<if test="param.partnerId != null and param.partnerId != ''">
#{param.partnerId},
</if>
<if test="param.regionId != null">
#{param.regionId},
</if>
<if test="param.mobile != null and param.mobile != ''">
#{param.mobile},
</if>
<if test="param.username != null and param.username != ''">
#{param.username},
</if>
<if test="param.sex != null and param.sex != ''">
#{param.sex},
</if>
<if test="param.wantShopAreaId != null">
#{param.wantShopAreaId},
</if>
<if test="param.liveAddress != null and param.liveAddress != ''">
#{param.liveAddress},
</if>
<if test="param.workflowStage != null">
#{param.workflowStage},
</if>
<if test="param.workflowSubStage != null">
#{param.workflowSubStage},
</if>
<if test="param.workflowSubStageStatus != null">
#{param.workflowSubStageStatus},
</if>
<if test="param.selectSiteNum != null">
#{param.selectSiteNum},
</if>
<if test="param.prepareShopNum != null">
#{param.prepareShopNum},
</if>
<if test="param.openShopNum != null">
#{param.openShopNum},
</if>
<if test="param.lineSource != null">
#{param.lineSource},
</if>
<if test="param.investmentManager != null and param.investmentManager != ''">
#{param.investmentManager},
</if>
<if test="param.developmentManager != null and param.developmentManager != ''">
#{param.developmentManager},
</if>
<if test="param.firstInterviewer != null and param.firstInterviewer != ''">
#{param.firstInterviewer},
</if>
<if test="param.secondInterviewer != null and param.secondInterviewer != ''">
#{param.secondInterviewer},
</if>
<if test="param.userPortrait != null and param.userPortrait != ''">
#{param.userPortrait},
</if>
<if test="param.isJoin != null">
#{param.isJoin},
</if>
<if test="param.lineStatus != null">
#{param.lineStatus},
</if>
<if test="param.createTime != null">
#{param.createTime},
</if>
<if test="param.updateTime != null">
#{param.updateTime},
</if>
<if test="param.createUserId != null and param.createUserId != ''">
#{param.createUserId},
</if>
<if test="param.updateUserId != null and param.updateUserId != ''">
#{param.updateUserId},
</if>
<if test="param.deleted != null">
#{param.deleted}
</if>
</trim>
ON DUPLICATE KEY UPDATE
<trim suffixOverrides=",">
<if test="param.partnerId != null and param.partnerId != ''">
partner_id = #{param.partnerId},
</if>
<if test="param.regionId != null">
region_id = #{param.regionId},
</if>
<if test="param.mobile != null and param.mobile != ''">
mobile = #{param.mobile},
</if>
<if test="param.username != null and param.username != ''">
username = #{param.username},
</if>
<if test="param.sex != null and param.sex != ''">
sex = #{param.sex},
</if>
<if test="param.wantShopAreaId != null">
want_shop_area_id = #{param.wantShopAreaId},
</if>
<if test="param.liveAddress != null and param.liveAddress != ''">
live_address = #{param.liveAddress},
</if>
<if test="param.workflowStage != null">
workflow_stage = #{param.workflowStage},
</if>
<if test="param.workflowSubStage != null">
workflow_sub_stage = #{param.workflowSubStage}
</if>
</trim>
</insert>
<select id="getByPartnerId" resultMap="BaseResultMap">
<select id="getByPartnerId" resultMap="BaseResultMap">
select * from xfsg_line_info where partner_id = #{partnerId} and deleted = 0
</select>
<select id="getByLineId" resultType="com.cool.store.entity.LineInfoDO">

View File

@@ -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;
}

View File

@@ -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("家庭年收入 110-20万 220-30万 330-50万 450万以上")
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("预期回本的最长周期 11年半以上 21年半内 31年内 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;
}
}

View File

@@ -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("家庭年收入 110-20万 220-30万 330-50万 450万以上")
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("预期回本的最长周期 11年半以上 21年半内 31年内 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;
}
}

View File

@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.request.JoinIntentionRequest;
import com.cool.store.vo.PartnerBaseInfoVO;
public interface JoinIntentionService {
/**
@@ -9,4 +10,5 @@ public interface JoinIntentionService {
*/
boolean submit(JoinIntentionRequest request);
PartnerBaseInfoVO getByLineId(Long lineId);
}

View File

@@ -1,6 +1,8 @@
package com.cool.store.service.impl;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.MemberQuestionDO;
import com.cool.store.entity.PartnerBaseInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum;
@@ -9,6 +11,7 @@ import com.cool.store.mapper.JoinIntentionMapper;
import com.cool.store.mapper.LineInfoMapper;
import com.cool.store.request.JoinIntentionRequest;
import com.cool.store.service.JoinIntentionService;
import com.cool.store.vo.PartnerBaseInfoVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -16,6 +19,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Objects;
import static com.cool.store.enums.ErrorCodeEnum.LINE_ID_IS_NOT_EXIST;
/**
* @author guohb
* @ClassName JoinIntentionServiceImpl
@@ -32,20 +37,21 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt
LineInfoMapper lineInfoMapper;
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public boolean submit(JoinIntentionRequest request) {
if (Objects.isNull(request)){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
boolean submitStatus = joinIntentionMapper.insert(request);
MemberQuestionDO memberQuestionDO = request.toMemberQuestionDO();
boolean submitStatus = joinIntentionMapper.insertOrUpdate(memberQuestionDO);
if (submitStatus){
//更改线索流程子状态为【待审核】
LineInfoDO lineInfoDO = lineInfoMapper.getByPartnerId(request.getPartnerId());
if (Objects.isNull(lineInfoDO)){
LineInfoDO lineInfoParam = request.toLineInfoDO();
lineInfoParam.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.INTENT_5.getCode());
if (Objects.isNull(lineInfoParam)){
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PARTNER_NOT_EXIST);
}
lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.INTENT_5.getCode());
lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO);
lineInfoMapper.insertOrUpdate(lineInfoParam);
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -73,4 +79,15 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) {
return null;
}
@Override
public PartnerBaseInfoVO getByLineId(Long lineId) {
MemberQuestionDO result = joinIntentionMapper.getByLineId(lineId);
LineInfoDO byLineId = lineInfoMapper.getByLineId(lineId);
if (Objects.isNull(result)){
throw new ServiceException(LINE_ID_IS_NOT_EXIST);
}
PartnerBaseInfoVO response = PartnerBaseInfoVO.from(result,byLineId);
return response;
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.controller.webb;
import com.cool.store.enums.ExperienceStatusEnum;
import com.cool.store.request.TrainingExperienceDistributionRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.TrainingExperienceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.websocket.server.PathParam;
@RestController
@RequestMapping("/pc/training/experience/")
@Api(tags = "PC端-实训体验")
@Slf4j
public class PCTrainingExperienceController {
@Resource
TrainingExperienceService trainingExperienceService;
@ApiOperation("实训体验分配")
@PostMapping("/distribution")
public ResponseResult<Boolean> distribution(@RequestBody TrainingExperienceDistributionRequest request) {
return ResponseResult.success(trainingExperienceService.distribution(request));
}
}

View File

@@ -4,13 +4,11 @@ package com.cool.store.controller.webc;
import com.cool.store.request.JoinIntentionRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.JoinIntentionService;
import com.cool.store.vo.PartnerBaseInfoVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
@@ -24,9 +22,16 @@ public class MiniJoinIntentionController {
@Resource
private JoinIntentionService joinIntentionService;
@PostMapping(path = "/submit")
@ApiOperation("填写加盟意向申请书")
@PostMapping(path = "/submitOrUpdate")
@ApiOperation("填写或更新加盟意向申请书")
public ResponseResult<Boolean> submit(@RequestBody @Valid JoinIntentionRequest request) {
return ResponseResult.success(joinIntentionService.submit(request));
}
@GetMapping(path = "/getByLineId")
@ApiOperation("查找加盟意向申请书")
public ResponseResult<PartnerBaseInfoVO> getByLineId(@RequestParam("lineId") Long lineId) {
return ResponseResult.success(joinIntentionService.getByLineId(lineId));
}
}

View File

@@ -1,4 +1,4 @@
package com.cool.store.controller.webb;
package com.cool.store.controller.webc;
import com.cool.store.enums.ExperienceStatusEnum;
import com.cool.store.request.TrainingExperienceDistributionRequest;
@@ -11,24 +11,16 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.websocket.server.PathParam;
@RestController
@RequestMapping("/pc/training/experience/")
@Api(tags = "PC端-实训体验")
@RequestMapping("/mini/training/experience/")
@Api(tags = "移动端-实训体验")
@Slf4j
public class TrainingExperienceController {
public class MiniTrainingExperienceController {
@Resource
TrainingExperienceService trainingExperienceService;
@ApiOperation("实训体验分配")
@PostMapping("/distribution")
public ResponseResult<Boolean> distribution(@RequestBody TrainingExperienceDistributionRequest request) {
return ResponseResult.success(trainingExperienceService.distribution(request));
}
@ApiOperation("实训体验状态变更")
@GetMapping("/experience/{status}")
public ResponseResult experienceStatusChange(@ApiParam(value = "实训体验状态 DONE:完成 ABANDON:放弃") @PathVariable(value = "status") ExperienceStatusEnum statusEnum,