Преглед изворни кода

feat: mah结算-未读提醒接口

lixuesong пре 1 година
родитељ
комит
61e729b47f

+ 33 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsState.java

@@ -0,0 +1,33 @@
+package com.qunzhixinxi.hnqz.admin.api.constant;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * Upms状态枚举
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2022-08-15 15:24
+ */
+public class UpmsState {
+
+	/**
+	 * 业务提醒已读状态
+	 *
+	 * @author lixuesong
+	 * @date 2023/10/25
+	 */
+	@Getter
+	@AllArgsConstructor
+	public enum BizReminderReadStatus {
+
+		READ("READ", "已读"),
+		UNREAD("UNREAD", "未读");
+
+		@EnumValue
+		private final String status;
+		private final String description;
+	}
+}

+ 17 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsType.java

@@ -182,4 +182,21 @@ public final class UpmsType {
 		private final String type;
 		private final String description;
 	}
+
+	/**
+	 * 业务未读提醒
+	 *
+	 * @author lixuesong
+	 * @date 2023/10/25
+	 */
+	@Getter
+	@AllArgsConstructor
+	public enum BizReminderType {
+		ASSIGN_POINTS_OTHER_REMINDER("ASSIGN_POINTS_OTHER_REMINDER", "ASSIGN:POINTS:OTHE:REMINDER:KEY", "个人承接积分值-其他的提醒");
+
+		@EnumValue
+		private final String type;
+		private final String key;
+		private final String description;
+	}
 }

+ 37 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmBizReminderController.java

@@ -0,0 +1,37 @@
+package com.qunzhixinxi.hnqz.admin.controller;
+
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.service.WmBizReminderService;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 业务未读提醒控制层
+ *
+ * @author lixuesong
+ * @date 2023/10/25
+ */
+@Slf4j
+@RestController
+@AllArgsConstructor
+@RequestMapping("/biz-reminder")
+public class WmBizReminderController {
+
+	private final WmBizReminderService wmBizReminderService;
+
+	/**
+	 * 获取标记状态(TRUE-已读, FALSE-未读)
+	 *
+	 * @param bizReminderType 提醒类型
+	 * @return {@link Boolean} 是否已读
+	 */
+	@GetMapping("/read-status")
+	R<Boolean> getReminder(@RequestParam("bizReminderType") UpmsType.BizReminderType bizReminderType) {
+		return R.ok(wmBizReminderService.getReadStatus(bizReminderType));
+	}
+}

+ 3 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -121,6 +121,7 @@ public class WmScorePackageController {
 	private final WmScorePackageSettleNoteMapper settleNoteMapper;
 	private final SysDeptRechargeRecordMapper sysDeptRechargeRecordMapper;
 	private final SysDeptRechargeMapper sysDeptRechargeMapper;
+	private final WmBizReminderService wmBizReminderService;
 	private final StringRedisTemplate redisTemplate;
 	private final Sequence pkgSequence;
 
@@ -2888,6 +2889,8 @@ public class WmScorePackageController {
 			log.info("MAHbuild积分包耗时:{}", System.currentTimeMillis() - buildStartMillis);
 		}
 
+		wmBizReminderService.markRead(UpmsType.BizReminderType.ASSIGN_POINTS_OTHER_REMINDER);
+
 		return R.ok(wmScorePackagePage);
 	}
 

+ 34 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmBizReminderService.java

@@ -0,0 +1,34 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+
+/**
+ * 业务未读提醒服务层
+ *
+ * @author lixuesong
+ * @date 2023/10/25
+ */
+public interface WmBizReminderService {
+
+	/**
+	 * 标记未读
+	 *
+	 * @param bizReminderType 提醒类型
+	 */
+	void markUnread(UpmsType.BizReminderType bizReminderType);
+
+	/**
+	 * 标记已读
+	 *
+	 * @param bizReminderType 提醒类型
+	 */
+	void markRead(UpmsType.BizReminderType bizReminderType);
+
+	/**
+	 * 获取标记状态
+	 *
+	 * @param bizReminderType 提醒类型
+	 * @return {@link Boolean} 是否已读
+	 */
+	Boolean getReadStatus(UpmsType.BizReminderType bizReminderType);
+}

+ 69 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmBizReminderServiceImpl.java

@@ -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;
+	}
+}

+ 7 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmPayOffServiceImpl.java

@@ -17,7 +17,6 @@ import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
 import com.qunzhixinxi.hnqz.admin.entity.*;
 import com.qunzhixinxi.hnqz.admin.entity.input.SettleNoteStatusOutput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
-import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
@@ -94,6 +93,8 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 	private final TaxHelperService taxHelperService;
 	private final TaxNotifyConfig taxNotifyConfig;
 
+	private final WmBizReminderService wmBizReminderService;
+
 	private final MathContext mc = new MathContext(2, RoundingMode.HALF_EVEN);
 	private final String GIG_TOKEN_URL = "%s/gig/operation/token?tenantId={tenantId}&action={action}&userId={userId}";
 	private final String GIG_SETTLE_URL = "%s/gig/operation/settlement";
@@ -454,6 +455,11 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		wmScorePackageService.updateById(updateEntity);
 		noteService.saveOrUpdateBatch(notes);
 
+		if (SubjectLocation.MAH_SETTLE.equals(input.getSubjectLocation())) {
+			// 标记未读提醒
+			wmBizReminderService.markUnread(UpmsType.BizReminderType.ASSIGN_POINTS_OTHER_REMINDER);
+		}
+
 		return R.ok(Boolean.TRUE);
 	}