Browse Source

1、租户字典数据导出字段确认

dongpo 6 months ago
parent
commit
b29ea2ddfc

+ 8 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/enums/CommonStatusEnum.java

@@ -35,6 +35,14 @@ public enum CommonStatusEnum implements IntArrayValuable {
         return ARRAYS;
     }
 
+    public Integer getStatus() {
+        return status;
+    }
+
+    public String getName() {
+        return name;
+    }
+
     public static boolean isEnable(Integer status) {
         return ObjUtil.equal(ENABLE.status, status);
     }

+ 26 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/enums/TenantDataTypeEnum.java

@@ -0,0 +1,26 @@
+package cn.iocoder.yudao.framework.common.enums;
+
+/**
+ * 租户字典数据类型 1内置 2自定义
+ */
+public enum TenantDataTypeEnum {
+    
+    INNER(1, "内置"),
+    CUSTOM(2, "自定义");
+
+    private final Integer type;
+    private final String name;
+
+    TenantDataTypeEnum(Integer type, String name) {
+        this.type = type;
+        this.name = name;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public String getName() {
+        return name;
+    }
+}

+ 33 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dictTenant/DictDataTenantController.java

@@ -1,6 +1,8 @@
 package cn.iocoder.yudao.module.system.controller.admin.dictTenant;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
+import cn.iocoder.yudao.framework.common.enums.TenantDataTypeEnum;
 import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataSimpleRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.dictTenant.vo.data.DictDataTenantPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.dictTenant.vo.data.DictDataTenantRespVO;
@@ -23,6 +25,7 @@ import javax.validation.*;
 import javax.servlet.http.*;
 import java.util.*;
 import java.io.IOException;
+import java.util.stream.Collectors;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
@@ -89,7 +92,21 @@ public class DictDataTenantController {
     // @PreAuthorize("@ss.hasPermission('tenant:dict-data:query')")
     public CommonResult<PageResult<DictDataTenantRespVO>> getDictDataPage(@Valid @ParameterObject DictDataTenantPageReqVO pageReqVO) {
         PageResult<DictDataTenantDO> pageResult = dictDataTenantService.getDictDataPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, DictDataTenantRespVO.class));
+        PageResult<DictDataTenantRespVO> voPageResult = BeanUtils.toBean(pageResult, DictDataTenantRespVO.class);
+        List<DictDataTenantRespVO> list = voPageResult.getList();
+        if (CollUtil.isNotEmpty(list)) {
+            Map<Integer, String> statusMap = Arrays.stream(CommonStatusEnum.values())
+                    .collect(Collectors.toMap(CommonStatusEnum::getStatus, CommonStatusEnum::getName));
+
+            Map<Integer, String> dataTypeMap = Arrays.stream(TenantDataTypeEnum.values())
+                    .collect(Collectors.toMap(TenantDataTypeEnum::getType, TenantDataTypeEnum::getName));
+
+            for (DictDataTenantRespVO dictData : list) {
+                dictData.setStatusDesc(statusMap.get(dictData.getStatus()));
+                dictData.setDataTypeDesc(dataTypeMap.get(dictData.getDataType()));
+            }
+        }
+        return success(voPageResult);
     }
 
     @GetMapping("/export-excel")
@@ -101,9 +118,23 @@ public class DictDataTenantController {
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<DictDataTenantDO> list = dictDataTenantService.getDictDataPage(pageReqVO).getList();
+        List<DictDataTenantRespVO> voList = BeanUtils.toBean(list, DictDataTenantRespVO.class);
+        if (CollUtil.isNotEmpty(voList)) {
+            Map<Integer, String> statusMap = Arrays.stream(CommonStatusEnum.values())
+                    .collect(Collectors.toMap(CommonStatusEnum::getStatus, CommonStatusEnum::getName));
+
+            Map<Integer, String> dataTypeMap = Arrays.stream(TenantDataTypeEnum.values())
+                    .collect(Collectors.toMap(TenantDataTypeEnum::getType, TenantDataTypeEnum::getName));
+
+            for (DictDataTenantRespVO dictData : voList) {
+                dictData.setStatusDesc(statusMap.get(dictData.getStatus()));
+                dictData.setDataTypeDesc(dataTypeMap.get(dictData.getDataType()));
+            }
+        }
+
         // 导出 Excel
         ExcelUtils.write(response, "租户字典数据.xls", "数据", DictDataTenantRespVO.class,
-                        BeanUtils.toBean(list, DictDataTenantRespVO.class));
+                        voList);
     }
 
     @GetMapping(value = {"/list-all-simple"})

+ 16 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dictTenant/vo/data/DictDataTenantRespVO.java

@@ -1,5 +1,7 @@
 package cn.iocoder.yudao.module.system.controller.admin.dictTenant.vo.data;
 
+import cn.iocoder.yudao.framework.common.util.date.DateUtils;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -24,7 +26,7 @@ public class DictDataTenantRespVO {
     private String label;
 
     @Schema(description = "字典键值")
-    @ExcelProperty("字典键值")
+    // @ExcelProperty("字典键值")
     private String value;
 
     @Schema(description = "字典类型")
@@ -32,19 +34,27 @@ public class DictDataTenantRespVO {
     private String dictType;
 
     @Schema(description = "状态(0正常 1停用)")
-    @ExcelProperty("状态(0正常 1停用)")
+    // @ExcelProperty("状态(0正常 1停用)")
     private Integer status;
 
+    @Schema(description = "状态(0正常 1停用)")
+    @ExcelProperty("状态")
+    private String statusDesc;
+
     @Schema(description = "数据类型(1内置 2自定义)")
-    @ExcelProperty("数据类型(1内置 2自定义)")
+    // @ExcelProperty("数据类型(1内置 2自定义)")
     private Integer dataType;
 
+    @Schema(description = "数据类型(1内置 2自定义)")
+    @ExcelProperty("类型")
+    private String dataTypeDesc;
+
     @Schema(description = "颜色类型")
-    @ExcelProperty("颜色类型")
+    // @ExcelProperty("颜色类型")
     private String colorType;
 
     @Schema(description = "css 样式")
-    @ExcelProperty("css 样式")
+    // @ExcelProperty("css 样式")
     private String cssClass;
 
     @Schema(description = "备注")
@@ -53,6 +63,7 @@ public class DictDataTenantRespVO {
 
     @Schema(description = "创建时间")
     @ExcelProperty("创建时间")
+    @DateTimeFormat(DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime createTime;
 
 }