From 14438d3bd402021696ef4ff46b3ce5d5effb1cbd Mon Sep 17 00:00:00 2001
From: bynt <13586541001@163.com>
Date: Mon, 11 Dec 2023 14:22:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/baiye/enums/SalesManEnum.java | 6 +--
.../ad-distribute-starter-easyexcel/pom.xml | 6 ++-
.../excel/converters/ChannelConverter.java | 47 +++++++++++++++++++
.../controller/TripartiteController.java | 9 +++-
.../distribute/dto/CallbackCustomDTO.java | 6 +++
.../distribute/entity/PushLinkEntity.java | 3 +-
.../modules/distribute/mapper/ClueMapper.java | 16 +++----
.../baiye/modules/distribute/qo/ClueQo.java | 4 ++
.../service/impl/CustomServiceImpl.java | 13 ++---
.../impl/OceanEngineClueServiceImpl.java | 6 +--
.../service/impl/OceanEngineServiceImpl.java | 5 +-
.../service/impl/TripartiteServiceImpl.java | 5 +-
.../baiye/modules/distribute/vo/ClueVO.java | 5 +-
admin/src/main/resources/application.yml | 3 +-
14 files changed, 105 insertions(+), 29 deletions(-)
create mode 100644 ad-distribute-starters/ad-distribute-starter-easyexcel/src/main/java/com/baiye/common/excel/converters/ChannelConverter.java
diff --git a/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java b/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java
index 6461214..feb1b4b 100644
--- a/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java
+++ b/ad-distribute-common/common-core/src/main/java/com/baiye/enums/SalesManEnum.java
@@ -34,9 +34,9 @@ import java.util.Objects;
public enum SalesManEnum {
/**
- * 分发员
+ * 录入员
*/
- DISPENSER(19L, 1),
+ ENTRY_CLERK(19L, 1),
/**
* 初审员
@@ -51,7 +51,7 @@ public enum SalesManEnum {
/**
* 业务主管
*/
- EXECUTIVE(14L, 0),
+ EXECUTIVE(22L, 0),
/**
* 复审员
diff --git a/ad-distribute-starters/ad-distribute-starter-easyexcel/pom.xml b/ad-distribute-starters/ad-distribute-starter-easyexcel/pom.xml
index a7970cc..89d5752 100644
--- a/ad-distribute-starters/ad-distribute-starter-easyexcel/pom.xml
+++ b/ad-distribute-starters/ad-distribute-starter-easyexcel/pom.xml
@@ -70,5 +70,9 @@
spring-boot-starter-web
test
-
+
+ com.baiye
+ common-core
+
+
diff --git a/ad-distribute-starters/ad-distribute-starter-easyexcel/src/main/java/com/baiye/common/excel/converters/ChannelConverter.java b/ad-distribute-starters/ad-distribute-starter-easyexcel/src/main/java/com/baiye/common/excel/converters/ChannelConverter.java
new file mode 100644
index 0000000..fcc0773
--- /dev/null
+++ b/ad-distribute-starters/ad-distribute-starter-easyexcel/src/main/java/com/baiye/common/excel/converters/ChannelConverter.java
@@ -0,0 +1,47 @@
+package com.baiye.common.excel.converters;
+
+import cn.hutool.core.text.CharSequenceUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.ReadCellData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.baiye.constant.DefaultNumberConstants;
+import com.baiye.enums.ChannelTypeEnum;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * @author Enzo
+ * @date : 2023/12/9
+ */
+public class ChannelConverter implements Converter {
+
+
+ @Override
+ public Class> supportJavaTypeKey() {
+ return Integer.class;
+ }
+
+ @Override
+ public CellDataTypeEnum supportExcelTypeKey() {
+ return CellDataTypeEnum.STRING;
+ }
+
+ @Override
+ public Integer convertToJavaData(ReadCellData> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+ if (StringUtils.isNotBlank(cellData.getStringValue())) {
+ return Integer.parseInt(cellData.getStringValue());
+ }
+ return DefaultNumberConstants.MINUS_ONE_NUMBER;
+ }
+
+
+ @Override
+ public WriteCellData> convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+ return ObjectUtil.isNotNull(value) ? new WriteCellData<>(ChannelTypeEnum.find(value)) : new WriteCellData<>(CharSequenceUtil.EMPTY);
+
+ }
+
+}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/controller/TripartiteController.java b/admin/src/main/java/com/baiye/modules/distribute/controller/TripartiteController.java
index 5f4bed8..9b69904 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/controller/TripartiteController.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/controller/TripartiteController.java
@@ -1,17 +1,20 @@
package com.baiye.modules.distribute.controller;
+import cn.hutool.json.JSONUtil;
import com.baiye.modules.distribute.dto.PushClueDTO;
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
*/
-@RequiredArgsConstructor
+@Slf4j
@RestController
+@RequiredArgsConstructor
@RequestMapping("/v1/tripartite")
public class TripartiteController {
@@ -21,7 +24,9 @@ public class TripartiteController {
* 推送资源
*/
@PostMapping("/push/clue/{appKey}")
- public R pushClue(@PathVariable("appKey") String appKey, @RequestBody PushClueDTO dto) {
+ public R pushClue(@PathVariable("appKey") String appKey, @RequestBody String body) {
+ log.info(" =============== the body as {} ===============", body);
+ PushClueDTO dto = JSONUtil.toBean(body, PushClueDTO.class);
return Boolean.TRUE.equals(tripartiteService.callbackByAppKeyAndNid
(appKey, dto)) ? R.ok("success") : R.failed("message callback failed");
}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/CallbackCustomDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/CallbackCustomDTO.java
index e4cb087..59f9110 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/dto/CallbackCustomDTO.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/dto/CallbackCustomDTO.java
@@ -13,6 +13,8 @@ import java.util.List;
@Builder
public class CallbackCustomDTO {
+ private Integer sex;
+
private String remark;
private Long companyId;
@@ -21,6 +23,8 @@ public class CallbackCustomDTO {
private String customName;
+ private Integer customType;
+
private String customNid;
private Integer channelType;
@@ -29,6 +33,8 @@ public class CallbackCustomDTO {
private Long distributeId;
+ private String channelName;
+
private List identifying;
}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/entity/PushLinkEntity.java b/admin/src/main/java/com/baiye/modules/distribute/entity/PushLinkEntity.java
index 0cc64d0..f1c9ce4 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/entity/PushLinkEntity.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/entity/PushLinkEntity.java
@@ -3,6 +3,7 @@ package com.baiye.modules.distribute.entity;
import com.baiye.entity.BaseEntity;
import com.baiye.extend.mybatis.plus.alias.TableAlias;
import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler;
+import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -21,7 +22,7 @@ public class PushLinkEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
- @TableId
+ @TableId(type = IdType.AUTO)
@Schema(title = "ID")
private Long id;
diff --git a/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java b/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java
index beb9502..9e142fe 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java
@@ -58,14 +58,14 @@ public interface ClueMapper extends ExtendMapper {
LambdaQueryWrapperX wrapperX = WrappersX.lambdaQueryX(ClueEntity.class);
wrapperX.eqIfPresent(ClueEntity::getDeleted, 0)
- .eqIfPresent(ClueEntity::getNid, qo.getNid())
- .eqIfPresent(ClueEntity::getClueId, qo.getClueId())
- .eqIfPresent(ClueEntity::getCreateBy, qo.getCreateBy())
- .likeIfPresent(ClueEntity::getClueLabelName, qo.getClueLabelName())
- .eqIfPresent(ClueEntity::getAssignedBy, qo.getAssignedBy())
- .eqIfPresent(ClueEntity::getCompanyId, qo.getCompanyId())
- .orderByDesc(ClueEntity::getCreateTime);
-
+ .eqIfPresent(ClueEntity::getNid, qo.getNid())
+ .eqIfPresent(ClueEntity::getClueId, qo.getClueId())
+ .eqIfPresent(ClueEntity::getCreateBy, qo.getCreateBy())
+ .likeIfPresent(ClueEntity::getClueLabelName, qo.getClueLabelName())
+ .eqIfPresent(ClueEntity::getAssignedBy, qo.getAssignedBy())
+ .eqIfPresent(ClueEntity::getCompanyId, qo.getCompanyId())
+ .inIfPresent(ClueEntity::getAssignedBy, (Object[]) qo.getSalesmanArray())
+ .orderByDesc(ClueEntity::getCreateTime);
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
wrapperX.between(ClueEntity::getCreateTime, qo.getStartTime(), qo.getEndTime());
}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/qo/ClueQo.java b/admin/src/main/java/com/baiye/modules/distribute/qo/ClueQo.java
index 04d4e08..994b1e6 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/qo/ClueQo.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/qo/ClueQo.java
@@ -34,4 +34,8 @@ public class ClueQo {
@Schema(title = "业务类型")
private Integer salesmanType;
+
+ @Schema(title = "业务员id")
+ private Long[] salesmanArray;
+
}
diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java
index d71c69b..1fd582e 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java
@@ -8,7 +8,6 @@ import cn.hutool.core.util.ObjectUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
-import com.baiye.enums.ClueSourceEnum;
import com.baiye.exception.BadRequestException;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.baiye.modules.distribute.converter.CustomConverter;
@@ -47,7 +46,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -176,9 +174,9 @@ public class CustomServiceImpl extends ExtendServiceImpl customEntities = Lists.newArrayList();
CustomEntity entity = new CustomEntity();
for (CallbackCustomDTO dto : dtoList) {
+ entity.setSex(dto.getSex());
entity.setRemark(dto.getRemark());
entity.setCustomNid(dto.getCustomNid());
- entity.setChannelType(dto.getChannelType());
entity.setCreateBy(dto.getReportUserId());
+ entity.setChannelName(dto.getChannelName());
+ entity.setChannelType(dto.getChannelType());
entity.setDistributorId(dto.getDistributeId());
entity.setChannelIdentifying(dto.getIdentifying());
customEntities.add(getCustomEntity(entity, dto.getCompanyId(), dto.getEnterName()));
@@ -279,11 +279,12 @@ public class CustomServiceImpl extends ExtendServiceImpl DefaultNumberConstants.ONE_NUMBER) {
long parseLong = Long.parseLong(split[DefaultNumberConstants.ZERO_NUMBER]);
String authorizeName = split[DefaultNumberConstants.ONE_NUMBER];
- OceanEngineToken byUserId = oceanEngineTokenMapper.selectOne(WrappersX.lambdaAliasQueryX(OceanEngineToken.class)
+ OceanEngineToken byUserId = oceanEngineTokenMapper.selectOne(WrappersX.lambdaQueryX(OceanEngineToken.class)
.eq(OceanEngineToken::getUserId, parseLong).eq(OceanEngineToken::getAuthorizeName, authorizeName));
if (ObjectUtil.isNull(byUserId)) {
byUserId = new OceanEngineToken();
@@ -100,6 +102,7 @@ public class OceanEngineServiceImpl extends ExtendServiceImpl balance = new QueueBalance<>();
Long distributeId = balance.chooseOne(userList);
+ log.info("============ the distribute id {} this assigned id {} ============", userList, distributeId);
if (ObjectUtil.isNotNull(distributeId)) {
SysUserRolePromise promise = sysUserRolePromiseService.queryIsShowByUserId(distributeId);
if (ObjectUtil.isNotNull(promise) && ObjectUtil.isNotNull
@@ -109,8 +110,8 @@ public class TripartiteServiceImpl implements TripartiteService {
clueService.saveClueListByStoreInfo(list);
}
SysUser byId = sysUserService.findById(reportUserId);
- CallbackCustomDTO customDTO = CallbackCustomDTO.builder().channelType(DefaultNumberConstants.FOUR_NUMBER).customNid
- (phone).distributeId(distributeId).identifying(channelIdentifying).reportUserId(reportUserId).remark(remark).companyId
+ CallbackCustomDTO customDTO = CallbackCustomDTO.builder().channelType(DefaultNumberConstants.FOUR_NUMBER).customNid(phone).channelName(byAppKey.getName()).
+ distributeId(distributeId).sex(DefaultNumberConstants.MINUS_ONE_NUMBER).identifying(channelIdentifying).reportUserId(reportUserId).remark(remark).companyId
(byId.getWhichUserId()).enterName(byId.getUsername()).build();
// 插入资源表
diff --git a/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java b/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java
index 358308a..e00b157 100644
--- a/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java
+++ b/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java
@@ -23,12 +23,14 @@ public class ClueVO {
@Schema(title = "是否有效")
private Boolean isEffective;
+
@Schema(title = "手机号")
@ExcelProperty(value = "手机号", converter = NidStringConverter.class, index = 0)
private String nid;
+
@Schema(title = "线索来源")
- @ExcelProperty(value = "线索来源", index = 1)
+ @ExcelProperty(value = "线索来源名称", index = 1)
private String originName;
@@ -107,6 +109,7 @@ public class ClueVO {
private List channelIdentifying;
@ExcelIgnore
+ // @ExcelProperty(value = "线索来源渠道", converter = ChannelConverter.class, index = 7)
@Schema(title = "渠道类型渠道类型(1 手动创建 2文件上传 3飞鱼回传 4话单回传 5 api回传)")
private Integer channelType;
diff --git a/admin/src/main/resources/application.yml b/admin/src/main/resources/application.yml
index 9dea318..f2b2310 100644
--- a/admin/src/main/resources/application.yml
+++ b/admin/src/main/resources/application.yml
@@ -5,7 +5,7 @@ spring:
application:
name: @artifactId@
profiles:
- active: dev
+ active: test
# 天爱图形验证码
@@ -54,6 +54,7 @@ ballcat:
- /outside/**
- /store/**
- /v1/tripartite/**
+ - /api/oceanEngine/**
# 项目 redis 缓存的 key 前缀
redis:
key-prefix: 'ballcat:'