diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java index 2bb0b135..63ba2591 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java @@ -5,18 +5,19 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.system.domain.SysLogininfor; import com.ruoyi.system.service.ISysLogininforService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 系统访问记录 - * + * * @author ruoyi */ @RestController @@ -36,11 +37,10 @@ public class SysLogininforController extends BaseController @Log(title = "登录日志", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('monitor:logininfor:export')") @GetMapping("/export") - public AjaxResult export(SysLogininfor logininfor) + public void export(SysLogininfor logininfor, HttpServletResponse response) { List list = logininforService.selectLogininforList(logininfor); - ExcelUtil util = new ExcelUtil(SysLogininfor.class); - return util.exportExcel(list, "登录日志"); + ExcelUtils.exportExcel(list, "登录日志", SysLogininfor.class, response); } @PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java index c7d1fcdb..40d32ce4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java @@ -41,8 +41,6 @@ public class SysOperlogController extends BaseController { List list = operLogService.selectOperLogList(operLog); ExcelUtils.exportExcel(list, "操作日志", SysOperLog.class, response); -// ExcelUtil util = new ExcelUtil(SysOperLog.class); -// return util.exportEasyExcel(list, "操作日志"); } @Log(title = "操作日志", businessType = BusinessType.DELETE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java index c8e91919..03d6108b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -8,7 +8,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +16,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -43,11 +44,10 @@ public class SysConfigController extends BaseController @Log(title = "参数管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:config:export')") @GetMapping("/export") - public AjaxResult export(SysConfig config) + public void export(SysConfig config, HttpServletResponse response) { List list = configService.selectConfigList(config); - ExcelUtil util = new ExcelUtil(SysConfig.class); - return util.exportExcel(list, "参数数据"); + ExcelUtils.exportExcel(list, "参数数据", SysConfig.class, response); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index cfafdb3d..f887c619 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -8,7 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +16,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; @@ -44,11 +45,10 @@ public class SysDictDataController extends BaseController @Log(title = "字典数据", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:dict:export')") @GetMapping("/export") - public AjaxResult export(SysDictData dictData) + public void export(SysDictData dictData, HttpServletResponse response) { List list = dictDataService.selectDictDataList(dictData); - ExcelUtil util = new ExcelUtil(SysDictData.class); - return util.exportExcel(list, "字典数据"); + ExcelUtils.exportExcel(list, "字典数据", SysDictData.class, response); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java index e2e06253..c70faa54 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java @@ -8,13 +8,14 @@ import com.ruoyi.common.core.domain.entity.SysDictType; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -39,11 +40,10 @@ public class SysDictTypeController extends BaseController @Log(title = "字典类型", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:dict:export')") @GetMapping("/export") - public AjaxResult export(SysDictType dictType) + public void export(SysDictType dictType, HttpServletResponse response) { List list = dictTypeService.selectDictTypeList(dictType); - ExcelUtil util = new ExcelUtil(SysDictType.class); - return util.exportExcel(list, "字典类型"); + ExcelUtils.exportExcel(list, "字典类型", SysDictType.class, response); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java index b63c155e..435fce5b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java @@ -1,17 +1,5 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; @@ -19,13 +7,20 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.service.ISysPostService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 岗位信息操作处理 - * + * * @author ruoyi */ @RestController @@ -44,15 +39,14 @@ public class SysPostController extends BaseController { return postService.selectPagePostList(post); } - + @Log(title = "岗位管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:post:export')") @GetMapping("/export") - public AjaxResult export(SysPost post) + public void export(SysPost post, HttpServletResponse response) { List list = postService.selectPostList(post); - ExcelUtil util = new ExcelUtil(SysPost.class); - return util.exportExcel(list, "岗位数据"); + ExcelUtils.exportExcel(list, "岗位数据", SysPost.class, response); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index cc6c37de..337f9dee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -12,7 +12,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.poi.ExcelUtils; import com.ruoyi.framework.web.service.SysPermissionService; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.SysUserRole; @@ -23,6 +23,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -56,11 +57,10 @@ public class SysRoleController extends BaseController @Log(title = "角色管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:role:export')") @GetMapping("/export") - public AjaxResult export(SysRole role) + public void export(SysRole role, HttpServletResponse response) { List list = roleService.selectRoleList(role); - ExcelUtil util = new ExcelUtil(SysRole.class); - return util.exportExcel(list, "角色数据"); + ExcelUtils.exportExcel(list, "角色数据", SysRole.class, response); } /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index 72240bc1..62056e02 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -1,7 +1,6 @@ package com.ruoyi.common.core.domain.entity; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -14,7 +13,7 @@ import java.util.*; /** * 部门表 sys_dept - * + * * @author ruoyi */ @@ -22,78 +21,107 @@ import java.util.*; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_dept") -public class SysDept implements Serializable -{ - private static final long serialVersionUID = 1L; +public class SysDept implements Serializable { + private static final long serialVersionUID = 1L; - /** 部门ID */ - @TableId(value = "dept_id",type = IdType.AUTO) - private Long deptId; + /** + * 部门ID + */ + @TableId(value = "dept_id", type = IdType.AUTO) + private Long deptId; - /** 父部门ID */ - private Long parentId; + /** + * 父部门ID + */ + private Long parentId; - /** 祖级列表 */ - private String ancestors; + /** + * 祖级列表 + */ + private String ancestors; - /** 部门名称 */ - @NotBlank(message = "部门名称不能为空") - @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符") - private String deptName; + /** + * 部门名称 + */ + @NotBlank(message = "部门名称不能为空") + @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符") + private String deptName; - /** 显示顺序 */ - @NotBlank(message = "显示顺序不能为空") - private String orderNum; + /** + * 显示顺序 + */ + @NotBlank(message = "显示顺序不能为空") + private String orderNum; - /** 负责人 */ - private String leader; + /** + * 负责人 + */ + private String leader; - /** 联系电话 */ - @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符") - private String phone; + /** + * 联系电话 + */ + @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符") + private String phone; - /** 邮箱 */ - @Email(message = "邮箱格式不正确") - @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") - private String email; + /** + * 邮箱 + */ + @Email(message = "邮箱格式不正确") + @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") + private String email; - /** 部门状态:0正常,1停用 */ - private String status; + /** + * 部门状态:0正常,1停用 + */ + private String status; - /** 删除标志(0代表存在 2代表删除) */ - @TableLogic - private String delFlag; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; - /** 父部门名称 */ - @TableField(exist = false) - private String parentName; + /** + * 父部门名称 + */ + @TableField(exist = false) + private String parentName; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; - - /** 子部门 */ - @TableField(exist = false) - private List children = new ArrayList(); + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; - /** - * 请求参数 - */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 子部门 + */ + @TableField(exist = false) + private List children = new ArrayList(); + + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java index c98f9fc3..e8bc0f15 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java @@ -1,10 +1,11 @@ package com.ruoyi.common.core.domain.entity; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -18,7 +19,7 @@ import java.util.Map; /** * 字典数据表 sys_dict_data - * + * * @author ruoyi */ @@ -26,82 +27,109 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_dict_data") -public class SysDictData implements Serializable -{ - private static final long serialVersionUID = 1L; +@ExcelIgnoreUnannotated +public class SysDictData implements Serializable { + private static final long serialVersionUID = 1L; - /** 字典编码 */ - @Excel(name = "字典编码", cellType = ColumnType.NUMERIC) - @TableId(value = "dict_code",type = IdType.AUTO) - private Long dictCode; + /** + * 字典编码 + */ + @ExcelProperty(value = "字典编码") + @TableId(value = "dict_code", type = IdType.AUTO) + private Long dictCode; - /** 字典排序 */ - @Excel(name = "字典排序", cellType = ColumnType.NUMERIC) - private Long dictSort; + /** + * 字典排序 + */ + @ExcelProperty(value = "字典排序") + private Long dictSort; - /** 字典标签 */ - @Excel(name = "字典标签") - @NotBlank(message = "字典标签不能为空") - @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符") - private String dictLabel; + /** + * 字典标签 + */ + @ExcelProperty(value = "字典标签") + @NotBlank(message = "字典标签不能为空") + @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符") + private String dictLabel; - /** 字典键值 */ - @Excel(name = "字典键值") - @NotBlank(message = "字典键值不能为空") - @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符") - private String dictValue; + /** + * 字典键值 + */ + @ExcelProperty(value = "字典键值") + @NotBlank(message = "字典键值不能为空") + @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符") + private String dictValue; - /** 字典类型 */ - @Excel(name = "字典类型") - @NotBlank(message = "字典类型不能为空") - @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符") - private String dictType; + /** + * 字典类型 + */ + @ExcelProperty(value = "字典类型") + @NotBlank(message = "字典类型不能为空") + @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符") + private String dictType; - /** 样式属性(其他样式扩展) */ - @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符") - private String cssClass; + /** + * 样式属性(其他样式扩展) + */ + @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符") + private String cssClass; - /** 表格字典样式 */ - private String listClass; + /** + * 表格字典样式 + */ + private String listClass; - /** 是否默认(Y是 N否) */ - @Excel(name = "是否默认", readConverterExp = "Y=是,N=否") - private String isDefault; + /** + * 是否默认(Y是 N否) + */ + @ExcelProperty(value = "是否默认", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_yes_no") + private String isDefault; - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_common_status") + private String status; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; - /** 备注 */ - private String remark; + /** + * 备注 + */ + private String remark; - /** - * 请求参数 - */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); - public boolean getDefault() - { - return UserConstants.YES.equals(this.isDefault) ? true : false; - } + public boolean getDefault() { + return UserConstants.YES.equals(this.isDefault) ? true : false; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java index 48ed2529..1108671d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java @@ -1,9 +1,10 @@ package com.ruoyi.common.core.domain.entity; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -17,7 +18,7 @@ import java.util.Map; /** * 字典类型表 sys_dict_type - * + * * @author ruoyi */ @@ -25,56 +26,73 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_dict_type") -public class SysDictType implements Serializable -{ - private static final long serialVersionUID = 1L; +@ExcelIgnoreUnannotated +public class SysDictType implements Serializable { + private static final long serialVersionUID = 1L; - /** 字典主键 */ - @Excel(name = "字典主键", cellType = ColumnType.NUMERIC) - @TableId(value = "dict_id",type = IdType.AUTO) - private Long dictId; + /** + * 字典主键 + */ + @ExcelProperty(value = "字典主键") + @TableId(value = "dict_id", type = IdType.AUTO) + private Long dictId; - /** 字典名称 */ - @Excel(name = "字典名称") - @NotBlank(message = "字典名称不能为空") - @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符") - private String dictName; + /** + * 字典名称 + */ + @ExcelProperty(value = "字典名称") + @NotBlank(message = "字典名称不能为空") + @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符") + private String dictName; - /** 字典类型 */ - @Excel(name = "字典类型") - @NotBlank(message = "字典类型不能为空") - @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符") - private String dictType; + /** + * 字典类型 + */ + @ExcelProperty(value = "字典类型") + @NotBlank(message = "字典类型不能为空") + @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符") + private String dictType; - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") - private String status; + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_common_status") + private String status; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; - /** 备注 */ - private String remark; + /** + * 备注 + */ + private String remark; - /** - * 请求参数 - */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java index b9d0e8df..6fc86418 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java @@ -13,7 +13,7 @@ import java.util.*; /** * 菜单权限表 sys_menu - * + * * @author ruoyi */ @@ -21,88 +21,129 @@ import java.util.*; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_menu") -public class SysMenu implements Serializable -{ - private static final long serialVersionUID = 1L; +public class SysMenu implements Serializable { + private static final long serialVersionUID = 1L; - /** 菜单ID */ - @TableId(value = "menu_id",type = IdType.AUTO) - private Long menuId; + /** + * 菜单ID + */ + @TableId(value = "menu_id", type = IdType.AUTO) + private Long menuId; - /** 菜单名称 */ - @NotBlank(message = "菜单名称不能为空") - @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符") - private String menuName; + /** + * 菜单名称 + */ + @NotBlank(message = "菜单名称不能为空") + @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符") + private String menuName; - /** 父菜单名称 */ - @TableField(exist = false) - private String parentName; + /** + * 父菜单名称 + */ + @TableField(exist = false) + private String parentName; - /** 父菜单ID */ - private Long parentId; + /** + * 父菜单ID + */ + private Long parentId; - /** 显示顺序 */ - @NotBlank(message = "显示顺序不能为空") - private String orderNum; + /** + * 显示顺序 + */ + @NotBlank(message = "显示顺序不能为空") + private String orderNum; - /** 路由地址 */ - @Size(min = 0, max = 200, message = "路由地址不能超过200个字符") - private String path; + /** + * 路由地址 + */ + @Size(min = 0, max = 200, message = "路由地址不能超过200个字符") + private String path; - /** 组件路径 */ - @Size(min = 0, max = 200, message = "组件路径不能超过255个字符") - private String component; + /** + * 组件路径 + */ + @Size(min = 0, max = 200, message = "组件路径不能超过255个字符") + private String component; - /** 是否为外链(0是 1否) */ - private String isFrame; + /** + * 是否为外链(0是 1否) + */ + private String isFrame; - /** 是否缓存(0缓存 1不缓存) */ - private String isCache; + /** + * 是否缓存(0缓存 1不缓存) + */ + private String isCache; - /** 类型(M目录 C菜单 F按钮) */ - @NotBlank(message = "菜单类型不能为空") - private String menuType; + /** + * 类型(M目录 C菜单 F按钮) + */ + @NotBlank(message = "菜单类型不能为空") + private String menuType; - /** 显示状态(0显示 1隐藏) */ - private String visible; - - /** 菜单状态(0显示 1隐藏) */ - private String status; + /** + * 显示状态(0显示 1隐藏) + */ + private String visible; - /** 权限字符串 */ - @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符") - private String perms; + /** + * 菜单状态(0显示 1隐藏) + */ + private String status; - /** 菜单图标 */ - private String icon; + /** + * 权限字符串 + */ + @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符") + private String perms; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 菜单图标 + */ + private String icon; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 备注 */ - private String remark; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; - /** 请求参数 */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 备注 + */ + private String remark; - /** 子菜单 */ - @TableField(exist = false) - private List children = new ArrayList(); + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); + + /** + * 子菜单 + */ + @TableField(exist = false) + private List children = new ArrayList(); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java index a6585594..51635245 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java @@ -1,9 +1,10 @@ package com.ruoyi.common.core.domain.entity; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -25,102 +26,133 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_role") -public class SysRole implements Serializable -{ - private static final long serialVersionUID = 1L; +@ExcelIgnoreUnannotated +public class SysRole implements Serializable { + private static final long serialVersionUID = 1L; - /** 角色ID */ - @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) - @TableId(value = "role_id",type = IdType.AUTO) - private Long roleId; + /** + * 角色ID + */ + @ExcelProperty(value = "角色序号") + @TableId(value = "role_id", type = IdType.AUTO) + private Long roleId; - /** 角色名称 */ - @Excel(name = "角色名称") - @NotBlank(message = "角色名称不能为空") - @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符") - private String roleName; + /** + * 角色名称 + */ + @ExcelProperty(value = "角色名称") + @NotBlank(message = "角色名称不能为空") + @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符") + private String roleName; - /** 角色权限 */ - @Excel(name = "角色权限") - @NotBlank(message = "权限字符不能为空") - @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符") - private String roleKey; + /** + * 角色权限 + */ + @ExcelProperty(value = "角色权限") + @NotBlank(message = "权限字符不能为空") + @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符") + private String roleKey; - /** 角色排序 */ - @Excel(name = "角色排序") - @NotBlank(message = "显示顺序不能为空") - private String roleSort; + /** + * 角色排序 + */ + @ExcelProperty(value = "角色排序") + @NotBlank(message = "显示顺序不能为空") + private String roleSort; - /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ - @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") - private String dataScope; + /** + * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + */ + @ExcelProperty(value = "数据范围", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") + private String dataScope; - /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ - private boolean menuCheckStrictly; + /** + * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) + */ + private boolean menuCheckStrictly; - /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ - private boolean deptCheckStrictly; + /** + * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) + */ + private boolean deptCheckStrictly; - /** 角色状态(0正常 1停用) */ - @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用") - private String status; + /** + * 角色状态(0正常 1停用) + */ + @ExcelProperty(value = "角色状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_common_status") + private String status; - /** 删除标志(0代表存在 2代表删除) */ - @TableLogic - private String delFlag; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; - /** 备注 */ - private String remark; + /** + * 备注 + */ + private String remark; - /** - * 请求参数 - */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); - /** 用户是否存在此角色标识 默认不存在 */ - @TableField(exist = false) - private boolean flag = false; + /** + * 用户是否存在此角色标识 默认不存在 + */ + @TableField(exist = false) + private boolean flag = false; - /** 菜单组 */ - @TableField(exist = false) - private Long[] menuIds; + /** + * 菜单组 + */ + @TableField(exist = false) + private Long[] menuIds; - /** 部门组(数据权限) */ - @TableField(exist = false) - private Long[] deptIds; + /** + * 部门组(数据权限) + */ + @TableField(exist = false) + private Long[] deptIds; - public SysRole(Long roleId) - { - this.roleId = roleId; - } + public SysRole(Long roleId) { + this.roleId = roleId; + } - public boolean isAdmin() - { - return isAdmin(this.roleId); - } + public boolean isAdmin() { + return isAdmin(this.roleId); + } - public static boolean isAdmin(Long roleId) - { - return roleId != null && 1L == roleId; - } + public static boolean isAdmin(Long roleId) { + return roleId != null && 1L == roleId; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index a371039f..0adef26f 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -31,139 +31,183 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_user") -public class SysUser implements Serializable -{ - private static final long serialVersionUID = 1L; +public class SysUser implements Serializable { + private static final long serialVersionUID = 1L; - /** 用户ID */ - @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") - @TableId(value = "user_id",type = IdType.AUTO) - private Long userId; + /** + * 用户ID + */ + @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") + @TableId(value = "user_id", type = IdType.AUTO) + private Long userId; - /** 部门ID */ - @Excel(name = "部门编号", type = Type.IMPORT) - private Long deptId; + /** + * 部门ID + */ + @Excel(name = "部门编号", type = Type.IMPORT) + private Long deptId; - /** 用户账号 */ - @NotBlank(message = "用户账号不能为空") - @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") - @Excel(name = "登录名称") - private String userName; + /** + * 用户账号 + */ + @NotBlank(message = "用户账号不能为空") + @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") + @Excel(name = "登录名称") + private String userName; - /** 用户昵称 */ - @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") - @Excel(name = "用户名称") - private String nickName; + /** + * 用户昵称 + */ + @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") + @Excel(name = "用户名称") + private String nickName; - /** 用户邮箱 */ - @Email(message = "邮箱格式不正确") - @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") - @Excel(name = "用户邮箱") - private String email; + /** + * 用户邮箱 + */ + @Email(message = "邮箱格式不正确") + @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") + @Excel(name = "用户邮箱") + private String email; - /** 手机号码 */ - @Excel(name = "手机号码") - private String phonenumber; + /** + * 手机号码 + */ + @Excel(name = "手机号码") + private String phonenumber; - /** 用户性别 */ - @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") - private String sex; + /** + * 用户性别 + */ + @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") + private String sex; - /** 用户头像 */ - private String avatar; + /** + * 用户头像 + */ + private String avatar; - /** 密码 */ - private String password; + /** + * 密码 + */ + private String password; - @JsonIgnore - @JsonProperty - public String getPassword() { - return password; - } + @JsonIgnore + @JsonProperty + public String getPassword() { + return password; + } - /** 盐加密 */ - private String salt; + /** + * 盐加密 + */ + private String salt; - /** 帐号状态(0正常 1停用) */ - @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") - private String status; + /** + * 帐号状态(0正常 1停用) + */ + @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") + private String status; - /** 删除标志(0代表存在 2代表删除) */ - @TableLogic - private String delFlag; + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; - /** 最后登录IP */ - @Excel(name = "最后登录IP", type = Type.EXPORT) - private String loginIp; + /** + * 最后登录IP + */ + @Excel(name = "最后登录IP", type = Type.EXPORT) + private String loginIp; - /** 最后登录时间 */ - @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) - private Date loginDate; + /** + * 最后登录时间 + */ + @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) + private Date loginDate; - /** 创建者 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; - /** 创建时间 */ - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; - /** 更新者 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; - /** 更新时间 */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date updateTime; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; - /** 备注 */ - private String remark; + /** + * 备注 + */ + private String remark; - /** - * 请求参数 - */ - @TableField(exist = false) - private Map params = new HashMap<>(); + /** + * 请求参数 + */ + @TableField(exist = false) + private Map params = new HashMap<>(); - /** 部门对象 */ - @Excels({ - @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), - @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) - }) - @TableField(exist = false) - private SysDept dept; + /** + * 部门对象 + */ + @Excels({ + @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), + @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) + }) + @TableField(exist = false) + private SysDept dept; - /** 角色对象 */ - @TableField(exist = false) - private List roles; + /** + * 角色对象 + */ + @TableField(exist = false) + private List roles; - /** 角色组 */ - @TableField(exist = false) - private Long[] roleIds; + /** + * 角色组 + */ + @TableField(exist = false) + private Long[] roleIds; - /** 岗位组 */ - @TableField(exist = false) - private Long[] postIds; + /** + * 岗位组 + */ + @TableField(exist = false) + private Long[] postIds; - /** 角色ID */ + /** + * 角色ID + */ @TableField(exist = false) private Long roleId; - public SysUser(Long userId) - { - this.userId = userId; - } + public SysUser(Long userId) { + this.userId = userId; + } - public boolean isAdmin() - { - return isAdmin(this.userId); - } + public boolean isAdmin() { + return isAdmin(this.userId); + } - public static boolean isAdmin(Long userId) - { - return userId != null && 1L == userId; - } + public static boolean isAdmin(Long userId) { + return userId != null && 1L == userId; + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtils.java index bc5282f2..6353d98d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtils.java @@ -46,7 +46,7 @@ public class ExcelUtils { response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); FileUtils.setAttachmentResponseHeader(response, URLEncoder.encode(filename, StandardCharsets.UTF_8.toString())); - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); ServletOutputStream os = response.getOutputStream(); EasyExcel.write(os, clazz) .autoCloseStream(false) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java index 66569b70..cdd7810f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java @@ -1,9 +1,10 @@ package com.ruoyi.system.domain; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -25,20 +26,21 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_config") +@ExcelIgnoreUnannotated public class SysConfig implements Serializable { private static final long serialVersionUID = 1L; /** * 参数主键 */ - @Excel(name = "参数主键", cellType = ColumnType.NUMERIC) + @ExcelProperty(value = "参数主键") @TableId(value = "config_id", type = IdType.AUTO) private Long configId; /** * 参数名称 */ - @Excel(name = "参数名称") + @ExcelProperty(value = "参数名称") @NotBlank(message = "参数名称不能为空") @Size(min = 0, max = 100, message = "参数名称不能超过100个字符") private String configName; @@ -46,7 +48,7 @@ public class SysConfig implements Serializable { /** * 参数键名 */ - @Excel(name = "参数键名") + @ExcelProperty(value = "参数键名") @NotBlank(message = "参数键名长度不能为空") @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符") private String configKey; @@ -54,7 +56,7 @@ public class SysConfig implements Serializable { /** * 参数键值 */ - @Excel(name = "参数键值") + @ExcelProperty(value = "参数键值") @NotBlank(message = "参数键值不能为空") @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符") private String configValue; @@ -62,7 +64,8 @@ public class SysConfig implements Serializable { /** * 系统内置(Y是 N否) */ - @Excel(name = "系统内置", readConverterExp = "Y=是,N=否") + @ExcelProperty(value = "系统内置", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_yes_no") private String configType; /** @@ -75,7 +78,6 @@ public class SysConfig implements Serializable { * 创建时间 */ @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** @@ -88,7 +90,6 @@ public class SysConfig implements Serializable { * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java index 3182bc4c..898aa8a0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java @@ -1,12 +1,13 @@ package com.ruoyi.system.domain; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -26,63 +27,64 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_logininfor") +@ExcelIgnoreUnannotated public class SysLogininfor implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ - @Excel(name = "序号", cellType = ColumnType.NUMERIC) + @ExcelProperty(value = "序号") @TableId(value = "info_id", type = IdType.AUTO) private Long infoId; /** * 用户账号 */ - @Excel(name = "用户账号") + @ExcelProperty(value = "用户账号") private String userName; /** * 登录状态 0成功 1失败 */ - @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败") + @ExcelProperty(value = "登录状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_common_status") private String status; /** * 登录IP地址 */ - @Excel(name = "登录地址") + @ExcelProperty(value = "登录地址") private String ipaddr; /** * 登录地点 */ - @Excel(name = "登录地点") + @ExcelProperty(value = "登录地点") private String loginLocation; /** * 浏览器类型 */ - @Excel(name = "浏览器") + @ExcelProperty(value = "浏览器") private String browser; /** * 操作系统 */ - @Excel(name = "操作系统") + @ExcelProperty(value = "操作系统") private String os; /** * 提示消息 */ - @Excel(name = "提示消息") + @ExcelProperty(value = "提示消息") private String msg; /** * 访问时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ExcelProperty(value = "访问时间") private Date loginTime; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java index 8b14c360..20fc273a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java @@ -28,9 +28,6 @@ import java.util.Map; @Accessors(chain = true) @TableName("sys_oper_log") @ExcelIgnoreUnannotated -//@ColumnWidth(16) -//@HeadRowHeight(14) -//@HeadFontStyle(fontHeightInPoints = 11) public class SysOperLog implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java index 5bde6845..56722500 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java @@ -1,9 +1,10 @@ package com.ruoyi.system.domain; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -25,20 +26,21 @@ import java.util.Map; @NoArgsConstructor @Accessors(chain = true) @TableName("sys_post") +@ExcelIgnoreUnannotated public class SysPost implements Serializable { private static final long serialVersionUID = 1L; /** * 岗位序号 */ - @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) + @ExcelProperty(value = "岗位序号") @TableId(value = "post_id", type = IdType.AUTO) private Long postId; /** * 岗位编码 */ - @Excel(name = "岗位编码") + @ExcelProperty(value = "岗位编码") @NotBlank(message = "岗位编码不能为空") @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") private String postCode; @@ -46,7 +48,7 @@ public class SysPost implements Serializable { /** * 岗位名称 */ - @Excel(name = "岗位名称") + @ExcelProperty(value = "岗位名称") @NotBlank(message = "岗位名称不能为空") @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") private String postName; @@ -54,14 +56,15 @@ public class SysPost implements Serializable { /** * 岗位排序 */ - @Excel(name = "岗位排序") + @ExcelProperty(value = "岗位排序") @NotBlank(message = "显示顺序不能为空") private String postSort; /** * 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_common_status") private String status; /** @@ -74,7 +77,6 @@ public class SysPost implements Serializable { * 创建时间 */ @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** @@ -87,7 +89,6 @@ public class SysPost implements Serializable { * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** diff --git a/ruoyi-ui/src/api/monitor/logininfor.js b/ruoyi-ui/src/api/monitor/logininfor.js index 383d61f3..26a46eb5 100644 --- a/ruoyi-ui/src/api/monitor/logininfor.js +++ b/ruoyi-ui/src/api/monitor/logininfor.js @@ -24,12 +24,3 @@ export function cleanLogininfor() { method: 'delete' }) } - -// 导出登录日志 -export function exportLogininfor(query) { - return request({ - url: '/monitor/logininfor/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/operlog.js b/ruoyi-ui/src/api/monitor/operlog.js index f09b8ed8..a04bca84 100644 --- a/ruoyi-ui/src/api/monitor/operlog.js +++ b/ruoyi-ui/src/api/monitor/operlog.js @@ -24,12 +24,3 @@ export function cleanOperlog() { method: 'delete' }) } - -// 导出操作日志 -export function exportOperlog(query) { - return request({ - url: '/monitor/operlog/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/config.js b/ruoyi-ui/src/api/system/config.js index 4c5cb6b8..c1932848 100644 --- a/ruoyi-ui/src/api/system/config.js +++ b/ruoyi-ui/src/api/system/config.js @@ -59,11 +59,3 @@ export function refreshCache() { }) } -// 导出参数 -export function exportConfig(query) { - return request({ - url: '/system/config/export', - method: 'get', - params: query - }) -} diff --git a/ruoyi-ui/src/api/system/dict/data.js b/ruoyi-ui/src/api/system/dict/data.js index d7aca892..6c9eb79b 100644 --- a/ruoyi-ui/src/api/system/dict/data.js +++ b/ruoyi-ui/src/api/system/dict/data.js @@ -50,12 +50,3 @@ export function delData(dictCode) { method: 'delete' }) } - -// 导出字典数据 -export function exportData(query) { - return request({ - url: '/system/dict/data/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/type.js b/ruoyi-ui/src/api/system/dict/type.js index 2f0532da..a0254baa 100644 --- a/ruoyi-ui/src/api/system/dict/type.js +++ b/ruoyi-ui/src/api/system/dict/type.js @@ -51,15 +51,6 @@ export function refreshCache() { }) } -// 导出字典类型 -export function exportType(query) { - return request({ - url: '/system/dict/type/export', - method: 'get', - params: query - }) -} - // 获取字典选择框列表 export function optionselect() { return request({ diff --git a/ruoyi-ui/src/api/system/role.js b/ruoyi-ui/src/api/system/role.js index c669ac43..888538e5 100644 --- a/ruoyi-ui/src/api/system/role.js +++ b/ruoyi-ui/src/api/system/role.js @@ -65,16 +65,6 @@ export function delRole(roleId) { }) } -// 导出角色 -export function exportRole(query) { - return request({ - url: '/system/role/export', - method: 'get', - params: query - }) -} - - // 查询角色已授权用户列表 export function allocatedUserList(query) { return request({ diff --git a/ruoyi-ui/src/utils/download.js b/ruoyi-ui/src/utils/download.js index 8a2d808f..aeac6b5b 100644 --- a/ruoyi-ui/src/utils/download.js +++ b/ruoyi-ui/src/utils/download.js @@ -4,7 +4,6 @@ import { getToken } from '@/utils/auth' const mimeMap = { xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', zip: 'application/zip', - excel: 'application/vnd.ms-excel', oss: 'application/octet-stream' } @@ -62,7 +61,7 @@ export function downLoadExcel(url, params) { responseType: 'blob', headers: { 'Authorization': 'Bearer ' + getToken() } }).then(res => { - resolveBlob(res, mimeMap.excel) + resolveBlob(res, mimeMap.xlsx) }) } diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue index 07937b46..5d6c0519 100644 --- a/ruoyi-ui/src/views/monitor/logininfor/index.vue +++ b/ruoyi-ui/src/views/monitor/logininfor/index.vue @@ -119,7 +119,8 @@