From ee74b9c0af8216e74736514ef87991dad3a5e7ca Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 25 Nov 2020 14:25:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=88=96=E7=82=B9=E4=BA=AE?= =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=97=B6=E5=BC=BA=E4=B8=80=E8=87=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/redis/UserBadgeRedis.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java index 13a8dd8b2c..0e90323f55 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java @@ -210,6 +210,27 @@ public class UserBadgeRedis { return NumConstant.ONE; } + /** + * @Description 用户点亮或取消徽章 强一致性 + * @param + * @return long + * @author wangc + * @date 2020.11.25 14:17 + */ + public long illumeOrExtinguishStronglyConsistent(String userId, String customerId){ + List db = badgeService.getUserSortedBadge(userId,customerId); + redisUtils.delete(UserRedisKeys.getResiUserBadgeKey(customerId,userId)); + if(CollectionUtils.isNotEmpty(db)) { + redisTemplate.executePipelined((RedisCallback>) connection -> { + db.forEach(badge -> { + connection.listCommands().rPush(UserRedisKeys.getResiUserBadgeKey(customerId, userId).getBytes(), + redisTemplate.getValueSerializer().serialize(badge)); + }); + return null; + }); + } + return NumConstant.ONE; + } /** * @Description 批量清除用户徽章信息,用处:在客户取消点亮某个徽章后,批量清除该客户下所有用户的徽章缓存,当需要查取时再次初始化进缓存中