From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/controller/api/VIPController.java |   76 ++++++++++++++++++++++++--------------
 1 files changed, 48 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/api/VIPController.java b/src/main/java/com/yeshi/buwan/controller/api/VIPController.java
index d9c02f3..ed0912e 100644
--- a/src/main/java/com/yeshi/buwan/controller/api/VIPController.java
+++ b/src/main/java/com/yeshi/buwan/controller/api/VIPController.java
@@ -10,8 +10,9 @@
 import com.yeshi.buwan.exception.order.OrderException;
 import com.yeshi.buwan.exception.order.PayException;
 import com.yeshi.buwan.exception.vip.VIPException;
-import com.yeshi.buwan.pptv.entity.PPTVSeries;
-import com.yeshi.buwan.pptv.entity.VideoPPTVMap;
+import com.yeshi.buwan.exception.vip.VideoBuyRecordException;
+import com.yeshi.buwan.videos.pptv.entity.PPTVSeries;
+import com.yeshi.buwan.videos.pptv.entity.VideoPPTVMap;
 import com.yeshi.buwan.service.inter.LoginUserService;
 import com.yeshi.buwan.service.inter.juhe.PPTVService;
 import com.yeshi.buwan.service.inter.order.OrderService;
@@ -19,8 +20,6 @@
 import com.yeshi.buwan.service.inter.vip.VIPPriceService;
 import com.yeshi.buwan.service.inter.vip.VIPService;
 import com.yeshi.buwan.util.*;
-import com.yeshi.buwan.util.user.VipUtil;
-import com.yeshi.buwan.util.vip.VIPOrderUtil;
 import com.yeshi.buwan.vo.AcceptData;
 import com.yeshi.buwan.vo.client.user.UserInfoVO;
 import com.yeshi.buwan.vo.order.OrderInfoVO;
@@ -40,7 +39,6 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.UUID;
 
 @Controller
 @RequestMapping("api/v2/vip")
@@ -134,13 +132,13 @@
         }).create();
         JSONObject root = new JSONObject();
 
-        List<OrderRecord> list = orderService.listOrderRecord(loginUid, OrderType.valueOf(type), null, page, Constant.pageCount);
+        List<OrderRecord> list = orderService.listOrderRecord(loginUid, type == null ? null : OrderType.valueOf(type), null, page, Constant.pageCount);
 
         List<OrderInfoVO> voList = new ArrayList<>();
         for (OrderRecord record : list) {
             voList.add(OrderInfoVO.create(record));
         }
-        long count = orderService.countOrderRecord(loginUid, OrderType.valueOf(type), null);
+        long count = orderService.countOrderRecord(loginUid, type == null ? null : OrderType.valueOf(type), null);
         root.put("list", gson.toJson(voList));
         root.put("count", count);
         return JsonUtilV2.loadTrueJson(root.toString());
@@ -155,7 +153,7 @@
      */
     @RequestMapping("createOrder")
     @ResponseBody
-    public String createOrder(AcceptData acceptData, HttpServletRequest request, String loginUid, String priceId, String infoId, Integer goldCorn, int payWay) {
+    public String createOrder(AcceptData acceptData, HttpServletRequest request, String loginUid, String priceId, String cid, String vid, Integer goldCorn, int payWay) {
 
         if (StringUtil.isNullOrEmpty(loginUid)) {
             return JsonUtilV2.loadFalseJson("鐢ㄦ埛鏈櫥褰�");
@@ -166,11 +164,11 @@
             return JsonUtilV2.loadFalseJson("鐢ㄦ埛涓嶅瓨鍦�");
         }
 
-        if (StringUtil.isNullOrEmpty(user.getPhone())) {
+        if (StringUtil.isNullOrEmpty(user.getPhone()) && payWay != OrderRecord.PAY_WAY_IAPP) {
             return JsonUtilV2.loadFalseJson(10001, "璇风粦瀹氱數璇濆彿鐮�");
         }
 
-        if (StringUtil.isNullOrEmpty(priceId) && StringUtil.isNullOrEmpty(infoId)) {
+        if (StringUtil.isNullOrEmpty(priceId) && StringUtil.isNullOrEmpty(cid)) {
             return JsonUtilV2.loadFalseJson("璇烽�夋嫨璐拱绫诲瀷");
         }
 
@@ -179,7 +177,7 @@
 
         OrderType orderType = OrderType.vip;
 
-        if (!StringUtil.isNullOrEmpty(infoId)) {
+        if (!StringUtil.isNullOrEmpty(cid)) {
             orderType = OrderType.video;
         }
 
@@ -191,13 +189,13 @@
         VIPPrice vipPrice = null;
 
         if (orderType == OrderType.video) {
-            //瑙嗛
-            VideoPPTVMap map = pptvService.selectVideoPPTVMapByInfoId(infoId);
-            if (map == null) {
+            PPTVSeries pptvSeries = pptvService.selectSeriesBySeriesCode(cid);
+            if (pptvSeries == null) {
                 return JsonUtilV2.loadFalseJson("褰辩墖涓嶅瓨鍦�");
             }
-            PPTVSeries pptvSeries = pptvService.selectSeriesByInfoId(infoId);
-            if (pptvSeries == null) {
+            //瑙嗛
+            VideoPPTVMap map = pptvService.selectVideoPPTVMapByPPInfo(pptvSeries.getInfoID(), vid);
+            if (map == null) {
                 return JsonUtilV2.loadFalseJson("褰辩墖涓嶅瓨鍦�");
             }
             record.setRemarks(pptvSeries.getName());
@@ -219,7 +217,8 @@
         }
 
         record.setOrderType(orderType);
-        record.setVideoInfoId(infoId);
+        record.setVideoCid(cid);
+        record.setVideoVid(vid);
         record.setGoldCorn(goldCorn);
         record.setPayWay(payWay);
         record.setState(OrderRecord.STATE_NOT_PAY);
@@ -248,9 +247,20 @@
             return JsonUtilV2.loadFalseJson(e.getMessage());
         } catch (PPTVException e) {
             return JsonUtilV2.loadFalseJson(e.getMessage());
+        } catch (VideoBuyRecordException e) {
+            return JsonUtilV2.loadFalseJson("鍗曠墖璐拱澶辫触");
         }
-        return JsonUtilV2.loadTrueJson(new Gson().toJson(payResult));
+        if (payResult.getPayWay() == OrderRecord.PAY_WAY_IAPP) {
+            //鑻规灉鍐呰喘
+            JSONObject root = new JSONObject();
+            root.put("orderNo", record.getId());
+            root.put("productId", vipPrice.getIosProductId());
+            return JsonUtilV2.loadTrueJson(root.toString());
+        } else {
+            return JsonUtilV2.loadTrueJson(new Gson().toJson(payResult));
+        }
     }
+
 
     /**
      * 妫�鏌ユ槸鍚︽敮浠�
@@ -258,27 +268,37 @@
      * @param acceptData
      * @param loginUid
      * @param id
+     * @param receipt    -ios鏀粯缁撴灉receipt
      * @return
      */
     @RequestMapping("checkPay")
     @ResponseBody
     @RequestSerializableByKey(key = "'vip-checkPay-'+#id")
-    public String checkPay(AcceptData acceptData, String loginUid, String id) {
+    public String checkPay(AcceptData acceptData, String loginUid, String id, String receipt) {
         OrderRecord record = orderService.getOrderRecord(id);
         if (record == null || !record.getUid().equalsIgnoreCase(loginUid)) {
             return JsonUtilV2.loadFalseJson("璁板綍涓嶅瓨鍦�/涓嶆槸鎮ㄧ殑璁㈠崟");
         }
 
-        record = orderService.checkOrderPayState(id);
-        //鏈敮浠�
-        if (record != null && record.getState() != OrderRecord.STATE_PAY) {
-            return JsonUtilV2.loadFalseJson(1, "鏀粯鏈畬鎴�");
+        if (record.getPayWay() == OrderRecord.PAY_WAY_IAPP) {
+            try {
+                orderService.checkApplePay(record.getId(), receipt);
+                JSONObject data = new JSONObject();
+                return JsonUtilV2.loadTrueJson(data.toString());
+            } catch (Exception e) {
+                return JsonUtilV2.loadFalseJson(e.getMessage());
+            }
+        } else {
+            record = orderService.checkOrderPayState(id);
+            //鏈敮浠�
+            if (record != null && record.getState() != OrderRecord.STATE_PAY) {
+                return JsonUtilV2.loadFalseJson(1, "鏀粯鏈畬鎴�");
+            }
+
+            JSONObject data = new JSONObject();
+            data.put("money", record.getPayMoney() == null ? record.getMoney() : record.getPayMoney());
+            return JsonUtilV2.loadTrueJson(data.toString());
         }
-
-        JSONObject data = new JSONObject();
-        data.put("money", record.getPayMoney() == null ? record.getMoney() : record.getPayMoney());
-
-        return JsonUtilV2.loadTrueJson(data.toString());
     }
 
 

--
Gitblit v1.8.0