Browse Source

导入和下载,产品名称修改

Bob 1 year ago
parent
commit
db0dc98007

+ 51 - 0
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/enums/ProductNameEnum.java

@@ -0,0 +1,51 @@
+package cn.kdan.pdf.tech.core.enums;
+
+/**
+ * 产品名称对应枚举类
+ *
+ * @author Bob
+ */
+public enum ProductNameEnum {
+
+    MAC1("PDF Reader Pro","PDF Reader Pro for Mac"),
+    WIN1("PDF Reader Pro for Windows","PDF Reader Pro for Windows"),
+    MAC2("PDF Reader Pro for Mac (with PDF to Office)","PDF Reader Pro for Mac (With PDF to Office Pack)"),
+    WIN2("PDF Reader Pro for Windows (with PDF to Office)","PDF Reader Pro for Windows (With PDF to Office Pack)"),
+    CROSS1("PDF Reader Pro Permanent Cross-Platform Product","PDF Reader Pro Cross-Platform (With PDF to Office Pack)"),
+    ;
+
+    private final String databaseName;
+
+    private final String viewName;
+
+    ProductNameEnum(String databaseName, String viewName) {
+        this.databaseName = databaseName;
+        this.viewName = viewName;
+    }
+
+    public static ProductNameEnum getEnumByViewName(String viewName) {
+        for (ProductNameEnum type : ProductNameEnum.values()) {
+            if (type.viewName().equals(viewName)) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+    public static ProductNameEnum getEnumByDatabaseName(String databaseName) {
+        for (ProductNameEnum type : ProductNameEnum.values()) {
+            if (type.databaseName().equals(databaseName)) {
+                return type;
+            }
+        }
+        return MAC1;
+    }
+
+    public String databaseName() {
+        return databaseName;
+    }
+
+    public String viewName() {
+        return viewName;
+    }
+}

+ 4 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppDeviceServiceImpl.java

@@ -4,6 +4,7 @@ import cn.kdan.pdf.tech.core.constant.VppDeviceConstant;
 import cn.kdan.pdf.tech.core.enums.CaptchaActionEnum;
 import cn.kdan.pdf.tech.core.enums.DeviceStatusEnum;
 import cn.kdan.pdf.tech.core.enums.LicenseCodeStatusEnum;
+import cn.kdan.pdf.tech.core.enums.ProductNameEnum;
 import cn.kdan.pdf.tech.core.mapper.ext.ExtVppDeviceMapper;
 import cn.kdan.pdf.tech.core.model.*;
 import cn.kdan.pdf.tech.core.pojo.vo.VppDeviceVO;
@@ -98,7 +99,9 @@ public class VppDeviceServiceImpl implements VppDeviceService {
         if(CollectionUtils.isEmpty(teamIds)){
             throw new BackendRuntimeException(VppDeviceConstant.EXCEPTION_MSG_NO_TEAM);
         }
-        return extVppDeviceMapper.listWithInfo(teamIds, productId, status, queryString);
+        List<VppDeviceVO> vppDeviceVOS = extVppDeviceMapper.listWithInfo(teamIds, productId, status, queryString);
+        vppDeviceVOS.forEach(c -> c.setProductName(ProductNameEnum.getEnumByDatabaseName(c.getProductName()).viewName()));
+        return vppDeviceVOS;
     }
 
 

+ 12 - 3
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppLicenseCodeServiceImpl.java

@@ -7,6 +7,7 @@ import cn.kdan.pdf.tech.core.constant.VppLicenseCodeConstant;
 import cn.kdan.pdf.tech.core.constant.VppMemberConstant;
 import cn.kdan.pdf.tech.core.enums.CaptchaActionEnum;
 import cn.kdan.pdf.tech.core.enums.LicenseCodeStatusEnum;
+import cn.kdan.pdf.tech.core.enums.ProductNameEnum;
 import cn.kdan.pdf.tech.core.mapper.ext.ExtVppLicenseCodeMapper;
 import cn.kdan.pdf.tech.core.model.*;
 import cn.kdan.pdf.tech.core.pojo.vo.VppLicenseCodeVO;
@@ -132,7 +133,9 @@ public class VppLicenseCodeServiceImpl implements VppLicenseCodeService {
         VppMember member = vppMemberService.getCurrentUser();
         List<String> teamIds = new ArrayList<>();
         handleTeamIds(teamId, member, teamIds);
-        return licenseCodeMapper.listWithInfo(productId, teamIds, status, queryString);
+        List<VppLicenseCodeVO> vppLicenseCodeVOS = licenseCodeMapper.listWithInfo(productId, teamIds, status, queryString);
+        vppLicenseCodeVOS.forEach(c -> c.setProductName(ProductNameEnum.getEnumByDatabaseName(c.getProductName()).viewName()));
+        return vppLicenseCodeVOS;
     }
 
     private void handleTeamIds(String teamId, VppMember member, List<String> teamIds) {
@@ -419,9 +422,15 @@ public class VppLicenseCodeServiceImpl implements VppLicenseCodeService {
                 if (StringUtils.isEmpty(productName)) {
                     continue;
                 }
-                log.info("查询产品{};{}", productName.trim(), DateUtil.date().toString("yyyy-MM-dd HH:mm:ss:SSS"));
+                // 产品名称转换
+                ProductNameEnum productNameEnum = ProductNameEnum.getEnumByViewName(productName.trim());
+                if (ObjectUtils.isEmpty(productNameEnum)) {
+                    continue;
+                }
+                log.info("用户传入产品名:{},转换为:{}", productName.trim(), productNameEnum.databaseName());
+                log.info("查询产品{};{}", productNameEnum.databaseName(), DateUtil.date().toString("yyyy-MM-dd HH:mm:ss:SSS"));
                 // 查询产品
-                Products product = productService.getByName(productName.trim());
+                Products product = productService.getByName(productNameEnum.databaseName());
                 if (null == product) {
                     continue;
                 }

+ 12 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppRTeamMemberRoleServiceImpl.java

@@ -4,6 +4,7 @@ import cn.kdan.pdf.tech.core.constant.AuthConstant;
 import cn.kdan.pdf.tech.core.constant.VppDeviceConstant;
 import cn.kdan.pdf.tech.core.constant.VppMemberConstant;
 import cn.kdan.pdf.tech.core.enums.CaptchaActionEnum;
+import cn.kdan.pdf.tech.core.enums.ProductNameEnum;
 import cn.kdan.pdf.tech.core.enums.RoleEnum;
 import cn.kdan.pdf.tech.core.mapper.ext.ExtVppRTeamMemberRoleMapper;
 import cn.kdan.pdf.tech.core.model.*;
@@ -563,7 +564,17 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
         if(CollectionUtils.isEmpty(teamIds)){
             throw new BackendRuntimeException(VppDeviceConstant.EXCEPTION_MSG_NO_TEAM);
         }
-        return vppRTeamMemberRoleMapper.listForMember(teamIds, member.getEmail(), queryString, status, productCode);
+        List<VppTeamMemberVO> vppTeamMemberVOS = vppRTeamMemberRoleMapper.listForMember(teamIds, member.getEmail(), queryString, status, productCode);
+
+        for (VppTeamMemberVO vppTeamMemberVO : vppTeamMemberVOS) {
+            String[] split = vppTeamMemberVO.getProductNames().split(",");
+            String[] productNamesArray = new String[split.length];
+            for (int i = 0; i < split.length; i++) {
+                productNamesArray[i] = ProductNameEnum.getEnumByDatabaseName(split[i]).viewName();
+            }
+            vppTeamMemberVO.setProductNames(String.join(",", productNamesArray));
+        }
+        return vppTeamMemberVOS;
     }
 
     @Override