From 973d8522f0d5838da7763a32c9576d0418d98efc Mon Sep 17 00:00:00 2001 From: yqy Date: Fri, 17 Nov 2023 17:25:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=9B=B4=E8=BE=BE=E4=BC=98=E5=8C=96+?= =?UTF-8?q?=E5=A4=A7=E5=9D=9D=E7=BA=BF=E7=B4=A2=E6=9C=AC=E5=9C=B0=E8=A7=A3?= =?UTF-8?q?=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/baiye/constant/SecretConstant.java | 27 +++++ .../com/baiye/pojo/SecretResponseBean.java | 43 +++++++ .../java/com/baiye/util/DecryptPnoUtil.java | 106 ++++++++++++++++++ .../controller/DirectClueController.java | 24 ---- .../modules/distribute/dto/DBPushClueDTO.java | 4 + .../distribute/entity/DirectClueEntity.java | 7 +- .../service/impl/DirectClueServiceImpl.java | 34 ++++-- .../impl/OceanEngineClueServiceImpl.java | 21 +--- .../service/impl/OutsideReqServiceImpl.java | 32 ++++-- .../service/impl/PushLinkServiceImpl.java | 15 +-- .../com/baiye/task/SyncTaskServiceImpl.java | 3 +- .../baiye/task/service/SyncTaskService.java | 2 +- admin/src/main/resources/application-test.yml | 2 +- 13 files changed, 235 insertions(+), 85 deletions(-) create mode 100644 ad-distribute-common/common-core/src/main/java/com/baiye/constant/SecretConstant.java create mode 100644 ad-distribute-common/common-core/src/main/java/com/baiye/pojo/SecretResponseBean.java create mode 100644 ad-distribute-common/common-core/src/main/java/com/baiye/util/DecryptPnoUtil.java diff --git a/ad-distribute-common/common-core/src/main/java/com/baiye/constant/SecretConstant.java b/ad-distribute-common/common-core/src/main/java/com/baiye/constant/SecretConstant.java new file mode 100644 index 0000000..ba2ed87 --- /dev/null +++ b/ad-distribute-common/common-core/src/main/java/com/baiye/constant/SecretConstant.java @@ -0,0 +1,27 @@ +package com.baiye.constant; + +/** + * 有关加解密的常量类 + */ +public class SecretConstant { + + /** + * yuyou address + */ + public static final String SECRET_DECRYPT_YY_URL = "https://bd.hzdaba.cn:8085/v3/Accounts/yuyou_bd/BigData/DecryptTel"; + + /** + * yuyou sign + */ + public static final String SECRET_DECRYPT_YY_SIG = "7f49e3f9c17c0f3c8fca84168161ed37"; + + /** + * yuyou id + */ + public static final String SECRET_DECRYPT_YY_ID = "yuyou_bd"; + + /** + * 时间戳格式 + */ + public static final String SECRET_DECRYPT_TIME_FORMATE = "yyyyMMddHHmmss"; +} diff --git a/ad-distribute-common/common-core/src/main/java/com/baiye/pojo/SecretResponseBean.java b/ad-distribute-common/common-core/src/main/java/com/baiye/pojo/SecretResponseBean.java new file mode 100644 index 0000000..5ee528a --- /dev/null +++ b/ad-distribute-common/common-core/src/main/java/com/baiye/pojo/SecretResponseBean.java @@ -0,0 +1,43 @@ +package com.baiye.pojo; + +public class SecretResponseBean { + + private String result; + + private String reason; + + private String tels; + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + public String getTels() { + return tels; + } + + public void setTels(String tels) { + this.tels = tels; + } + + @Override + public String toString() { + return "SecretResponseBean{" + + "result='" + result + '\'' + + ", reason='" + reason + '\'' + + ", tels='" + tels + '\'' + + '}'; + } +} diff --git a/ad-distribute-common/common-core/src/main/java/com/baiye/util/DecryptPnoUtil.java b/ad-distribute-common/common-core/src/main/java/com/baiye/util/DecryptPnoUtil.java new file mode 100644 index 0000000..517e3fd --- /dev/null +++ b/ad-distribute-common/common-core/src/main/java/com/baiye/util/DecryptPnoUtil.java @@ -0,0 +1,106 @@ +package com.baiye.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.StrPool; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.http.Header; +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONUtil; +import com.baiye.constant.DefaultNumberConstants; +import com.baiye.constant.SecretConstant; +import com.baiye.pojo.SecretResponseBean; +import com.google.common.base.Joiner; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +/** + * @author jt + */ +@Slf4j +public class DecryptPnoUtil { + private static final String HTTP_RESPONSE_JSON_FORMATE = "application/x-www-form-urlencoded"; + + public static String decryptPno(String origins) { + HashMap paramMap = new HashMap<>(); + paramMap.put("sig", createSig()); + paramMap.put("appid", SecretConstant.SECRET_DECRYPT_YY_ID); + paramMap.put("tels", Base64.encode(origins)); + //链式构建请求 + String result = HttpRequest.post(SecretConstant.SECRET_DECRYPT_YY_URL) + .header(Header.CONTENT_TYPE, HTTP_RESPONSE_JSON_FORMATE) + .form(paramMap) + .timeout(2_000) + .execute().body(); + SecretResponseBean secretResponseBean = JSONUtil.toBean(result, SecretResponseBean.class); + return Base64.decodeStr(secretResponseBean.getTels()); + } + + + /** + * 生成 sig 值 + * + * @return sig + */ + private static String createSig() { + return SecureUtil.md5( + SecretConstant.SECRET_DECRYPT_YY_ID + + SecretConstant.SECRET_DECRYPT_YY_SIG + + DateUtil.format(new Date(), SecretConstant.SECRET_DECRYPT_TIME_FORMATE)); + } + + + + /** + * 批量解密 + * + * @param origins 待处理的加密数据 + * @return 处理后的解密数据 + */ + public static SecretResponseBean batchDecryptPno(String origins) { + + + HashMap paramMap = new HashMap<>(); + paramMap.put("sig", createSig()); + paramMap.put("appid", SecretConstant.SECRET_DECRYPT_YY_ID); + paramMap.put("tels", origins); + + //链式构建请求 + String result = HttpRequest.post(SecretConstant.SECRET_DECRYPT_YY_URL) + .header(Header.CONTENT_TYPE, HTTP_RESPONSE_JSON_FORMATE) + .form(paramMap) + .timeout(2_000) + .execute().body(); + // 解析响应内容 + return JSONUtil.toBean(result, SecretResponseBean.class); + } + + public static List decryptPhoneList(List phoneSets) { + List decryptList = Lists.newArrayList(); + // 集合分割 + List> partitions = ListUtil.partition(phoneSets, DefaultNumberConstants.TWO_HUNDRED); + for (List partition : partitions) { + String join = Joiner.on(StrPool.COMMA).skipNulls().join(partition); + // 批量解析号码 + SecretResponseBean responseBean = DecryptPnoUtil.batchDecryptPno + (Base64.encode(StringUtils.substringBeforeLast(join, StrPool.COMMA))); + if (ObjectUtil.isNotNull(responseBean) && ObjectUtil.isNotNull(responseBean.getTels())) { + String decodeStr = Base64.decodeStr(responseBean.getTels()); + String[] split = decodeStr.split(StrPool.COMMA); + if (split.length > DefaultNumberConstants.ZERO_NUMBER) { + decryptList.addAll(Lists.newArrayList(Arrays.asList(split))); + } + } + } + return decryptList; + } + +} diff --git a/admin/src/main/java/com/baiye/modules/distribute/controller/DirectClueController.java b/admin/src/main/java/com/baiye/modules/distribute/controller/DirectClueController.java index 9376134..f945199 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/controller/DirectClueController.java +++ b/admin/src/main/java/com/baiye/modules/distribute/controller/DirectClueController.java @@ -1,19 +1,13 @@ package com.baiye.modules.distribute.controller; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import com.baiye.domain.PageParam; import com.baiye.domain.PageResult; -import com.baiye.modules.distribute.dto.DirectClueDTO; import com.baiye.modules.distribute.entity.DirectClueUserEntity; import com.baiye.modules.distribute.qo.DirectClueQo; import com.baiye.modules.distribute.service.DirectClueService; -import com.baiye.modules.distribute.service.OceanEngineClueService; import com.baiye.modules.distribute.vo.DirectClueVO; -import com.baiye.result.BaseResultCode; import com.baiye.result.R; import com.baiye.security.util.SecurityUtils; -import com.baiye.validation.group.UpdateGroup; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -31,8 +25,6 @@ public class DirectClueController { private final DirectClueService directClueService; - private final OceanEngineClueService oceanEngineClueService; - @GetMapping("/page") @Operation(summary = "分页查询资源") public R> getClueRecordPage(@Validated PageParam pageParam, DirectClueQo qo) { @@ -44,25 +36,9 @@ public class DirectClueController { return R.ok(directClueService.queryPage(pageParam, qo)); } - @PostMapping("/update") - @Operation(summary = "修改", description = "修改") - public R update(@Validated({UpdateGroup.class}) @RequestBody DirectClueDTO directClueDTO) { - return directClueService.update(directClueDTO) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败"); - } - @PostMapping("/distribute") @Operation(summary = "分发员分发") public R distribute(@Valid @RequestBody List directClueUserList) { return R.ok(directClueService.distribute(directClueUserList)); } - - @GetMapping("/test") - @Operation(summary = "分页查询资源") - public R test() { - DateTime date = DateUtil.parse("2023-11-02 00:00:00"); - DateTime date2 = DateUtil.parse("2023-11-03 23:00:00"); - oceanEngineClueService.getFeiYuSource(date, date2); - return R.ok(); - } - } diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/DBPushClueDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/DBPushClueDTO.java index eaa2458..c06cf47 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/dto/DBPushClueDTO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/dto/DBPushClueDTO.java @@ -56,4 +56,8 @@ public class DBPushClueDTO { private String remark; + /** + * 人工审核推送手机号, mobile就不是手机号字段了 + */ + private String called; } diff --git a/admin/src/main/java/com/baiye/modules/distribute/entity/DirectClueEntity.java b/admin/src/main/java/com/baiye/modules/distribute/entity/DirectClueEntity.java index be386d0..28ffd99 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/entity/DirectClueEntity.java +++ b/admin/src/main/java/com/baiye/modules/distribute/entity/DirectClueEntity.java @@ -57,14 +57,9 @@ public class DirectClueEntity extends BaseEntity { @Schema(title = "其它线索信息") private String otherClue; - public DirectClueEntity(String batchNo, String customName, String nid, Integer originType, Integer effectiveStatus, Integer distributeType, LocalDateTime distributeDate, String otherClue) { - this.batchNo = batchNo; + public DirectClueEntity(String customName, String nid, String otherClue) { this.customName = customName; this.nid = nid; - this.originType = originType; - this.effectiveStatus = effectiveStatus; - this.distributeType = distributeType; - this.distributeDate = distributeDate; this.otherClue = otherClue; } } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/DirectClueServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/DirectClueServiceImpl.java index a9a8a84..d605768 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/DirectClueServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/DirectClueServiceImpl.java @@ -1,7 +1,6 @@ package com.baiye.modules.distribute.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baiye.domain.PageParam; import com.baiye.domain.PageResult; @@ -20,6 +19,7 @@ import com.baiye.system.enums.RoleCodeEnum; import com.baiye.system.model.dto.SysUserNameRoleDTO; import com.baiye.system.service.SysUserService; import com.baiye.util.AESUtils; +import com.baiye.util.MobileUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import lombok.RequiredArgsConstructor; @@ -28,6 +28,9 @@ import org.ballcat.security.properties.SecurityProperties; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -51,13 +54,13 @@ public class DirectClueServiceImpl extends ExtendServiceImpl pageResult = baseMapper.queryPage(pageParam, qo); List recordList = pageResult.getRecords(); - if (CollUtil.isNotEmpty(recordList)){ + if (CollUtil.isNotEmpty(recordList)) { // 线索接收人映射信息 Map> map = new HashMap<>(); - if (qo.getDistributeUserId() != null){ + if (qo.getDistributeUserId() != null) { List ids = recordList.stream().map(DirectClueVO::getDirectClueId).collect(Collectors.toList()); List userEntities = directClueUserMapper.selectList(new LambdaQueryWrapper().in(DirectClueUserEntity::getClueId, ids)); - map = userEntities.stream().collect(Collectors.groupingBy(DirectClueUserEntity::getClueId)); + map = userEntities.stream().collect(Collectors.groupingBy(DirectClueUserEntity::getClueId)); } for (DirectClueVO directClueVO : recordList) { // 手机号解密 显示位数 @@ -69,18 +72,18 @@ public class DirectClueServiceImpl extends ExtendServiceImpl directClueUserEntities = map.get(directClueVO.getDirectClueId()); List userNames = directClueUserEntities.stream().map(DirectClueUserEntity::getUserName).collect(Collectors.toList()); directClueVO.setUserNameList(userNames); } // 其它线索信息转换 - if (StringUtils.isNotBlank(directClueVO.getOtherClue())){ + if (StringUtils.isNotBlank(directClueVO.getOtherClue())) { directClueVO.setOtherClueObj(JSONUtil.parseObj(directClueVO.getOtherClue())); directClueVO.setOtherClue(""); } @@ -105,18 +108,27 @@ public class DirectClueServiceImpl extends ExtendServiceImpl directClueEntityList) { if (userId != null && CollUtil.isNotEmpty(directClueEntityList)) { - List sysUserNameRoleDTOS = sysUserService.listByRoleCodeAndUserId(RoleCodeEnum.find(25L), userId); + Date date = new Date(); + LocalDateTime dateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + List sysUserNameRoleDTOS = sysUserService.listByRoleCodeAndUserId(RoleCodeEnum.find(25L), userId); List userIdList = sysUserNameRoleDTOS.stream().map(SysUserNameRoleDTO::getUserId).collect(Collectors.toList()); int index = 0; if (userIndexMap.containsKey(userId)) index = userIndexMap.get(userId); + for (DirectClueEntity directClueEntity : directClueEntityList) { directClueEntity.setDistributeUserId(userIdList.get(index)); - if (index < userIdList.size() - 1) index++; - else index = 0; + directClueEntity.setCreateBy(userId); + directClueEntity.setDistributeDate(dateTime); + directClueEntity.setOriginType(0); + directClueEntity.setEffectiveStatus(0); + directClueEntity.setDistributeType(0); + if (MobileUtil.checkPhone(directClueEntity.getNid())) { + directClueEntity.setNid(AESUtils.encrypt(directClueEntity.getNid(), securityProperties.getPasswordSecretKey())); + } + index = (index < userIdList.size() - 1) ? index + 1 : 0; } userIndexMap.put(userId, index); - baseMapper.insertBatchSomeColumn(directClueEntityList); } } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/OceanEngineClueServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/OceanEngineClueServiceImpl.java index f48e789..40aaa2f 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/OceanEngineClueServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/OceanEngineClueServiceImpl.java @@ -3,7 +3,6 @@ package com.baiye.modules.distribute.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.URLUtil; import cn.hutool.http.HttpRequest; - import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -18,17 +17,12 @@ import com.baiye.modules.distribute.mapper.OceanEngineSourceMapper; import com.baiye.modules.distribute.service.DirectClueService; import com.baiye.modules.distribute.service.OceanEngineClueService; import com.baiye.modules.distribute.service.OceanEngineService; -import com.baiye.util.AESUtils; -import com.baiye.util.MobileUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.ballcat.security.properties.SecurityProperties; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.nio.charset.Charset; -import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -43,8 +37,6 @@ public class OceanEngineClueServiceImpl extends ExtendServiceImpl().eq(PushLinkEntity::getUserId, userId)); + PushLinkEntity pushLinkEntity = baseMapper.selectOne(new LambdaQueryWrapper().eq(PushLinkEntity::getUserId, userId)); if (pushLinkEntity != null) { dbPushUrl = dbPushUrl.concat(pushLinkEntity.getAppKey()).concat("?dataType=detail&encrypt=1"); } @@ -45,18 +43,15 @@ public class PushLinkServiceImpl extends ExtendServiceImpl().eq(PushLinkEntity::getAppKey, appKey)); - if (entity == null) - break; + PushLinkEntity entity = baseMapper.selectOne(new LambdaQueryWrapper().eq(PushLinkEntity::getAppKey, appKey)); + if (entity == null) break; appKey = AppUtils.getAppId(); } dbPushUrl = dbPushUrl.concat(appKey).concat("?dataType=detail&encrypt=1"); // 创建记录(任务) - ClueRecordEntity clueRecordEntity = clueRecordService - .addDefaultRecordService(SecurityUtils.getCurrentUserId(), dtoName, dtoName); + ClueRecordEntity clueRecordEntity = clueRecordService.addDefaultRecordService(SecurityUtils.getCurrentUserId(), dtoName, dtoName); + Long recordId = clueRecordEntity.getClueRecordId(); - // 插入数据 PushLinkEntity saveEntity = new PushLinkEntity(); saveEntity.setUserId(userId); saveEntity.setAppKey(appKey); diff --git a/admin/src/main/java/com/baiye/task/SyncTaskServiceImpl.java b/admin/src/main/java/com/baiye/task/SyncTaskServiceImpl.java index 18a58c7..689535d 100644 --- a/admin/src/main/java/com/baiye/task/SyncTaskServiceImpl.java +++ b/admin/src/main/java/com/baiye/task/SyncTaskServiceImpl.java @@ -37,7 +37,7 @@ public class SyncTaskServiceImpl implements SyncTaskService { private final DistributeTaskService distributeTaskService; @Override - public void pushClueExecuteTask(String appKey, String mobile) { + public void pushClueExecuteTask(String appKey, String mobile, String remark) { // 查询appKey映射的记录 PushLinkEntity linkEntity = pushLinkService.getByAppKey(appKey); if (linkEntity != null) { @@ -47,6 +47,7 @@ public class SyncTaskServiceImpl implements SyncTaskService { clueEntity.setClueRecordId(linkEntity.getClueRecordId()); // clueEntity.setOtherClue(JSONUtil.toJsonStr(dbPushClueDTO)); clueEntity.setCreateBy(linkEntity.getCreateBy()); + clueEntity.setRemark(remark); clueService.save(clueEntity); // 执行任务 DistributeTaskEntity entity = distributeTaskMapper.selectOne( diff --git a/admin/src/main/java/com/baiye/task/service/SyncTaskService.java b/admin/src/main/java/com/baiye/task/service/SyncTaskService.java index b72b083..765febd 100644 --- a/admin/src/main/java/com/baiye/task/service/SyncTaskService.java +++ b/admin/src/main/java/com/baiye/task/service/SyncTaskService.java @@ -6,7 +6,7 @@ import org.springframework.scheduling.annotation.Async; public interface SyncTaskService { @Async - void pushClueExecuteTask(String appKey, String mobile); + void pushClueExecuteTask(String appKey, String mobile, String remark); @Async void clueUpload(ClueRecordEntity clueRecordEntity); diff --git a/admin/src/main/resources/application-test.yml b/admin/src/main/resources/application-test.yml index bbce245..bd2b6a0 100644 --- a/admin/src/main/resources/application-test.yml +++ b/admin/src/main/resources/application-test.yml @@ -19,7 +19,7 @@ business: #门店专员 storeCode: ROLE_STORE_SALESMAN urls: - dbPushUrl: http://cs.tuoz.net:8100/outside/pushClue/ + dbPushUrl: http://39.100.77.21:8001/api/outside/pushClue/ #mybatis plus 设置 mybatis-plus: From 459be655cf8137675a5a08c4cfba0553b5b0daf9 Mon Sep 17 00:00:00 2001 From: yqy Date: Tue, 21 Nov 2023 15:40:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E8=AF=84=E7=BA=A7A=E8=B5=84=E6=BA=90(=E6=AD=A3=E5=BC=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OutsideReqServiceImpl.java | 21 +++++++++---------- .../task/DistributeTaskSyncServiceImpl.java | 3 --- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/OutsideReqServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/OutsideReqServiceImpl.java index 76029b9..630bc5b 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/OutsideReqServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/OutsideReqServiceImpl.java @@ -41,26 +41,26 @@ public class OutsideReqServiceImpl implements OutsideReqService { if (dbPushClueDTO != null && (dbPushClueDTO.getMobile() != null || dbPushClueDTO.getCalled() != null)) { String mobileDecodeStr = null; String remark = dbPushClueDTO.getRemark(); + String empClientTypeName = dbPushClueDTO.getEmpClientTypeName(); + String called = dbPushClueDTO.getCalled(); try { if (StringUtils.isNotBlank(dbPushClueDTO.getMobile())) { byte[] mobileDecode = Base64.getDecoder().decode(dbPushClueDTO.getMobile()); mobileDecodeStr = new String(mobileDecode, StandardCharsets.UTF_8); - } - if (StringUtils.isNotBlank(dbPushClueDTO.getCalled())) { - mobileDecodeStr = DecryptPnoUtil.decryptPno(dbPushClueDTO.getCalled()); + } else if (StringUtils.isNotBlank(called) && StringUtils.isNotBlank(empClientTypeName) && empClientTypeName.equals("A")) { + mobileDecodeStr = DecryptPnoUtil.decryptPno(called); + }else { + return; } } catch (Exception e) { - log.error("============推送解密手机号失败============"); + log.error("============解密手机号失败============"); return; } // 添加线索 - if (MobileUtil.checkPhone(mobileDecodeStr)){ - syncTaskService.pushClueExecuteTask(appKey, mobileDecodeStr, remark); - } + boolean bool = MobileUtil.checkPhone(mobileDecodeStr); + if (bool) syncTaskService.pushClueExecuteTask(appKey, mobileDecodeStr, remark); else log.error("============号码非法============"); - } else { - log.info("============空数据 或 空手机号============"); } } @@ -69,8 +69,7 @@ public class OutsideReqServiceImpl implements OutsideReqService { String appKey = receivePushLeadsDTO.getAppKey(); List clueList = receivePushLeadsDTO.getClueList(); - UserSecretKeyEntity entity = userSecretKeyMapper - .selectOne(new LambdaQueryWrapper().eq(UserSecretKeyEntity::getAppKey, appKey)); + UserSecretKeyEntity entity = userSecretKeyMapper.selectOne(new LambdaQueryWrapper().eq(UserSecretKeyEntity::getAppKey, appKey)); if (entity != null && CollUtil.isNotEmpty(clueList)) { List clueEntityList = new ArrayList<>(); for (String clueStr : clueList) { diff --git a/admin/src/main/java/com/baiye/task/DistributeTaskSyncServiceImpl.java b/admin/src/main/java/com/baiye/task/DistributeTaskSyncServiceImpl.java index fa9ec88..d2c796d 100644 --- a/admin/src/main/java/com/baiye/task/DistributeTaskSyncServiceImpl.java +++ b/admin/src/main/java/com/baiye/task/DistributeTaskSyncServiceImpl.java @@ -9,8 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -22,7 +20,6 @@ public class DistributeTaskSyncServiceImpl implements DistributeTaskSyncService private final DistributeTaskMapper distributeTaskMapper; @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public void executeTask(List userIdList, DistributeTaskService distributeTaskService) { List taskEntities = distributeTaskMapper .selectList(new LambdaQueryWrapper().eq(DistributeTaskEntity::getDefaultType, 0)