Browse Source

message模块字典翻译走字典查询接口

yzc 2 năm trước cách đây
mục cha
commit
58bfe275ee

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java

@@ -12,6 +12,7 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum DictTypeEnum {
     MSG_CATEGORY("msg_category", "消息分类"),
+    MSG_STATUS("msg_status", "消息状态"),
     SEND_SMS_TYPE("send_sms_type", "发送短信类型"),
     INTEGRAL_TYPE("integral_type", "积分类型"),
     UNIT_TYPE("unit_type", "商品单位类型"),

+ 12 - 3
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/MessageService.java

@@ -1,7 +1,6 @@
 package com.sckw.message.service;
 
 import com.alibaba.fastjson2.JSONObject;
-import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
@@ -123,6 +122,16 @@ public class MessageService {
         if (CollectionUtils.isEmpty(list)) {
             return Collections.emptyList();
         }
+        Map<String, String> categoryMap, statusMap;
+        Map<String, Map<String, String>> dictMap = remoteSystemService.queryDictByType(
+                Arrays.asList(DictTypeEnum.MSG_CATEGORY.getType(), DictTypeEnum.MSG_STATUS.getType()));
+        if (CollectionUtils.isNotEmpty(dictMap)) {
+            categoryMap = dictMap.get(DictTypeEnum.MSG_CATEGORY.getType());
+            statusMap = dictMap.get(DictTypeEnum.MSG_STATUS.getType());
+        } else {
+            categoryMap = new HashMap<>();
+            statusMap = new HashMap<>();
+        }
         String clientType = LoginUserHolder.getClientType();
         List<Long> userIds = list.stream().map(MessageListDTO::getCreateBy).toList();
         Map<Long, UserCacheResDto> map = remoteSystemService.queryUserCacheMapByIds(userIds);
@@ -134,8 +143,8 @@ public class MessageService {
                 Map<String, Object> urlMap = JSONObject.parse(e.getUrl());
                 res.setUrl(Objects.isNull(urlMap.get(clientType)) ? null : urlMap.get(clientType).toString());
             }
-            res.setStatusLabel(MsgStatusEnum.getNameByCode(res.getStatus()));
-            res.setCategoryLabel(DictEnum.getLabel(DictTypeEnum.MSG_CATEGORY.getType(), e.getCategory()));
+            res.setStatusLabel(statusMap.get(String.valueOf(e.getStatus())));
+            res.setCategoryLabel(categoryMap.get(e.getCategory()));
             if (Objects.nonNull(user)) {
                 res.setCreateByName(user.getName());
                 EntCacheResDto entInfo = user.getEntInfo();

+ 15 - 2
sckw-modules/sckw-message/src/main/java/com/sckw/message/service/SmsService.java

@@ -1,10 +1,10 @@
 package com.sckw.message.service;
 
 import com.alibaba.fastjson2.JSON;
-import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.message.model.vo.req.GetSmsVerifyCoderReqVO;
@@ -13,11 +13,14 @@ import com.sckw.redis.constant.RedisConstant;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.stream.enums.SmsCodeEnum;
 import com.sckw.stream.model.SckwSms;
+import com.sckw.system.api.RemoteSystemService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -34,6 +37,9 @@ public class SmsService {
 
     private final StreamBridge streamBridge;
 
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
     /**
      * @param param
      * @return com.sckw.core.web.response.HttpResult
@@ -42,8 +48,15 @@ public class SmsService {
      * @date: 2023-06-13 13:43
      */
     public void sendVerifyCode(SendSmsVerifyCoderReqVO param) {
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(Collections.singletonList(DictTypeEnum.SEND_SMS_TYPE.getType()));
+        Map<String, String> map;
+        if (CollectionUtils.isNotEmpty(dict)){
+            map = dict.get(DictTypeEnum.SEND_SMS_TYPE.getType());
+        }else {
+            map = new HashMap<>();
+        }
         String type = param.getType();
-        if (Objects.isNull(DictEnum.getLabel(DictTypeEnum.SEND_SMS_TYPE.getType(), type))) {
+        if (Objects.isNull(map.get(type))) {
             throw new BusinessException("非法短信类型!");
         }
         String phone = param.getPhone();