Commit 17d622d0 by guiq

feat: [1007746] 【新增】《斗罗大陆Ⅴ 重生唐三16》定制化页面开发

parent 68089c6c
...@@ -579,7 +579,7 @@ public interface ResourcePageBiz { ...@@ -579,7 +579,7 @@ public interface ResourcePageBiz {
* @param mapSceneId * @param mapSceneId
* @return * @return
*/ */
List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId, Long mapSceneId); List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId);
/** /**
* @Description 一码一资源,素材列表 * @Description 一码一资源,素材列表
* @Author zhuyajie * @Author zhuyajie
......
...@@ -5013,22 +5013,21 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -5013,22 +5013,21 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
} }
@Override @Override
public List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId, Long mapSceneId) { public List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId) {
String redisKey = StrUtil.join(":", DL_BOOK_SERVES_CACHE, sceneId); String redisKey = StrUtil.join(":", DL_BOOK_SERVES_CACHE, sceneId);
String redisField = StrUtil.join(":", wechatUserId, mapSceneId); List<ResourcePageItemVO> itemVOList = JedisClusterUtils.hgetJson2List(redisKey, String.valueOf(wechatUserId), ResourcePageItemVO.class);
List<ResourcePageItemVO> itemVOList = JedisClusterUtils.hgetJson2List(redisKey, redisField, ResourcePageItemVO.class);
if (CollUtil.isEmpty(itemVOList)) { if (CollUtil.isEmpty(itemVOList)) {
ResourcePage bySceneId = resourcePageDao.getBySceneId(sceneId); ResourcePage bySceneId = resourcePageDao.getBySceneId(sceneId);
if (null == bySceneId) { if (null == bySceneId) {
return new ArrayList<>(); return new ArrayList<>();
} }
itemVOList = resourcePageItemDao.getResourcePageItemByPageId(bySceneId.getId(), true); itemVOList = resourcePageItemDao.getResourcePageItemByPageId(bySceneId.getId(), true);
//如果mapSceneId 不为null 则直接替换其中的精品文章 // //如果mapSceneId 不为null 则直接替换其中的精品文章
try { // try {
replaceArticle(itemVOList, mapSceneId); // replaceArticle(itemVOList, mapSceneId);
} catch (Exception e) { // } catch (Exception e) {
log.warn("斗罗更换精品文章失败sceneId:{}", sceneId); // log.warn("斗罗更换精品文章失败sceneId:{}", sceneId);
} // }
if(CollUtil.isEmpty(itemVOList)) { if(CollUtil.isEmpty(itemVOList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
...@@ -5055,30 +5054,25 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -5055,30 +5054,25 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
} }
itemVOList.sort(Comparator.comparing(ResourcePageItemVO::getId)); itemVOList.sort(Comparator.comparing(ResourcePageItemVO::getId));
} }
setChannel(itemVOList); setChannel(itemVOList);
fillTaskType(itemVOList,wechatUserId); fillTaskType(itemVOList, wechatUserId);
fillPageType(sceneId,itemVOList,mapSceneId,bySceneId.getBookId()); fillPageType(itemVOList, bySceneId.getBookId());
} }
if (CollUtil.isNotEmpty(itemVOList)) { if (CollUtil.isNotEmpty(itemVOList)) {
JedisClusterUtils.hset2Json(redisKey, redisField, itemVOList); JedisClusterUtils.hset2Json(redisKey, String.valueOf(wechatUserId), itemVOList);
JedisClusterUtils.expire(redisKey, 3600 * 14); JedisClusterUtils.expire(redisKey, 3600 * 14);
} }
return itemVOList; return itemVOList;
} }
private void fillPageType(Long sceneId, List<ResourcePageItemVO> itemVOList, Long mapSceneId, Long bookId) { private void fillPageType(List<ResourcePageItemVO> itemVOList, Long bookId) {
// 处理斗罗系列书二维码映射 // 处理斗罗系列书二维码映射
//添加页面版本 //添加页面版本
String pageType = JedisClusterUtils.hget("FUNCTION:DOULUO_BOOK_MAP", bookId.toString()); String pageType = JedisClusterUtils.hget("FUNCTION:DOULUO_BOOK_MAP", bookId.toString());
itemVOList.forEach(e -> { if (StrUtil.isNotBlank(pageType)) {
if (null != e.getResultUrl() && null != mapSceneId) { itemVOList.stream().filter(x -> Objects.nonNull(x) && Objects.nonNull(x.getResultUrl()))
e.setResultUrl(e.getResultUrl() + "&mapSceneId=" + mapSceneId); .forEach(e -> e.setResultUrl(e.getResultUrl() + "&pageType=" + pageType));
} }
if (null != e.getResultUrl() && StrUtil.isNotBlank(pageType)) {
e.setResultUrl(e.getResultUrl() + "&pageType=" + pageType);
}
});
} }
......
...@@ -488,10 +488,9 @@ public class ResourcePageFacade { ...@@ -488,10 +488,9 @@ public class ResourcePageFacade {
@ApiOperation("客户端-斗罗大陆获取配置资源") @ApiOperation("客户端-斗罗大陆获取配置资源")
@GetMapping("getServerList4Wechat") @GetMapping("getServerList4Wechat")
public ResponseDto<?> getServerList4Wechat(@CookieValue("userInfo") String userInfo, public ResponseDto<?> getServerList4Wechat(@CookieValue("userInfo") String userInfo,
@RequestParam(value = "sceneId") Long sceneId, @RequestParam(value = "sceneId") Long sceneId){
@RequestParam(value = "mapSceneId",required = false) Long mapSceneId){
Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID); Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
return new ResponseDto<>(resourcePageBiz.getServerList4Wechat(wechatUserId, sceneId, mapSceneId)); return new ResponseDto<>(resourcePageBiz.getServerList4Wechat(wechatUserId, sceneId));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment