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:'