admin
2021-04-16 6e365a48a83e628759df3a5f25b3db97009c9f26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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.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.video.VideoWatchHistoryService;
import com.yeshi.buwan.util.JsonUtil;
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.RequestMapping;
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")
public class VideoPlayController {
 
    Logger logger = LoggerFactory.getLogger(VideoPlayController.class);
 
    @Resource
    private PPTVService pptvService;
 
    @Resource
    private VideoWatchHistoryService videoWatchHistoryService;
 
 
    /**
     * PPTV播放
     *
     * @param acceptData
     * @param loginUid
     * @param Cid
     * @param Vid
     * @return
     */
    @RequestMapping("pptvPlay")
    @ResponseBody
    public String pptvPlay(AcceptData acceptData, String loginUid, String Cid, String 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);
            } 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())) {
            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", "http://192.168.3.122:8848/BuWanWeb/buyVideo/index.html?infoId=23099");
            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("");
    }
 
 
}