ソースを参照

判断此次支付是否完成

plf 4 年 前
コミット
93befc69e1

+ 6 - 0
base-module/src/main/java/com/caimei/module/base/entity/po/CmOrder.java

@@ -7,6 +7,7 @@ import java.math.BigDecimal;
 
 /**
  * cm_order
+ *
  * @author
  */
 @Data
@@ -80,6 +81,11 @@ public class CmOrder implements Serializable {
      */
     private String refundType;
 
+    /**
+     * 已支付成功次数统计(适用线上多笔付款用来确认当前是哪一笔)
+     */
+    private Integer paySuccessCounter;
+
     /**
      * 是否已支付 未支付0 已支付1
      */

+ 9 - 0
pay/src/main/java/com/caimei/module/pay/service/PayService.java

@@ -46,4 +46,13 @@ public interface PayService {
      * 重定向到收银台页面
      */
     void jumpPage(String linkLogo, String linkPage, HttpServletResponse response) throws IOException;
+
+    /**
+     * 判断此次支付是否完成
+     *
+     * @param orderId           订单id
+     * @param paySuccessCounter 付款次数
+     * @return
+     */
+    JsonModel payWhetherSuccess(Integer orderId, Integer paySuccessCounter);
 }

+ 16 - 3
pay/src/main/java/com/caimei/module/pay/service/impl/PayServiceImpl.java

@@ -49,9 +49,10 @@ public class PayServiceImpl implements PayService {
      */
     String merNo = "10001720";
 
+    JsonModel model = JsonModel.newInstance();
+
     @Override
     public JsonModel checkoutCounter(Integer orderId) {
-        JsonModel model = JsonModel.newInstance();
         if (null == orderId) {
             return model.error("参数异常");
         }
@@ -87,7 +88,6 @@ public class PayServiceImpl implements PayService {
 
     @Override
     public synchronized JsonModel pay(Payment payment, HttpServletRequest request) {
-        JsonModel model = JsonModel.newInstance();
         JSONObject result = null;
         OrderVo order = payDao.findOrder(payment.getOrderId());
         if (null == order) {
@@ -238,6 +238,8 @@ public class PayServiceImpl implements PayService {
             //(收款买家)收款状态:1待收款、2部分收款、3已收款
             order.setReceiptStatus("2");
         }
+        //更新付款次数
+        order.setPaySuccessCounter(order.getPaySuccessCounter() + 1);
         payDao.updateSelective(order);
         //修改支付链接状态
         OrderPayLinkVo orderPayLink = payDao.findOrderPayLink(order.getOrderID(), amount);
@@ -289,7 +291,6 @@ public class PayServiceImpl implements PayService {
 
     @Override
     public JsonModel payLink(OrderPayLinkVo orderPayLink) {
-        JsonModel model = JsonModel.newInstance();
         if (null == orderPayLink) {
             return model.error("参数异常");
         }
@@ -360,4 +361,16 @@ public class PayServiceImpl implements PayService {
         }
     }
 
+    @Override
+    public JsonModel payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
+        OrderVo order = payDao.findOrder(orderId);
+        if (order.getPaySuccessCounter().equals(paySuccessCounter)) {
+            return model.error(-2, "支付失败");
+        } else if (order.getPaySuccessCounter() > paySuccessCounter) {
+            return model.success("支付成功");
+        } else {
+            return model.error("支付异常>>>>>>>" + order);
+        }
+    }
+
 }

+ 3 - 0
pay/src/main/resources/com-caimei-module-pay/PayMapper.xml

@@ -80,6 +80,9 @@
             <if test="refundType != null">
                 refundType = #{refundType,jdbcType=CHAR},
             </if>
+            <if test="paySuccessCounter != null">
+                paySuccessCounter = #{paySuccessCounter},
+            </if>
             <if test="payFlag != null">
                 payFlag = #{payFlag,jdbcType=CHAR},
             </if>