Merge branch 'adapay' into merge_adapay

# Conflicts:
#	jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java
#	jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java
This commit is contained in:
2023-09-08 15:50:51 +08:00
6 changed files with 56 additions and 34 deletions

View File

@@ -67,7 +67,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Override
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException {
logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
// 处理前端传的参数
analysisPileParameter(dto);
@@ -185,7 +185,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
@Override
public Map<String, Object> payOrder(PayOrderDTO dto) {
logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
if (orderInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
@@ -220,7 +220,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Transactional(rollbackFor = Exception.class)
public void balancePayOrder(PayOrderDTO dto) {
logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
// 订单编号
String orderCode = dto.getOrderCode();
// 支付金额
@@ -328,7 +328,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
* 在线支付订单
*/
public Map<String, Object> onlinePaymentOrder(PayOrderDTO dto) {
logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
Map<String, Object> weixinMap = adapayService.createPayment(dto);
return weixinMap;
}
@@ -337,7 +337,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
* 白名单支付订单
*/
public void whitelistPaymentOrder(PayOrderDTO dto) {
logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
String orderCode = dto.getOrderCode();
BigDecimal payAmount = dto.getPayAmount();
String payMode = dto.getPayMode();
@@ -358,7 +358,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Override
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
// 判断订单状态
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
@@ -425,7 +425,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode());
}
} catch (Exception e) {
logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
}
}
@@ -436,6 +436,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Override
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
// 获取支付配置
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
if (config == null) {
@@ -494,6 +495,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Override
public void refundBalance(ApplyRefundDTO dto) {
logger.info("【{}】-余额退款start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
// 做个拦截,如果前一笔退款没有完成,就抛异常
String redisKey = CacheConstants.MEMBER_BALANCE_REFUNDS_ARE_IN_PROGRESS + dto.getMemberId();
PaymentReverseResponse redisResult = redisCache.getCacheObject(redisKey);
@@ -538,7 +540,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
*/
@Transactional(rollbackFor = Exception.class)
public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
// 订单编号
String orderCode = orderBasicInfo.getOrderCode();
// 订单消费金额
@@ -582,7 +584,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
* 在线支付订单退款
*/
private void onlinePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
// 订单编号
String orderCode = orderBasicInfo.getOrderCode();
@@ -610,7 +612,7 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
* @param dto
*/
private void refundOrderWithAdapay(ApplyRefundDTO dto) {
logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto));
logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto));
// 查出来原来的支付信息
AdapayCallbackRecord callbackRecord = adapayCallbackRecordService.selectByOrderCode(dto.getOrderCode());
if (Objects.isNull(callbackRecord)) {

View File

@@ -66,7 +66,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
*/
@Override
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException {
logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
logger.info("{}-生成订单start, param:{}", this.getClass().getSimpleName(), JSONObject.toJSONString(dto));
// 处理前端传的参数
analysisPileParameter(dto);
@@ -184,7 +184,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
@Override
public Map<String, Object> payOrder(PayOrderDTO dto) {
logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
if (orderInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
@@ -221,7 +221,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
* @param dto
*/
public void balancePayOrder(PayOrderDTO dto) {
logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-余额支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
String orderCode = dto.getOrderCode(); // 订单编号
BigDecimal chargeAmount = dto.getPayAmount(); // 支付金额
// 查询该会员的余额
@@ -307,7 +307,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
* @param dto
*/
public Map<String, Object> onlinePaymentOrder(PayOrderDTO dto) {
logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-在线支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
Map<String, Object> weixinMap = adapayService.createPayment(dto);
return weixinMap;
}
@@ -318,7 +318,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
* @param dto
*/
public void whitelistPaymentOrder(PayOrderDTO dto) {
logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
logger.info("{}-白名单支付订单start, param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
String orderCode = dto.getOrderCode();
BigDecimal payAmount = dto.getPayAmount();
String payMode = dto.getPayMode();
@@ -342,7 +342,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
*/
@Override
public void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo) {
logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-结算订单start data:{}, orderBasicInfo:{}", this.getClass().getSimpleName(), data.toString(), JSON.toJSONString(orderBasicInfo));
// 判断订单状态
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
@@ -408,6 +408,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
*/
@Override
public Map<String, Object> rechargeBalance(WeixinPayDTO dto) {
logger.info("【{}】-余额充值start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
// 获取支付配置
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getWechatAppId());
if (config == null) {
@@ -439,10 +440,6 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
map.put("payMode", payMode);
map.put("memberId", dto.getMemberId());
createAdaPaymentParam.setDescription(JSON.toJSONString(map));
// 延时分账
if (StringUtils.isNotBlank(payMode)) {
createAdaPaymentParam.setPay_mode(payMode);
}
try {
logger.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam));
Map<String, Object> response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId());
@@ -466,6 +463,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
*/
@Override
public void refundBalance(ApplyRefundDTO dto) {
logger.info("【{}】-余额退款start dto:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
// 做个拦截,如果前一笔退款没有完成,就抛异常
String redisKey = CacheConstants.MEMBER_BALANCE_REFUNDS_ARE_IN_PROGRESS + dto.getMemberId();
RefundResponse redisResult = redisCache.getCacheObject(redisKey);
@@ -524,7 +522,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
*/
@Transactional(rollbackFor = Exception.class)
public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
// 订单编号
String orderCode = orderBasicInfo.getOrderCode();
// 订单消费金额
@@ -576,7 +574,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
* @param orderBasicInfo
*/
private void onlinePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
logger.info("{}-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
// 订单编号
String orderCode = orderBasicInfo.getOrderCode();
@@ -604,7 +602,7 @@ public class NotDelayMerchantOrderLogic extends AbstractOrderLogic{
* @param dto
*/
private void refundOrderWithAdapay(ApplyRefundDTO dto) {
logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto));
logger.info("{}-汇付支付订单:{}, 执行退款逻辑 param:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto));
// 查出来原来的支付信息
AdapayCallbackRecord callbackRecord = adapayCallbackRecordService.selectByOrderCode(dto.getOrderCode());
if (Objects.isNull(callbackRecord)) {

View File

@@ -5,9 +5,11 @@ import com.jsowell.wxpay.common.WeChatPayParameter;
import com.jsowell.wxpay.utils.WechatPayUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
// @Order(value = 2)
// @Component
@Order(value = 2)
@Component
public class WechatPayConfig implements CommandLineRunner {
/**
* 公众号appid

View File

@@ -2,8 +2,9 @@ package com.jsowell.wxpay.config;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
// @Component
@Component
public class WeixinLoginProperties implements InitializingBean {
@Value("${weixin.login.gateway}")