|
@@ -0,0 +1,69 @@
|
|
|
+package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
+
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmBizReminderService;
|
|
|
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 业务未读提醒服务层
|
|
|
+ *
|
|
|
+ * @author lixuesong
|
|
|
+ * @date 2023/10/25
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+@AllArgsConstructor
|
|
|
+public class WmBizReminderServiceImpl implements WmBizReminderService {
|
|
|
+
|
|
|
+ private final RedisTemplate redisTemplate;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 标记未读提醒
|
|
|
+ *
|
|
|
+ * @param bizReminderType 提醒类型
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void markUnread(UpmsType.BizReminderType bizReminderType) {
|
|
|
+ Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+ String cacheKey = bizReminderType.getKey() + deptId;
|
|
|
+
|
|
|
+ redisTemplate.opsForValue().set(cacheKey, UpmsState.BizReminderReadStatus.UNREAD.getStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 标记已读提醒
|
|
|
+ *
|
|
|
+ * @param bizReminderType 提醒类型
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void markRead(UpmsType.BizReminderType bizReminderType) {
|
|
|
+ Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+ String cacheKey = bizReminderType.getKey() + deptId;
|
|
|
+
|
|
|
+ redisTemplate.opsForValue().set(cacheKey, UpmsState.BizReminderReadStatus.READ.getStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取标记状态
|
|
|
+ *
|
|
|
+ * @param bizReminderType 提醒类型
|
|
|
+ * @return {@link Boolean} 是否已读
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean getReadStatus(UpmsType.BizReminderType bizReminderType) {
|
|
|
+ Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+ String cacheKey = bizReminderType.getKey() + deptId;
|
|
|
+
|
|
|
+ Object o = redisTemplate.opsForValue().get(cacheKey);
|
|
|
+ if (UpmsState.BizReminderReadStatus.READ.getStatus().equals(o)) {
|
|
|
+ return Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ return Boolean.FALSE;
|
|
|
+ }
|
|
|
+}
|