From 575bb46553a1e78f6b7f4d8a2f3eebc04f7548d8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 27 Jul 2023 17:44:46 +0800
Subject: [PATCH] 赠送积分更新状态
---
src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java | 119 ++++++++++++++++++++++++++---------------------------------
1 files changed, 53 insertions(+), 66 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
index d13639a..d4ebc77 100644
--- a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
+++ b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
@@ -95,7 +95,7 @@
log.info("事件处理:event:{}、msgType:{}、toUserName:{}、fromUserName:{}", eventType, msgType, toUserName, fromUserName);
if ("event".equals(msgType)) {
if ("subscribe".equals(eventType)) {
- result = imgTextMsg(toUserName, fromUserName, "欢迎光临", "欢迎光临【药王谷铺子】,点击左下角【药王谷铺子】-【商城】,进入商城。", "图片地址", "点击后跳转的路径");
+ result = imgTextMsg(toUserName, fromUserName, "欢迎光临", "欢迎光临【药王谷铺子】,点击左下角【药王谷铺子】-【商城】,进入商城。", "https://excoin.oss-cn-hangzhou.aliyuncs.com/uploadeFile/1690447963307584cd27ac623427f8c07ed1d3bbe4279.png", "http://ywgouth.meiao.biz/");
log.info("新增关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
StringBuffer stringBuffer = new StringBuffer();
if(map.containsKey("EventKey")){
@@ -329,35 +329,35 @@
//
// String timestamp = String.format("%010d", System.currentTimeMillis() / 1000);
//
-// public static String createSignature(String nocestr, String ticket, String timestamp, String url) {
-// // 这里参数的顺序要按照 key 值 ASCII 码升序排序
-// String s = "jsapi_ticket=" + ticket + "&noncestr=" + nocestr
-// + "×tamp=" + timestamp + "&url=" + url;
-// return SHA1(s);
-// }
+ public static String createSignature(String nocestr, String ticket, String timestamp, String url) {
+ // 这里参数的顺序要按照 key 值 ASCII 码升序排序
+ String s = "jsapi_ticket=" + ticket + "&noncestr=" + nocestr
+ + "×tamp=" + timestamp + "&url=" + url;
+ return SHA1(s);
+ }
//
-// public static String SHA1(String decript) {
-// try {
-// MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
-// digest.update(decript.getBytes());
-// byte messageDigest[] = digest.digest();
-// // Create Hex String
-// StringBuffer hexString = new StringBuffer();
-// // 字节数组转换为 十六进制 数
-// for (int i = 0; i < messageDigest.length; i++) {
-// String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
-// if (shaHex.length() < 2) {
-// hexString.append(0);
-// }
-// hexString.append(shaHex);
-// }
-// return hexString.toString();
-//
-// } catch (NoSuchAlgorithmException e) {
-// e.printStackTrace();
-// }
-// return "";
-// }
+ public static String SHA1(String decript) {
+ try {
+ MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
+ digest.update(decript.getBytes());
+ byte messageDigest[] = digest.digest();
+ // Create Hex String
+ StringBuffer hexString = new StringBuffer();
+ // 字节数组转换为 十六进制 数
+ for (int i = 0; i < messageDigest.length; i++) {
+ String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
+ if (shaHex.length() < 2) {
+ hexString.append(0);
+ }
+ hexString.append(shaHex);
+ }
+ return hexString.toString();
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
public static void main(String[] args) {
}
@@ -369,28 +369,15 @@
if(ObjectUtil.isEmpty(redisUtils.get("ticket"))){
ticket = getTicket();
}
- Map<String, String> data = new HashMap<>();
//生成10位时间戳
String timestamp = String.format("%010d", System.currentTimeMillis() / 1000);
- data.put("timestamp", timestamp );
- //生成随机字符串
String nonceStr = createNonceStr();
- data.put("noncestr", nonceStr );
- data.put("url", url);
- data.put("jsapi_ticket", ticket);
- String signature = null;
- try {
- signature = generateSignature(data);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ String signature = createSignature(nonceStr, ticket, timestamp, url);
- //签名算法
- String sha1 = SHA1(signature);
Map<String, Object> map = new HashMap<>(16);
map.put("timestamp", timestamp);
map.put("nonceStr", nonceStr);
- map.put("signature", sha1);
+ map.put("signature", signature);
return map;
}
@@ -444,28 +431,28 @@
/**
*SHA1签名算法
*/
- public static String SHA1(String decript) {
- try {
- MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
- digest.update(decript.getBytes());
- byte messageDigest[] = digest.digest();
- // Create Hex String
- StringBuffer hexString = new StringBuffer();
- // 字节数组转换为 十六进制 数
- for (int i = 0; i < messageDigest.length; i++) {
- String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
- if (shaHex.length() < 2) {
- hexString.append(0);
- }
- hexString.append(shaHex);
- }
- return hexString.toString();
-
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return "";
- }
+// public static String SHA1(String decript) {
+// try {
+// MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
+// digest.update(decript.getBytes());
+// byte messageDigest[] = digest.digest();
+// // Create Hex String
+// StringBuffer hexString = new StringBuffer();
+// // 字节数组转换为 十六进制 数
+// for (int i = 0; i < messageDigest.length; i++) {
+// String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
+// if (shaHex.length() < 2) {
+// hexString.append(0);
+// }
+// hexString.append(shaHex);
+// }
+// return hexString.toString();
+//
+// } catch (NoSuchAlgorithmException e) {
+// e.printStackTrace();
+// }
+// return "";
+// }
/**
--
Gitblit v1.9.1