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/controller/api/VideoPlayController.java | 141 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 136 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java b/src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java index 5740e4d..fa312b3 100644 --- a/src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java +++ b/src/main/java/com/yeshi/buwan/controller/api/VideoPlayController.java @@ -1,7 +1,26 @@ package com.yeshi.buwan.controller.api; +import com.google.gson.Gson; +import com.yeshi.buwan.domain.jump.JumpDetail; +import com.yeshi.buwan.domain.jump.JumpTypeEnum; +import com.yeshi.buwan.domain.video.VideoWatchHistory; +import com.yeshi.buwan.pptv.PPTVApiUtil; +import com.yeshi.buwan.pptv.PPTVUtil; +import com.yeshi.buwan.pptv.entity.PPTVProgram; +import com.yeshi.buwan.pptv.entity.PPTVSeries; +import com.yeshi.buwan.pptv.entity.PPTVSeriesProgramMap; +import com.yeshi.buwan.pptv.entity.VideoPPTVMap; +import com.yeshi.buwan.service.inter.juhe.PPTVService; import com.yeshi.buwan.service.inter.push.PushDeviceTokenService; +import com.yeshi.buwan.service.inter.system.SystemConfigService; +import com.yeshi.buwan.service.inter.video.VideoWatchHistoryService; +import com.yeshi.buwan.util.JsonUtil; +import com.yeshi.buwan.util.ThreadUtil; +import com.yeshi.buwan.util.VersionUtil; import com.yeshi.buwan.vo.AcceptData; +import com.yeshi.buwan.vo.video.PPTVVideoActivityInfoVO; +import com.yeshi.buwan.vo.video.PPTVWatchVIPVideoActivityWay; +import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -9,6 +28,9 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; @Controller @RequestMapping("api/v2/video/play") @@ -17,7 +39,13 @@ Logger logger = LoggerFactory.getLogger(VideoPlayController.class); @Resource - private PushDeviceTokenService pushDeviceTokenService; + private PPTVService pptvService; + + @Resource + private VideoWatchHistoryService videoWatchHistoryService; + + @Resource + private SystemConfigService systemConfigService; /** @@ -25,18 +53,121 @@ * * @param acceptData * @param loginUid - * @param cid - * @param vid + * @param Cid + * @param Vid * @return */ @RequestMapping("pptvPlay") @ResponseBody - public String pptvPlay(AcceptData acceptData, String loginUid, String cid, String vid) { + public String pptvPlay(AcceptData acceptData, String loginUid, String Cid, String Vid) { - logger.info("鎾斁PPTV锛歭oginUid-{}锛宑id-{}锛寁id-{}", loginUid, cid, vid); + logger.info("鎾斁PPTV锛歭oginUid-{}锛宑id-{}锛寁id-{}", loginUid, Cid, Vid); + PPTVSeriesProgramMap map = pptvService.selectMapByCode(Cid, Vid); + if (map != null) { + String infoId = map.getInfoId(); + VideoPPTVMap videoPPTVMap = pptvService.selectVideoPPTVMapByInfoId(infoId); + if (videoPPTVMap != null) { + PPTVProgram program = pptvService.selectProgramById(Vid); + if (program != null && program.getSeriesNum() != null) { + //褰撳墠鎾斁鐨勯泦鏁� program.getSeriesNum(); + VideoWatchHistory history = new VideoWatchHistory(); + history.setDevice(acceptData.getDevice()); + history.setVideoId(videoPPTVMap.getVideoId()); + history.setUid(loginUid); + history.setPosition(Integer.parseInt(program.getSeriesNum()) - 1); + videoWatchHistoryService.add(history); + } + } + } return ""; } + /** + * 鑾峰彇pptv鐨勬椿鍔� + * + * @param acceptData + * @param loginUid + * @param cid + * @param vid + * @return + */ + @RequestMapping("getPPTVVIPVideoActivity") + @ResponseBody + public String getPPTVVIPVideoActivity(AcceptData acceptData, String loginUid, String cid, String vid) { + //鏌ヨcid涓巚id鐨勫悕瀛� + PPTVSeries pptvSeries = pptvService.selectSeriesBySeriesCode(cid); + if (pptvSeries == null) { + try { + pptvSeries = PPTVApiUtil.getDetail(cid); + ThreadUtil.run(new Runnable() { + @Override + public void run() { + pptvService.syncSeries(cid); + } + }); + } catch (Exception e) { + + } + } + + PPTVVideoActivityInfoVO vo = new PPTVVideoActivityInfoVO(); + if (pptvSeries != null) { + vo.setVideoName("銆�" + pptvSeries.getName() + "銆�"); + } else { + vo.setVideoName("銆婃湭鐭ヨ棰戙��"); + } + + List<PPTVWatchVIPVideoActivityWay> wayList = new ArrayList<>(); + PPTVWatchVIPVideoActivityWay way = new PPTVWatchVIPVideoActivityWay(); + way.setEndBgColor("#E9CE93"); + way.setStartBgColor("#F7EDD7"); + way.setEndPrice(new BigDecimal("77.8")); + way.setIcon("https://buwan-1255749512.cos.ap-guangzhou.myqcloud.com/resource/icon_vip.png"); + way.setStartPrice(new BigDecimal("8.8")); + way.setSubTitle("鍖呮湀銆佸銆佸勾鍗�"); + way.setTitle("VIP鐪嬮珮娓� 鍏嶅箍鍛�"); + way.setTextColor("#885E24"); + way.setType("vip"); + wayList.add(way); + + + //3.9.2鍚庤繑鍥炲崟鐗囪喘涔� + if (VersionUtil.isGraterThan392(acceptData.getPlatform(), acceptData.getVersion())) { + String buyVideoUrl = systemConfigService.getConfigValueByKeyCache("buyVideoUrl"); + if (buyVideoUrl != null && pptvSeries != null && PPTVUtil.isVIPVideo(pptvSeries.getFree()) && PPTVUtil.getAvaiableStates().contains(pptvSeries.getStatus())) { + way = new PPTVWatchVIPVideoActivityWay(); + way.setEndBgColor("#DCE8FF"); + way.setStartBgColor("#DCE8FF"); +// way.setEndPrice(new BigDecimal("77.8")); + way.setIcon("http://img.ysdq.yeshitv.com/resource/icon_free_money.png"); + way.setStartPrice(new BigDecimal("0")); + way.setSubTitle("鐣呬韩娴烽噺楂樻竻"); + way.setTitle("0鍏冪湅鍗曠墖"); + way.setTextColor("#0052F6"); + way.setType("video"); + JumpDetail jumpDetail = new JumpDetail(); + jumpDetail.setType(JumpTypeEnum.web); + way.setJumpDetail(jumpDetail); + JSONObject params = new JSONObject(); + params.put("url", buyVideoUrl.replace("{infoId}", pptvSeries.getInfoID())); + params.put("close", false); + way.setParams(params.toString().replace("\"", "\\" + "\"")); + wayList.add(way); + } + } + + vo.setWayList(wayList); + return JsonUtil.loadTrueJson(new Gson().toJson(vo)); + } + + @RequestMapping("uploadSession") + @ResponseBody + public String uploadSession(AcceptData acceptData, String sessionId) { + + + return JsonUtil.loadTrueJson(""); + } + } -- Gitblit v1.8.0