记得上下班打卡 | git大法好,push需谨慎

Commit 14655818 authored by jiangxiulong's avatar jiangxiulong

增加系统消息用户未读数量接口

parent 94c34eb5
...@@ -60,6 +60,7 @@ public class KylinRedisConst { ...@@ -60,6 +60,7 @@ public class KylinRedisConst {
public static final String ADMIN_UPUSH_LIST_IOS = "basicServices:upushList:IOS"; public static final String ADMIN_UPUSH_LIST_IOS = "basicServices:upushList:IOS";
public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android"; public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android";
public static final String ADMIN_UPUSH_LIST_READ_UID = "basicServices:upushList:read:uid";
public static final String ADMIN_BANNER_LIST = "kylin:bannerList"; public static final String ADMIN_BANNER_LIST = "kylin:bannerList";
} }
...@@ -48,4 +48,11 @@ public class AdminUpushController { ...@@ -48,4 +48,11 @@ public class AdminUpushController {
return ResponseDto.success(result); return ResponseDto.success(result);
} }
@GetMapping("unread")
@ApiOperation("用户未读数量")
public ResponseDto<Integer> unread(HttpServletRequest request) {
Integer num = adminUpushServiceImpl.unread(request);
return ResponseDto.success(num);
}
} }
...@@ -3,6 +3,7 @@ package com.liquidnet.service.platform.service.basicServices; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.platform.service.basicServices;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil; import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.admin.AdminUpushVo; import com.liquidnet.service.adam.dto.vo.admin.AdminUpushVo;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.entity.AdminUpush; import com.liquidnet.service.kylin.entity.AdminUpush;
...@@ -37,6 +38,7 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp ...@@ -37,6 +38,7 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
RedisDataSourceUtil redisDataSourceUtil; RedisDataSourceUtil redisDataSourceUtil;
public PageInfo<AdminUpushVo> lists(HttpServletRequest request, Integer page, Integer size) { public PageInfo<AdminUpushVo> lists(HttpServletRequest request, Integer page, Integer size) {
String uid = CurrentUtil.getCurrentUid();
String source = request.getHeader("source"); String source = request.getHeader("source");
PageInfo<AdminUpushVo> voPageInfo = null; PageInfo<AdminUpushVo> voPageInfo = null;
Object adminUpushVo = null; Object adminUpushVo = null;
...@@ -51,7 +53,12 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp ...@@ -51,7 +53,12 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
voPageInfo = PageInfo.of(new LinkedList<>()); voPageInfo = PageInfo.of(new LinkedList<>());
} else { } else {
LinkedList<AdminUpushVo> pushList = (LinkedList<AdminUpushVo>) adminUpushVo; LinkedList<AdminUpushVo> pushList = (LinkedList<AdminUpushVo>) adminUpushVo;
Integer num = 0;
for (AdminUpushVo info : pushList) { for (AdminUpushVo info : pushList) {
if (num == 0) {
redisDataSourceUtil.getRedisKylinUtil().set(KylinRedisConst.ADMIN_UPUSH_LIST_READ_UID.concat(uid), info.getUpushId());
}
num++;
if (!info.getImg().isEmpty()) { if (!info.getImg().isEmpty()) {
String img = imgUrl + info.getImg(); String img = imgUrl + info.getImg();
info.setImg(img); info.setImg(img);
...@@ -63,4 +70,39 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp ...@@ -63,4 +70,39 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
return voPageInfo; return voPageInfo;
} }
public Integer unread(HttpServletRequest request) {
String uid = CurrentUtil.getCurrentUid();
Object obj = redisDataSourceUtil.getRedisKylinUtil().get(KylinRedisConst.ADMIN_UPUSH_LIST_READ_UID.concat(uid));
String source = request.getHeader("source");
Object adminUpushVo = null;
if (null != source) {
if (source.equals("IOS")) {
adminUpushVo = redisDataSourceUtil.getRedisKylinUtil().get(KylinRedisConst.ADMIN_UPUSH_LIST_IOS);
} else if (source.equals("Android")) {
adminUpushVo = redisDataSourceUtil.getRedisKylinUtil().get(KylinRedisConst.ADMIN_UPUSH_LIST_ANDROID);
}
}
if (null == adminUpushVo || null == source) {
return 0;
}
LinkedList<AdminUpushVo> pushList = (LinkedList<AdminUpushVo>) adminUpushVo;
if (null == obj) {
return pushList.size();
}
Integer num = 0;
String pushId = (String) obj;
for (AdminUpushVo info : pushList) {
if (info.getUpushId().equals(pushId)) {
break;
} else {
num++;
}
}
return num;
}
} }
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