Bläddra i källkod

修改律师支付流程

ldz 1 dag sedan
förälder
incheckning
133e396942

+ 4 - 2
alien-lawyer/src/main/java/shop/alien/lawyer/controller/PaymentController.java

@@ -63,12 +63,14 @@ public class PaymentController {
      * 查询订单状态
      * @param transactionId 交易订单号(微信支付订单号/商户订单号)
      * @param payType 支付类型
+     * @param id 订单id
+     * @param id 订单str
      * @return 订单状态信息
      */
     @RequestMapping("/searchOrderByOutTradeNoPath")
-    public R searchOrderByOutTradeNoPath(String transactionId, String payType) {
+    public R searchOrderByOutTradeNoPath(String transactionId, String payType ,Integer id ,String orderStr) {
         try {
-            return paymentStrategyFactory.getStrategy(payType).searchOrderByOutTradeNoPath(transactionId);
+            return paymentStrategyFactory.getStrategy(payType).searchOrderByOutTradeNoPath(transactionId,id,orderStr);
         } catch (Exception e) {
             return R.fail(e.getMessage());
         }

+ 1 - 1
alien-lawyer/src/main/java/shop/alien/lawyer/payment/PaymentStrategy.java

@@ -39,7 +39,7 @@ public interface PaymentStrategy {
      * @return 订单状态信息
      * @throws Exception 查询异常
      */
-    R searchOrderByOutTradeNoPath(String transactionId) throws Exception;
+    R searchOrderByOutTradeNoPath(String transactionId,Integer id,String orderStr) throws Exception;
 
      /**
      * 处理退款请求

+ 21 - 2
alien-lawyer/src/main/java/shop/alien/lawyer/payment/impl/AlipayPaymentStrategyImpl.java

@@ -15,15 +15,18 @@ import com.alipay.api.request.AlipayTradeRefundRequest;
 import com.alipay.api.response.AlipayTradeAppPayResponse;
 import com.alipay.api.response.AlipayTradeQueryResponse;
 import com.alipay.api.response.AlipayTradeRefundResponse;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.jdbc.Null;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.LawyerConsultationOrder;
 import shop.alien.entity.store.RefundRecord;
 import shop.alien.entity.store.StoreAliPayRefundLog;
-
+import shop.alien.mapper.LawyerConsultationOrderMapper;
 import shop.alien.lawyer.payment.PaymentStrategy;
 import shop.alien.lawyer.service.RefundRecordService;
 import shop.alien.lawyer.service.StoreAliPayRefundLogService;
@@ -118,6 +121,8 @@ public class AlipayPaymentStrategyImpl implements PaymentStrategy {
 
     private final RefundRecordService refundRecordService;
 
+    private final LawyerConsultationOrderMapper lawyerConsultationOrderMapper;
+
 
     /**
      * 填写阿里配置
@@ -195,8 +200,22 @@ public class AlipayPaymentStrategyImpl implements PaymentStrategy {
     }
 
     @Override
-    public R<Object> searchOrderByOutTradeNoPath(String transactionId) throws Exception {
+    public R<Object> searchOrderByOutTradeNoPath(String transactionId,Integer id ,String orderStr) throws Exception {
         try {
+
+            //根据id把transactionId和orderStr更新到lawyer_consultation_order表中
+
+            LambdaUpdateWrapper<LawyerConsultationOrder> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(LawyerConsultationOrder::getId, id);
+            updateWrapper.set(LawyerConsultationOrder::getAlipayNo, transactionId);
+            updateWrapper.set(LawyerConsultationOrder::getOrderStr, orderStr);
+
+            int a=lawyerConsultationOrderMapper.update(null, updateWrapper);
+
+            if (a>0){
+                log.info("更新订单成功");
+            }
+
             AlipayClient alipayClient = new DefaultAlipayClient(setAlipayConfig(null));
             // 2. 构造查询请求
             AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

+ 21 - 1
alien-lawyer/src/main/java/shop/alien/lawyer/payment/impl/WeChatPaymentStrategyImpl.java

@@ -1,5 +1,6 @@
 package shop.alien.lawyer.payment.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.google.gson.annotations.Expose;
 import com.google.gson.annotations.SerializedName;
 import lombok.RequiredArgsConstructor;
@@ -8,11 +9,13 @@ import okhttp3.*;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.LawyerConsultationOrder;
 import shop.alien.entity.store.RefundRecord;
 
 import shop.alien.lawyer.payment.PaymentStrategy;
 import shop.alien.lawyer.service.RefundRecordService;
 import shop.alien.lawyer.util.WXPayUtility;
+import shop.alien.mapper.LawyerConsultationOrderMapper;
 import shop.alien.util.common.UniqueRandomNumGenerator;
 import shop.alien.util.common.constant.PaymentEnum;
 import shop.alien.util.system.OSUtil;
@@ -126,6 +129,9 @@ public class WeChatPaymentStrategyImpl implements PaymentStrategy {
     private static String POSTMETHOD = "POST";
     private static String GETMETHOD = "GET";
 
+
+    private final LawyerConsultationOrderMapper lawyerConsultationOrderMapper;
+
     @PostConstruct
     public void setWeChatPaymentConfig() {
         String privateKeyPath;
@@ -241,8 +247,22 @@ public class WeChatPaymentStrategyImpl implements PaymentStrategy {
     }
 
     @Override
-    public R searchOrderByOutTradeNoPath(String transactionId) throws Exception {
+    public R searchOrderByOutTradeNoPath(String transactionId ,Integer id,String orderStr) throws Exception {
         log.info("查询微信支付订单状态,交易订单号:{}", transactionId);
+
+        LambdaUpdateWrapper<LawyerConsultationOrder> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(LawyerConsultationOrder::getId, id);
+        updateWrapper.set(LawyerConsultationOrder::getAlipayNo, transactionId);
+        updateWrapper.set(LawyerConsultationOrder::getOrderStr, orderStr);
+
+        int a=lawyerConsultationOrderMapper.update(null, updateWrapper);
+
+        if (a>0){
+            log.info("更新订单成功");
+        }
+
+
+
         QueryByWxTradeNoRequest request = new QueryByWxTradeNoRequest();
         request.transactionId = transactionId;
         request.mchid = mchId;