From cad915058c3c53bf328a8ae9ca9bc7de099caba7 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 06 二月 2021 15:27:49 +0800
Subject: [PATCH] 接口bug修改

---
 src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java b/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java
index 316e302..cd91b68 100644
--- a/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java
+++ b/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java
@@ -1,6 +1,16 @@
 package com.yeshi.buwan.pptv;
 
+import com.yeshi.buwan.domain.user.LoginUserExtra;
+import com.yeshi.buwan.domain.vip.VIPOrderRecord;
+import com.yeshi.buwan.domain.vip.VIPPrice;
+import com.yeshi.buwan.exception.PPTVException;
+import com.yeshi.buwan.exception.vip.VIPException;
+import com.yeshi.buwan.service.inter.LoginUserService;
+import com.yeshi.buwan.service.inter.vip.VIPPriceService;
+import com.yeshi.buwan.util.StringUtil;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 /**
  * PPTV浼氬憳
@@ -8,12 +18,44 @@
 @Component
 public class PPTVVipManager {
 
+    @Resource
+    private VIPPriceService vipPriceService;
+
+    @Resource
+    private LoginUserService loginUserService;
 
     /**
      * 璐拱VIP
+     * @param record
+     * @throws PPTVException
+     * @throws VIPException
      */
-    public void buyVIP() {
+    public void buyVIP(VIPOrderRecord record) throws PPTVException, VIPException {
+        if (record.getState() != VIPOrderRecord.STATE_PAY) {
+            throw new VIPException(11, "灏氭湭鏀粯鎴愬姛");
+        }
+        VIPPrice price = vipPriceService.selectByType(record.getType());
+        if (price == null) {
+            throw new VIPException(12, "鏃犳硶鑾峰彇浠锋牸濂楅");
+        }
 
+        LoginUserExtra extra = loginUserService.getExtra(record.getUid());
+        if (extra == null) {
+            throw new VIPException(13, "鐢ㄦ埛淇℃伅鑾峰彇澶辫触");
+        }
+
+        if (StringUtil.isNullOrEmpty(extra.getPptvUid())) {
+            throw new VIPException(14, "pptvuid鑾峰彇澶辫触");
+        }
+
+        if (StringUtil.isNullOrEmpty(extra.getPptvOpenId())) {
+            loginUserService.updatePPTVOpenId(record.getUid());
+        }
+
+        boolean success = PPTVApiUtil.buyGoods(extra.getPptvOpenId(), "buwan_" + record.getId(), price.getPptvGoodsNo(), record.getPayTime());
+        if (!success) {
+            throw new VIPException(21, "PPTV浼氬憳璐拱澶辫触");
+        }
     }
 
 

--
Gitblit v1.8.0