update 汇付协议

This commit is contained in:
Guoqs
2024-08-06 14:39:09 +08:00
parent b87efcda57
commit f5d5e3c6eb
9 changed files with 71 additions and 34 deletions

View File

@@ -0,0 +1,38 @@
package com.jsowell.common;
import com.jsowell.common.util.BytesUtil;
import lombok.extern.slf4j.Slf4j;
/**
* 友电电单车充电桩协议工具类
*/
@Slf4j
public class YouDianUtils {
/**
* 校验方法
* 整个数据包中的每个字节不包括校验字段本身将它们的数值累加起来。然后取累加和的低2字节16位作为校验字段的值
*/
public static boolean validateChecksum(byte[] bytes) {
if (bytes.length < 2) {
return false; // 校验字段长度不足时返回 false
}
// 计算累加和
int sum = 0;
for (int i = 0; i < bytes.length - 2; i++) {
sum += (bytes[i] & 0xFF); // 将每个字节视为无符号值进行累加
}
// 取累加和的低 2 字节16 位)
int calculatedChecksum = sum & 0xFFFF;
// 读取校验字段的值
byte[] checksumBytes = {bytes[bytes.length - 2], bytes[bytes.length - 1]};
int receivedChecksum = BytesUtil.bytesToIntLittle(checksumBytes);
// 比较计算的校验值和接收到的校验值
log.info("计算的校验值:{}, 接收到的校验值:{}", calculatedChecksum, receivedChecksum);
return calculatedChecksum == receivedChecksum;
}
}

View File

@@ -1,8 +1,29 @@
package com.jsowell.common.enums.adapay;
public enum AdapayPayChannelEnum {
WX_LITE("wx_lite", "微信小程序支付"),
alipay("alipay", "支付宝 App 支付"),
alipay_qr("alipay_qr", "支付宝正扫"),
alipay_wap("alipay_wap", "支付宝 H5 支付"),
ALIPAY_LITE("alipay_lite", "支付宝小程序支付"),
alipay_pub("alipay_pub", "支付宝生活号支付"),
alipay_scan("alipay_scan", "支付宝反扫"),
wx_pub("wx_pub", "微信公众号支付"),
WX_LITE("wx_lite", "微信小程序支付"),
wx_scan("wx_scan", "微信反扫"),
union("union", "银联云闪付 App"),
union_qr("union_qr", "银联云闪付正扫"),
union_wap("union_wap", "银联云闪付 H5 支付"),
union_scan("union_scan", "银联云闪付反扫"),
union_online("union_online", "银联 H5 支付"),
union_checkout("union_checkout", "银联统一收银台支付"),
fast_pay("fast_pay", "快捷支付"),
b2c("b2c", "个人网银支付"),
b2b("b2b", "企业网银支付"),
;
private String value;
private String label;