mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
微信支付参数放缓存
This commit is contained in:
@@ -10,6 +10,7 @@ import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
||||
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.MemberWalletEnum;
|
||||
import com.jsowell.common.enums.ykc.ActionTypeEnum;
|
||||
import com.jsowell.common.enums.ykc.OrderPayModeEnum;
|
||||
@@ -82,6 +83,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@@ -125,6 +127,9 @@ public class OrderService {
|
||||
@Autowired
|
||||
private IPileStationInfoService pileStationInfoService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
/**
|
||||
* 生成订单
|
||||
*
|
||||
@@ -164,7 +169,8 @@ public class OrderService {
|
||||
balancePayOrder(dto);
|
||||
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
|
||||
// 微信支付
|
||||
Map<String, Object> weixinMap = wechatPayOrder(dto, orderInfo);
|
||||
dto.setOrderBasicInfo(orderInfo);
|
||||
Map<String, Object> weixinMap = wechatPayOrder(dto);
|
||||
// 返回微信支付参数
|
||||
resultMap.put("weixinMap", weixinMap);
|
||||
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_ALIPAY.getValue())) { // 支付宝支付
|
||||
@@ -195,11 +201,20 @@ public class OrderService {
|
||||
/**
|
||||
* 微信支付订单逻辑 获取支付参数
|
||||
* @param dto
|
||||
* @param orderInfo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private Map<String, Object> wechatPayOrder(PayOrderDTO dto, OrderBasicInfo orderInfo) throws Exception {
|
||||
private Map<String, Object> wechatPayOrder(PayOrderDTO dto) throws Exception {
|
||||
String redisKey = "WECHAT_PAY_ORDER_PARAM:" + dto.getOrderCode();
|
||||
Map<String, Object> cacheObject = redisCache.getCacheObject(redisKey);
|
||||
if (cacheObject != null) {
|
||||
return cacheObject;
|
||||
}
|
||||
|
||||
OrderBasicInfo orderInfo = dto.getOrderBasicInfo();
|
||||
if (orderInfo == null) {
|
||||
orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
|
||||
}
|
||||
String openId = memberService.getOpenIdByCode(dto.getCode());
|
||||
if (StringUtils.isBlank(openId)) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR);
|
||||
@@ -215,7 +230,12 @@ public class OrderService {
|
||||
.build();
|
||||
weixinPayDTO.setAttach(JSONObject.toJSONString(paymentScenarioDTO));
|
||||
weixinPayDTO.setDescription("充电费用");
|
||||
return this.weixinPayV3(weixinPayDTO);
|
||||
Map<String, Object> payV3 = this.weixinPayV3(weixinPayDTO);
|
||||
if (payV3 != null) {
|
||||
// 表示已经获取到支付参数了,后续再有支付请求就拒绝
|
||||
redisCache.setCacheObject(redisKey, payV3, 15, TimeUnit.MINUTES);
|
||||
}
|
||||
return payV3;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -440,8 +440,8 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
|
||||
startIndex += length;
|
||||
length = 8;
|
||||
byte[] cardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||||
byte[] logicCardNum = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16);
|
||||
String logicCard = BytesUtil.binary(logicCardNum, 16);
|
||||
// byte[] logicCardNum = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16);
|
||||
String logicCard = BytesUtil.binary(cardNumByteArr, 16);
|
||||
|
||||
log.info("[===交易记录===]交易流水号:{}, 桩编号:{}, 枪号:{}, 开始时间:{}, 结束时间:{}, 尖单价:{}, 尖电量:{}, 计损尖电量:{}, 尖金额:{}, " +
|
||||
"峰单价:{}, 峰电量:{}, 计损峰电量:{}, 峰金额:{}, 平单价:{}, 平电量:{}, 计损平电量:{}, 平金额:{}, " +
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.pile.dto;
|
||||
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
@@ -42,6 +43,8 @@ public class PayOrderDTO {
|
||||
*/
|
||||
private String lockValue;
|
||||
|
||||
private OrderBasicInfo orderBasicInfo;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
|
||||
|
||||
Reference in New Issue
Block a user