添加日志

This commit is contained in:
苏竹红
2023-06-27 20:46:38 +08:00
parent 3f316e2658
commit 1a993548ed
19 changed files with 273 additions and 39 deletions

View File

@@ -8,19 +8,21 @@ package com.cool.store.enums;
*/
public enum OperateLogFieldValueEnum {
ALLOCATION_USERID("allocationUserId","分配人ID"),
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
MOBILE("mobile","手机号"),
OPERATE_TIME("operateTime","操作时间"),
OPERATE_USER_ID("operateUserId","操作人姓名"),
OPERATE_USER_NAME("operateUsername","操作人姓名"),
REASON("reason","原因"),
PASS_REASON("pass_reason","通过原因"),
REJECT_PUBLIC_REASON("reject_public_reason", "公开拒绝原因"),
REJECT_REAL_REASON("reject_real_reason", "真实拒绝原因"),
CERTIFY_FILE("certify_file", "上传的证明文件或凭证"),
BEFORE_INVESTMENT_MANAGER_USERNAME("before_investment_manager_username", "转让前的招商经理姓名"),
BEFORE_INVESTMENT_MANAGER_MOBILE("before_investment_manager_mobile", "转让前的招商经理手机号"),
AFTER_INVESTMENT_MANAGER_USERNAME("after_investment_manager_username", "转让后的招商经理姓名"),
AFTER_INVESTMENT_MANAGER_MOBILE("after_investment_manager_mobile", "转让后的招商经理手机好"),
PASS_REASON("passReason","通过原因"),
REJECT_PUBLIC_REASON("rejectPublicReason", "公开拒绝原因"),
REJECT_REAL_REASON("rejectRealReason", "真实拒绝原因"),
CERTIFY_FILE("certifyFile", "上传的证明文件或凭证"),
BEFORE_INVESTMENT_MANAGER_USERNAME("beforeInvestmentManagerUsername", "转让前的招商经理姓名"),
BEFORE_INVESTMENT_MANAGER_MOBILE("beforeInvestmentManagerMobile", "转让前的招商经理手机号"),
AFTER_INVESTMENT_MANAGER_USERNAME("afterInvestmentManagerUsername", "转让后的招商经理姓名"),
AFTER_INVESTMENT_MANAGER_MOBILE("afterInvestmentManagerMobile", "转让后的招商经理手机好"),
;

View File

@@ -13,11 +13,11 @@ import static com.cool.store.enums.OperateLogFieldValueEnum.*;
*/
public enum OperateTypeEnum {
ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)),
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
REMOVE_BLACKLIST("add_blacklist", "移除黑名单", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE));
ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERID,ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)),
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
REMOVE_BLACKLIST("add_blacklist", "移除黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE));
;

View File

@@ -1,5 +1,12 @@
package com.cool.store.enums;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author suzhuhong
* @Date 2023/6/9 16:35

View File

@@ -1,9 +1,11 @@
package com.cool.store.dao;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dto.log.LineLogInfo;
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.mapper.HyPartnerTaskInfoLogMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
@@ -14,6 +16,7 @@ import javax.annotation.Resource;
* @Version 1.0
*/
@Repository
@Slf4j
public class HyPartnerTaskInfoLogDAO {
@@ -38,6 +41,7 @@ public class HyPartnerTaskInfoLogDAO {
return;
}
HyPartnerTaskInfoLogDO logInfo = LineLogInfo.convertDO(lineLogInfo);
log.info("logInfo:{}", JSONObject.toJSON(lineLogInfo));
insertSelective(logInfo);
}

View File

@@ -312,6 +312,7 @@
left join hy_partner_interview a on hpli.id = a.partner_line_id
left join hy_partner_interview_plan b on a.interview_plan_id = b.id
<where>
and hpli.deleted = 0 and b.deleted = 0
<if test="workflowStage!=null and workflowStage!=''">
and hpli.workflow_stage = #{workflowStage}
</if>

View File

@@ -462,14 +462,15 @@
hpuinfo.shop_name as storeName,
hpuinfo.recommend_partner_name as recommendPartnerName,
eu.name as investmentManagerName,
hpip.id as interviewPlanId
hpip.id as interviewPlanId,
hpip.start_time as startTime
FROM
hy_partner_line_info hpli
LEFT JOIN hy_partner_intent_info hpii ON hpli.id = hpii.partner_line_id
LEFT JOIN hy_partner_user_info hpuinfo ON hpli.partner_id = hpuinfo.partner_id
LEFT JOIN enterprise_user eu ON hpli.investment_manager = eu.user_id
LEFT JOIN hy_partner_interview_plan hpip on hpli.id = hpip.partner_line_id
WHERE line_status in (1,2)
WHERE hpli.line_status in (1,2) and hpli.deleted = 0
<if test="keyword!=null and keyword!='' and keywordType!=null and keywordType=='name'">
AND (eu.name like concat('%',#{keyword},'%') or hpuinfo.username like concat('%',#{keyword},'%'))
</if>

View File

@@ -0,0 +1,23 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 15:52
* @Version 1.0
*/
@Data
@Builder
public class AllocationInvestmentManagerLogDTO {
private String allocationUserId;
private String allocationUsername;
private String mobile;
private String operateTime;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 16:51
* @Version 1.0
*/
@Data
@Builder
public class BlackListLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String reason;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 19:46
* @Version 1.0
*/
@Data
@Builder
public class CloseOrPassFollowLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String passReason;
private String certifyFile;
private String rejectPublicReason;
private String rejectRealReason;
}

View File

@@ -29,6 +29,7 @@ public class LineLogInfo<T> {
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("操作人id")
private String operateUserId;
@@ -42,7 +43,7 @@ public class LineLogInfo<T> {
private WorkflowStageEnum workflowStage;
@ApiModelProperty("流程子状态")
private WorkflowStatusEnum workflowStatus;
private String workflowStatus;
@ApiModelProperty("备注")
private String message;
@@ -50,6 +51,22 @@ public class LineLogInfo<T> {
@ApiModelProperty("数据处理字段")
private T data;
public LineLogInfo(){
}
public LineLogInfo(String partnerId, Long partnerLineId, String operateUserId, String operateUsername,
OperateTypeEnum operateType, WorkflowStageEnum workflowStage,
String workflowStatus, String message) {
this.partnerId = partnerId;
this.partnerLineId = partnerLineId;
this.operateUserId = operateUserId;
this.operateUsername = operateUsername;
this.operateType = operateType;
this.workflowStage = workflowStage;
this.workflowStatus = workflowStatus;
this.message = message;
}
public static boolean checkParams(LineLogInfo params){
if(StringUtils.isAnyBlank(params.getPartnerId(), params.getOperateUserId(), params.getOperateUsername())){
log.info("lineLogInfo string:{}", JSONObject.toJSONString(params));
@@ -69,7 +86,7 @@ public class LineLogInfo<T> {
result.setPartnerLineId(params.getPartnerLineId());
result.setOperateType(params.getOperateType().getCode());
result.setWorkflowStage(params.getWorkflowStage().getCode());
result.setWorkflowStatus(params.getWorkflowStatus().getCode());
result.setWorkflowStatus(params.getWorkflowStatus());
result.setOperateUserId(params.getOperateUserId());
result.setOperateUsername(params.getOperateUsername());
result.setMessage(params.getMessage());
@@ -81,6 +98,9 @@ public class LineLogInfo<T> {
List<Map<String, Object>> fieldMapList = new ArrayList<>();
for (OperateLogFieldValueEnum field : filedList) {
Map<String, Object> fieldMap = new HashMap<>();
if(jsonObject.get(field.getCode())==null){
continue;
}
fieldMap.put("code",field.getCode());
fieldMap.put("name",field.getName());
fieldMap.put("value",jsonObject.get(field.getCode()));

View File

@@ -0,0 +1,31 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 20:20
* @Version 1.0
*/
@Data
@Builder
public class TransferInvestmentManagerLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String beforeInvestmentManagerUsername;
private String beforeInvestmentManagerMobile;
private String afterInvestmentManagerUsername;
private String afterInvestmentManagerMobile;
}

View File

@@ -71,4 +71,6 @@ public class PrivateSeaLineDTO {
private Long interviewPlanId;
private Date startTime;
}

View File

@@ -18,4 +18,6 @@ public class TransferInvestmentManagerRequest {
private String userId;
private String userName;
}

View File

@@ -85,6 +85,8 @@ public class PrivateSeaLineListVo {
private Long interviewPlanId;
private Date startTime;
public static List<PrivateSeaLineListVo> convertList(List<PrivateSeaLineDTO> list, Map<String, String> finalDevManagerMap, Map<String, String> wantShopAreaNameMap){
List<PrivateSeaLineListVo> resultList = new ArrayList<>();
@@ -116,6 +118,7 @@ public class PrivateSeaLineListVo {
privateSeaLineListVo.setInterviewPlanId(x.getInterviewPlanId());
privateSeaLineListVo.setWantShopArea(x.getWantShopArea());
privateSeaLineListVo.setWorkflowStage(x.getWorkflowStage());
privateSeaLineListVo.setStartTime(x.getStartTime());
privateSeaLineListVo.setDevelopmentManagerName(finalDevManagerMap.get(x.getDevelopmentManager()));
resultList.add(privateSeaLineListVo);
}

View File

@@ -12,6 +12,8 @@ public class LoginUserInfo {
private String corpId;
private String mobile;
private String accessToken;
/**

View File

@@ -1,5 +1,6 @@
package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.exception.ApiException;
import com.cool.store.request.CloseFollowRequest;
@@ -56,7 +57,7 @@ public interface HyPartnerLineInfoService {
* @param lineId
* @return
*/
Boolean transferInvestmentManager(String userId,Long lineId);
Boolean transferInvestmentManager(LoginUserInfo user,String userId,String userName,Long lineId);
/**
* 分配招商经理
@@ -64,7 +65,7 @@ public interface HyPartnerLineInfoService {
* @param lineIdList
* @return
*/
Boolean allocationInvestmentManager(String userId, List<Long> lineIdList);
Boolean allocationInvestmentManager(LoginUserInfo user, List<Long> lineIdList);
/**
@@ -81,7 +82,7 @@ public interface HyPartnerLineInfoService {
* @param joinReason
* @return
*/
Boolean joinBlackList(String userId, Long lineId, Integer status, String joinReason);
Boolean joinBlackList(LoginUserInfo user, Long lineId, Integer status, String joinReason);
/**
* 移除黑名单
@@ -90,7 +91,7 @@ public interface HyPartnerLineInfoService {
* @param removeReason
* @return
*/
Boolean removeBlackList( Long lineId, Integer status, String removeReason);
Boolean removeBlackList( LoginUserInfo userInfo,Long lineId, Integer status, String removeReason);
/**
* 结束或者通过线索
@@ -98,7 +99,7 @@ public interface HyPartnerLineInfoService {
* @param closeFollowRequest
* @return
*/
Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest);
Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest);
/**
* 公海线索

View File

@@ -5,8 +5,10 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*;
import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.log.*;
import com.cool.store.dto.partner.*;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
@@ -27,6 +29,7 @@ import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -73,6 +76,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
@Resource
WorkFlowService workFlowService;
@Resource
HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
@Override
@@ -133,17 +138,40 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
@Override
public Boolean transferInvestmentManager(String userId, Long lineId) {
public Boolean transferInvestmentManager(LoginUserInfo user,String userId,String userName, Long lineId) {
if (StringUtil.isBlank(userId)||lineId==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
hyPartnerLineInfoDAO.updateInvestmentManager(userId, Arrays.asList(lineId));
List<String> userIdList = new ArrayList<>();
userIdList.add(userId);
if (StringUtils.isNotEmpty(hyPartnerLineInfoDO.getInvestmentManager())){
userIdList.add(hyPartnerLineInfoDO.getInvestmentManager());
}
List<EnterpriseUserDO> userList = enterpriseUserDAO.getUserInfoByUserIds(userIdList);
Map<String, EnterpriseUserDO> userDOMap = userList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data));
//添加日志
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.TRANSFER_INVESTMENT_MANAGER,
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),
hyPartnerLineInfoDO.getWorkflowStatus(), "");
TransferInvestmentManagerLogDTO logDTO = TransferInvestmentManagerLogDTO.builder().operateUserId(user.getUserId()).operateUsername(user.getName())
.beforeInvestmentManagerUsername(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getName())
.beforeInvestmentManagerMobile(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getMobile())
.afterInvestmentManagerMobile(userDOMap.getOrDefault(userId,new EnterpriseUserDO()).getMobile())
.afterInvestmentManagerUsername(userDOMap.getOrDefault(userId,new EnterpriseUserDO()).getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE;
}
@Override
public Boolean allocationInvestmentManager(String userId, List<Long> lineIdList) {
if (StringUtil.isBlank(userId)|| CollectionUtils.isEmpty(lineIdList)){
public Boolean allocationInvestmentManager(LoginUserInfo user, List<Long> lineIdList) {
if (user==null|| CollectionUtils.isEmpty(lineIdList)){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
//加盟上线索集合
@@ -157,7 +185,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
closeLineList.stream().forEach(x->{
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setPartnerId(x.getPartnerId());
hyPartnerLineInfoDO.setInvestmentManager(userId);
hyPartnerLineInfoDO.setInvestmentManager(user.getUserId());
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
hyPartnerLineInfoDO.setLineStatus(1);
@@ -177,8 +205,19 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
//没有结束的线索直接分配招商经理
List<HyPartnerLineInfoDO> otherLineList = partnerLineInfoList.stream().filter(x -> x.getCloseTime() == null).collect(Collectors.toList());
List<Long> otherLineIdList = otherLineList.stream().map(HyPartnerLineInfoDO::getId).collect(Collectors.toList());
hyPartnerLineInfoDAO.updateInvestmentManager(userId, otherLineIdList);
hyPartnerLineInfoDAO.updateInvestmentManager(user.getUserId(), otherLineIdList);
//添加日志
partnerLineInfoList.forEach(x->{
LineLogInfo lineLogInfo = new LineLogInfo(x.getPartnerId(), x.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.ALLOCATION_INVESTMENT_MANAGER,
WorkflowStageEnum.getWorkflowStageByCode(x.getWorkflowStage()),
x.getWorkflowStatus(), "");
AllocationInvestmentManagerLogDTO logDTO = AllocationInvestmentManagerLogDTO.builder().allocationUserId(user.getUserId()).allocationUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
});
return Boolean.TRUE;
}
@@ -204,10 +243,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
@Override
public Boolean joinBlackList(String userId,Long lineId, Integer status, String joinReason) {
public Boolean joinBlackList(LoginUserInfo user, Long lineId, Integer status, String joinReason) {
if (lineId==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
HyPartnerLineInfoDO line = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
//加入黑名单 阶段回到第一步待提交状态
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setId(lineId);
@@ -215,16 +255,26 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDO.setJoinBlackReason(joinReason);
hyPartnerLineInfoDO.setRejectRealReason(joinReason);
hyPartnerLineInfoDO.setCloseTime(new Date());
hyPartnerLineInfoDO.setCloseUserId(userId);
hyPartnerLineInfoDO.setCloseUserId(user.getUserId());
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
//添加日志
LineLogInfo lineLogInfo = new LineLogInfo(line.getPartnerId(), line.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.ADD_BLACKLIST,
WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),
line.getWorkflowStatus(), "");
BlackListLogDTO logDTO = BlackListLogDTO.builder().operateUserId(user.getUserId()).reason(joinReason).operateUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE;
}
@Override
public Boolean removeBlackList(Long lineId, Integer status, String removeReason) {
public Boolean removeBlackList(LoginUserInfo user,Long lineId, Integer status, String removeReason) {
//移除黑名单 黑名单线索置为删除状态 新增一条线索
if (lineId==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
@@ -249,16 +299,28 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerBaseInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId());
hyPartnerBaseInfoDO.setPartnerLineId(newHyPartnerLineInfoDO.getId());
hyPartnerBaseInfoDAO.insertSelective(hyPartnerBaseInfoDO);
//添加日志
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfo.getPartnerId(), hyPartnerLineInfo.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.REMOVE_BLACKLIST,
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfo.getWorkflowStage()),
hyPartnerLineInfo.getWorkflowStatus(), "");
BlackListLogDTO logDTO = BlackListLogDTO.builder().operateUserId(user.getUserId()).reason(removeReason).operateUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
public Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest) {
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
if (hyPartnerLineInfoDO==null){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
}
String oldWorkflowStage = hyPartnerLineInfoDO.getWorkflowStage();
String oldWorkflowStatus = hyPartnerLineInfoDO.getWorkflowStatus();
//通过
if ("pass".equals(closeFollowRequest.getType())){
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
@@ -271,7 +333,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
HyPartnerBaseInfoDO hy = hyPartnerBaseInfoDAO.getByPartnerLineId(hyPartnerLineInfoDO.getId());
hy.setPassReason(closeFollowRequest.getPassReason());
hy.setPassTime(new Date());
hy.setPassUserId(userId);
hy.setPassUserId(user.getUserId());
if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){
hy.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()));
}
@@ -294,7 +356,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
hyPartnerLineInfoDO.setCloseTime(new Date());
hyPartnerLineInfoDO.setCloseUserId(userId);
hyPartnerLineInfoDO.setCloseUserId(user.getUserId());
//各阶段单独的逻辑
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),closeFollowRequest);
}
@@ -313,9 +375,25 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDO.setCloseTime(new Date());
}
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
//通过 拒绝添加日志
if ("pass".equals(closeFollowRequest.getType())||"reject".equals(closeFollowRequest.getType())){
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.REMOVE_BLACKLIST,
WorkflowStageEnum.getWorkflowStageByCode(oldWorkflowStage),
oldWorkflowStatus, "");
CloseOrPassFollowLogDTO log = CloseOrPassFollowLogDTO.builder().operateUserId(user.getUserId()).passReason(closeFollowRequest.getPassReason()).rejectRealReason(closeFollowRequest.getRejectRealReason())
.operateUsername(user.getName()).rejectPublicReason(closeFollowRequest.getRejectPublicReason()).certifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()))
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
lineLogInfo.setData(log);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
}
return Boolean.TRUE;
}
@Override
public PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId, LineRequest lineRequest) {
//确认是招商经理还是部门负责人

View File

@@ -75,6 +75,7 @@ public class LoginServiceImpl implements LoginService {
enterpriseUser.setFaceUrl(finalAvatar);
currentUser.setUserId(enterpriseUser.getUserId());
currentUser.setIsAdmin(enterpriseUser.getIsAdmin());
currentUser.setMobile(enterpriseUser.getMobile());
currentUser.setSysRole(sysRole);
currentUser.setCorpId(corpId);
currentUser.setAvatar(enterpriseUser.getAvatar());

View File

@@ -194,14 +194,14 @@ public class DeskController {
@ApiOperation("分配招商经理/批量分配招商经理")
public ResponseResult<Boolean> allocationInvestmentManager(@RequestBody AllocationInvestmentManagerRequest request){
return ResponseResult.success(hyPartnerLineInfoService.allocationInvestmentManager(request.getUserId(),request.getLineIdList()));
return ResponseResult.success(hyPartnerLineInfoService.allocationInvestmentManager(CurrentUserHolder.getUser(),request.getLineIdList()));
}
@PostMapping(path = "/transferInvestmentManager")
@ApiOperation("转让招商经理")
public ResponseResult<Boolean> transferInvestmentManager(@RequestBody TransferInvestmentManagerRequest request){
return ResponseResult.success(hyPartnerLineInfoService.transferInvestmentManager(request.getUserId(),request.getLineId()));
return ResponseResult.success(hyPartnerLineInfoService.transferInvestmentManager(CurrentUserHolder.getUser(),request.getUserId(),request.getUserName(),request.getLineId()));
}
@@ -230,21 +230,21 @@ public class DeskController {
@ApiOperation("移出黑名单")
public ResponseResult<Boolean> removeBlackList(@RequestBody LineBlackListRequest lineBlackListRequest){
return ResponseResult.success(hyPartnerLineInfoService.removeBlackList(lineBlackListRequest.getLineId(), LineStatusEnum.PUBLIC_SEAS.getCode(),lineBlackListRequest.getCause()));
return ResponseResult.success(hyPartnerLineInfoService.removeBlackList(CurrentUserHolder.getUser(),lineBlackListRequest.getLineId(), LineStatusEnum.PUBLIC_SEAS.getCode(),lineBlackListRequest.getCause()));
}
@PostMapping(path = "/joinBlackList")
@ApiOperation("加入黑名单")
public ResponseResult<Boolean> joinBlackList(@RequestBody LineBlackListRequest lineBlackListRequest){
return ResponseResult.success(hyPartnerLineInfoService.joinBlackList(CurrentUserHolder.getUserId(),lineBlackListRequest.getLineId(),LineStatusEnum.BLACKLIST.getCode(),lineBlackListRequest.getCause()));
return ResponseResult.success(hyPartnerLineInfoService.joinBlackList(CurrentUserHolder.getUser(),lineBlackListRequest.getLineId(),LineStatusEnum.BLACKLIST.getCode(),lineBlackListRequest.getCause()));
}
@PostMapping(path = "/closeOrPassFollow")
@ApiOperation("意向申请审核 结束跟进/通过流程")
public ResponseResult<Boolean> closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(CurrentUserHolder.getUserId(),closeFollowRequest));
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(CurrentUserHolder.getUser(),closeFollowRequest));
}