zhijiezhao vor 3 Jahren
Ursprung
Commit
6910a574fb

+ 2 - 2
src/main/java/com/caimei365/order/components/HeliPayUtil.java

@@ -184,9 +184,9 @@ public class HeliPayUtil {
         }
         else if ("order".equals(payFlag)) {
             //以子订单为单位付款,商户号为商品的分帐号
-            OrderVo order = orderCommonMapper.getOrderByOrderId(heliDto.getOrderId());
+            OrderVo order = orderCommonMapper.getOrderByShopOrderId(heliDto.getShopOrderId());
             orderId = order.getOrderNo() + "T" + time + environment;
-            pay.setP5_orderAmount(heliDto.getPayAmount().toString());
+            pay.setP5_orderAmount(heliDto.getPayAmount());
             pay.setP9_notifyUrl(notifyUrl);
             String product = "采美订单" + order.getOrderNo();
             pay.setP12_goodsName(product);

+ 7 - 7
src/main/java/com/caimei365/order/controller/HeliPayApi.java

@@ -166,23 +166,23 @@ public class HeliPayApi {
     /**
      * 判断此次支付是否完成
      *
-     * @param orderId           订单id
+     * @param shopOrderId           订单id
      * @param paySuccessCounter 付款次数
      */
     @ApiOperation("判断此次支付是否完成(旧:/PayOrder/payWhetherSuccess)")
     @ApiImplicitParams({
-            @ApiImplicitParam(required = false, name = "orderId", value = "订单id"),
+            @ApiImplicitParam(required = false, name = "shopOrderId", value = "订单id"),
             @ApiImplicitParam(required = false, name = "paySuccessCounter", value = "付款次数")
     })
     @GetMapping("/result/check")
-    public ResponseJson<String> payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
-        if (null == orderId) {
-            return ResponseJson.error("订单Id不能为空!", null);
+    public ResponseJson<String> payWhetherSuccess(Integer shopOrderId, Integer paySuccessCounter) {
+        if (null == shopOrderId) {
+            return ResponseJson.error("订单Id不能为空!", null);
         }
         if (null == paySuccessCounter) {
             return ResponseJson.error("付款次数不能为空!", null);
         }
-        return payOrderService.payWhetherSuccess(orderId, paySuccessCounter);
+        return payOrderService.payWhetherSuccess(shopOrderId, paySuccessCounter);
     }
 
     /**
@@ -201,7 +201,7 @@ public class HeliPayApi {
     }
 
     /**
-     * 合利宝pc微信支付宝二维码
+     * 合利宝pc支付宝二维码
      */
     @ApiOperation("合利宝支付宝扫码支付")
     @PostMapping("/scan/pay")

+ 4 - 2
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -75,9 +75,9 @@ public interface PayOrderMapper {
     Integer getOrderPromotionsId(Integer orderId);
     /**
      * 付款次数
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    Integer getDbPaySuccessCounter(Integer orderId);
+    Integer getDbPaySuccessCounter(Integer shopOrderId);
 
     /**
      * 根据用户id获取用户openid列表(微信公众号openid,下单)
@@ -245,4 +245,6 @@ public interface PayOrderMapper {
     String findShopOrderSplitCode(Integer shopOrderId);
 
     void updateShopOrder(ShopOrderVo shopOrder);
+
+    Integer getOrderId(Integer shopOrderId);
 }

+ 7 - 1
src/main/java/com/caimei365/order/model/vo/ShopOrderVo.java

@@ -15,7 +15,13 @@ import java.util.List;
 @Data
 public class ShopOrderVo implements Serializable {
     private static final long serialVersionUID = 1L;
-
+    /**
+     * 子订单已支付成功次数统计
+     */
+    private Integer paySuccessCounter;
+    /**
+     * 特殊供应商标识
+     */
     private Integer shopType;
     /**
      * 子订单ID

+ 2 - 0
src/main/java/com/caimei365/order/service/impl/HeliPayServiceImpl.java

@@ -295,6 +295,8 @@ public class HeliPayServiceImpl implements HeliPayService {
         }
         // 更新付款次数
         Integer paySuccessCounter = (null == order.getPaySuccessCounter()) ? 1 : order.getPaySuccessCounter() + 1;
+        Integer paySuccess = (null == shopOrder.getPaySuccessCounter()) ? 1 : shopOrder.getPaySuccessCounter() + 1;
+        shopOrder.setPaySuccessCounter(paySuccess);
         order.setPaySuccessCounter(paySuccessCounter);
         order.setUpdateDate(curDateStr);
         // 更新订单支付状态

+ 4 - 3
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -1091,12 +1091,13 @@ public class PayOrderServiceImpl implements PayOrderService {
     /**
      * 判断此次支付是否完成
      *
-     * @param orderId           订单id
+     * @param shopOrderId       子订单id
      * @param paySuccessCounter 付款次数
      */
     @Override
-    public ResponseJson<String> payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
-        Integer dbPayCounter = payOrderMapper.getDbPaySuccessCounter(orderId);
+    public ResponseJson<String> payWhetherSuccess(Integer shopOrderId, Integer paySuccessCounter) {
+        Integer dbPayCounter = payOrderMapper.getDbPaySuccessCounter(shopOrderId);
+        Integer orderId = payOrderMapper.getOrderId(shopOrderId);
         if (paySuccessCounter.equals(dbPayCounter)) {
             return ResponseJson.error(-2, "支付失败", "付款次数异常");
         } else if (dbPayCounter > paySuccessCounter) {

+ 2 - 1
src/main/resources/mapper/OrderCommonMapper.xml

@@ -622,7 +622,8 @@
             splitFlag,
             realPay,
             receiptAmount,
-            receiptStatus
+            receiptStatus,
+            paySuccessCounter
         FROM cm_shop_order
         WHERE delFlag = 0
           AND shopOrderID = #{shopOrderId}

+ 6 - 3
src/main/resources/mapper/PayOrderMapper.xml

@@ -143,7 +143,7 @@
     </update>
     <update id="updateShopOrder">
         UPDATE cm_shop_order SET
-        receiptStatus = #{receiptStatus}, receiptAmount = #{receiptAmount}
+        receiptStatus = #{receiptStatus}, receiptAmount = #{receiptAmount},paySuccessCounter =#{paySuccessCounter}
         WHERE shopOrderID = #{shopOrderId}
     </update>
     <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
@@ -219,8 +219,8 @@
         SELECT id FROM cm_promotions_order WHERE orderId = #{orderId} LIMIT 1
     </select>
     <select id="getDbPaySuccessCounter" resultType="java.lang.Integer">
-        SELECT paySuccessCounter FROM cm_order
-        WHERE orderID = #{orderId} AND delFlag = '0'
+        SELECT paySuccessCounter FROM cm_shop_order
+        WHERE shopOrderID = #{shopOrderId} AND delFlag = '0'
     </select>
 
     <select id="getOpenidListByPermission" resultType="java.lang.String">
@@ -362,4 +362,7 @@
     <select id="findShopOrderSplitCode" resultType="java.lang.String">
         select splitCode from cm_shop_order where shopOrderID = #{shopOrderId}
     </select>
+    <select id="getOrderId" resultType="java.lang.Integer">
+        select orderId from cm_shop_order where shopOrderID = #{shopOrderId}
+    </select>
 </mapper>