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

Commit 14655818 authored by jiangxiulong's avatar jiangxiulong

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

parent 94c34eb5
......@@ -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_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";
}
......@@ -48,4 +48,11 @@ public class AdminUpushController {
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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
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.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.entity.AdminUpush;
......@@ -37,6 +38,7 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
RedisDataSourceUtil redisDataSourceUtil;
public PageInfo<AdminUpushVo> lists(HttpServletRequest request, Integer page, Integer size) {
String uid = CurrentUtil.getCurrentUid();
String source = request.getHeader("source");
PageInfo<AdminUpushVo> voPageInfo = null;
Object adminUpushVo = null;
......@@ -51,7 +53,12 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
voPageInfo = PageInfo.of(new LinkedList<>());
} else {
LinkedList<AdminUpushVo> pushList = (LinkedList<AdminUpushVo>) adminUpushVo;
Integer num = 0;
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()) {
String img = imgUrl + info.getImg();
info.setImg(img);
......@@ -63,4 +70,39 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
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