Commit c3df5bc62fb7f42e78deffedbb30ccb6518418dc

Authored by YunaiV
1 parent d8a52a8c

1. 完成所有导出的功能

Showing 34 changed files with 304 additions and 308 deletions
ruoyi-ui/src/api/system/dict/data.js
... ... @@ -54,9 +54,10 @@ export function delData(dictCode) {
54 54 // 导出字典数据
55 55 export function exportData(query) {
56 56 return request({
57   - url: '/system/dict/data/export',
  57 + url: '/system/dict-data/export',
58 58 method: 'get',
59   - params: query
  59 + params: query,
  60 + responseType: 'blob'
60 61 })
61 62 }
62 63  
... ...
ruoyi-ui/src/api/system/dict/type.js
... ... @@ -48,7 +48,8 @@ export function exportType(query) {
48 48 return request({
49 49 url: '/system/dict-type/export',
50 50 method: 'get',
51   - params: query
  51 + params: query,
  52 + responseType: 'blob'
52 53 })
53 54 }
54 55  
... ...
ruoyi-ui/src/api/system/role.js
... ... @@ -69,6 +69,7 @@ export function exportRole(query) {
69 69 return request({
70 70 url: '/system/role/export',
71 71 method: 'get',
72   - params: query
  72 + params: query,
  73 + responseType: 'blob'
73 74 })
74 75 }
... ...
ruoyi-ui/src/views/system/dict/data.vue
... ... @@ -314,7 +314,7 @@ export default {
314 314 }).then(function() {
315 315 return exportData(queryParams);
316 316 }).then(response => {
317   - this.download(response.msg);
  317 + this.downloadExcel(response, '字典数据.xls');
318 318 })
319 319 }
320 320 }
... ...
ruoyi-ui/src/views/system/dict/index.vue
... ... @@ -304,7 +304,10 @@ export default {
304 304 },
305 305 /** 导出按钮操作 */
306 306 handleExport() {
307   - const queryParams = this.queryParams;
  307 + const queryParams = this.addDateRange(this.queryParams, [
  308 + this.dateRange[0] ? this.dateRange[0] + ' 00:00:00' : undefined,
  309 + this.dateRange[1] ? this.dateRange[1] + ' 23:59:59' : undefined,
  310 + ]);
308 311 this.$confirm('是否确认导出所有类型数据项?', "警告", {
309 312 confirmButtonText: "确定",
310 313 cancelButtonText: "取消",
... ... @@ -312,7 +315,7 @@ export default {
312 315 }).then(function() {
313 316 return exportType(queryParams);
314 317 }).then(response => {
315   - this.download(response.msg);
  318 + this.downloadExcel(response, '数据类型.xls');
316 319 })
317 320 }
318 321 }
... ...
ruoyi-ui/src/views/system/role/index.vue
... ... @@ -568,7 +568,7 @@ export default {
568 568 }).then(function() {
569 569 return exportRole(queryParams);
570 570 }).then(response => {
571   - this.download(response.msg);
  571 + this.downloadExcel(response, '角色数据.xls');
572 572 })
573 573 }
574 574 }
... ...
src/main/java/cn/iocoder/dashboard/framework/excel/Excel.java deleted
1   -package cn.iocoder.dashboard.framework.excel;
2   -
3   -import java.lang.annotation.ElementType;
4   -import java.lang.annotation.Retention;
5   -import java.lang.annotation.RetentionPolicy;
6   -import java.lang.annotation.Target;
7   -import java.math.BigDecimal;
8   -
9   -/**
10   - * 自定义导出Excel数据注解
11   - *
12   - * @author ruoyi
13   - */
14   -@Deprecated
15   -@Retention(RetentionPolicy.RUNTIME)
16   -@Target(ElementType.FIELD)
17   -public @interface Excel {
18   -
19   - /**
20   - * 导出时在excel中排序
21   - */
22   - int sort() default Integer.MAX_VALUE;
23   -
24   - /**
25   - * 导出到Excel中的名字.
26   - */
27   - String name() default "";
28   -
29   - /**
30   - * 日期格式, 如: yyyy-MM-dd
31   - */
32   - String dateFormat() default "";
33   -
34   - /**
35   - * 如果是字典类型,请设置字典的type值 (如: sys_user_sex)
36   - */
37   - String dictType() default "";
38   -
39   - /**
40   - * 读取内容转表达式 (如: 0=男,1=女,2=未知)
41   - */
42   - public String readConverterExp() default "";
43   -
44   - /**
45   - * 分隔符,读取字符串组内容
46   - */
47   - public String separator() default ",";
48   -
49   - /**
50   - * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
51   - */
52   - public int scale() default -1;
53   -
54   - /**
55   - * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
56   - */
57   - public int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
58   -
59   - /**
60   - * 导出类型(0数字 1字符串)
61   - */
62   - public ColumnType cellType() default ColumnType.STRING;
63   -
64   - /**
65   - * 导出时在excel中每个列的高度 单位为字符
66   - */
67   - public double height() default 14;
68   -
69   - /**
70   - * 导出时在excel中每个列的宽 单位为字符
71   - */
72   - public double width() default 16;
73   -
74   - /**
75   - * 文字后缀,如% 90 变成90%
76   - */
77   - String suffix() default "";
78   -
79   - /**
80   - * 当值为空时,字段的默认值
81   - */
82   - String defaultValue() default "";
83   -
84   - /**
85   - * 提示信息
86   - */
87   - String prompt() default "";
88   -
89   - /**
90   - * 设置只能选择不能输入的列内容.
91   - */
92   - String[] combo() default {};
93   -
94   - /**
95   - * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
96   - */
97   - boolean isExport() default true;
98   -
99   - /**
100   - * 另一个类中的属性名称,支持多级获取,以小数点隔开
101   - */
102   - String targetAttr() default "";
103   -
104   - /**
105   - * 是否自动统计数据,在最后追加一行统计数据总和
106   - */
107   - boolean isStatistics() default false;
108   -
109   - /**
110   - * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右)
111   - */
112   - Align align() default Align.AUTO;
113   -
114   - enum Align {
115   - AUTO(0), LEFT(1), CENTER(2), RIGHT(3);
116   - private final int value;
117   -
118   - Align(int value) {
119   - this.value = value;
120   - }
121   -
122   - public int value() {
123   - return this.value;
124   - }
125   - }
126   -
127   - /**
128   - * 字段类型(0:导出导入;1:仅导出;2:仅导入)
129   - */
130   - Type type() default Type.ALL;
131   -
132   - enum Type {
133   - ALL(0), EXPORT(1), IMPORT(2);
134   - private final int value;
135   -
136   - Type(int value) {
137   - this.value = value;
138   - }
139   -
140   - public int value() {
141   - return this.value;
142   - }
143   - }
144   -
145   - enum ColumnType {
146   - NUMERIC(0), STRING(1), IMAGE(2);
147   - private final int value;
148   -
149   - ColumnType(int value) {
150   - this.value = value;
151   - }
152   -
153   - public int value() {
154   - return this.value;
155   - }
156   - }
157   -}
src/main/java/cn/iocoder/dashboard/framework/excel/Excels.java deleted
1   -package cn.iocoder.dashboard.framework.excel;
2   -
3   -import java.lang.annotation.ElementType;
4   -import java.lang.annotation.Retention;
5   -import java.lang.annotation.RetentionPolicy;
6   -import java.lang.annotation.Target;
7   -
8   -/**
9   - * Excel注解集
10   - *
11   - * @author ruoyi
12   - */
13   -@Deprecated
14   -@Target(ElementType.FIELD)
15   -@Retention(RetentionPolicy.RUNTIME)
16   -public @interface Excels
17   -{
18   - Excel[] value();
19   -}
src/main/java/cn/iocoder/dashboard/framework/excel/core/util/ExcelUtils.java
... ... @@ -10,18 +10,32 @@ import java.util.List;
10 10  
11 11 /**
12 12 * Excel 工具类
  13 + *
  14 + * @author 芋道源码
13 15 */
14 16 public class ExcelUtils {
15 17  
16   - public static void write(HttpServletResponse response, String filename, String sheetName,
17   - Class<?> head, List<?> data) throws IOException {
18   - // 设置 header 和 contentType
19   - response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
20   - response.setContentType("application/vnd.ms-excel;charset=UTF-8");
  18 + /**
  19 + * 将列表以 Excel 响应给前端
  20 + *
  21 + * @param response 响应
  22 + * @param filename 文件名
  23 + * @param sheetName Excel sheet 名
  24 + * @param head Excel head 头
  25 + * @param data 数据列表哦
  26 + * @param <T> 泛型,保证 head 和 data 类型的一致性
  27 + * @throws IOException 写入失败的情况
  28 + */
  29 + public static <T> void write(HttpServletResponse response, String filename, String sheetName,
  30 + Class<T> head, List<T> data) throws IOException {
21 31 // 输出 Excel
22 32 EasyExcel.write(response.getOutputStream(), head)
  33 + .autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
23 34 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度,自动适配。最大 255 宽度
24 35 .sheet(sheetName).doWrite(data);
  36 + // 设置 header 和 contentType。写在最后的原因是,避免报错时,响应 contentType 已经被修改了
  37 + response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
  38 + response.setContentType("application/vnd.ms-excel;charset=UTF-8");
25 39 }
26 40  
27 41 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/SysPostController.java
... ... @@ -89,10 +89,10 @@ public class SysPostController {
89 89 // @PreAuthorize("@ss.hasPermi('system:post:export')")
90 90 public void export(HttpServletResponse response, @Validated SysPostExportReqVO reqVO) throws IOException {
91 91 List<SysPostDO> posts = postService.listPosts(reqVO);
92   - List<SysPostExcelVO> excelPosts = SysPostConvert.INSTANCE.convertList03(posts);
  92 + List<SysPostExcelVO> excelDataList = SysPostConvert.INSTANCE.convertList03(posts);
93 93 // 输出
94 94 ExcelUtils.write(response, "岗位数据.xls", "岗位列表",
95   - SysPostExcelVO.class, excelPosts);
  95 + SysPostExcelVO.class, excelDataList);
96 96 }
97 97  
98 98 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/post/SysPostExcelVO.java
1 1 package cn.iocoder.dashboard.modules.system.controller.dept.vo.post;
2 2  
3   -import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
4   -import cn.iocoder.dashboard.framework.excel.core.convert.DictConvert;
5 3 import com.alibaba.excel.annotation.ExcelProperty;
6 4 import lombok.Data;
7 5  
8   -import static cn.iocoder.dashboard.modules.system.enums.dict.DictTypeEnum.SYS_COMMON_STATUS;
9   -
10 6 /**
11 7 * 岗位 Excel 导出响应 VO
12 8 */
... ... @@ -25,8 +21,9 @@ public class SysPostExcelVO {
25 21 @ExcelProperty("岗位排序")
26 22 private String sort;
27 23  
28   - @ExcelProperty(value = "状态", converter = DictConvert.class)
29   - @DictFormat(SYS_COMMON_STATUS)
  24 +// @ExcelProperty(value = "状态", converter = DictConvert.class)
  25 +// @DictFormat(SYS_COMMON_STATUS)
  26 + @ExcelProperty(value = "状态")
30 27 private String status;
31 28  
32 29 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/SysDictDataController.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.controller.dict;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.CommonResult;
4 4 import cn.iocoder.dashboard.common.pojo.PageResult;
  5 +import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
5 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.*;
6 7 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictDataConvert;
7 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictDataDO;
... ... @@ -13,6 +14,8 @@ import org.springframework.validation.annotation.Validated;
13 14 import org.springframework.web.bind.annotation.*;
14 15  
15 16 import javax.annotation.Resource;
  17 +import javax.servlet.http.HttpServletResponse;
  18 +import java.io.IOException;
16 19 import java.util.List;
17 20  
18 21 import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
... ... @@ -25,8 +28,8 @@ public class SysDictDataController {
25 28 @Resource
26 29 private SysDictDataService dictDataService;
27 30  
28   - @GetMapping("/list-all-simple")
29 31 @ApiOperation(value = "获得全部字典数据列表", notes = "一般用于管理后台缓存字典数据在本地")
  32 + @GetMapping("/list-all-simple")
30 33 // 无需添加权限认证,因为前端全局都需要
31 34 public CommonResult<List<SysDictDataSimpleVO>> listSimpleDictDatas() {
32 35 List<SysDictDataDO> list = dictDataService.listDictDatas();
... ... @@ -75,14 +78,16 @@ public class SysDictDataController {
75 78 return success(true);
76 79 }
77 80  
78   -
  81 + @ApiOperation("导出字典数据")
  82 + @GetMapping("/export")
79 83 // @Log(title = "字典类型", businessType = BusinessType.EXPORT)
80 84 // @PreAuthorize("@ss.hasPermi('system:dict:export')")
81   -// @GetMapping("/export")
82   -// public AjaxResult export(SysDictType dictType) {
83   -// List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
84   -// ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
85   -// return util.exportExcel(list, "字典类型");
86   -// }
  85 + public void export(HttpServletResponse response, @Validated SysDictDataExportReqVO reqVO) throws IOException {
  86 + List<SysDictDataDO> list = dictDataService.listDictDatas(reqVO);
  87 + List<SysDictDataExcelVO> excelDataList = SysDictDataConvert.INSTANCE.convertList02(list);
  88 + // 输出
  89 + ExcelUtils.write(response, "字典数据.xls", "数据列表",
  90 + SysDictDataExcelVO.class, excelDataList);
  91 + }
87 92  
88 93 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/SysDictTypeController.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.controller.dict;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.CommonResult;
4 4 import cn.iocoder.dashboard.common.pojo.PageResult;
  5 +import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
5 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.*;
6 7 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictTypeConvert;
7 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
... ... @@ -13,6 +14,8 @@ import org.springframework.validation.annotation.Validated;
13 14 import org.springframework.web.bind.annotation.*;
14 15  
15 16 import javax.annotation.Resource;
  17 +import javax.servlet.http.HttpServletResponse;
  18 +import java.io.IOException;
16 19 import java.util.List;
17 20  
18 21 import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
... ... @@ -76,14 +79,16 @@ public class SysDictTypeController {
76 79 return success(SysDictTypeConvert.INSTANCE.convertList(list));
77 80 }
78 81  
79   - //
  82 + @ApiOperation("导出数据类型")
  83 + @GetMapping("/export")
80 84 // @Log(title = "字典类型", businessType = BusinessType.EXPORT)
81 85 // @PreAuthorize("@ss.hasPermi('system:dict:export')")
82   -// @GetMapping("/export")
83   -// public AjaxResult export(SysDictType dictType) {
84   -// List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
85   -// ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
86   -// return util.exportExcel(list, "字典类型");
87   -// }
  86 + public void export(HttpServletResponse response, @Validated SysDictTypeExportReqVO reqVO) throws IOException {
  87 + List<SysDictTypeDO> list = dictTypeService.listDictTypes(reqVO);
  88 + List<SysDictTypeExcelVO> excelTypeList = SysDictTypeConvert.INSTANCE.convertList02(list);
  89 + // 输出
  90 + ExcelUtils.write(response, "字典类型.xls", "类型列表",
  91 + SysDictTypeExcelVO.class, excelTypeList);
  92 + }
88 93  
89 94 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/vo/data/SysDictDataExportReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dict.vo.data;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +
  7 +import javax.validation.constraints.Size;
  8 +
  9 +@ApiModel("字典类型导出 Request VO")
  10 +@Data
  11 +public class SysDictDataExportReqVO {
  12 +
  13 + @ApiModelProperty(value = "字典标签", example = "芋道")
  14 + @Size(max = 100, message = "字典标签长度不能超过100个字符")
  15 + private String label;
  16 +
  17 + @ApiModelProperty(value = "字典类型", example = "sys_common_sex", notes = "模糊匹配")
  18 + @Size(max = 100, message = "字典类型类型长度不能超过100个字符")
  19 + private String dictType;
  20 +
  21 + @ApiModelProperty(value = "展示状态", example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  22 + private Integer status;
  23 +
  24 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/vo/type/SysDictTypeExportReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dict.vo.type;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import org.springframework.format.annotation.DateTimeFormat;
  7 +
  8 +import javax.validation.constraints.Size;
  9 +import java.util.Date;
  10 +
  11 +import static cn.iocoder.dashboard.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  12 +
  13 +@ApiModel("字典类型分页列表 Request VO")
  14 +@Data
  15 +public class SysDictTypeExportReqVO {
  16 +
  17 + @ApiModelProperty(value = "字典类型名称", example = "芋道", notes = "模糊匹配")
  18 + private String name;
  19 +
  20 + @ApiModelProperty(value = "字典类型", example = "sys_common_sex", notes = "模糊匹配")
  21 + @Size(max = 100, message = "字典类型类型长度不能超过100个字符")
  22 + private String type;
  23 +
  24 + @ApiModelProperty(value = "展示状态", example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  25 + private Integer status;
  26 +
  27 + @ApiModelProperty(value = "开始时间", example = "2020-10-24")
  28 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  29 + private Date beginTime;
  30 +
  31 + @ApiModelProperty(value = "结束时间", example = "2020-10-24")
  32 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  33 + private Date endTime;
  34 +
  35 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/vo/type/SysDictTypePageReqVO.java
... ... @@ -4,6 +4,7 @@ import cn.iocoder.dashboard.common.pojo.PageParam;
4 4 import io.swagger.annotations.ApiModel;
5 5 import io.swagger.annotations.ApiModelProperty;
6 6 import lombok.Data;
  7 +import lombok.EqualsAndHashCode;
7 8 import org.springframework.format.annotation.DateTimeFormat;
8 9  
9 10 import javax.validation.constraints.Size;
... ... @@ -13,6 +14,7 @@ import static cn.iocoder.dashboard.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOU
13 14  
14 15 @ApiModel("字典类型分页列表 Request VO")
15 16 @Data
  17 +@EqualsAndHashCode(callSuper = true)
16 18 public class SysDictTypePageReqVO extends PageParam {
17 19  
18 20 @ApiModelProperty(value = "字典类型名称", example = "芋道", notes = "模糊匹配")
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/SysRoleController.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.controller.permission;
3 3 import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.dashboard.common.pojo.CommonResult;
5 5 import cn.iocoder.dashboard.common.pojo.PageResult;
  6 +import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
6 7 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.*;
7 8 import cn.iocoder.dashboard.modules.system.convert.permission.SysRoleConvert;
8 9 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
... ... @@ -14,6 +15,8 @@ import org.springframework.validation.annotation.Validated;
14 15 import org.springframework.web.bind.annotation.*;
15 16  
16 17 import javax.annotation.Resource;
  18 +import javax.servlet.http.HttpServletResponse;
  19 +import java.io.IOException;
17 20 import java.util.Collections;
18 21 import java.util.Comparator;
19 22 import java.util.List;
... ... @@ -80,16 +83,6 @@ public class SysRoleController {
80 83 return success(SysRoleConvert.INSTANCE.convert(role));
81 84 }
82 85  
83   -// @Log(title = "角色管理", businessType = BusinessType.EXPORT)
84   -// @PreAuthorize("@ss.hasPermi('system:role:export')")
85   -// @GetMapping("/export")
86   -// public AjaxResult export(SysRole role)
87   -// {
88   -// List<SysRole> list = roleService.selectRoleList(role);
89   -// ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
90   -// return util.exportExcel(list, "角色数据");
91   -// }
92   -
93 86 @ApiOperation("修改角色状态")
94 87 @PostMapping("/update-status")
95 88 // @PreAuthorize("@ss.hasPermi('system:role:edit')")
... ... @@ -99,4 +92,15 @@ public class SysRoleController {
99 92 return success(true);
100 93 }
101 94  
  95 + @GetMapping("/export")
  96 +// @Log(title = "角色管理", businessType = BusinessType.EXPORT)
  97 +// @PreAuthorize("@ss.hasPermi('system:role:export')")
  98 + public void export(HttpServletResponse response, @Validated SysRoleExportReqVO reqVO) throws IOException {
  99 + List<SysRoleDO> list = roleService.listRoles(reqVO);
  100 + List<SysRoleExcelVO> excelDataList = SysRoleConvert.INSTANCE.convertList03(list);
  101 + // 输出
  102 + ExcelUtils.write(response, "角色数据.xls", "角色列表",
  103 + SysRoleExcelVO.class, excelDataList);
  104 + }
  105 +
102 106 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/vo/role/SysRoleExcelRespVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/vo/role/SysRoleExcelVO.java
1 1 package cn.iocoder.dashboard.modules.system.controller.permission.vo.role;
2 2  
3   -import cn.iocoder.dashboard.framework.excel.Excel;
  3 +import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
  4 +import cn.iocoder.dashboard.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.dashboard.modules.system.enums.dict.DictTypeEnum;
  6 +import com.alibaba.excel.annotation.ExcelProperty;
4 7 import lombok.Data;
5 8  
6 9 /**
7 10 * 角色 Excel 导出响应 VO
8 11 */
9 12 @Data
10   -public class SysRoleExcelRespVO {
  13 +public class SysRoleExcelVO {
11 14  
12   - @Excel(name = "角色序号", cellType = Excel.ColumnType.NUMERIC)
  15 + @ExcelProperty("角色序号")
13 16 private Long id;
14 17  
15   - @Excel(name = "角色名称")
  18 + @ExcelProperty("角色名称")
16 19 private String name;
17 20  
18   - @Excel(name = "角色标志")
  21 + @ExcelProperty("角色标志")
19 22 private String code;
20 23  
21   - @Excel(name = "角色排序")
  24 + @ExcelProperty("角色排序")
22 25 private Integer sort;
23 26  
24   - @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限")
  27 + @ExcelProperty("数据范围")
25 28 private Integer dataScope;
26 29  
27   - @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
  30 + @ExcelProperty(value = "角色状态", converter = DictConvert.class)
  31 + @DictFormat(DictTypeEnum.SYS_COMMON_STATUS)
28 32 private String status;
29 33  
30 34 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/vo/role/SysRoleExportReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.permission.vo.role;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import org.springframework.format.annotation.DateTimeFormat;
  8 +
  9 +import java.util.Date;
  10 +
  11 +import static cn.iocoder.dashboard.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
  12 +
  13 +@ApiModel("角色分页 Request VO")
  14 +@Data
  15 +public class SysRoleExportReqVO {
  16 +
  17 + @ApiModelProperty(value = "角色名称", example = "芋道", notes = "模糊匹配")
  18 + private String name;
  19 +
  20 + @ApiModelProperty(value = "角色标识", example = "yudao", notes = "模糊匹配")
  21 + private String code;
  22 +
  23 + @ApiModelProperty(value = "展示状态", example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  24 + private Integer status;
  25 +
  26 + @ApiModelProperty(value = "开始时间", example = "2020-10-24")
  27 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  28 + private Date beginTime;
  29 +
  30 + @ApiModelProperty(value = "结束时间", example = "2020-10-24")
  31 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
  32 + private Date endTime;
  33 +
  34 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserExcelRespBackVO.java deleted
1   -package cn.iocoder.dashboard.modules.system.controller.user.vo.user;
2   -
3   -import cn.iocoder.dashboard.framework.excel.Excel;
4   -import cn.iocoder.dashboard.framework.excel.Excels;
5   -import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
6   -import lombok.Data;
7   -
8   -import java.util.Date;
9   -
10   -/**
11   - * 用户 Excel 导出响应 VO
12   - */
13   -@Data
14   -public class SysUserExcelRespBackVO {
15   -
16   - @Excel(name = "用户序号", cellType = Excel.ColumnType.NUMERIC, prompt = "用户编号")
17   - private Long id;
18   -
19   - @Excel(name = "登录名称")
20   - private String username;
21   -
22   - @Excel(name = "用户名称")
23   - private String nickname;
24   -
25   - @Excel(name = "部门编号", type = Excel.Type.IMPORT)
26   - private Long deptId;
27   -
28   - @Excel(name = "用户邮箱")
29   - private String email;
30   -
31   - @Excel(name = "手机号码")
32   - private String mobile;
33   -
34   - @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
35   - private String sex;
36   -
37   - @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
38   - private Integer status;
39   -
40   - @Excel(name = "最后登录IP", type = Excel.Type.EXPORT)
41   - private String loginIp;
42   -
43   - @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
44   - private Date loginDate;
45   -
46   - @Excels({
47   - @Excel(name = "部门名称", targetAttr = "deptName", type = Excel.Type.EXPORT),
48   - @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT)
49   - })
50   - private SysDeptDO dept;
51   -
52   -}
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserImportExcelVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.user.vo.user;
  2 +
  3 +import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
  4 +import cn.iocoder.dashboard.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.dashboard.modules.system.enums.dict.DictTypeEnum;
  6 +import com.alibaba.excel.annotation.ExcelProperty;
  7 +import lombok.Data;
  8 +
  9 +/**
  10 + * 用户 Excel 导入 VO
  11 + */
  12 +@Data
  13 +public class SysUserImportExcelVO {
  14 +
  15 + @ExcelProperty("登录名称")
  16 + private String username;
  17 +
  18 + @ExcelProperty("用户名称")
  19 + private String nickname;
  20 +
  21 + @ExcelProperty("部门编号")
  22 + private Long deptId;
  23 +
  24 + @ExcelProperty("用户邮箱")
  25 + private String email;
  26 +
  27 + @ExcelProperty("手机号码")
  28 + private String mobile;
  29 +
  30 + @ExcelProperty(value = "用户性别", converter = DictConvert.class)
  31 + @DictFormat(DictTypeEnum.SYS_USER_SEX)
  32 + private String sex;
  33 +
  34 + @ExcelProperty(value = "账号状态", converter = DictConvert.class)
  35 + @DictFormat(DictTypeEnum.SYS_COMMON_STATUS)
  36 + private Integer status;
  37 +
  38 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/convert/dict/SysDictDataConvert.java
1 1 package cn.iocoder.dashboard.modules.system.convert.dict;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataCreateReqVO;
5   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataRespVO;
6   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataSimpleVO;
7   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataUpdateReqVO;
  4 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.*;
8 5 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictDataDO;
9 6 import com.baomidou.mybatisplus.core.metadata.IPage;
10 7 import org.mapstruct.Mapper;
... ... @@ -31,4 +28,6 @@ public interface SysDictDataConvert {
31 28 @Mapping(source = "records", target = "list")
32 29 PageResult<SysDictDataDO> convertPage02(IPage<SysDictDataDO> page);
33 30  
  31 + List<SysDictDataExcelVO> convertList02(List<SysDictDataDO> bean);
  32 +
34 33 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/convert/dict/SysDictTypeConvert.java
1 1 package cn.iocoder.dashboard.modules.system.convert.dict;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO;
5   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeRespVO;
6   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeSimpleRespVO;
7   -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
  4 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.*;
8 5 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
9 6 import com.baomidou.mybatisplus.core.metadata.IPage;
10 7 import org.mapstruct.Mapper;
... ... @@ -31,4 +28,6 @@ public interface SysDictTypeConvert {
31 28  
32 29 List<SysDictTypeSimpleRespVO> convertList(List<SysDictTypeDO> list);
33 30  
  31 + List<SysDictTypeExcelVO> convertList02(List<SysDictTypeDO> list);
  32 +
34 33 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/convert/permission/SysRoleConvert.java
1 1 package cn.iocoder.dashboard.modules.system.convert.permission;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4   -import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleCreateReqVO;
5   -import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleRespVO;
6   -import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleSimpleRespVO;
7   -import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleUpdateReqVO;
  4 +import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.*;
8 5 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
9 6 import com.baomidou.mybatisplus.core.metadata.IPage;
10 7 import org.mapstruct.Mapper;
... ... @@ -29,4 +26,6 @@ public interface SysRoleConvert {
29 26  
30 27 List<SysRoleSimpleRespVO> convertList02(List<SysRoleDO> list);
31 28  
  29 + List<SysRoleExcelVO> convertList03(List<SysRoleDO> list);
  30 +
32 31 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/dict/SysDictDataMapper.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dict;
2 2  
3 3 import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
4 4 import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
  5 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataExportReqVO;
5 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataPageReqVO;
6 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictDataDO;
7 8 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
... ... @@ -36,4 +37,9 @@ public interface SysDictDataMapper extends BaseMapper&lt;SysDictDataDO&gt; {
36 37 return selectList(new QueryWrapper<>());
37 38 }
38 39  
  40 + default List<SysDictDataDO> selectList(SysDictDataExportReqVO reqVO) {
  41 + return selectList(new QueryWrapperX<SysDictDataDO>().likeIfPresent("label", reqVO.getLabel())
  42 + .likeIfPresent("dict_type", reqVO.getDictType())
  43 + .eqIfPresent("status", reqVO.getStatus()));
  44 + }
39 45 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/dict/SysDictTypeMapper.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dict;
2 2  
3 3 import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
4 4 import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
  5 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeExportReqVO;
5 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;
6 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
7 8 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
... ... @@ -22,6 +23,13 @@ public interface SysDictTypeMapper extends BaseMapper&lt;SysDictTypeDO&gt; {
22 23 .betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
23 24 }
24 25  
  26 + default List<SysDictTypeDO> selectList(SysDictTypeExportReqVO reqVO) {
  27 + return selectList(new QueryWrapperX<SysDictTypeDO>().likeIfPresent("name", reqVO.getName())
  28 + .likeIfPresent("dict_type", reqVO.getType())
  29 + .eqIfPresent("status", reqVO.getStatus())
  30 + .betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
  31 + }
  32 +
25 33 default SysDictTypeDO selectByType(String type) {
26 34 return selectOne(new QueryWrapperX<SysDictTypeDO>().eq("dict_type", type));
27 35 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/permission/SysRoleMapper.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.dal.mysql.dao.permission;
2 2  
3 3 import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
4 4 import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
  5 +import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleExportReqVO;
5 6 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRolePageReqVO;
6 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
7 8 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
... ... @@ -18,9 +19,16 @@ public interface SysRoleMapper extends BaseMapper&lt;SysRoleDO&gt; {
18 19 default IPage<SysRoleDO> selectPage(SysRolePageReqVO reqVO) {
19 20 return selectPage(MyBatisUtils.buildPage(reqVO),
20 21 new QueryWrapperX<SysRoleDO>().likeIfPresent("name", reqVO.getName())
21   - .likeIfPresent("code", reqVO.getCode())
22   - .eqIfPresent("status", reqVO.getStatus())
23   - .betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
  22 + .likeIfPresent("code", reqVO.getCode())
  23 + .eqIfPresent("status", reqVO.getStatus())
  24 + .betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
  25 + }
  26 +
  27 + default List<SysRoleDO> listRoles(SysRoleExportReqVO reqVO) {
  28 + return selectList(new QueryWrapperX<SysRoleDO>().likeIfPresent("name", reqVO.getName())
  29 + .likeIfPresent("code", reqVO.getCode())
  30 + .eqIfPresent("status", reqVO.getStatus())
  31 + .betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
24 32 }
25 33  
26 34 default SysRoleDO selectByName(String name) {
... ... @@ -34,4 +42,5 @@ public interface SysRoleMapper extends BaseMapper&lt;SysRoleDO&gt; {
34 42 default List<SysRoleDO> selectListByStatus(@Nullable Collection<Integer> statuses) {
35 43 return selectList(new QueryWrapperX<SysRoleDO>().in("status", statuses));
36 44 }
  45 +
37 46 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/SysDictDataService.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.service.dict;
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4 4 import cn.iocoder.dashboard.framework.dict.core.service.DictDataFrameworkService;
5 5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataCreateReqVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataExportReqVO;
6 7 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataPageReqVO;
7 8 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataUpdateReqVO;
8 9 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictDataDO;
... ... @@ -37,6 +38,14 @@ public interface SysDictDataService extends DictDataFrameworkService {
37 38 PageResult<SysDictDataDO> pageDictDatas(SysDictDataPageReqVO reqVO);
38 39  
39 40 /**
  41 + * 获得字典数据列表
  42 + *
  43 + * @param reqVO 列表请求
  44 + * @return 字典数据列表
  45 + */
  46 + List<SysDictDataDO> listDictDatas(SysDictDataExportReqVO reqVO);
  47 +
  48 + /**
40 49 * 获得字典数据详情
41 50 *
42 51 * @param id 字典数据编号
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/SysDictTypeService.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.service.dict;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4 4 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO;
  5 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeExportReqVO;
5 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;
6 7 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
7 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
... ... @@ -24,6 +25,14 @@ public interface SysDictTypeService {
24 25 PageResult<SysDictTypeDO> pageDictTypes(SysDictTypePageReqVO reqVO);
25 26  
26 27 /**
  28 + * 获得字典类型列表
  29 + *
  30 + * @param reqVO 列表请求
  31 + * @return 字典类型列表
  32 + */
  33 + List<SysDictTypeDO> listDictTypes(SysDictTypeExportReqVO reqVO);
  34 +
  35 + /**
27 36 * 获得字典类型详情
28 37 *
29 38 * @param id 字典类型编号
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/impl/SysDictDataServiceImpl.java
... ... @@ -4,6 +4,7 @@ import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
5 5 import cn.iocoder.dashboard.common.pojo.PageResult;
6 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataCreateReqVO;
  7 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataExportReqVO;
7 8 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataPageReqVO;
8 9 import cn.iocoder.dashboard.modules.system.controller.dict.vo.data.SysDictDataUpdateReqVO;
9 10 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictDataConvert;
... ... @@ -85,6 +86,13 @@ public class SysDictDataServiceImpl implements SysDictDataService {
85 86 }
86 87  
87 88 @Override
  89 + public List<SysDictDataDO> listDictDatas(SysDictDataExportReqVO reqVO) {
  90 + List<SysDictDataDO> list = dictDataMapper.selectList(reqVO);
  91 + list.sort(COMPARATOR_TYPE_AND_SORT);
  92 + return list;
  93 + }
  94 +
  95 + @Override
88 96 public SysDictDataDO getDictData(Long id) {
89 97 return dictDataMapper.selectById(id);
90 98 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/impl/SysDictTypeServiceImpl.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.service.dict.impl;
3 3 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
4 4 import cn.iocoder.dashboard.common.pojo.PageResult;
5 5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeExportReqVO;
6 7 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;
7 8 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
8 9 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictTypeConvert;
... ... @@ -41,6 +42,11 @@ public class SysDictTypeServiceImpl implements SysDictTypeService {
41 42 }
42 43  
43 44 @Override
  45 + public List<SysDictTypeDO> listDictTypes(SysDictTypeExportReqVO reqVO) {
  46 + return dictTypeMapper.selectList(reqVO);
  47 + }
  48 +
  49 + @Override
44 50 public SysDictTypeDO getDictType(Long id) {
45 51 return dictTypeMapper.selectById(id);
46 52 }
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/permission/SysRoleService.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.service.permission;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4 4 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleCreateReqVO;
  5 +import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleExportReqVO;
5 6 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRolePageReqVO;
6 7 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleUpdateReqVO;
7 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
... ... @@ -94,6 +95,14 @@ public interface SysRoleService {
94 95 PageResult<SysRoleDO> pageRole(SysRolePageReqVO reqVO);
95 96  
96 97 /**
  98 + * 获得角色列表
  99 + *
  100 + * @param reqVO 列表查询
  101 + * @return 角色列表
  102 + */
  103 + List<SysRoleDO> listRoles(SysRoleExportReqVO reqVO);
  104 +
  105 + /**
97 106 * 更新角色状态
98 107 *
99 108 * @param id 角色编号
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/permission/impl/SysRoleServiceImpl.java
... ... @@ -5,6 +5,7 @@ import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
5 5 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
6 6 import cn.iocoder.dashboard.common.pojo.PageResult;
7 7 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleCreateReqVO;
  8 +import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleExportReqVO;
8 9 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRolePageReqVO;
9 10 import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.SysRoleUpdateReqVO;
10 11 import cn.iocoder.dashboard.modules.system.convert.permission.SysRoleConvert;
... ... @@ -141,6 +142,11 @@ public class SysRoleServiceImpl implements SysRoleService {
141 142 }
142 143  
143 144 @Override
  145 + public List<SysRoleDO> listRoles(SysRoleExportReqVO reqVO) {
  146 + return roleMapper.listRoles(reqVO);
  147 + }
  148 +
  149 + @Override
144 150 public void updateRoleStatus(Long id, Integer status) {
145 151 // 校验是否可以更新
146 152 this.checkUpdateRole(id);
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/user/SysUserServiceImpl.java
... ... @@ -335,15 +335,4 @@ public class SysUserServiceImpl implements SysUserService {
335 335 // return successMsg.toString();
336 336 // }
337 337  
338   -// /**
339   -// * 根据条件分页查询用户列表
340   -// *
341   -// * @param user 用户信息
342   -// * @return 用户信息集合信息
343   -// */
344   -// @Override
345   -// @DataScope(deptAlias = "d", userAlias = "u")
346   -// public List<SysUser> selectUserList(SysUser user) {
347   -// return userMapper.selectUserList(user);
348   -// }
349 338 }
... ...