diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptPhoneUtil.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptPhoneUtil.java index edc8fc1a..69126ae7 100644 --- a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptPhoneUtil.java +++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptPhoneUtil.java @@ -3,11 +3,14 @@ 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.CharSequenceUtil; import cn.hutool.core.text.StrPool; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.http.Header; +import cn.hutool.http.HttpException; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; import com.baiye.constant.DefaultNumberConstants; @@ -19,6 +22,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.log4j.chainsaw.Main; import java.util.*; @@ -29,29 +33,6 @@ import java.util.*; public class EncryptPhoneUtil { private static final String HTTP_RESPONSE_JSON_FORMATE = "application/x-www-form-urlencoded"; - public static String encryptPno(String tels) { - HashMap paramMap = Maps.newHashMap(); - paramMap.put("sig", createSig()); - paramMap.put("appid", SecretConstant.SECRET_DECRYPT_YY_ID); - paramMap.put("tels", Base64.encode(tels)); - //链式构建请求 - String result = HttpRequest.post(SecretConstant.SECRET_ENCRYPT_YY_URL) - .header(Header.CONTENT_TYPE, HTTP_RESPONSE_JSON_FORMATE) - .form(paramMap) - .timeout(2_000) - .execute().body(); - SecretResponseBean secretResponseBean = JSONUtil.toBean(result, SecretResponseBean.class); - String nid = Base64.decodeStr(secretResponseBean.getTels()); - - // 解析响应内容 - if (!MobileUtil.checkPhone(nid)) { - log.error("===========解密失败或者号码为空======="); - return null; - } - return nid; - } - - /** * 生成 sig 值 * @@ -65,7 +46,6 @@ public class EncryptPhoneUtil { } - /** * 批量解密 * @@ -78,14 +58,23 @@ public class EncryptPhoneUtil { paramMap.put("appid", SecretConstant.SECRET_DECRYPT_YY_ID); paramMap.put("req_id", RandomUtil.randomString(DefaultNumberConstants.TEN_NUMBER)); paramMap.put("tels", origins); - //链式构建请求 - String result = HttpRequest.post(SecretConstant.SECRET_ENCRYPT_YY_URL) - .header(Header.CONTENT_TYPE, HTTP_RESPONSE_JSON_FORMATE) - .form(paramMap) - .timeout(2_000) - .execute().body(); - // 解析响应内容 - return JSONUtil.toBean(result, SecretResponseBean.class); + int count = DefaultNumberConstants.ZERO_NUMBER; + while (count < DefaultNumberConstants.THREE_NUMBER) { + //链式构建请求 + try { + String result = HttpRequest.post(SecretConstant.SECRET_ENCRYPT_YY_URL) + .header(Header.CONTENT_TYPE, HTTP_RESPONSE_JSON_FORMATE) + .form(paramMap) + .timeout(2_000) + .execute().body(); + // 解析响应内容 + return JSONUtil.toBean(result, SecretResponseBean.class); + } catch (Exception e) { + count++; + log.error("============= request error {} ===========", e.getMessage()); + } + } + return new SecretResponseBean(); } public static List encryptPhoneList(List phoneSets) { @@ -104,5 +93,4 @@ public class EncryptPhoneUtil { } return encryptList; } - } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/ModeRecordController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/ModeRecordController.java index c6641c20..a4310229 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/ModeRecordController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/ModeRecordController.java @@ -18,24 +18,20 @@ package com.baiye.modules.platform.rest; import com.baiye.annotation.Inner; import com.baiye.annotation.Log; import com.baiye.constant.DefaultNumberConstants; -import com.baiye.constant.SecurityConstants; import com.baiye.http.CommonResponse; import com.baiye.modules.platform.service.ModeRecordService; -import com.baiye.modules.platform.service.dto.AgentQueryCriteria; -import com.baiye.modules.platform.service.dto.DecryptionDTO; import com.baiye.modules.platform.service.dto.ModeRecordQueryCriteria; import com.baiye.util.SecurityUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.List; - /** * @author Enzo * @date 2022-08-13 @@ -48,6 +44,10 @@ public class ModeRecordController { private final ModeRecordService modeRecordService; + + @Value("${template.download-exchange-list}") + private String exchangeTemplateUrl; + @ApiOperation("查询建模记录") @GetMapping public ResponseEntity query(ModeRecordQueryCriteria criteria, Pageable pageable) { @@ -62,8 +62,7 @@ public class ModeRecordController { @ApiOperation("上传文件发送邮件") @PostMapping("/upload/files") - public CommonResponse uploadFile(@RequestParam("file") MultipartFile[] files, - @RequestParam(value = "taskName") String taskName, + public CommonResponse uploadFile(@RequestParam("file") MultipartFile[] files, @RequestParam(value = "taskName") String taskName, @RequestParam("uploadType") Integer uploadType) { return Boolean.TRUE.equals(modeRecordService.uploadModeFile(files, taskName, uploadType)) ? CommonResponse.createBySuccess() : CommonResponse.createByError(); @@ -72,13 +71,19 @@ public class ModeRecordController { @ApiOperation("创建任务") @GetMapping("/build") - public CommonResponse buildModel(@RequestParam("id") Long id, - @RequestParam(value = "actName") String actName, + public CommonResponse buildModel(@RequestParam("id") Long id, @RequestParam(value = "actName") String actName, @RequestParam("actId") String actId) { return Boolean.TRUE.equals(modeRecordService.sendDataByActNameAndActId(id, actName, actId)) ? CommonResponse.createBySuccess() : CommonResponse.createByError(); } + + @ApiOperation("人员模板下载") + @GetMapping("/templateUrl") + public ResponseEntity downLoadTemplateMove() { + return new ResponseEntity<>(exchangeTemplateUrl, HttpStatus.OK); + } + @Inner @ApiOperation("下载id查询下载地址") @GetMapping("/find/path") @@ -96,4 +101,5 @@ public class ModeRecordController { return CommonResponse.createBySuccess(); } + } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/DecryptTask.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/DecryptTask.java index 8e76f68d..df8a8c01 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/DecryptTask.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/DecryptTask.java @@ -97,17 +97,21 @@ public class DecryptTask { DecryptionJsonRequest build = DecryptionJsonRequest.builder().cellphoneMd5 (encryptStr).requestId(RandomUtil.randomString(DefaultNumberConstants.TEN_NUMBER)).build(); - // 调用HTTP请求发送数据 - DecryptionDTO decryptionDTO = JSONUtil.toBean(HttpUtil.post(decryptAddress, gson.toJson(build)), DecryptionDTO.class); - if (StringUtils.isNotBlank(decryptionDTO.getReason()) - && SecurityConstants.SUCCESS.equalsIgnoreCase(decryptionDTO.getReason()) && (StringUtils.isNotBlank(decryptionDTO.getCellPhone()))) { - List parseArray = JSONUtil.toList(decryptionDTO.getCellPhone(), String.class); - if (!parseArray.isEmpty()) { - parseArray = parseArray.stream().filter - (StringUtils::isNotBlank).collect(Collectors.toList()); - log.info("================ response size as {} ================", parseArray.size()); - return EncryptPhoneUtil.encryptPhoneList(parseArray); + try { + // 调用HTTP请求发送数据 + DecryptionDTO decryptionDTO = JSONUtil.toBean(HttpUtil.post(decryptAddress, gson.toJson(build)), DecryptionDTO.class); + if (StringUtils.isNotBlank(decryptionDTO.getReason()) + && SecurityConstants.SUCCESS.equalsIgnoreCase(decryptionDTO.getReason()) && (StringUtils.isNotBlank(decryptionDTO.getCellPhone()))) { + List parseArray = JSONUtil.toList(decryptionDTO.getCellPhone(), String.class); + if (!parseArray.isEmpty()) { + parseArray = parseArray.stream().filter + (StringUtils::isNotBlank).collect(Collectors.toList()); + log.info("================ response size as {} ================", parseArray.size()); + return EncryptPhoneUtil.encryptPhoneList(parseArray); + } } + } catch (Exception e) { + log.error("============ the request exception {} ============", e.getMessage()); } return Lists.newArrayList(); }, executor); @@ -154,12 +158,12 @@ public class DecryptTask { }); dto.setClientList(sendClientList); String post = HttpUtil.post(sendClientAddress, JSONUtil.toJsonStr(dto)); - if (post.contains(XalanConstants.FEATURE_TRUE)){ + if (post.contains(XalanConstants.FEATURE_TRUE)) { count += list.size(); } log.info("============ the submit result as {} =========", JSONUtil.toJsonStr(post)); } - if (count > DefaultNumberConstants.ZERO_NUMBER){ + if (count > DefaultNumberConstants.ZERO_NUMBER) { modeRecordRepository.updateStatusAndTimeById(DefaultNumberConstants.THREE_NUMBER, DateUtil.date(), count, id); } log.info("================== run task end time {} ==================", DateUtil.now()); diff --git a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml index ef8e5bb8..6604f08e 100644 --- a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml +++ b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml @@ -179,6 +179,7 @@ alipay: encryptKey: template: + download-exchange-list: /home/eladmin/file/exchange.xlsx download-personnel-list: /home/eladmin/file/personnel.xlsx #ribbon: # #建立连接超时时间 diff --git a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml index 1d44fb36..5617203f 100644 --- a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml +++ b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml @@ -186,6 +186,7 @@ alipay: template: download-personnel-list: https://baiyee.vip/file/example.xlsx + download-exchange-list: https://baiyee.vip/file/exchange.xlsx #债务表单二维码扫描地址及二维码存放路径 debt: diff --git a/ad-platform-manage/ad-platform-management/src/main/resources/config/application.yml b/ad-platform-manage/ad-platform-management/src/main/resources/config/application.yml index 319477da..06b5d335 100644 --- a/ad-platform-manage/ad-platform-management/src/main/resources/config/application.yml +++ b/ad-platform-manage/ad-platform-management/src/main/resources/config/application.yml @@ -9,7 +9,7 @@ spring: freemarker: check-template-location: false profiles: - active: prod + active: dev jackson: time-zone: GMT+8 data: