From eb7f3343af839a7c71f16e8ada2b25d5e2201c08 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 19 四月 2021 19:27:52 +0800 Subject: [PATCH] bug修复 --- src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java | 63 ++++++++++++++++++++++++++++++- 1 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java b/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java index 205fde1..b29dc83 100644 --- a/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java +++ b/src/main/java/com/yeshi/buwan/pptv/PPTVVipManager.java @@ -1,11 +1,14 @@ 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.OrderType; +import com.yeshi.buwan.domain.vip.OrderRecord; import com.yeshi.buwan.domain.vip.VIPPrice; import com.yeshi.buwan.exception.PPTVException; import com.yeshi.buwan.exception.vip.VIPException; +import com.yeshi.buwan.pptv.entity.PPTVSeries; import com.yeshi.buwan.service.inter.LoginUserService; +import com.yeshi.buwan.service.inter.juhe.PPTVService; import com.yeshi.buwan.service.inter.vip.VIPPriceService; import com.yeshi.buwan.util.StringUtil; import org.springframework.stereotype.Component; @@ -25,6 +28,9 @@ @Resource private LoginUserService loginUserService; + @Resource + private PPTVService pptvService; + /** * 璐拱VIP * @@ -33,9 +39,13 @@ * @throws VIPException */ @Transactional(rollbackFor = Exception.class) - public void buyVIP(VIPOrderRecord record) throws PPTVException, VIPException { - if (record.getState() != VIPOrderRecord.STATE_PAY) { + public void buyVIP(OrderRecord record) throws PPTVException, VIPException { + if (record.getState() != OrderRecord.STATE_PAY) { throw new VIPException(11, "灏氭湭鏀粯鎴愬姛"); + } + + if (record.getOrderType() != OrderType.vip) { + throw new VIPException(41, "涓嶆槸VIP璁㈠崟"); } VIPPrice price = vipPriceService.selectByType(record.getType()); if (price == null) { @@ -62,4 +72,51 @@ } + /** + * 璐拱鍗曠墖 + * + * @param record + * @throws PPTVException + * @throws VIPException + */ + @Transactional(rollbackFor = Exception.class) + public void buyVideo(OrderRecord record) throws PPTVException, VIPException { + if (record.getState() != OrderRecord.STATE_PAY) { + throw new VIPException(11, "灏氭湭鏀粯鎴愬姛"); + } + + if (record.getOrderType() != OrderType.video) { + throw new VIPException(41, "涓嶆槸鍗曠墖璁㈠崟"); + } + + PPTVSeries pptvSeries = pptvService.getSeriesDetail(record.getVideoInfoId()); + if (pptvSeries == null) { + throw new VIPException(41, "褰辩墖淇℃伅鑾峰彇澶辫触"); + } + + if (pptvSeries.getGoodsInfo() == null || StringUtil.isNullOrEmpty(pptvSeries.getGoodsInfo().getGoodsNo())) { + throw new VIPException(41, "褰辩墖鍟嗗搧淇℃伅涓虹┖"); + } + + + 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(), pptvSeries.getGoodsInfo().getGoodsNo(), record.getPayTime()); + if (!success) { + throw new VIPException(21, "PPTV浼氬憳璐拱澶辫触"); + } + } + + } -- Gitblit v1.8.0