| | |
| | | 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; |
| | |
| | | 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") |
| | |
| | | Logger logger = LoggerFactory.getLogger(VideoPlayController.class); |
| | | |
| | | @Resource |
| | | private PushDeviceTokenService pushDeviceTokenService; |
| | | private PPTVService pptvService; |
| | | |
| | | @Resource |
| | | private VideoWatchHistoryService videoWatchHistoryService; |
| | | |
| | | @Resource |
| | | private SystemConfigService systemConfigService; |
| | | |
| | | |
| | | /** |
| | |
| | | * |
| | | * @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:loginUid-{},cid-{},vid-{}", loginUid, cid, vid); |
| | | logger.info("播放PPTV:loginUid-{},cid-{},vid-{}", 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与vid的名字 |
| | | 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(""); |
| | | } |
| | | |
| | | |
| | | } |