Ver Fonte

更新!

TRX há 1 ano atrás
pai
commit
457e1ca36e

+ 4 - 3
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/payment/ExpenseFlow.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.server.core.domain.payment;
 
+import cn.hutool.json.JSONObject;
 import com.github.microservice.models.type.OrderFromType;
 import com.github.microservice.pay.client.model.ledger.TransactionLogModel;
 import com.github.microservice.types.payment.PaymentDeviceType;
@@ -181,15 +182,15 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "支付是否成功")
     private Boolean isPaySuccess;
 
+    @Schema(description = "调用支付的 支付结果,保存支付结果返回的以后要使用的参数")
+    private JSONObject payResult = new JSONObject();
+
     @Schema(description = "是否已支付")
     private Boolean isPaid = Boolean.FALSE;
 
     @Schema(description = "支付结果备注,返回给设备展示")
     private String payRemark;
 
-    @Schema(description = "调用支付的 支付结果")
-    private Object payResult;
-
     @Schema(description = "支付开始时间")
     private Long payStartTime;
 

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ExpenseFlowServiceImpl.java

@@ -134,6 +134,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         expenseFlow.setPaymentNo(paymentNo);
         // 支付金额
         BigDecimal amount = CommonUtil.turnMoney2BigDecimal(iotParam.getAmount());
+        amount = amount.stripTrailingZeros();
         expenseFlow.setPayAmount(amount);
 
         String deviceId = iotParam.getDeviceId();
@@ -386,7 +387,6 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
             url = "https://jupan.5xryd.com//wxapi/pay/createAliQrCodeOrder";
         }
         APIResponseModel apiResponseModel = apiRequestService.sendWxRequest(url, payParam);
-        entity.setPayResult(apiResponseModel);
         log.info("支付结果:{}", apiResponseModel);
         if (apiResponseModel.isSuccess()) {
             // 关联参数

+ 8 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/PayCallService.java

@@ -343,6 +343,8 @@ public class PayCallService extends SuperService {
             if (state.equals("TRADE_SUCCESS")) {
                 entity.setOrderType(OrderState.HAVE_PAID);
                 entity.setIsPaySuccess(Boolean.TRUE);
+                entity.setPayRemark("支付成功");
+                entity.setPaymentStatus("支付成功");
 
                 paymentProcess.setIsPaySuccess(Boolean.TRUE);
                 paymentProcess.setPayRemark("支付成功");
@@ -354,6 +356,8 @@ public class PayCallService extends SuperService {
             } else {
                 entity.setOrderType(OrderState.PAID_ERROR);
                 entity.setIsPaySuccess(Boolean.FALSE);
+                entity.setPayRemark("支付失败");
+                entity.setPaymentStatus("支付失败");
 
                 paymentProcess.setIsPaySuccess(Boolean.FALSE);
                 paymentProcess.setPayRemark("支付失败");
@@ -472,10 +476,13 @@ public class PayCallService extends SuperService {
         String refundNo = NextNoUtil.getNextPaymentNo(null);
         entity.setRefundNo(refundNo);
         String paymentNo = entity.getPaymentNo();
+        log.info("支付清单号:{} 退款:{}", paymentNo, refundNo);
         orderNoInfoService.saveInfo(refundNo, OrderNoType.Refund, entity.getPaymentType());
 
         BigDecimal payAmount = entity.getPayAmount();
-        ResultContent resultContent = chinaumsSenselessPayService.refund(entity.getProjectOid(), entity.getShopOid(), entity.getUserId(), payAmount, paymentNo, refundNo, param.getRemark());
+        payAmount = payAmount.stripTrailingZeros();
+        ResultContent resultContent = chinaumsSenselessPayService.refund(entity.getProjectOid(), entity.getShopOid(), entity.getUserId(),
+                payAmount, paymentNo, refundNo, param.getRemark());
         if (resultContent.isSuccess()) {
             entity.setIsRefund(Boolean.FALSE);
             entity.setRefundRemark(param.getRemark());