diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index c3d14081f..2e8d97816 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -114,9 +114,10 @@ public enum ErrorCodeEnum { SIGN_FAIL(600000, "验签失败", null), GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null), NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null), - INSPECTION_USER_OCCUPY(600002,"当前稽核人已经配置其他战区",null), + INSPECTION_USER_OCCUPY(600003,"当前稽核人已经配置其他战区",null), INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null), OPEN_AREA_NULL(600006,"归属地区不能为空",null), + NOT_IN_PUBLIC_SEA(600007,"当前线索不在公海 不支持分配招商经理",null), OUTBOUND_NUMBER_EXIST(110001, "该呼出号码已被绑定,请更改后重试", null), @@ -138,6 +139,8 @@ public enum ErrorCodeEnum { OPEN_AREA_IS_NOT_EXISTS(107006, "意向区域城市不存在", null), REGION_NOT_EXIST(108001, "区域不存在",null), + + NOT_APPROVE_NODE(109001, "不是审批节点",null), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java new file mode 100644 index 000000000..03b391002 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/OperationLogTypeEnum.java @@ -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; + } + + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowSubStageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowSubStageEnum.java index ad645773c..23ae40b2b 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowSubStageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowSubStageEnum.java @@ -13,9 +13,9 @@ public enum WorkflowSubStageEnum{ INTEND(1, "加盟意向申请", WorkflowSubStageStatusEnum.INTENT_0,"joinIntentionServiceImpl"), INVITING_INTERVIEWS(5, "邀约面谈", WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10, "lineInterviewServiceImpl"), FIRST_INTERVIEWS(10, "一审面试", WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_25, "lineInterviewServiceImpl"), - PAY_DEPOSIT(15, "缴纳意向金", WorkflowSubStageStatusEnum.PAY_DEPOSIT_45, null), - SIGN_INTENT_AGREEMENT(20, "签署意向协议", WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_60, null), - STORE_EXPERIENCE(25, "门店体验", WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85, null), + PAY_DEPOSIT(15, "缴纳意向金", WorkflowSubStageStatusEnum.PAY_DEPOSIT_45, "bankServiceImpl"), + SIGN_INTENT_AGREEMENT(20, "签署意向协议", WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_60, "intentAgreementServiceImpl"), + STORE_EXPERIENCE(25, "门店体验", WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85, "trainingExperienceServiceImpl"), SECOND_INTERVIEWS(30, "二审面试", WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_100, "lineInterviewServiceImpl"); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java index 2faa3cc4d..1e7135da1 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LineInfoDAO.java @@ -8,6 +8,8 @@ import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.request.LineListRequest; +import com.cool.store.request.PublicLineListRequest; +import com.cool.store.vo.PublicLineListVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Param; @@ -91,6 +93,11 @@ public class LineInfoDAO { return lineInfo; } + public List publicLineList(PublicLineListRequest publicLineListRequest) { + List lineInfo = lineInfoMapper.publicLineList(publicLineListRequest); + return lineInfo; + } + public void insertOrUpdate(LineInfoDO lineInfoParam){ lineInfoMapper.insertOrUpdate(lineInfoParam); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java new file mode 100644 index 000000000..72b62ea05 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TransferLogDAO.java @@ -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 getTransferLogList(Long lindId){ + if (lindId == null){ + return null; + } + return transferLogMapper.getTransferLogList(lindId); + } + + + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java index 3770cd634..6e380b5b0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java @@ -3,6 +3,7 @@ package com.cool.store.mapper; import com.cool.store.entity.LineInfoDO; import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.request.LineListRequest; +import com.cool.store.request.PublicLineListRequest; import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; @@ -29,5 +30,13 @@ public interface LineInfoMapper extends Mapper { @Param("userId") String userId, @Param("wantShopAreaIds") List wantShopAreaIds); + + /** + * 公海线索列表 + * @param publicLineListVO + * @return + */ + List publicLineList(@Param("request") PublicLineListRequest publicLineListRequest); + void insertOrUpdate(@Param("param") LineInfoDO lineInfoParam); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java new file mode 100644 index 000000000..de3a8ec1f --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TransferLogMapper.java @@ -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 { + + /** + * 根据线索ID查询日志 + * @param lindId + * @return + */ + List getTransferLogList(@Param("lindId") Long lindId); + + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index edccc07ee..fa3d6736d 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -304,7 +304,7 @@ + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml new file mode 100644 index 000000000..6bbc61a58 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/TransferLogMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java new file mode 100644 index 000000000..61bb5bddf --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/TransferLogDTO.java @@ -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; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java new file mode 100644 index 000000000..a308fba3e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/TransferLogDO.java @@ -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; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ChangeInvestmentRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ChangeInvestmentRequest.java new file mode 100644 index 000000000..148ca089e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ChangeInvestmentRequest.java @@ -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; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java index 02dafe133..42131b9b3 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java @@ -28,5 +28,7 @@ public class LineListRequest extends PageBasicInfo { private Integer wantShopAreaId; @ApiModelProperty("线索来源") private Integer lineSource; + @ApiModelProperty("招商经理ID") + private String investmentManagerUserId; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PublicLineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PublicLineListRequest.java new file mode 100644 index 000000000..90f4cbc20 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PublicLineListRequest.java @@ -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; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java index 3f135625b..640230f7e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/BaseInfoVO.java @@ -28,6 +28,9 @@ public class BaseInfoVO { @ApiModelProperty("意向加盟区域") private String wantShopAreaName; + @ApiModelProperty("线索状态") + private Integer lineStatus; + @ApiModelProperty("线索标签") private List userPortraitList; @@ -45,6 +48,7 @@ public class BaseInfoVO { this.lineId = baseInfoVO.getLineId(); this.partnerId = baseInfoVO.getPartnerId(); this.username = baseInfoVO.getUsername(); + this.lineStatus = baseInfoVO.getLineStatus(); this.mobile = baseInfoVO.getMobile(); this.workflowSubStage = baseInfoVO.getWorkflowSubStage(); this.wantShopAreaName = baseInfoVO.getWantShopAreaName(); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicLineListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicLineListVO.java new file mode 100644 index 000000000..5ab5962b6 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PublicLineListVO.java @@ -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); + } + + + + + + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java index 9717e8c2a..09275ab48 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/LineService.java @@ -2,9 +2,12 @@ package com.cool.store.service; import com.cool.store.context.LoginUserInfo; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.ChangeInvestmentRequest; import com.cool.store.request.LineListRequest; +import com.cool.store.request.PublicLineListRequest; import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineListVO; +import com.cool.store.vo.PublicLineListVO; import com.github.pagehelper.PageInfo; /** @@ -32,6 +35,14 @@ public interface LineService { PageInfo getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag); + /** + * 公海线索 + * @param publicLineListRequest + * @param loginUserInfo + * @return + */ + PageInfo getPublicLineList(PublicLineListRequest publicLineListRequest, LoginUserInfo loginUserInfo); + /** * 添加标签 * @param userInfo @@ -40,4 +51,13 @@ public interface LineService { */ Boolean addTags(LoginUserInfo userInfo, AddTagsRequest addTagsRequest); + + /** + * 分配招商经理 + * @param changeInvestmentRequest + * @param userInfo + * @return + */ + Boolean transferInvestmentManager(ChangeInvestmentRequest changeInvestmentRequest, LoginUserInfo userInfo,Boolean transferFlag); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java new file mode 100644 index 000000000..71e08e3e9 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/TransferLogService.java @@ -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 getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BankServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BankServiceImpl.java index fdc06b792..ee4a357f8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BankServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BankServiceImpl.java @@ -1,8 +1,13 @@ package com.cool.store.service.impl; import com.cool.store.dao.BankDAO; +import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.BankdocDO; 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.service.BankService; 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.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** @@ -21,10 +27,12 @@ import java.util.List; */ @Service @Slf4j -public class BankServiceImpl implements BankService { +public class BankServiceImpl extends LineFlowService implements BankService { @Autowired private BankDAO bankDAO; + @Resource + LineInfoDAO lineInfoDAO; @Override public List listBank() { @@ -42,4 +50,31 @@ public class BankServiceImpl implements BankService { PageInfo resultPage = new PageInfo(pageInfo); 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; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 9b42de50e..1d22bbbc3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -1,11 +1,10 @@ package com.cool.store.service.impl; +import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.MemberQuestionDO; import com.cool.store.entity.SigningBaseInfoDO; -import com.cool.store.enums.ErrorCodeEnum; -import com.cool.store.enums.JoinTypeEnum; -import com.cool.store.enums.WorkflowSubStageStatusEnum; +import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.IntentAgreementMapper; import com.cool.store.mapper.JoinIntentionMapper; @@ -26,7 +25,7 @@ import static com.cool.store.enums.ErrorCodeEnum.PARAMS_VALIDATE_ERROR; @Service @Slf4j -public class IntentAgreementServiceImpl implements IntentAgreementService { +public class IntentAgreementServiceImpl extends LineFlowService implements IntentAgreementService { @Resource @@ -38,6 +37,9 @@ public class IntentAgreementServiceImpl implements IntentAgreementService { @Resource JoinIntentionMapper joinIntentionMapper; + @Resource + LineInfoDAO lineInfoDAO; + @Override @Transactional(rollbackFor = Exception.class) @@ -78,4 +80,55 @@ public class IntentAgreementServiceImpl implements IntentAgreementService { response.setType(byLineId.getJoinType()); 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; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 020a85e42..8a44b00db 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -76,9 +76,8 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) { WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage()); WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage(); - lineInfo.setWorkflowSubStage(nextStage.getCode()); - lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10.getCode()); - lineInfoDAO.updateLineInfo(lineInfo); + //更新线索阶段 + lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus()); return Boolean.TRUE; } @@ -92,8 +91,6 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt @Override protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) { - lineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode()); - lineInfoDAO.updateLineInfo(lineInfo); return Boolean.TRUE; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index fea360164..ec6c53d85 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -5,26 +5,25 @@ import cn.hutool.core.date.DateUtil; import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.*; -import com.cool.store.entity.EnterpriseUserDO; -import com.cool.store.entity.HyOpenAreaInfoDO; -import com.cool.store.entity.HyPartnerLabelDO; -import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.*; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.LineStatusEnum; import com.cool.store.enums.OperateTypeEnum; import com.cool.store.enums.WorkflowStageEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.RegionMapper; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.ChangeInvestmentRequest; import com.cool.store.request.LineListRequest; -import com.cool.store.service.DeskService; -import com.cool.store.service.LineService; -import com.cool.store.service.RegionService; +import com.cool.store.request.PublicLineListRequest; +import com.cool.store.service.*; import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.StringUtil; import com.cool.store.utils.poi.DateUtils; import com.cool.store.vo.BaseInfoVO; import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineListVO; +import com.cool.store.vo.PublicLineListVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; @@ -57,6 +56,10 @@ public class LineServiceImpl implements LineService { RegionService regionService; @Resource RegionDao regionDao; + @Resource + SysRoleService sysRoleService; + @Resource + UserAuthMappingService userAuthMappingService; @Override public LineInfoVO getLineInfo(Long lineId) { @@ -94,18 +97,29 @@ public class LineServiceImpl implements LineService { @Override public PageInfo getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag) { - //确定意向区域 + List wantShopAreaIds = new ArrayList<>(); + String userId = null; + if(!teamFlag){ + userId = loginUserInfo.getUserId(); + } + if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())){ + List list = userAuthMappingService.listWantShopAreaIdByUserId(loginUserInfo.getUserId()); + if (CollectionUtils.isNotEmpty(list)){ + wantShopAreaIds = list; + }else { + userId = loginUserInfo.getUserId(); + } + } PageHelper.startPage(lineListRequest.getPageNum(), lineListRequest.getPageSize()); - List lineInfoDOS = lineInfoDAO.lineList(lineListRequest, loginUserInfo.getUserId(), null); + List lineInfoDOS = lineInfoDAO.lineList(lineListRequest, userId, wantShopAreaIds); PageInfo page = new PageInfo(lineInfoDOS); Map userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); - List wantShopAreaIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); - Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds); + List wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); + Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList); List lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList()); Map channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds); List 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.getUpdateUserId() != null).map(LineInfoDO::getUpdateUserId).collect(Collectors.toList())); Map userNameMap = enterpriseUserDAO.getUserNameMap(userIds); List result = new ArrayList<>(); @@ -123,6 +137,37 @@ public class LineServiceImpl implements LineService { return page; } + @Override + public PageInfo getPublicLineList(PublicLineListRequest publicLineListRequest, LoginUserInfo loginUserInfo) { + PageHelper.startPage(publicLineListRequest.getPageNum(), publicLineListRequest.getPageSize()); + List lineInfoDOS = lineInfoDAO.publicLineList(publicLineListRequest); + PageInfo page = new PageInfo(lineInfoDOS); + Map userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); + List wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); + Map wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList); + List lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList()); + Map channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds); + List 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 userNameMap = enterpriseUserDAO.getUserNameMap(userIds); + + List 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 public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) { LineInfoDO lineInfo = lineInfoDAO.getLineInfo(addTagsRequest.getLineId()); @@ -136,4 +181,25 @@ public class LineServiceImpl implements LineService { 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){ + //添加日志 + new TransferLogDO(); + } + return Boolean.TRUE; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java index fba5de91b..574316d3e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java @@ -1,11 +1,13 @@ package com.cool.store.service.impl; +import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.LeaseBaseInfoDO; import com.cool.store.entity.LineInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ExperienceStatusEnum; import com.cool.store.enums.WorkflowSubStageEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum; +import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.TrainingExperienceMapper; @@ -23,7 +25,7 @@ import static com.cool.store.enums.ErrorCodeEnum.INTERVIEW_LINE_ID_IS_NULL; @Service @Slf4j -public class TrainingExperienceServiceImpl implements TrainingExperienceService { +public class TrainingExperienceServiceImpl extends LineFlowService implements TrainingExperienceService { @Resource TrainingExperienceMapper trainingExperienceMapper; @@ -31,6 +33,8 @@ public class TrainingExperienceServiceImpl implements TrainingExperienceService @Resource LineInfoMapper lineInfoMapper; + @Resource + LineInfoDAO lineInfoDAO; @Override @Transactional(rollbackFor = Exception.class) public boolean distribution(TrainingExperienceDistributionRequest request) { @@ -69,4 +73,29 @@ public class TrainingExperienceServiceImpl implements TrainingExperienceService LeaseBaseInfoDO leaseBaseInfoDO = trainingExperienceMapper.selectByLineId(lineId); 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; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java new file mode 100644 index 000000000..3f855e41c --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TransferLogServiceImpl.java @@ -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 getTransferLogPage(Integer pageNum, Integer pageSize, Long lineId) { + PageHelper.startPage(pageNum, pageSize); + List transferLogList = transferLogDAO.getTransferLogList(lineId); + PageInfo transferLogDTOPageInfo = new PageInfo<>(transferLogList); + return transferLogDTOPageInfo; + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java index c2744e2d9..128e34331 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineInfoController.java @@ -2,18 +2,24 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; +import com.cool.store.dto.TransferLogDTO; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.ChangeInvestmentRequest; import com.cool.store.request.LineListRequest; +import com.cool.store.request.PublicLineListRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.LineService; +import com.cool.store.service.TransferLogService; import com.cool.store.vo.LineInfoVO; import com.cool.store.vo.LineListVO; +import com.cool.store.vo.PublicLineListVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -31,6 +37,8 @@ public class LineInfoController { @Resource LineService lineService; + @Resource + TransferLogService transferLogService; @ApiOperation("查询线索详情") @GetMapping("/getLineDetail") @@ -41,7 +49,6 @@ public class LineInfoController { return ResponseResult.success(lineService.getLineInfo(lineId)); } - @ApiOperation("我的线索") @PostMapping("/getMyLineList") public ResponseResult> getLineList(@RequestBody LineListRequest lineListRequest) { @@ -50,7 +57,6 @@ public class LineInfoController { return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.FALSE)); } - @ApiOperation("团队线索") @PostMapping("/getTeamLineList") public ResponseResult> getTeamLineList(@RequestBody LineListRequest lineListRequest) { @@ -59,15 +65,48 @@ public class LineInfoController { return ResponseResult.success(lineService.getLineList(lineListRequest,user,Boolean.TRUE)); } + @ApiOperation("公海线索") + @PostMapping("/getPublicLineList") + public ResponseResult> getTeamLineList(@RequestBody PublicLineListRequest publicLineListRequest) { + LoginUserInfo user = CurrentUserHolder.getUser(); + user.setUserId("055740241221153440"); + return ResponseResult.success(lineService.getPublicLineList(publicLineListRequest,user)); + } + @PostMapping(path = "/addTags") @ApiOperation("添加标签接口") public ResponseResult addTags(@RequestBody AddTagsRequest addTagsRequest){ return ResponseResult.success(lineService.addTags(CurrentUserHolder.getUser(),addTagsRequest)); } + @ApiOperation("分配招商经理") + @PostMapping("/distributionInvestmentManager") + public ResponseResult 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 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> 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)); + } }