| | |
| | | break; |
| | | case "getHomeType": |
| | | homeParser.getHomeType(acceptData, request, out); |
| | | break; |
| | | case "getHomeTypeNew": |
| | | homeParser.getHomeTypeNew(acceptData, request, out); |
| | | break; |
| | | case "getHomeVideoList": |
| | | homeParser.getHomeVideoList(acceptData, request, out); |
| | | break; |
| | |
| | | } |
| | | |
| | | |
| | | // 首页类型获取 |
| | | public void getHomeTypeNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { |
| | | // 20170914 一级视频分类ID |
| | | String page = request.getParameter("Page"); |
| | | String pageSize = request.getParameter("PageSize"); |
| | | String dataKey = request.getParameter("DataKey"); |
| | | |
| | | long count = homeTypeService.countHomeType(acceptData.getDetailSystem().getId(), acceptData.getVersion(), dataKey); |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | List<HomeType> homeTypeList = homeTypeService.getHomeTypeList(acceptData.getDetailSystem().getId(), acceptData.getVersion(), dataKey, Integer.parseInt(page), Integer.parseInt(pageSize)); |
| | | |
| | | if (homeTypeList != null) |
| | | for (HomeType homeType : homeTypeList) { |
| | | String resourceKey = StringUtil.Md5(org.yeshi.utils.StringUtil.concat(resourceList, ",")); |
| | | List<HomeVideo> homeVideoList = homeTypeService.getHomeVideoList(homeType.getId(), resourceKey, resourceList, null, 1, homeType.getNumber()); |
| | | long videoCount = homeTypeService.getHomeVideoListCount(homeType.getId(), resourceKey, resourceList, null); |
| | | homeType.setCount((int) videoCount); |
| | | homeType.setHomeVideoList(homeVideoList); |
| | | } |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | JSONArray array = new JSONArray(); |
| | | for (int i = 0; i < homeTypeList.size(); i++) |
| | | array.add(StringUtil.outPutResultJson(homeTypeList.get(i))); |
| | | object.put("data", array); |
| | | object.put("count", count + ""); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | | } |
| | | |
| | | |
| | | public HomeType convertHomeVideoList(HomeType type) { |
| | | List<VideoInfo> vlist = new ArrayList<VideoInfo>(); |
| | | List<HomeVideo> list = type.getHomeVideoList(); |
| | |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | //查询大图 |
| | | List<HomeVideo> bigPictureVideos = homeTypeService.getHomeVideoList(homeTypeId, resourceList, true, 1, homeType.getNumber()); |
| | | List<HomeVideo> bigPictureVideos = homeTypeService.getHomeVideoList(homeTypeId, org.yeshi.utils.StringUtil.concat(resourceList, ","), resourceList, true, 1, homeType.getNumber()); |
| | | |
| | | |
| | | //大图需要每次都返回 |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | String resourceKey = StringUtil.Md5(org.yeshi.utils.StringUtil.concat(resourceList, ",")); |
| | | |
| | | Long count = homeTypeService.getHomeVideoListCount(homeTypeId, resourceList, null); |
| | | List<HomeVideo> list1 = homeTypeService.getHomeVideoList(homeTypeId, resourceList, false, page, homeType.getNumber()); |
| | | Long count = homeTypeService.getHomeVideoListCount(homeTypeId, resourceKey, resourceList, null); |
| | | List<HomeVideo> list1 = homeTypeService.getHomeVideoList(homeTypeId, resourceKey, resourceList, false, page, homeType.getNumber()); |
| | | List<HomeVideo> list = new ArrayList<>(); |
| | | list.addAll(bigPictureVideos); |
| | | list.addAll(list1); |
| | |
| | | //每天展示一次广告 |
| | | long showTime = TimeUtil.convertGernalTime(TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd"); |
| | | |
| | | deviceAdStrategyService.setVideoDetailAdStrategy(acceptData.getUtdId(), acceptData.getDetailSystem().getId(), showTime, showTime); |
| | | deviceAdStrategyService.setVideoDetailAdStrategy(acceptData.getUtdId(), acceptData.getDetailSystem().getId(), showTime, null); |
| | | } |
| | | }); |
| | | return; |
| | |
| | | update.set("updateTime", new Date()); |
| | | update(query, update); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | ht.setIosControl(obj[6] + ""); |
| | | ht.setNumber(Integer.parseInt(obj[7] + "")); |
| | | ht.setRefreshPosition(Integer.parseInt(obj[25] + "")); |
| | | ht.setMoreTag(obj[26]+""); |
| | | ht.setMoreTag(obj[26] + ""); |
| | | |
| | | |
| | | ht.setOrderby(obj[21] + ""); |
| | |
| | | hv.setId(obj[8] + ""); |
| | | hv.setPicture(obj[10] + ""); |
| | | hv.setTag(obj[11] + ""); |
| | | hv.setBigPicture(Integer.parseInt(obj[24] + "")>0); |
| | | hv.setBigPicture(Integer.parseInt(obj[24] + "") > 0); |
| | | |
| | | VideoInfo video = new VideoInfo(); |
| | | video.setId(obj[12] + ""); |
| | |
| | | return homeTypeList; |
| | | } |
| | | |
| | | @Cacheable(value = "homeCache", key = "'getHomeTypeList'+'-'+#detailSystem+'-'+#version+'-'+#dataKey+'-'+#page+'-'+#pageSize") |
| | | public List<HomeType> getHomeTypeList(String detailSystem, int version, String dataKey, int page, int pageSize) { |
| | | return homeTypeDao.list("select sht.homeType from SuperHomeType sht where sht.detailSystem.id=? and sht.homeType.specialDataKey=? order by sht.homeType.orderby DESC,sht.homeType.createtime DESC", (page - 1) * pageSize, pageSize, new Serializable[]{detailSystem, dataKey}); |
| | | } |
| | | |
| | | @Cacheable(value = "homeCache", key = "'countHomeType'+'-'+#detailSystem+'-'+#version+'-'+#dataKey") |
| | | public long countHomeType(String detailSystem, int version, String dataKey) { |
| | | return homeTypeDao.getCount("select count(*) from SuperHomeType sht where sht.detailSystem.id=? and sht.homeType.specialDataKey=?", new Serializable[]{detailSystem, dataKey}); |
| | | } |
| | | |
| | | |
| | | private void orderByType(List<HomeType> homeTypeList) { |
| | | Collections.sort(homeTypeList, new Comparator<HomeType>() { |
| | | public int compare(HomeType o1, HomeType o2) { |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | private int index(List<HomeType> list, HomeType ht) { |
| | | if (list == null) |
| | |
| | | } |
| | | |
| | | |
| | | public List<HomeVideo> getHomeVideoList(String homeId, List<Long> resourceIds, Boolean bigPicture, int page, int pageSize) { |
| | | @Cacheable(value = "homeCache", key = "'getHomeVideoList-'+#homeId+'-'+#resourceKey+'-'+#bigPicture+'-'+#page+'-'+#pageSize") |
| | | public List<HomeVideo> getHomeVideoList(String homeId, String resourceKey, List<Long> resourceIds, Boolean bigPicture, int page, int pageSize) { |
| | | List<HomeVideo> homeVideos = (List<HomeVideo>) homeVideoDao.excute(new HibernateCallback<List<HomeVideo>>() { |
| | | @Override |
| | | public List<HomeVideo> doInHibernate(Session session) throws HibernateException { |
| | |
| | | return homeVideos; |
| | | } |
| | | |
| | | |
| | | public long getHomeVideoListCount(String homeId, List<Long> resourceIds, Boolean bigPicture) { |
| | | @Cacheable(value = "homeCache", key = "'getHomeVideoListCount'+'-'+#resourceKey+'-'+#bigPicture") |
| | | public long getHomeVideoListCount(String homeId, String resourceKey, List<Long> resourceIds, Boolean bigPicture) { |
| | | return (Long) homeVideoDao.excute(new HibernateCallback<Long>() { |
| | | @Override |
| | | public Long doInHibernate(Session session) throws HibernateException { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void setVideoDetailAdStrategy(String deviceId, String detailSystemId, long fsaExpireTime, long pvaExpireTime) { |
| | | public void setVideoDetailAdStrategy(String deviceId, String detailSystemId, Long fsaExpireTime, Long pvaExpireTime) { |
| | | if (StringUtil.isNullOrEmpty(deviceId) || StringUtil.isNullOrEmpty(detailSystemId)) { |
| | | return; |
| | | } |
| | |
| | | } |
| | | DeviceAdStrategy update = new DeviceAdStrategy(); |
| | | update.setId(id); |
| | | update.setDetailFSAExpireTime(fsaExpireTime); |
| | | update.setDetailPVAExpireTime(pvaExpireTime); |
| | | if (fsaExpireTime != null) |
| | | update.setDetailFSAExpireTime(fsaExpireTime); |
| | | if (pvaExpireTime != null) |
| | | update.setDetailPVAExpireTime(pvaExpireTime); |
| | | deviceAdStrategyDao.updateSelective(update); |
| | | } |
| | | } |
| | |
| | | * @param fsaExpireTime |
| | | * @param pvaExpireTime |
| | | */ |
| | | public void setVideoDetailAdStrategy(String deviceId, String detailSystemId,long fsaExpireTime,long pvaExpireTime); |
| | | public void setVideoDetailAdStrategy(String deviceId, String detailSystemId,Long fsaExpireTime,Long pvaExpireTime); |
| | | |
| | | } |