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

This commit is contained in:
zhangchenbiao
2024-03-29 19:59:23 +08:00
26 changed files with 832 additions and 40 deletions

View File

@@ -114,9 +114,10 @@ public enum ErrorCodeEnum {
SIGN_FAIL(600000, "验签失败", null), SIGN_FAIL(600000, "验签失败", null),
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误", null), GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误", null),
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null), NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
INSPECTION_USER_OCCUPY(600002,"当前稽核人已经配置其他战区",null), INSPECTION_USER_OCCUPY(600003,"当前稽核人已经配置其他战区",null),
INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null), INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null),
OPEN_AREA_NULL(600006,"归属地区不能为空",null), OPEN_AREA_NULL(600006,"归属地区不能为空",null),
NOT_IN_PUBLIC_SEA(600007,"当前线索不在公海 不支持分配招商经理",null),
OUTBOUND_NUMBER_EXIST(110001, "该呼出号码已被绑定,请更改后重试", null), OUTBOUND_NUMBER_EXIST(110001, "该呼出号码已被绑定,请更改后重试", null),
@@ -138,6 +139,8 @@ public enum ErrorCodeEnum {
OPEN_AREA_IS_NOT_EXISTS(107006, "意向区域城市不存在", null), OPEN_AREA_IS_NOT_EXISTS(107006, "意向区域城市不存在", null),
REGION_NOT_EXIST(108001, "区域不存在",null), REGION_NOT_EXIST(108001, "区域不存在",null),
NOT_APPROVE_NODE(109001, "不是审批节点",null),
; ;

View File

@@ -0,0 +1,31 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2024/3/29 18:06
* @Version 1.0
*/
public enum OperationLogTypeEnum {
TRANSFER_INVESTMENT_MANAGER(1, "转让招商经理"),
ENTRUST_INTERVIEW(2, "委托面试");
private final int code;
private final String description;
OperationLogTypeEnum(int code, String description) {
this.code = code;
this.description = description;
}
public int getCode() {
return code;
}
public String getDescription() {
return description;
}
}

View File

@@ -13,9 +13,9 @@ public enum WorkflowSubStageEnum{
INTEND(1, "加盟意向申请", WorkflowSubStageStatusEnum.INTENT_0,"joinIntentionServiceImpl"), INTEND(1, "加盟意向申请", WorkflowSubStageStatusEnum.INTENT_0,"joinIntentionServiceImpl"),
INVITING_INTERVIEWS(5, "邀约面谈", WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10, "lineInterviewServiceImpl"), INVITING_INTERVIEWS(5, "邀约面谈", WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10, "lineInterviewServiceImpl"),
FIRST_INTERVIEWS(10, "一审面试", WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_25, "lineInterviewServiceImpl"), FIRST_INTERVIEWS(10, "一审面试", WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_25, "lineInterviewServiceImpl"),
PAY_DEPOSIT(15, "缴纳意向金", WorkflowSubStageStatusEnum.PAY_DEPOSIT_45, null), PAY_DEPOSIT(15, "缴纳意向金", WorkflowSubStageStatusEnum.PAY_DEPOSIT_45, "bankServiceImpl"),
SIGN_INTENT_AGREEMENT(20, "签署意向协议", WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_60, null), SIGN_INTENT_AGREEMENT(20, "签署意向协议", WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_60, "intentAgreementServiceImpl"),
STORE_EXPERIENCE(25, "门店体验", WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85, null), STORE_EXPERIENCE(25, "门店体验", WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85, "trainingExperienceServiceImpl"),
SECOND_INTERVIEWS(30, "二审面试", WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_100, "lineInterviewServiceImpl"); SECOND_INTERVIEWS(30, "二审面试", WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_100, "lineInterviewServiceImpl");

View File

@@ -8,6 +8,8 @@ import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.LineInfoMapper;
import com.cool.store.request.LineListRequest; import com.cool.store.request.LineListRequest;
import com.cool.store.request.PublicLineListRequest;
import com.cool.store.vo.PublicLineListVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -91,6 +93,11 @@ public class LineInfoDAO {
return lineInfo; return lineInfo;
} }
public List<LineInfoDO> publicLineList(PublicLineListRequest publicLineListRequest) {
List<LineInfoDO> lineInfo = lineInfoMapper.publicLineList(publicLineListRequest);
return lineInfo;
}
public void insertOrUpdate(LineInfoDO lineInfoParam){ public void insertOrUpdate(LineInfoDO lineInfoParam){
lineInfoMapper.insertOrUpdate(lineInfoParam); lineInfoMapper.insertOrUpdate(lineInfoParam);
} }

View File

@@ -0,0 +1,39 @@
package com.cool.store.dao;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.entity.TransferLogDO;
import com.cool.store.mapper.TransferLogMapper;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2024/3/29 17:43
* @Version 1.0
*/
@Repository
public class TransferLogDAO {
@Resource
TransferLogMapper transferLogMapper;
public void add(TransferLogDO transferLog){
transferLogMapper.insert(transferLog);
}
public List<TransferLogDTO> getTransferLogList(Long lindId){
if (lindId == null){
return null;
}
return transferLogMapper.getTransferLogList(lindId);
}
}

View File

@@ -3,6 +3,7 @@ package com.cool.store.mapper;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.request.LineListRequest; import com.cool.store.request.LineListRequest;
import com.cool.store.request.PublicLineListRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
@@ -29,5 +30,13 @@ public interface LineInfoMapper extends Mapper<LineInfoDO> {
@Param("userId") String userId, @Param("userId") String userId,
@Param("wantShopAreaIds") List<Long> wantShopAreaIds); @Param("wantShopAreaIds") List<Long> wantShopAreaIds);
/**
* 公海线索列表
* @param publicLineListVO
* @return
*/
List<LineInfoDO> publicLineList(@Param("request") PublicLineListRequest publicLineListRequest);
void insertOrUpdate(@Param("param") LineInfoDO lineInfoParam); void insertOrUpdate(@Param("param") LineInfoDO lineInfoParam);
} }

View File

@@ -0,0 +1,20 @@
package com.cool.store.mapper;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.entity.TransferLogDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface TransferLogMapper extends Mapper<TransferLogDO> {
/**
* 根据线索ID查询日志
* @param lindId
* @return
*/
List<TransferLogDTO> getTransferLogList(@Param("lindId") Long lindId);
}

View File

@@ -304,7 +304,7 @@
<select id="lineList" resultMap="BaseResultMap"> <select id="lineList" resultMap="BaseResultMap">
select * from xfsg_line_info select * from xfsg_line_info
where deleted = 0 where deleted = 0 and line_status = 1 and join_status = 0
<if test="userId != null and userId != ''"> <if test="userId != null and userId != ''">
and investment_manager = #{userId} and investment_manager = #{userId}
</if> </if>
@@ -323,6 +323,9 @@
<if test="request.createTimeStart!=null and request.createTimeEnd!=null"> <if test="request.createTimeStart!=null and request.createTimeEnd!=null">
and create_time between #{request.createTimeStart} and #{request.createTimeEnd} and create_time between #{request.createTimeStart} and #{request.createTimeEnd}
</if> </if>
<if test="request.investmentManagerUserId != null and request.investmentManagerUserId != ''">
and investment_manager = #{request.investmentManagerUserId}
</if>
<if test="wantShopAreaIds !=null and wantShopAreaIds.size>0"> <if test="wantShopAreaIds !=null and wantShopAreaIds.size>0">
<foreach collection="wantShopAreaIds" item="wantShopAreaId" open="and want_shop_area_id in (" close=")" separator=","> <foreach collection="wantShopAreaIds" item="wantShopAreaId" open="and want_shop_area_id in (" close=")" separator=",">
#{wantShopAreaId} #{wantShopAreaId}
@@ -330,4 +333,28 @@
</if> </if>
</select> </select>
<select id="publicLineList" resultMap="BaseResultMap">
select * from xfsg_line_info
where deleted = 0 and line_status = 0 and join_status = 0
<if test="request.userName != null and request.username!=''">
and username = #{request.userName}
</if>
<if test="request.mobile != null and request.mobile!=''">
and mobile = #{request.mobile}
</if>
<if test="request.lineSource != null">
and line_source = #{request.lineSource}
</if>
<if test="request.createTimeStart!=null and request.createTimeEnd!=null">
and create_time between #{request.createTimeStart} and #{request.createTimeEnd}
</if>
<if test="request.lastDevelopmentManagerUserId != null and request.lastDevelopmentManagerUserId != ''">
and development_manager = #{request.lastDevelopmentManagerUserId}
</if>
<if test="request.lastInvestmentManagerUserId != null and request.lastInvestmentManagerUserId != ''">
and investment_manager = #{request.lastInvestmentManagerUserId}
</if>
</select>
</mapper> </mapper>

View File

@@ -0,0 +1,36 @@
<?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.TransferLogMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.TransferLogDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="partner_id" jdbcType="BIGINT" property="partnerId" />
<result column="from_user_id" jdbcType="VARCHAR" property="fromUserId" />
<result column="to_user_id" jdbcType="VARCHAR" property="toUserId" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_user_id" jdbcType="VARCHAR" property="createUserId" />
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
</resultMap>
<select id="getTransferLogList" resultType="com.cool.store.dto.TransferLogDTO">
select
b.user_id as fromUserId ,
b.name as fromUserName ,
b.mobile as fromUserMobile ,
c.user_id as toUserId ,
c.name as toUserName ,
c.mobile as toUserMobile ,
a.type as type
from
xfsg_transfer_log a
left join enterprise_user_${enterpriseId} b on b.user_id = a.from_user_id
left join enterprise_user_${enterpriseId} c on c.user_id = a.to_user_id where a.line_id = #{lindId}
</select>
</mapper>

View File

@@ -0,0 +1,27 @@
package com.cool.store.dto;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/3/29 19:13
* @Version 1.0
*/
@Data
public class TransferLogDTO {
private String fromUserId;
private String toUserId;
private String fromUserName;
private String toUserName;
private String fromUserMobile;
private String toUserMobile;
private Integer type;
}

View File

@@ -0,0 +1,185 @@
package com.cool.store.entity;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
@Table(name = "xfsg_transfer_log")
@Data
public class TransferLogDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "line_id")
private Long lineId;
@Column(name = "partner_id")
private String partnerId;
/**
* 操作人
*/
@Column(name = "from_user_id")
private String fromUserId;
/**
* 被分配人ID
*/
@Column(name = "to_user_id")
private String toUserId;
/**
* 操作类型 1-转交 2-委托面试
*/
private Integer type;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
/**
* 新建人ID
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 更新人ID
*/
@Column(name = "update_user_id")
private String updateUserId;
/**
* @return id
*/
public Long getId() {
return id;
}
/**
* @param id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 获取操作人
*
* @return from_user_id - 操作人
*/
public String getFromUserId() {
return fromUserId;
}
/**
* 设置操作人
*
* @param fromUserId 操作人
*/
public void setFromUserId(String fromUserId) {
this.fromUserId = fromUserId;
}
/**
* 获取被分配人ID
*
* @return to_user_id - 被分配人ID
*/
public String getToUserId() {
return toUserId;
}
/**
* 设置被分配人ID
*
* @param toUserId 被分配人ID
*/
public void setToUserId(String toUserId) {
this.toUserId = toUserId;
}
/**
* 获取创建时间
*
* @return create_time - 创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置创建时间
*
* @param createTime 创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取更新时间
*
* @return update_time - 更新时间
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* 设置更新时间
*
* @param updateTime 更新时间
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* 获取新建人ID
*
* @return create_user_id - 新建人ID
*/
public String getCreateUserId() {
return createUserId;
}
/**
* 设置新建人ID
*
* @param createUserId 新建人ID
*/
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
/**
* 获取更新人ID
*
* @return update_user_id - 更新人ID
*/
public String getUpdateUserId() {
return updateUserId;
}
/**
* 设置更新人ID
*
* @param updateUserId 更新人ID
*/
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/3/29 16:04
* @Version 1.0
*/
@Data
public class ChangeInvestmentRequest {
private String investmentManagerId;
private Long lineId;
}

View File

@@ -28,5 +28,7 @@ public class LineListRequest extends PageBasicInfo {
private Integer wantShopAreaId; private Integer wantShopAreaId;
@ApiModelProperty("线索来源") @ApiModelProperty("线索来源")
private Integer lineSource; private Integer lineSource;
@ApiModelProperty("招商经理ID")
private String investmentManagerUserId;
} }

View File

@@ -0,0 +1,31 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2024/3/29 15:09
* @Version 1.0
*/
@Data
public class PublicLineListRequest extends PageBasicInfo {
@ApiModelProperty("线索姓名")
private String userName;
@ApiModelProperty("线索手机号")
private String mobile;
@ApiModelProperty("线索创建时间_开始")
private String createTimeStart;
@ApiModelProperty("线索创建时间_结束")
private String createTimeEnd;
@ApiModelProperty("线索来源")
private Integer lineSource;
@ApiModelProperty("上一次招商经理ID")
private String lastInvestmentManagerUserId;
@ApiModelProperty("上一次招商经理ID")
private String lastDevelopmentManagerUserId;
}

View File

@@ -28,6 +28,9 @@ public class BaseInfoVO {
@ApiModelProperty("意向加盟区域") @ApiModelProperty("意向加盟区域")
private String wantShopAreaName; private String wantShopAreaName;
@ApiModelProperty("线索状态")
private Integer lineStatus;
@ApiModelProperty("线索标签") @ApiModelProperty("线索标签")
private List<LabelBaseInfoVO> userPortraitList; private List<LabelBaseInfoVO> userPortraitList;
@@ -45,6 +48,7 @@ public class BaseInfoVO {
this.lineId = baseInfoVO.getLineId(); this.lineId = baseInfoVO.getLineId();
this.partnerId = baseInfoVO.getPartnerId(); this.partnerId = baseInfoVO.getPartnerId();
this.username = baseInfoVO.getUsername(); this.username = baseInfoVO.getUsername();
this.lineStatus = baseInfoVO.getLineStatus();
this.mobile = baseInfoVO.getMobile(); this.mobile = baseInfoVO.getMobile();
this.workflowSubStage = baseInfoVO.getWorkflowSubStage(); this.workflowSubStage = baseInfoVO.getWorkflowSubStage();
this.wantShopAreaName = baseInfoVO.getWantShopAreaName(); this.wantShopAreaName = baseInfoVO.getWantShopAreaName();

View File

@@ -0,0 +1,46 @@
package com.cool.store.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2024/3/29 15:12
* @Version 1.0
*/
@Data
public class PublicLineListVO extends BaseInfoVO{
@ApiModelProperty("招商经理名称")
private String lastInvestmentManagerUserName;
@ApiModelProperty("招商经理名称")
private String lastDevelopmentManagerUserName;
@ApiModelProperty("线索来源名称")
private String lineSourceName;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("更新时间")
private String updateTime;
@ApiModelProperty("更新人名称")
private String updateUserName;
public PublicLineListVO(){}
public PublicLineListVO(BaseInfoVO baseInfoVO) {
super(baseInfoVO);
}
}

View File

@@ -2,9 +2,12 @@ package com.cool.store.service;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.ChangeInvestmentRequest;
import com.cool.store.request.LineListRequest; import com.cool.store.request.LineListRequest;
import com.cool.store.request.PublicLineListRequest;
import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineInfoVO;
import com.cool.store.vo.LineListVO; import com.cool.store.vo.LineListVO;
import com.cool.store.vo.PublicLineListVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
/** /**
@@ -32,6 +35,14 @@ public interface LineService {
PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag); PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag);
/**
* 公海线索
* @param publicLineListRequest
* @param loginUserInfo
* @return
*/
PageInfo<PublicLineListVO> getPublicLineList(PublicLineListRequest publicLineListRequest, LoginUserInfo loginUserInfo);
/** /**
* 添加标签 * 添加标签
* @param userInfo * @param userInfo
@@ -40,4 +51,13 @@ public interface LineService {
*/ */
Boolean addTags(LoginUserInfo userInfo, AddTagsRequest addTagsRequest); Boolean addTags(LoginUserInfo userInfo, AddTagsRequest addTagsRequest);
/**
* 分配招商经理
* @param changeInvestmentRequest
* @param userInfo
* @return
*/
Boolean transferInvestmentManager(ChangeInvestmentRequest changeInvestmentRequest, LoginUserInfo userInfo,Boolean transferFlag);
} }

View File

@@ -0,0 +1,26 @@
package com.cool.store.service;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.OperationLogTypeEnum;
import com.github.pagehelper.PageInfo;
/**
* @Author suzhuhong
* @Date 2024/3/29 18:04
* @Version 1.0
*/
public interface TransferLogService {
/**
* 添加日志 操作日志类型
* @param lineInfoDO
* @param formUserId
* @param toUserId
* @param operationLogTypeEnum
*/
void addLog(LineInfoDO lineInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum);
PageInfo<TransferLogDTO> getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId);
}

View File

@@ -1,8 +1,13 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.dao.BankDAO; import com.cool.store.dao.BankDAO;
import com.cool.store.dao.LineInfoDAO;
import com.cool.store.entity.BankdocDO; import com.cool.store.entity.BankdocDO;
import com.cool.store.entity.BanktypeDO; import com.cool.store.entity.BanktypeDO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.request.BranchBankPageRequest; import com.cool.store.request.BranchBankPageRequest;
import com.cool.store.service.BankService; import com.cool.store.service.BankService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
@@ -13,6 +18,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@@ -21,10 +27,12 @@ import java.util.List;
*/ */
@Service @Service
@Slf4j @Slf4j
public class BankServiceImpl implements BankService { public class BankServiceImpl extends LineFlowService implements BankService {
@Autowired @Autowired
private BankDAO bankDAO; private BankDAO bankDAO;
@Resource
LineInfoDAO lineInfoDAO;
@Override @Override
public List<BanktypeDO> listBank() { public List<BanktypeDO> listBank() {
@@ -42,4 +50,31 @@ public class BankServiceImpl implements BankService {
PageInfo resultPage = new PageInfo(pageInfo); PageInfo resultPage = new PageInfo(pageInfo);
return resultPage; return resultPage;
} }
@Override
protected Boolean initStage(Long auditId, LineInfoDO lineInfo) {
return null;
}
@Override
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) {
WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage();
//更新线索阶段
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus());
return Boolean.TRUE;
}
@Override
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) {
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.PAY_FAIL_55.getCode());
lineInfoDAO.updateLineInfo(lineInfo);
return Boolean.TRUE;
}
@Override
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) {
return Boolean.TRUE;
}
} }

View File

@@ -1,11 +1,10 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.dao.LineInfoDAO;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.MemberQuestionDO; import com.cool.store.entity.MemberQuestionDO;
import com.cool.store.entity.SigningBaseInfoDO; import com.cool.store.entity.SigningBaseInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.*;
import com.cool.store.enums.JoinTypeEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.IntentAgreementMapper; import com.cool.store.mapper.IntentAgreementMapper;
import com.cool.store.mapper.JoinIntentionMapper; import com.cool.store.mapper.JoinIntentionMapper;
@@ -26,7 +25,7 @@ import static com.cool.store.enums.ErrorCodeEnum.PARAMS_VALIDATE_ERROR;
@Service @Service
@Slf4j @Slf4j
public class IntentAgreementServiceImpl implements IntentAgreementService { public class IntentAgreementServiceImpl extends LineFlowService implements IntentAgreementService {
@Resource @Resource
@@ -38,6 +37,9 @@ public class IntentAgreementServiceImpl implements IntentAgreementService {
@Resource @Resource
JoinIntentionMapper joinIntentionMapper; JoinIntentionMapper joinIntentionMapper;
@Resource
LineInfoDAO lineInfoDAO;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -78,4 +80,55 @@ public class IntentAgreementServiceImpl implements IntentAgreementService {
response.setType(byLineId.getJoinType()); response.setType(byLineId.getJoinType());
return response; return response;
} }
@Override
protected Boolean initStage(Long auditId, LineInfoDO lineInfo) {
return null;
}
@Override
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) {
//校验是否是审核节点
if ((lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()) ||
lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()))){
throw new ServiceException(ErrorCodeEnum.NOT_APPROVE_NODE);
}
//待审核code 63 处理逻辑
if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())){
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode());
lineInfoDAO.updateLineInfo(lineInfo);
}
//待OA审核code 75 处理逻辑
if(lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())){
WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage();
//更新线索阶段
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus());
}
return Boolean.TRUE;
}
@Override
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) {
if ((lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()) ||
lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()))){
throw new ServiceException(ErrorCodeEnum.NOT_APPROVE_NODE);
}
//待审核code 63 处理逻辑
if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())){
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_65.getCode());
lineInfoDAO.updateLineInfo(lineInfo);
}
//待OA审核code 75 处理逻辑
if(lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())){
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_80.getCode());
lineInfoDAO.updateLineInfo(lineInfo);
}
return Boolean.TRUE;
}
@Override
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) {
return Boolean.TRUE;
}
} }

View File

@@ -76,9 +76,8 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) { protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) {
WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage()); WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage(); WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage();
lineInfo.setWorkflowSubStage(nextStage.getCode()); //更新线索阶段
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10.getCode()); lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus());
lineInfoDAO.updateLineInfo(lineInfo);
return Boolean.TRUE; return Boolean.TRUE;
} }
@@ -92,8 +91,6 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt
@Override @Override
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) { protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) {
lineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
lineInfoDAO.updateLineInfo(lineInfo);
return Boolean.TRUE; return Boolean.TRUE;
} }

View File

@@ -5,26 +5,22 @@ import cn.hutool.core.date.DateUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.*;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.enums.*;
import com.cool.store.entity.HyPartnerLabelDO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.RegionMapper; import com.cool.store.mapper.RegionMapper;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.ChangeInvestmentRequest;
import com.cool.store.request.LineListRequest; import com.cool.store.request.LineListRequest;
import com.cool.store.service.DeskService; import com.cool.store.request.PublicLineListRequest;
import com.cool.store.service.LineService; import com.cool.store.service.*;
import com.cool.store.service.RegionService;
import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.DateUtils;
import com.cool.store.vo.BaseInfoVO; import com.cool.store.vo.BaseInfoVO;
import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineInfoVO;
import com.cool.store.vo.LineListVO; import com.cool.store.vo.LineListVO;
import com.cool.store.vo.PublicLineListVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -57,6 +53,12 @@ public class LineServiceImpl implements LineService {
RegionService regionService; RegionService regionService;
@Resource @Resource
RegionDao regionDao; RegionDao regionDao;
@Resource
SysRoleService sysRoleService;
@Resource
UserAuthMappingService userAuthMappingService;
@Resource
TransferLogService transferLogService;
@Override @Override
public LineInfoVO getLineInfo(Long lineId) { public LineInfoVO getLineInfo(Long lineId) {
@@ -94,18 +96,29 @@ public class LineServiceImpl implements LineService {
@Override @Override
public PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag) { public PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag) {
//确定意向区域 List<Long> wantShopAreaIds = new ArrayList<>();
String userId = null;
if(!teamFlag){
userId = loginUserInfo.getUserId();
}
if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())){
List<Long> list = userAuthMappingService.listWantShopAreaIdByUserId(loginUserInfo.getUserId());
if (CollectionUtils.isNotEmpty(list)){
wantShopAreaIds = list;
}else {
userId = loginUserInfo.getUserId();
}
}
PageHelper.startPage(lineListRequest.getPageNum(), lineListRequest.getPageSize()); PageHelper.startPage(lineListRequest.getPageNum(), lineListRequest.getPageSize());
List<LineInfoDO> lineInfoDOS = lineInfoDAO.lineList(lineListRequest, loginUserInfo.getUserId(), null); List<LineInfoDO> lineInfoDOS = lineInfoDAO.lineList(lineListRequest, userId, wantShopAreaIds);
PageInfo page = new PageInfo(lineInfoDOS); PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); Map<Long, HyPartnerLabelDO> userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); List<Long> wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList);
List<Integer> lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList()); List<Integer> lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList());
Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds); Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds);
List<String> userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList()); List<String> userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList());
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getCreateUserId() != null).map(LineInfoDO::getCreateUserId).collect(Collectors.toList())); userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getCreateUserId() != null).map(LineInfoDO::getCreateUserId).collect(Collectors.toList()));
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getUpdateUserId() != null).map(LineInfoDO::getUpdateUserId).collect(Collectors.toList()));
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds); Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
List<LineListVO> result = new ArrayList<>(); List<LineListVO> result = new ArrayList<>();
@@ -123,6 +136,37 @@ public class LineServiceImpl implements LineService {
return page; return page;
} }
@Override
public PageInfo<PublicLineListVO> getPublicLineList(PublicLineListRequest publicLineListRequest, LoginUserInfo loginUserInfo) {
PageHelper.startPage(publicLineListRequest.getPageNum(), publicLineListRequest.getPageSize());
List<LineInfoDO> lineInfoDOS = lineInfoDAO.publicLineList(publicLineListRequest);
PageInfo page = new PageInfo(lineInfoDOS);
Map<Long, HyPartnerLabelDO> userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList);
List<Integer> lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList());
Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds);
List<String> userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList());
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getCreateUserId() != null).map(LineInfoDO::getCreateUserId).collect(Collectors.toList()));
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getDevelopmentManager() != null).map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList()));
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
List<PublicLineListVO> result = new ArrayList<>();
lineInfoDOS.forEach(x->{
BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
PublicLineListVO publicLineListVO = new PublicLineListVO(baseInfoVO);
publicLineListVO.setCreateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getCreateTime()));
publicLineListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime()));
publicLineListVO.setLineSourceName(channelMapByIds.get(x.getLineSource()));
publicLineListVO.setLastInvestmentManagerUserName(userNameMap.get(x.getInvestmentManager()));
publicLineListVO.setLastDevelopmentManagerUserName(userNameMap.get(x.getDevelopmentManager()));
publicLineListVO.setUpdateUserName(userNameMap.get(x.getUpdateUserId()));
result.add(publicLineListVO);
});
page.setList(result);
return page;
}
@Override @Override
public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) { public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) {
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(addTagsRequest.getLineId()); LineInfoDO lineInfo = lineInfoDAO.getLineInfo(addTagsRequest.getLineId());
@@ -136,4 +180,25 @@ public class LineServiceImpl implements LineService {
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public Boolean transferInvestmentManager(ChangeInvestmentRequest changeInvestmentRequest, LoginUserInfo userInfo,Boolean transferFlag) {
//查询线索
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(changeInvestmentRequest.getLineId());
if (lineInfo==null){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
}
if (lineInfo.getLineStatus().equals(LineStatusEnum.PUBLIC_SEAS.getCode())){
throw new ServiceException(ErrorCodeEnum.NOT_IN_PUBLIC_SEA);
}
//如果线索招商经理为空 直接分配 如果不为空 且线索在公海 说明线索被结束 需要重置ID 生成一条新的线索
lineInfo.setLineStatus(LineStatusEnum.PRIVATE_SEAS.getCode());
lineInfo.setInvestmentManager(changeInvestmentRequest.getInvestmentManagerId());
lineInfoDAO.updateLineInfo(lineInfo);
if (transferFlag){
//添加日志
transferLogService.addLog(lineInfo,userInfo.getUserId(),changeInvestmentRequest.getInvestmentManagerId(), OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER);
}
return Boolean.TRUE;
}
} }

View File

@@ -1,11 +1,13 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.dao.LineInfoDAO;
import com.cool.store.entity.LeaseBaseInfoDO; import com.cool.store.entity.LeaseBaseInfoDO;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.ExperienceStatusEnum; import com.cool.store.enums.ExperienceStatusEnum;
import com.cool.store.enums.WorkflowSubStageEnum; import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.enums.*;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.LineInfoMapper;
import com.cool.store.mapper.TrainingExperienceMapper; import com.cool.store.mapper.TrainingExperienceMapper;
@@ -23,7 +25,7 @@ import static com.cool.store.enums.ErrorCodeEnum.INTERVIEW_LINE_ID_IS_NULL;
@Service @Service
@Slf4j @Slf4j
public class TrainingExperienceServiceImpl implements TrainingExperienceService { public class TrainingExperienceServiceImpl extends LineFlowService implements TrainingExperienceService {
@Resource @Resource
TrainingExperienceMapper trainingExperienceMapper; TrainingExperienceMapper trainingExperienceMapper;
@@ -31,6 +33,8 @@ public class TrainingExperienceServiceImpl implements TrainingExperienceService
@Resource @Resource
LineInfoMapper lineInfoMapper; LineInfoMapper lineInfoMapper;
@Resource
LineInfoDAO lineInfoDAO;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean distribution(TrainingExperienceDistributionRequest request) { public boolean distribution(TrainingExperienceDistributionRequest request) {
@@ -69,4 +73,29 @@ public class TrainingExperienceServiceImpl implements TrainingExperienceService
LeaseBaseInfoDO leaseBaseInfoDO = trainingExperienceMapper.selectByLineId(lineId); LeaseBaseInfoDO leaseBaseInfoDO = trainingExperienceMapper.selectByLineId(lineId);
return leaseBaseInfoDO; return leaseBaseInfoDO;
} }
@Override
protected Boolean initStage(Long auditId, LineInfoDO lineInfo) {
return null;
}
@Override
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) {
WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage();
//更新线索阶段
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus());
return Boolean.TRUE;
}
@Override
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) {
return Boolean.TRUE;
}
@Override
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) {
return Boolean.TRUE;
}
} }

View File

@@ -0,0 +1,46 @@
package com.cool.store.service.impl;
import com.cool.store.dao.TransferLogDAO;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.TransferLogDO;
import com.cool.store.enums.OperationLogTypeEnum;
import com.cool.store.service.TransferLogService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2024/3/29 18:11
* @Version 1.0
*/
@Service
public class TransferLogServiceImpl implements TransferLogService {
@Resource
private TransferLogDAO transferLogDAO;
@Override
public void addLog(LineInfoDO lineInfoDO, String formUserId, String toUserId, OperationLogTypeEnum operationLogTypeEnum) {
TransferLogDO transferLogDO = new TransferLogDO();
transferLogDO.setLineId(lineInfoDO.getId());
transferLogDO.setPartnerId(lineInfoDO.getPartnerId());
transferLogDO.setFromUserId(formUserId);
transferLogDO.setToUserId(toUserId);
transferLogDO.setType(operationLogTypeEnum.getCode());
// 添加操作日志
transferLogDAO.add(transferLogDO);
}
@Override
public PageInfo<TransferLogDTO> getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId) {
PageHelper.startPage(pageNum, pageSize);
List<TransferLogDTO> transferLogList = transferLogDAO.getTransferLogList(lineId);
PageInfo<TransferLogDTO> transferLogDTOPageInfo = new PageInfo<>(transferLogList);
return transferLogDTOPageInfo;
}
}

View File

@@ -2,18 +2,24 @@ package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.ChangeInvestmentRequest;
import com.cool.store.request.LineListRequest; import com.cool.store.request.LineListRequest;
import com.cool.store.request.PublicLineListRequest;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.LineService; import com.cool.store.service.LineService;
import com.cool.store.service.TransferLogService;
import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineInfoVO;
import com.cool.store.vo.LineListVO; import com.cool.store.vo.LineListVO;
import com.cool.store.vo.PublicLineListVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -31,6 +37,8 @@ public class LineInfoController {
@Resource @Resource
LineService lineService; LineService lineService;
@Resource
TransferLogService transferLogService;
@ApiOperation("查询线索详情") @ApiOperation("查询线索详情")
@GetMapping("/getLineDetail") @GetMapping("/getLineDetail")
@@ -41,7 +49,6 @@ public class LineInfoController {
return ResponseResult.success(lineService.getLineInfo(lineId)); return ResponseResult.success(lineService.getLineInfo(lineId));
} }
@ApiOperation("我的线索") @ApiOperation("我的线索")
@PostMapping("/getMyLineList") @PostMapping("/getMyLineList")
public ResponseResult<PageInfo<LineListVO>> getLineList(@RequestBody LineListRequest lineListRequest) { public ResponseResult<PageInfo<LineListVO>> getLineList(@RequestBody LineListRequest lineListRequest) {
@@ -50,7 +57,6 @@ public class LineInfoController {
return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.FALSE)); return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.FALSE));
} }
@ApiOperation("团队线索") @ApiOperation("团队线索")
@PostMapping("/getTeamLineList") @PostMapping("/getTeamLineList")
public ResponseResult<PageInfo<LineListVO>> getTeamLineList(@RequestBody LineListRequest lineListRequest) { public ResponseResult<PageInfo<LineListVO>> getTeamLineList(@RequestBody LineListRequest lineListRequest) {
@@ -59,15 +65,48 @@ public class LineInfoController {
return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.TRUE)); return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.TRUE));
} }
@ApiOperation("公海线索")
@PostMapping("/getPublicLineList")
public ResponseResult<PageInfo<PublicLineListVO>> getTeamLineList(@RequestBody PublicLineListRequest publicLineListRequest) {
LoginUserInfo user = CurrentUserHolder.getUser();
user.setUserId("055740241221153440");
return ResponseResult.success(lineService.getPublicLineList(publicLineListRequest,user));
}
@PostMapping(path = "/addTags") @PostMapping(path = "/addTags")
@ApiOperation("添加标签接口") @ApiOperation("添加标签接口")
public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){ public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){
return ResponseResult.success(lineService.addTags(CurrentUserHolder.getUser(),addTagsRequest)); return ResponseResult.success(lineService.addTags(CurrentUserHolder.getUser(),addTagsRequest));
} }
@ApiOperation("分配招商经理")
@PostMapping("/distributionInvestmentManager")
public ResponseResult<Boolean> distributionInvestmentManager(@RequestBody ChangeInvestmentRequest changeInvestmentRequest) {
LoginUserInfo user = CurrentUserHolder.getUser();
user.setUserId("055740241221153440");
return ResponseResult.success(lineService.transferInvestmentManager(changeInvestmentRequest,user,Boolean.FALSE));
}
@ApiOperation("转让")
@PostMapping("/transferInvestmentManager")
public ResponseResult<Boolean> transferInvestmentManager(@RequestBody ChangeInvestmentRequest changeInvestmentRequest) {
LoginUserInfo user = CurrentUserHolder.getUser();
user.setUserId("055740241221153440");
return ResponseResult.success(lineService.transferInvestmentManager(changeInvestmentRequest,user,Boolean.TRUE));
}
@ApiOperation("线索转让记录")
@GetMapping("/getTransferLogPage")
@ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索id", required = true),
@ApiImplicitParam(name = "pageNum", value = "页码", required = true),
@ApiImplicitParam(name = "pageSize", value = "大小", required = true)
})
public ResponseResult<PageInfo<TransferLogDTO>> getTransferLogPage(@RequestParam("lineId")Long lineId,
@RequestParam(value = "pageNum" ,defaultValue = "1")Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize) {
return ResponseResult.success(transferLogService.getTransferLogPage(pageNum,pageSize,lineId));
}
} }

View File

@@ -10,10 +10,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@@ -38,8 +36,8 @@ public class BankController {
} }
@ApiOperation("支行列表查询") @ApiOperation("支行列表查询")
@GetMapping("/listBranchBank") @PostMapping("/listBranchBank")
public ResponseResult<PageInfo<BankdocDO>> listBranchBank(@RequestBody BranchBankPageRequest request) { public ResponseResult<PageInfo<BankdocDO>> listBranchBank(@RequestBody @Validated BranchBankPageRequest request) {
return ResponseResult.success(bankService.listBranchBank(request)); return ResponseResult.success(bankService.listBranchBank(request));
} }