update 并充逻辑

This commit is contained in:
Lemon
2025-06-19 13:37:48 +08:00
parent 3fa118e240
commit 5344d63aea
2 changed files with 18 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
package com.jsowell.netty.handler.yunkuaichong;
import com.google.common.primitives.Bytes;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
import com.jsowell.common.util.BytesUtil;
@@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
@@ -116,16 +118,22 @@ public class PileApplyMergeChargeHandler extends AbstractYkcHandler{
.mergeChargeNumber(mergeChargeNumber)
.build();
try {
Map<String, Object> map = orderBasicInfoService.verifyMergeChargeOrder(dto);
Map<String, Object> map = new LinkedHashMap<>();
String transactionCode = Constants.ILLEGAL_TRANSACTION_CODE;
byte[] authenticationFlagByteArr = Constants.zeroByteArray; // 鉴权成功标识
byte[] accountBalanceByteArr = Constants.zeroByteArray; // 账户余额
try {
map = orderBasicInfoService.verifyMergeChargeOrder(dto);
log.info("桩号:{}, 并充订单鉴权成功, 结果map:{}", pileSn, map);
} catch (Exception e) {
log.error("桩号:{}, 并充订单鉴权失败, ", pileSn, e);
}
String transactionCode = "";
String accountAmount = "";
String verifyFlag = "";
if (map != null) {
transactionCode = (String) map.get("transactionCode");
accountBalanceByteArr = YKCUtils.getPriceByte(String.valueOf(map.get("accountBalance")), 2);
authenticationFlagByteArr = Constants.oneByteArray;
}
// 应答
// 交易流水号
@@ -136,9 +144,9 @@ public class PileApplyMergeChargeHandler extends AbstractYkcHandler{
// 鉴权成功标志
// 失败原因
// 并充序号
byte[] defeatReasonByteArr = Constants.zeroByteArray; // 失败原因
byte[] msgBodyByteArr = Bytes.concat(BytesUtil.str2Bcd(transactionCode), pileSnByteArr, connectorNumByteArr, cardNumByteArr,
BytesUtil.str2Bcd(accountAmount), BytesUtil.str2Bcd(verifyFlag), mergeChargeNumberByteArr);
accountBalanceByteArr, authenticationFlagByteArr, defeatReasonByteArr, mergeChargeNumberByteArr);
return getResult(ykcDataProtocol, msgBodyByteArr);
}