建模回调代码

master
bynt 8 months ago
parent 9531bfd7aa
commit 72b1eb2a56

@ -0,0 +1,35 @@
package com.baiye.modules.distribute.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.baiye.modules.distribute.dto.PushClueDTO;
import com.baiye.modules.distribute.service.BuildModelService;
import com.baiye.modules.distribute.service.TripartiteService;
import com.baiye.result.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* @author Enzo
* @date 2023-12-6
*/
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/v1/build")
public class ModelCallbackController {
private final BuildModelService buildModelService;
/**
*
*/
@PostMapping("/model/callback")
public R<String> pushClue( @RequestBody String body) {
log.info("=============== the body {} ==============", JSONUtil.toJsonStr(body));
PushClueDTO clueDTO = BeanUtil.toBean(body, PushClueDTO.class);
return Boolean.TRUE.equals(buildModelService.callbackByNid(clueDTO)) ? R.ok("success") : R.failed("message callback failed");
}
}

@ -2,6 +2,8 @@ package com.baiye.modules.distribute.dto;
import lombok.Data;
import java.util.Map;
/**
* @author Enzo
* @date 2023-12-6
@ -37,5 +39,8 @@ public class PushClueDTO {
private String empClientTypeName;
private Map<String, String> clientVariables;
}

@ -0,0 +1,18 @@
package com.baiye.modules.distribute.service;
import com.baiye.modules.distribute.dto.PushClueDTO;
/**
* @author Enzo
* @date 2023-12-6
*/
public interface BuildModelService {
/**
*
* @param body
* @return
*/
Boolean callbackByNid(PushClueDTO body);
}

@ -0,0 +1,82 @@
package com.baiye.modules.distribute.service.impl;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.enums.ClueSourceEnum;
import com.baiye.modules.distribute.dto.CallbackCustomDTO;
import com.baiye.modules.distribute.dto.ClueDTO;
import com.baiye.modules.distribute.dto.PushClueDTO;
import com.baiye.modules.distribute.entity.PushLinkEntity;
import com.baiye.modules.distribute.service.*;
import com.baiye.notify.model.entity.Announcement;
import com.baiye.polling.QueueBalance;
import com.baiye.system.enums.RoleCodeEnum;
import com.baiye.system.model.entity.SysUser;
import com.baiye.system.model.entity.SysUserRolePromise;
import com.baiye.system.service.SysUserRolePromiseService;
import com.baiye.system.service.SysUserRoleService;
import com.baiye.system.service.SysUserService;
import com.baiye.util.AESUtils;
import com.baiye.util.DecryptPnoUtil;
import com.baiye.util.RedisUtils;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.ballcat.security.properties.SecurityProperties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author Enzo
* @date : 2023/12/6
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class BuildModelServiceImpl implements BuildModelService {
@Value("${snowflake.workerId}")
private int workerId;
@Value("${snowflake.datacenterId}")
private int datacenterId;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean callbackByNid(PushClueDTO dto) {
String recId = dto.getRecId();
String called = dto.getCalled();
String remark = dto.getRemark();
String phone = CharSequenceUtil.EMPTY;
String typeName = dto.getEmpClientTypeName();
if (StringUtils.isNotBlank(dto.getMobile())) {
phone = Base64.decodeStr(dto.getMobile());
}
// 格式校验
if (StringUtils.isNotBlank(called) && StringUtils.isNotBlank(typeName)
&& Announcement.TABLE_ALIAS.equalsIgnoreCase(typeName)) {
phone = called.length() > DefaultNumberConstants.ELEVEN_NUMBER
? DecryptPnoUtil.decryptPno(called) : called;
}
if (StringUtils.isNotBlank(phone) ) {
}
return Boolean.TRUE;
}
}

@ -122,9 +122,12 @@ public class ClueServiceImpl extends ExtendServiceImpl<ClueMapper, ClueEntity> i
// // 手机号隐藏中间4位
String decryptNid = AESUtils.decrypt(record.getNid(), securityProperties.getPasswordSecretKey());
if (StringUtils.isNotBlank(decryptNid)) {
// StringBuilder stringBuilder = new StringBuilder(decryptNid);
// String nid = stringBuilder.replace(3, 7, "****").toString();
record.setNid(decryptNid);
if (ObjectUtil.isNotNull(qo.getSalesmanType()) &&
qo.getSalesmanType() > DefaultNumberConstants.ONE_NUMBER &&
qo.getSalesmanType() < DefaultNumberConstants.FOUR_NUMBER){
record.setNid(decryptNid.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"));
}
} else {
record.setNid("");
}

@ -56,7 +56,7 @@ public class ClueVO {
private String clueTime;
@Schema(title = "资源标签")
@ExcelProperty(value = "资源标签", index = 5)
@ExcelProperty(value = "资源标签", index = 6)
private String clueLabel;
@ExcelIgnore
@ -65,7 +65,7 @@ public class ClueVO {
@Schema(title = "创建时间")
@ExcelProperty(value = "线索时间", converter = LocalDateTimeConverter.class, index = 4)
@ExcelProperty(value = "线索时间", converter = LocalDateTimeConverter.class, index = 5)
private LocalDateTime createTime;
@ExcelIgnore
@ -80,7 +80,7 @@ public class ClueVO {
@Schema(title = "资源线索名称")
private String clueStageName;
@ExcelProperty(value = "资源标签集合", converter = CustomStringStringConverter.class, index = 6)
@ExcelProperty(value = "资源标签集合", converter = CustomStringStringConverter.class, index = 7)
@Schema(title = "资源标签集合")
private List<String> clueLabelList;
@ -96,12 +96,12 @@ public class ClueVO {
@Schema(title = "阶段信息")
List<ClueStageEntity> clueStageEntities;
@ExcelProperty(value = "性别", converter = SexConverter.class, index = 3)
@ExcelProperty(value = "性别", converter = SexConverter.class, index = 4)
@Schema(title = "性别(0-男1-女)")
private Integer sex;
@ExcelIgnore
@Schema(title = "客户资料")
@ExcelProperty(value = "客户资料", index = 3)
private String customInformation;
@ExcelIgnore

Loading…
Cancel
Save