Parcourir la source

Add 添加租户套餐名称翻译实现

YueYunyun il y a 2 ans
Parent
commit
9082560030

+ 1 - 0
SERVER/VberAdminPlusV3/vber-common/vber-common-core/src/main/java/com/vber/common/core/constant/CacheNames.java

@@ -34,6 +34,7 @@ public interface CacheNames {
      * 租户
      * 租户
      */
      */
     String SYS_TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant#30d";
     String SYS_TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant#30d";
+    String SYS_TENANT_PACKAGE_NAME = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant_package_name#30d";
 
 
     /**
     /**
      * 用户账户
      * 用户账户

+ 12 - 0
SERVER/VberAdminPlusV3/vber-common/vber-common-core/src/main/java/com/vber/common/core/service/TenantPackageService.java

@@ -0,0 +1,12 @@
+package com.vber.common.core.service;
+
+/**
+ * 通用 租户套餐服务
+ *
+ * @author Iwb
+ */
+public interface TenantPackageService {
+
+    String getPackageName(Long packageId);
+
+}

+ 4 - 3
SERVER/VberAdminPlusV3/vber-common/vber-common-translation/src/main/java/com/vber/common/translation/config/TranslationConfig.java

@@ -1,12 +1,12 @@
 package com.vber.common.translation.config;
 package com.vber.common.translation.config;
 
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import jakarta.annotation.PostConstruct;
-import lombok.extern.slf4j.Slf4j;
 import com.vber.common.translation.annotation.TranslationType;
 import com.vber.common.translation.annotation.TranslationType;
 import com.vber.common.translation.core.TranslationInterface;
 import com.vber.common.translation.core.TranslationInterface;
 import com.vber.common.translation.core.handler.TranslationBeanSerializerModifier;
 import com.vber.common.translation.core.handler.TranslationBeanSerializerModifier;
 import com.vber.common.translation.core.handler.TranslationHandler;
 import com.vber.common.translation.core.handler.TranslationHandler;
+import jakarta.annotation.PostConstruct;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfiguration;
 import org.springframework.boot.autoconfigure.AutoConfiguration;
 
 
@@ -36,8 +36,9 @@ public class TranslationConfig {
             if (trans.getClass().isAnnotationPresent(TranslationType.class)) {
             if (trans.getClass().isAnnotationPresent(TranslationType.class)) {
                 TranslationType annotation = trans.getClass().getAnnotation(TranslationType.class);
                 TranslationType annotation = trans.getClass().getAnnotation(TranslationType.class);
                 map.put(annotation.type(), trans);
                 map.put(annotation.type(), trans);
+                log.info("INIT翻译类型[{},{}]", annotation.type(), trans.getClass().getName());
             } else {
             } else {
-                log.warn(trans.getClass().getName() + " 翻译实现类未标注 TranslationType 注解!");
+                log.warn("{} 翻译实现类未标注 TranslationType 注解!", trans.getClass().getName());
             }
             }
         }
         }
         TranslationHandler.TRANSLATION_MAPPER.putAll(map);
         TranslationHandler.TRANSLATION_MAPPER.putAll(map);

+ 2 - 0
SERVER/VberAdminPlusV3/vber-common/vber-common-translation/src/main/java/com/vber/common/translation/constant/TransConstant.java

@@ -32,4 +32,6 @@ public interface TransConstant {
      */
      */
     String OSS_ID_TO_URL = "oss_id_to_url";
     String OSS_ID_TO_URL = "oss_id_to_url";
 
 
+    String TENANT_PACKAGE_ID_TO_NAME = "tenant_package_id_to_name";
+
 }
 }

+ 26 - 0
SERVER/VberAdminPlusV3/vber-common/vber-common-translation/src/main/java/com/vber/common/translation/core/impl/TenantPackageNaneTranslationImpl.java

@@ -0,0 +1,26 @@
+package com.vber.common.translation.core.impl;
+
+import com.vber.common.core.service.TenantPackageService;
+import com.vber.common.translation.annotation.TranslationType;
+import com.vber.common.translation.constant.TransConstant;
+import com.vber.common.translation.core.TranslationInterface;
+import lombok.AllArgsConstructor;
+
+/**
+ * 租户套餐翻译实现
+ *
+ * @author Yue
+ */
+@AllArgsConstructor
+@TranslationType(type = TransConstant.TENANT_PACKAGE_ID_TO_NAME)
+public class TenantPackageNaneTranslationImpl implements TranslationInterface<String> {
+    private final TenantPackageService tenantPackageService;
+
+    @Override
+    public String translation(Object key, String other) {
+        if (key instanceof Long id) {
+            return tenantPackageService.getPackageName(id);
+        }
+        return null;
+    }
+}

+ 1 - 0
SERVER/VberAdminPlusV3/vber-common/vber-common-translation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -4,3 +4,4 @@ com.vber.common.translation.core.impl.DictTypeTranslationImpl
 com.vber.common.translation.core.impl.OssUrlTranslationImpl
 com.vber.common.translation.core.impl.OssUrlTranslationImpl
 com.vber.common.translation.core.impl.UserNameTranslationImpl
 com.vber.common.translation.core.impl.UserNameTranslationImpl
 com.vber.common.translation.core.impl.NicknameTranslationImpl
 com.vber.common.translation.core.impl.NicknameTranslationImpl
+com.vber.common.translation.core.impl.TenantPackageNaneTranslationImpl

+ 6 - 3
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/service/ISysTenantPackageService.java

@@ -1,9 +1,9 @@
 package com.vber.system.service;
 package com.vber.system.service;
 
 
-import com.vber.system.domain.vo.SysTenantPackageVo;
-import com.vber.system.domain.bo.SysTenantPackageBo;
-import com.vber.common.mybatis.core.page.TableDataInfo;
 import com.vber.common.mybatis.core.page.PageQuery;
 import com.vber.common.mybatis.core.page.PageQuery;
+import com.vber.common.mybatis.core.page.TableDataInfo;
+import com.vber.system.domain.bo.SysTenantPackageBo;
+import com.vber.system.domain.vo.SysTenantPackageVo;
 
 
 import java.util.Collection;
 import java.util.Collection;
 import java.util.List;
 import java.util.List;
@@ -54,4 +54,7 @@ public interface ISysTenantPackageService {
      * 校验并批量删除租户套餐信息
      * 校验并批量删除租户套餐信息
      */
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    String getPackageName(Long packageId);
+
 }
 }

+ 14 - 2
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/service/impl/SysTenantPackageServiceImpl.java

@@ -4,9 +4,10 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.RequiredArgsConstructor;
+import com.vber.common.core.constant.CacheNames;
 import com.vber.common.core.constant.TenantConstants;
 import com.vber.common.core.constant.TenantConstants;
 import com.vber.common.core.exception.ServiceException;
 import com.vber.common.core.exception.ServiceException;
+import com.vber.common.core.service.TenantPackageService;
 import com.vber.common.core.utils.MapstructUtils;
 import com.vber.common.core.utils.MapstructUtils;
 import com.vber.common.core.utils.StringUtils;
 import com.vber.common.core.utils.StringUtils;
 import com.vber.common.mybatis.core.page.PageQuery;
 import com.vber.common.mybatis.core.page.PageQuery;
@@ -18,6 +19,9 @@ import com.vber.system.domain.vo.SysTenantPackageVo;
 import com.vber.system.mapper.SysTenantMapper;
 import com.vber.system.mapper.SysTenantMapper;
 import com.vber.system.mapper.SysTenantPackageMapper;
 import com.vber.system.mapper.SysTenantPackageMapper;
 import com.vber.system.service.ISysTenantPackageService;
 import com.vber.system.service.ISysTenantPackageService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -32,7 +36,7 @@ import java.util.List;
  */
  */
 @RequiredArgsConstructor
 @RequiredArgsConstructor
 @Service
 @Service
-public class SysTenantPackageServiceImpl implements ISysTenantPackageService {
+public class SysTenantPackageServiceImpl implements ISysTenantPackageService, TenantPackageService {
 
 
     private final SysTenantPackageMapper baseMapper;
     private final SysTenantPackageMapper baseMapper;
     private final SysTenantMapper tenantMapper;
     private final SysTenantMapper tenantMapper;
@@ -103,6 +107,7 @@ public class SysTenantPackageServiceImpl implements ISysTenantPackageService {
      * 修改租户套餐
      * 修改租户套餐
      */
      */
     @Override
     @Override
+    @CacheEvict(cacheNames = CacheNames.SYS_TENANT_PACKAGE_NAME, key = "#bo.packageId")
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(SysTenantPackageBo bo) {
     public Boolean updateByBo(SysTenantPackageBo bo) {
         SysTenantPackage update = MapstructUtils.convert(bo, SysTenantPackage.class);
         SysTenantPackage update = MapstructUtils.convert(bo, SysTenantPackage.class);
@@ -142,4 +147,11 @@ public class SysTenantPackageServiceImpl implements ISysTenantPackageService {
         }
         }
         return baseMapper.deleteBatchIds(ids) > 0;
         return baseMapper.deleteBatchIds(ids) > 0;
     }
     }
+
+    @Cacheable(cacheNames = CacheNames.SYS_TENANT_PACKAGE_NAME, key = "#packageId")
+    @Override
+    public String getPackageName(Long packageId) {
+        SysTenantPackage sysTenantPackage = baseMapper.selectOne(new LambdaQueryWrapper<SysTenantPackage>().eq(SysTenantPackage::getPackageId, packageId));
+        return sysTenantPackage.getPackageName();
+    }
 }
 }