Commit 17d622d0 by guiq

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

parent 68089c6c
......@@ -579,7 +579,7 @@ public interface ResourcePageBiz {
* @param mapSceneId
* @return
*/
List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId, Long mapSceneId);
List<ResourcePageItemVO> getServerList4Wechat(Long wechatUserId, Long sceneId);
/**
* @Description 一码一资源,素材列表
* @Author zhuyajie
......
......@@ -5013,22 +5013,21 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
@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 redisField = StrUtil.join(":", wechatUserId, mapSceneId);
List<ResourcePageItemVO> itemVOList = JedisClusterUtils.hgetJson2List(redisKey, redisField, ResourcePageItemVO.class);
List<ResourcePageItemVO> itemVOList = JedisClusterUtils.hgetJson2List(redisKey, String.valueOf(wechatUserId), ResourcePageItemVO.class);
if (CollUtil.isEmpty(itemVOList)) {
ResourcePage bySceneId = resourcePageDao.getBySceneId(sceneId);
if (null == bySceneId) {
return new ArrayList<>();
}
itemVOList = resourcePageItemDao.getResourcePageItemByPageId(bySceneId.getId(), true);
//如果mapSceneId 不为null 则直接替换其中的精品文章
try {
replaceArticle(itemVOList, mapSceneId);
} catch (Exception e) {
log.warn("斗罗更换精品文章失败sceneId:{}", sceneId);
}
// //如果mapSceneId 不为null 则直接替换其中的精品文章
// try {
// replaceArticle(itemVOList, mapSceneId);
// } catch (Exception e) {
// log.warn("斗罗更换精品文章失败sceneId:{}", sceneId);
// }
if(CollUtil.isEmpty(itemVOList)) {
return new ArrayList<>();
}
......@@ -5056,29 +5055,24 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
itemVOList.sort(Comparator.comparing(ResourcePageItemVO::getId));
}
setChannel(itemVOList);
fillTaskType(itemVOList,wechatUserId);
fillPageType(sceneId,itemVOList,mapSceneId,bySceneId.getBookId());
fillTaskType(itemVOList, wechatUserId);
fillPageType(itemVOList, bySceneId.getBookId());
}
if (CollUtil.isNotEmpty(itemVOList)) {
JedisClusterUtils.hset2Json(redisKey, redisField, itemVOList);
JedisClusterUtils.hset2Json(redisKey, String.valueOf(wechatUserId), itemVOList);
JedisClusterUtils.expire(redisKey, 3600 * 14);
}
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());
itemVOList.forEach(e -> {
if (null != e.getResultUrl() && null != mapSceneId) {
e.setResultUrl(e.getResultUrl() + "&mapSceneId=" + mapSceneId);
if (StrUtil.isNotBlank(pageType)) {
itemVOList.stream().filter(x -> Objects.nonNull(x) && Objects.nonNull(x.getResultUrl()))
.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 {
@ApiOperation("客户端-斗罗大陆获取配置资源")
@GetMapping("getServerList4Wechat")
public ResponseDto<?> getServerList4Wechat(@CookieValue("userInfo") String userInfo,
@RequestParam(value = "sceneId") Long sceneId,
@RequestParam(value = "mapSceneId",required = false) Long mapSceneId){
@RequestParam(value = "sceneId") Long sceneId){
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