Commit 556f52c4781b3d54358a50ae19ecf57bb0412176
1 parent
f41edf2d
酒测推送异常数据
Showing
3 changed files
with
29 additions
and
28 deletions
Bsth-admin/src/main/java/com/ruoyi/service/SignatureUtils.java
| 1 | 1 | package com.ruoyi.service; |
| 2 | 2 | |
| 3 | -import org.slf4j.Logger; | |
| 4 | -import org.slf4j.LoggerFactory; | |
| 5 | -import org.springframework.util.DigestUtils; | |
| 6 | - | |
| 7 | 3 | import java.security.MessageDigest; |
| 8 | 4 | import java.security.NoSuchAlgorithmException; |
| 9 | 5 | import java.util.Map; |
| 10 | 6 | import java.util.TreeMap; |
| 11 | 7 | |
| 12 | 8 | public class SignatureUtils { |
| 13 | - private final static Logger logger = LoggerFactory.getLogger(SignatureUtils.class); | |
| 14 | - | |
| 15 | 9 | // 生成签名 |
| 16 | - public static String generateSignature(Map<String, Object> params, String secretKey) { | |
| 17 | - TreeMap<String, Object> sortedParams = new TreeMap<>(params); | |
| 10 | + public static String generateSignature(Map<String, String> params, String secretKey) { | |
| 11 | + TreeMap<String, String> sortedParams = new TreeMap<>(params); | |
| 18 | 12 | StringBuilder sb = new StringBuilder(); |
| 19 | 13 | |
| 20 | - for (Map.Entry<String, Object> entry : sortedParams.entrySet()) { | |
| 14 | + for (Map.Entry<String, String> entry : sortedParams.entrySet()) { | |
| 21 | 15 | sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); |
| 22 | 16 | } |
| 23 | 17 | sb.append("secretKey=").append(secretKey); |
| ... | ... | @@ -25,19 +19,21 @@ public class SignatureUtils { |
| 25 | 19 | return md5(sb.toString()); |
| 26 | 20 | } |
| 27 | 21 | |
| 22 | + // MD5加密 | |
| 28 | 23 | private static String md5(String input) { |
| 29 | 24 | try { |
| 30 | - logger.info("MD5加密之前内容: {}", input); | |
| 31 | - if (input == null || "".equals(input.trim())) { | |
| 32 | - return null; | |
| 25 | + MessageDigest md = MessageDigest.getInstance("MD5"); | |
| 26 | + byte[] messageDigest = md.digest(input.getBytes()); | |
| 27 | + StringBuilder hexString = new StringBuilder(); | |
| 28 | + | |
| 29 | + for (byte b : messageDigest) { | |
| 30 | + hexString.append(String.format("%02x", b)); | |
| 33 | 31 | } |
| 34 | - String md5 = DigestUtils.md5DigestAsHex(input.getBytes()); | |
| 35 | - logger.info("MD5加密之后内容: {}", md5); | |
| 36 | - return md5; | |
| 37 | - } catch (Exception e) { | |
| 38 | - logger.error("MD5加密异常:", e); | |
| 32 | + | |
| 33 | + return hexString.toString(); | |
| 34 | + } catch (NoSuchAlgorithmException e) { | |
| 39 | 35 | e.printStackTrace(); |
| 36 | + return null; | |
| 40 | 37 | } |
| 41 | - return null; | |
| 42 | 38 | } |
| 43 | 39 | } | ... | ... |
Bsth-admin/src/main/java/com/ruoyi/service/ThreadJobService.java
| ... | ... | @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; |
| 5 | 5 | import cn.hutool.core.convert.Convert; |
| 6 | 6 | import cn.hutool.http.HttpUtil; |
| 7 | 7 | import cn.hutool.json.JSONUtil; |
| 8 | +import com.alibaba.fastjson2.JSON; | |
| 8 | 9 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 9 | 10 | import com.ruoyi.common.cache.NowSchedulingCache; |
| 10 | 11 | import com.ruoyi.common.cache.TempCache; |
| ... | ... | @@ -45,7 +46,6 @@ import com.ruoyi.system.domain.SysNotice; |
| 45 | 46 | import com.ruoyi.system.service.ISysNoticeService; |
| 46 | 47 | import com.ruoyi.utils.ConstDateUtil; |
| 47 | 48 | import com.ruoyi.utils.DateUtil; |
| 48 | -import com.ruoyi.utils.HttpClientUtil; | |
| 49 | 49 | import lombok.extern.slf4j.Slf4j; |
| 50 | 50 | import org.apache.commons.collections4.CollectionUtils; |
| 51 | 51 | import org.springframework.beans.BeanUtils; |
| ... | ... | @@ -370,7 +370,7 @@ public class ThreadJobService { |
| 370 | 370 | |
| 371 | 371 | if (CollectionUtils.isNotEmpty(newDrivers)) { |
| 372 | 372 | for (NewDriver newDriver : newDrivers) { |
| 373 | - Map<String, Object> map = new HashMap<>(); | |
| 373 | + Map<String, String> map = new HashMap<>(); | |
| 374 | 374 | map.put("noticeIssuer", "运控中心"); |
| 375 | 375 | map.put("noticeRecipient", "05-" + newDriver.getJobCode()); |
| 376 | 376 | map.put("noticeTitle", "异常通知"); |
| ... | ... | @@ -386,14 +386,14 @@ public class ThreadJobService { |
| 386 | 386 | |
| 387 | 387 | map.put("noticeContent", builder.toString()); |
| 388 | 388 | map.put("phone", newDriver.getTelphone()); |
| 389 | - map.put("smscontent", builder.toString()); | |
| 389 | + map.put("smsContent", builder.toString()); | |
| 390 | 390 | map.put("noticeType", "岗前检查"); |
| 391 | 391 | |
| 392 | 392 | String key = SignatureUtils.generateSignature(map, "your_secret_key_here"); |
| 393 | 393 | map.put("signature", key); |
| 394 | 394 | String result = null; |
| 395 | 395 | try { |
| 396 | - result = HttpUtil.get(processSignExceptionURL, map, 10000); | |
| 396 | + result = HttpUtil.get(processSignExceptionURL, (Map<String, Object>) JSON.toJSON((map)), 10000); | |
| 397 | 397 | log.info("processSignExceptionURL:[{}],paramMap:[{}],result:[{}]", processSignExceptionURL, JSONUtil.toJsonStr(map), result); |
| 398 | 398 | } catch (Exception e) { |
| 399 | 399 | log.error("processSignExceptionURL:[{}],paramMap:[{}],result:[{}]", processSignExceptionURL, JSONUtil.toJsonStr(map), result, e); |
| ... | ... | @@ -406,19 +406,24 @@ public class ThreadJobService { |
| 406 | 406 | } |
| 407 | 407 | |
| 408 | 408 | public static void main(String[] args) { |
| 409 | - Map<String, Object> map = new HashMap<>(); | |
| 409 | + Map<String, String> map = new HashMap<>(); | |
| 410 | 410 | map.put("noticeIssuer", "运控中心"); |
| 411 | 411 | map.put("noticeRecipient", "05-006154"); |
| 412 | 412 | map.put("noticeTitle", "异常通知"); |
| 413 | - | |
| 414 | - | |
| 415 | 413 | map.put("noticeContent", "工号:1700003,姓名:测试,工种:驾驶员,排班:有排班,打卡时间:2025-01-07 03:29:20,酒精测试超标,当前测试值达到50mg/100ml。属于饮酒后驾驶机动车"); |
| 416 | 414 | map.put("phone", "13681905733"); |
| 417 | - map.put("smscontent", "工号:1700003,姓名:测试,工种:驾驶员,排班:有排班,打卡时间:2025-01-07 03:29:20,酒精测试超标,当前测试值达到50mg/100ml。属于饮酒后驾驶机动车"); | |
| 415 | + map.put("smsContent", "工号:1700003,姓名:测试,工种:驾驶员,排班:有排班,打卡时间:2025-01-07 03:29:20,酒精测试超标,当前测试值达到50mg/100ml。属于饮酒后驾驶机动车"); | |
| 418 | 416 | map.put("noticeType", "岗前检查"); |
| 419 | 417 | |
| 420 | 418 | String key = SignatureUtils.generateSignature(map, "your_secret_key_here"); |
| 421 | - System.out.println(key); | |
| 419 | + map.put("signature", key); | |
| 420 | + String result = null; | |
| 421 | + try { | |
| 422 | + result = HttpUtil.get("http://10.10.200.142:9103/commonOpenDataApi/sendAppAndSmsNotice", (Map<String, Object>) JSON.toJSON((map)), 10000); | |
| 423 | + System.out.println(result); | |
| 424 | + } catch (Exception e) { | |
| 425 | + e.printStackTrace(); | |
| 426 | + } | |
| 422 | 427 | } |
| 423 | 428 | |
| 424 | 429 | private static String[] comStrs(String str) { | ... | ... |
Bsth-admin/src/main/resources/application-druid-lingangPrd.yml
| ... | ... | @@ -239,6 +239,6 @@ bsth: |
| 239 | 239 | url: http://222.76.217.238:8880/fcgi-bin/entry.fcgi/system |
| 240 | 240 | process: |
| 241 | 241 | sign: |
| 242 | - url: http://10.10.200.171:9103/commonOpenDataApi/sendAppAndSmsNotice | |
| 242 | + url: http://10.10.200.142:9103/commonOpenDataApi/sendAppAndSmsNotice | |
| 243 | 243 | audit-jobs: |
| 244 | 244 | ... | ... |