From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 20 二月 2025 16:57:55 +0800 Subject: [PATCH] IOS广告增加区域屏蔽 --- src/main/java/com/yeshi/buwan/controller/parser/UserVideoParser.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 160 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/UserVideoParser.java b/src/main/java/com/yeshi/buwan/controller/parser/UserVideoParser.java index 43fd1c5..6b4463a 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserVideoParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserVideoParser.java @@ -1,12 +1,21 @@ package com.yeshi.buwan.controller.parser; +import com.ks.lib.common.exception.ParamsException; import com.yeshi.buwan.domain.VideoInfo; +import com.yeshi.buwan.domain.uservideo.CollectionVideoV2; +import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.domain.video.VideoWatchHistory; +import com.yeshi.buwan.service.imp.AttentionService; +import com.yeshi.buwan.service.imp.CollectionService; import com.yeshi.buwan.service.imp.VideoService; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; +import com.yeshi.buwan.service.inter.uservideo.CollectionVideoV2Service; import com.yeshi.buwan.service.inter.video.VideoWatchHistoryService; import com.yeshi.buwan.util.Constant; import com.yeshi.buwan.util.JsonUtil; +import com.yeshi.buwan.util.NumberUtil; import com.yeshi.buwan.util.StringUtil; +import com.yeshi.buwan.util.factory.VideoInfoFactory; import com.yeshi.buwan.vo.AcceptData; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -15,10 +24,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Component public class UserVideoParser { @@ -28,6 +34,19 @@ @Resource private VideoService videoService; + + @Resource + private CollectionService collectionService; + + @Resource + private AttentionService attentionService; + + @Resource + private CollectionVideoV2Service collectionVideoV2Service; + + @Resource + private InternetSearchVideoService internetSearchVideoService; + public void getWatchHistory(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { @@ -46,8 +65,19 @@ Map<String, VideoInfo> videoInfoMap = new HashMap<>(); if (videoInfoList != null) for (VideoInfo vi : videoInfoList) { - videoInfoMap.put(vi.getId(), vi); + if (vi != null) + videoInfoMap.put(vi.getId(), vi); } + for (int i = 0; i < list.size(); i++) { + VideoWatchHistory wh = list.get(i); + if (videoInfoMap.get(list.get(i).getVideoId()) == null) { + list.remove(i--); + videoWatchHistoryService.delete(Arrays.asList(new String[]{wh.getId()})); + } else { + wh.setVideo(videoInfoMap.get(wh.getVideoId())); + } + } + for (VideoWatchHistory wh : list) { wh.setVideo(videoInfoMap.get(wh.getVideoId())); } @@ -72,4 +102,129 @@ out.print(JsonUtil.loadTrueJson("")); } + + /** + * 鑾峰彇鐢ㄦ埛瑙嗛鏁版嵁鏁伴噺淇℃伅 + * + * @param acceptData + * @param request + * @param out + */ + public void getUserVideoDataCount(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + + String loginUid = request.getParameter("LoginUid"); + if (StringUtil.isNullOrEmpty(loginUid)) { + out.print(JsonUtil.loadFalseJson("鐢ㄦ埛鏈櫥褰�")); + return; + } + + long collectionCount = collectionService.getCollectVideoCount(acceptData.getUid()); + long collectionCountNew = collectionVideoV2Service.countByUid(loginUid); + long attentionCount = attentionService.getAttentionCountByLoginUid(Long.parseLong(loginUid)); + JSONObject data = new JSONObject(); + data.put("collectionCount", collectionCount == 0 ? collectionCountNew : collectionCount); + data.put("attentionCount", attentionCount); + out.print(JsonUtil.loadTrueJson(data.toString())); + } + + public void collectVideo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + + String loginUid = request.getParameter("LoginUid"); + String videoId = request.getParameter("VideoId"); + if (StringUtil.isNullOrEmpty(loginUid)) { + out.print(JsonUtil.loadFalseJson("鐢ㄦ埛鏈櫥褰�")); + return; + } + CollectionVideoV2 v2 = new CollectionVideoV2(); + v2.setVideoId(videoId); + v2.setLoginUid(loginUid); + try { + collectionVideoV2Service.add(v2); + } catch (ParamsException e) { + if (e.getCode() == ParamsException.CODE_EXIST) { + out.print(JsonUtil.loadFalseJson("宸叉敹钘�")); + return; + } + out.print(JsonUtil.loadFalseJson("鏀惰棌鍑洪敊")); + return; + } + + JSONObject data = new JSONObject(); + + out.print(JsonUtil.loadTrueJson(data.toString())); + } + + public void cancelCollectVideo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + String loginUid = request.getParameter("LoginUid"); + String videoIds = request.getParameter("VideoId"); + if (StringUtil.isNullOrEmpty(loginUid)) { + out.print(JsonUtil.loadFalseJson("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (StringUtil.isNullOrEmpty(videoIds)) { + out.print(JsonUtil.loadFalseJson("鏈笂浼犺棰慖D")); + return; + } + + String[] videoIdArray = videoIds.split(","); + + List<String> ids = new ArrayList<>(); + for (String id : videoIdArray) { + ids.add(CollectionVideoV2.createId(loginUid, id)); + } + collectionVideoV2Service.delete(ids); + JSONObject data = new JSONObject(); + out.print(JsonUtil.loadTrueJson(data.toString())); + } + + + public void getCollectVideoList(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + String loginUid = request.getParameter("LoginUid"); + String page = request.getParameter("Page"); + if (StringUtil.isNullOrEmpty(loginUid)) { + out.print(JsonUtil.loadFalseJson("鐢ㄦ埛鏈櫥褰�")); + return; + } + + long count = collectionVideoV2Service.countByUid(loginUid); + List<CollectionVideoV2> list = collectionVideoV2Service.listByUid(loginUid, Integer.parseInt(page), Constant.pageCount); + //鑾峰彇瑙嗛璇︽儏 + List<String> localIds = new ArrayList<>(); + List<String> internetIds = new ArrayList<>(); + Map<String, Integer> pmap = new HashMap<>(); + for (int i = 0; i < list.size(); i++) { + pmap.put(list.get(i).getVideoId(), i); + if (NumberUtil.isNumeric(list.get(i).getVideoId())) { + localIds.add(list.get(i).getVideoId()); + } else { + internetIds.add(list.get(i).getVideoId()); + } + } + + VideoInfo[] videoInfos = new VideoInfo[list.size()]; + //濉厖鏈湴瑙嗛 + List<VideoInfo> localVideoInfoList = videoService.getVideoInfoList(localIds); + if (localVideoInfoList != null) { + for (VideoInfo video : localVideoInfoList) { + videoInfos[pmap.get(video.getId())] = video; + } + } + //濉厖鍏ㄧ綉鎼滆棰� + List<InternetSearchVideo> internetSearchVideoList = internetSearchVideoService.listByIds(internetIds); + for (InternetSearchVideo video : internetSearchVideoList) { + videoInfos[pmap.get(video.getId())] = VideoInfoFactory.create(video); + } + JSONObject data = new JSONObject(); + data.put("count", count + ""); + JSONArray array = new JSONArray(); + for (int i = 0; i < videoInfos.length; i++) { + videoInfos[i].setIntroduction(""); + array.add(StringUtil.outPutResultJson(videoInfos[i])); + } + data.put("data", array); + out.print(JsonUtil.loadTrueJson(data.toString())); + } + + } -- Gitblit v1.8.0