浏览代码

苹果支付4

小么熊🐻 2 年之前
父节点
当前提交
8ce972296a

+ 7 - 0
jsjp-admin/src/main/java/com/miaxis/app/controller/applePay/ApplePayController.java

@@ -84,6 +84,12 @@ public class ApplePayController extends BaseController {
                     JSONObject jo = in_app.getJSONObject(i);
                     ApplepayOrder applepayOrder = JSONObject.toJavaObject(jo,ApplepayOrder.class);
 
+                    ApplepayOrder applepayOrderQuery = new ApplepayOrder();
+                    applepayOrderQuery.setTransactionId(applePayDTO.getTransaction_id());
+                    int count = applepayOrderService.selectApplepayOrderCount(applepayOrderQuery);
+                    if(count>0){
+                        throw new CustomException("该订单已支付完成,请勿重新调用。");
+                    }
                     //查询套餐
                     int index = applepayOrder.getProductId().lastIndexOf(".");
                     String goodCode = applepayOrder.getProductId().substring(index+1);
@@ -98,6 +104,7 @@ public class ApplePayController extends BaseController {
                     applepayOrder.setUserName(applePayDTO.getUserName());
 
 
+
                     orderInfoService.writeVipDataToDb(applepayOrder.getGoodsName(),applepayOrder.getUserId(),applepayOrder.getUserName(),applepayOrder.getTransactionId(),applepayOrder.getTotal(),3);
                     applepayOrderService.save(applepayOrder);
                 }

+ 2 - 0
jsjp-service/src/main/java/com/miaxis/applepay/mapper/ApplepayOrderMapper.java

@@ -20,4 +20,6 @@ public interface ApplepayOrderMapper extends BaseMapper<ApplepayOrder> {
      */
     public List<ApplepayOrder> selectApplepayOrderList(ApplepayOrder applepayOrder);
 
+    public int selectApplepayOrderCount(ApplepayOrder applepayOrder);
+
 }

+ 4 - 0
jsjp-service/src/main/java/com/miaxis/applepay/service/IApplepayOrderService.java

@@ -19,4 +19,8 @@ public interface IApplepayOrderService extends IService<ApplepayOrder>{
      * @return 苹果支付订单集合
      */
     public List<ApplepayOrder> selectApplepayOrderList(ApplepayOrder applepayOrder);
+
+
+    public int selectApplepayOrderCount(ApplepayOrder applepayOrder);
+
 }

+ 14 - 0
jsjp-service/src/main/resources/mapper/applepay/ApplepayOrderMapper.xml

@@ -32,4 +32,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="selectApplepayOrderCount" parameterType="ApplepayOrder" resultMap="ApplepayOrderResult">
+        select count(1) from applepay_order
+        <where>
+            <if test="transactionId != null "> and transaction_id = #{transactionId}</if>
+            <if test="originalTransactionId != null "> and original_transaction_id = #{originalTransactionId}</if>
+            <if test="productId != null "> and product_id = #{productId}</if>
+            <if test="quantity != null "> and quantity = #{quantity}</if>
+            <if test="purchaseDate != null "> and purchase_date = #{purchaseDate}</if>
+            <if test="originalPurchaseDate != null "> and original_purchase_date = #{originalPurchaseDate}</if>
+        </where>
+    </select>
+
+
+
 </mapper>