소스 검색

update 修改 操作日志导出 适配easyexcel工具

疯狂的狮子li 3 년 전
부모
커밋
da4e080656

+ 7 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.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.SysOperLog;
 import com.ruoyi.system.service.ISysOperLogService;
 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,12 @@ public class SysOperlogController extends BaseController
     @Log(title = "操作日志", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('monitor:operlog:export')")
     @GetMapping("/export")
-    public AjaxResult export(SysOperLog operLog)
+    public void export(SysOperLog operLog, HttpServletResponse response)
     {
         List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-        ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
-        return util.exportExcel(list, "操作日志");
+		ExcelUtils.exportExcel(list, "操作日志", SysOperLog.class, response);
+//        ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
+//        return util.exportEasyExcel(list, "操作日志");
     }
 
     @Log(title = "操作日志", businessType = BusinessType.DELETE)

+ 27 - 20
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.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,26 +27,31 @@ import java.util.Map;
 @NoArgsConstructor
 @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;
 
     /**
      * 日志主键
      */
-    @Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
+    @ExcelProperty(value = "操作序号")
     @TableId(value = "oper_id", type = IdType.AUTO)
     private Long operId;
 
     /**
      * 操作模块
      */
-    @Excel(name = "操作模块")
+    @ExcelProperty(value = "操作模块")
     private String title;
 
     /**
      * 业务类型(0其它 1新增 2修改 3删除)
      */
-    @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
+    @ExcelProperty(value = "业务类型", converter = ExcelDictConvert.class)
+	@ExcelDictFormat(dictType = "sys_oper_type")
     private Integer businessType;
 
     /**
@@ -57,80 +63,81 @@ public class SysOperLog implements Serializable {
     /**
      * 请求方法
      */
-    @Excel(name = "请求方法")
+    @ExcelProperty(value = "请求方法")
     private String method;
 
     /**
      * 请求方式
      */
-    @Excel(name = "请求方式")
+    @ExcelProperty(value = "请求方式")
     private String requestMethod;
 
     /**
      * 操作类别(0其它 1后台用户 2手机端用户)
      */
-    @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
+    @ExcelProperty(value = "操作类别", converter = ExcelDictConvert.class)
+	@ExcelDictFormat(readConverterExp = "0=其它,1=后台用户,2=手机端用户")
     private Integer operatorType;
 
     /**
      * 操作人员
      */
-    @Excel(name = "操作人员")
+    @ExcelProperty(value = "操作人员")
     private String operName;
 
     /**
      * 部门名称
      */
-    @Excel(name = "部门名称")
+    @ExcelProperty(value = "部门名称")
     private String deptName;
 
     /**
      * 请求url
      */
-    @Excel(name = "请求地址")
+    @ExcelProperty(value = "请求地址")
     private String operUrl;
 
     /**
      * 操作地址
      */
-    @Excel(name = "操作地址")
+    @ExcelProperty(value = "操作地址")
     private String operIp;
 
     /**
      * 操作地点
      */
-    @Excel(name = "操作地点")
+    @ExcelProperty(value = "操作地点")
     private String operLocation;
 
     /**
      * 请求参数
      */
-    @Excel(name = "请求参数")
+    @ExcelProperty(value = "请求参数")
     private String operParam;
 
     /**
      * 返回参数
      */
-    @Excel(name = "返回参数")
+    @ExcelProperty(value = "返回参数")
     private String jsonResult;
 
     /**
      * 操作状态(0正常 1异常)
      */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
+    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
+	@ExcelDictFormat(dictType = "sys_common_status")
     private Integer status;
 
     /**
      * 错误消息
      */
-    @Excel(name = "错误消息")
+    @ExcelProperty(value = "错误消息")
     private String errorMsg;
 
     /**
      * 操作时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "操作时间")
     private Date operTime;
 
     /**

+ 2 - 12
ruoyi-ui/src/views/monitor/operlog/index.vue

@@ -189,6 +189,7 @@
 
 <script>
 import { list, delOperlog, cleanOperlog, exportOperlog } from "@/api/monitor/operlog";
+import { downLoadExcel } from "@/utils/zipdownload";
 
 export default {
   name: "Operlog",
@@ -316,18 +317,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportOperlog(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+      downLoadExcel('/monitor/operlog/export', this.queryParams);
     }
   }
 };

+ 1 - 3
ruoyi-ui/src/views/system/oss/index.vue

@@ -170,9 +170,7 @@
 
 <script>
 import { listOss, delOss } from "@/api/system/oss";
-import { downLoadOss } from "@/utils/ossdownload";
-import { updateConfig } from "@/api/system/config";
-
+import { downLoadOss } from "@/utils/zipdownload";
 
 export default {
   name: "Oss",