Ver Fonte

'新增操作日志和登录日志2个导出接口'

james há 2 anos atrás
pai
commit
dea6d614d7
13 ficheiros alterados com 269 adições e 1 exclusões
  1. 4 0
      base-modules/service-system/service-system-biz/pom.xml
  2. 13 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysLogininforController.java
  3. 20 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysOperlogController.java
  4. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysLogininforMapper.java
  5. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysOperLogMapper.java
  6. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysLogininforService.java
  7. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysOperLogService.java
  8. 13 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysLogininforServiceImpl.java
  9. 13 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysOperLogServiceImpl.java
  10. 54 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysLoginExportVO.java
  11. 62 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysOperLogExportVO.java
  12. 22 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysLogininforMapper.xml
  13. 32 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysOperLogMapper.xml

+ 4 - 0
base-modules/service-system/service-system-biz/pom.xml

@@ -38,6 +38,10 @@
             <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
             <version>1.1.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>ruoyi-common-core</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 13 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysLogininforController.java

@@ -1,13 +1,18 @@
 package com.usky.system.controller.web;
 
 
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.system.controller.web.page.TableDataInfo;
 import com.usky.system.domain.SysLogininfor;
 import com.usky.system.service.ISysLogininforService;
+import com.usky.system.service.vo.SysLoginExportVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -31,7 +36,14 @@ public class SysLogininforController extends BaseController
         return ApiResult.success(getDataTable(list));
     }
 
-
+    @PostMapping("/listExport")
+    public void export(HttpServletResponse response,
+                       @RequestParam(value = "exportTitle") String exportTitle,
+                       SysLogininfor logininfor)throws IOException{
+        List<SysLoginExportVO> list = logininforService.selectLogininforListExport(logininfor);
+        ExcelUtil<SysLoginExportVO> util = new ExcelUtil<SysLoginExportVO>(SysLoginExportVO.class);
+        util.exportExcel(response, list, exportTitle, exportTitle);
+    }
 
     @DeleteMapping("/{infoIds}")
     public ApiResult<Void> remove(@PathVariable Long[] infoIds)

+ 20 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysOperlogController.java

@@ -1,15 +1,19 @@
 package com.usky.system.controller.web;
 
 
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.log.annotation.Log;
 import com.usky.common.log.enums.BusinessType;
 import com.usky.system.controller.web.page.TableDataInfo;
 import com.usky.system.domain.SysOperLog;
 import com.usky.system.service.ISysOperLogService;
+import com.usky.system.service.vo.SysOperLogExportVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -32,6 +36,22 @@ public class SysOperlogController extends BaseController
         return ApiResult.success(getDataTable(list));
     }
 
+    /**
+     * 操作日志-导出
+     *
+     * @param response
+     * @param operLog
+     * @throws IOException
+     */
+    @PostMapping("listExport")
+    public void export(HttpServletResponse response,
+                       @RequestParam(value = "exportTitle") String exportTitle,
+                       SysOperLog operLog)throws IOException{
+        List<SysOperLogExportVO> list = operLogService.selectOperLogListExport(operLog);
+        ExcelUtil<SysOperLogExportVO> util = new ExcelUtil<SysOperLogExportVO>(SysOperLogExportVO.class);
+        util.exportExcel(response, list, exportTitle, exportTitle);
+    }
+
 
     @DeleteMapping("/{operIds}")
     @Log(title = "操作日志", businessType = BusinessType.DELETE)

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysLogininforMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysLogininfor;
+import com.usky.system.service.vo.SysLoginExportVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -32,6 +33,14 @@ public interface SysLogininforMapper extends CrudMapper<SysLogininfor>
      */
     public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor);
 
+    /**
+     * 查询系统登录日志集合-导出
+     *
+     * @param logininfor 访问日志对象
+     * @return 登录记录导出集合
+     */
+    public List<SysLoginExportVO> selectLogininforListExport(SysLogininfor logininfor);
+
     /**
      * 批量删除系统登录日志
      * 

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysOperLogMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.domain.SysOperLog;
+import com.usky.system.service.vo.SysOperLogExportVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -32,6 +33,14 @@ public interface SysOperLogMapper extends CrudMapper<SysOperLog>
      */
     public List<SysOperLog> selectOperLogList(SysOperLog operLog);
 
+    /**
+     * 查询系统操作日志集合-导出
+     *
+     * @param operLog 操作日志对象
+     * @return 操作日志导出集合
+     */
+    public List<SysOperLogExportVO> selectOperLogListExport(SysOperLog operLog);
+
     /**
      * 批量删除系统操作日志
      * 

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysLogininforService.java

@@ -3,6 +3,7 @@ package com.usky.system.service;
 
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.system.domain.SysLogininfor;
+import com.usky.system.service.vo.SysLoginExportVO;
 
 import java.util.List;
 
@@ -28,6 +29,14 @@ public interface ISysLogininforService extends CrudService<SysLogininfor>
      */
     public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor);
 
+    /**
+     * 查询系统登录日志集合-导出
+     *
+     * @param logininfor 访问日志对象
+     * @return 登录记录导出集合
+     */
+    public List<SysLoginExportVO> selectLogininforListExport(SysLogininfor logininfor);
+
     /**
      * 批量删除系统登录日志
      * 

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysOperLogService.java

@@ -3,6 +3,7 @@ package com.usky.system.service;
 
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.system.domain.SysOperLog;
+import com.usky.system.service.vo.SysOperLogExportVO;
 
 import java.util.List;
 
@@ -28,6 +29,14 @@ public interface ISysOperLogService extends CrudService<SysOperLog>
      */
     public List<SysOperLog> selectOperLogList(SysOperLog operLog);
 
+    /**
+     * 查询系统操作日志集合-导出
+     *
+     * @param operLog 操作日志对象
+     * @return 操作日志集合
+     */
+    public List<SysOperLogExportVO> selectOperLogListExport(SysOperLog operLog);
+
     /**
      * 批量删除系统操作日志
      * 

+ 13 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysLogininforServiceImpl.java

@@ -5,6 +5,7 @@ import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.domain.SysLogininfor;
 import com.usky.system.mapper.SysLogininforMapper;
 import com.usky.system.service.ISysLogininforService;
+import com.usky.system.service.vo.SysLoginExportVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -46,6 +47,18 @@ public class SysLogininforServiceImpl extends AbstractCrudService<SysLogininforM
         return logininforMapper.selectLogininforList(logininfor);
     }
 
+    /**
+     * 查询系统登录日志集合-导出
+     *
+     * @param logininfor 访问日志对象
+     * @return 登录记录导出集合
+     */
+    @Override
+    public List<SysLoginExportVO> selectLogininforListExport(SysLogininfor logininfor)
+    {
+        return logininforMapper.selectLogininforListExport(logininfor);
+    }
+
     /**
      * 批量删除系统登录日志
      * 

+ 13 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysOperLogServiceImpl.java

@@ -5,6 +5,7 @@ import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.domain.SysOperLog;
 import com.usky.system.mapper.SysOperLogMapper;
 import com.usky.system.service.ISysOperLogService;
+import com.usky.system.service.vo.SysOperLogExportVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +45,18 @@ public class SysOperLogServiceImpl extends AbstractCrudService<SysOperLogMapper,
         return operLogMapper.selectOperLogList(operLog);
     }
 
+    /**
+     * 查询系统操作日志集合-导出
+     *
+     * @param operLog 操作日志对象
+     * @return 操作日志集合
+     */
+    @Override
+    public List<SysOperLogExportVO> selectOperLogListExport(SysOperLog operLog)
+    {
+        return operLogMapper.selectOperLogListExport(operLog);
+    }
+
     /**
      * 批量删除系统操作日志
      * 

+ 54 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysLoginExportVO.java

@@ -0,0 +1,54 @@
+package com.usky.system.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-02-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysLoginExportVO {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 访问编号 */
+    @Excel(name = "访问编号")
+    private Long infoId;
+
+    /** 访问IP */
+    @Excel(name = "访问IP")
+    private String ipaddr;
+
+    /** 用户名称 */
+    @Excel(name = "用户名称")
+    private String userName;
+
+    /** 登录状态 0成功 1失败 */
+    @Excel(name = "登录状态")
+    private String status;
+
+    /** 描述 */
+    @Excel(name = "描述")
+    private String msg;
+
+    /** 访问时间 */
+    @Excel(name = "访问时间")
+    private LocalDateTime accessTime;
+}

+ 62 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysOperLogExportVO.java

@@ -0,0 +1,62 @@
+package com.usky.system.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-02-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysOperLogExportVO {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 日志编号 */
+    @Excel(name = "日志编号")
+    private Long operId;
+
+    /** 操作IP */
+    @Excel(name = "操作IP")
+    private String operIp;
+
+    /** 操作人员 */
+    @Excel(name = "操作人员")
+    private String operName;
+
+    /** 系统模块 */
+    @Excel(name = "系统模块")
+    private String title;
+
+    /** 操作类型(0其它 1新增 2修改 3删除) */
+    @Excel(name = "操作类型")
+    private String businessType;
+
+    /** 请求方式 */
+    @Excel(name = "请求方式")
+    private String requestMethod;
+
+    /** 操作状态(0 成功 1 失败) */
+    @Excel(name = "操作状态")
+    private String status;
+
+    /** 操作时间 */
+    @Excel(name = "操作时间")
+    private LocalDateTime operTime;
+}

+ 22 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysLogininforMapper.xml

@@ -40,6 +40,28 @@
 		order by info_id desc
 	</select>
 
+	<select id="selectLogininforListExport" parameterType="com.usky.system.domain.SysLogininfor" resultType="com.usky.system.service.vo.SysLoginExportVO">
+		select info_id, ipaddr, user_name, (case status when '0' then '成功' else '失败' end) as status, msg, access_time from sys_logininfor
+		<where>
+			<if test="ipaddr != null and ipaddr != ''">
+				AND ipaddr like concat('%', #{ipaddr}, '%')
+			</if>
+			<if test="status != null and status != ''">
+				AND status = #{status}
+			</if>
+			<if test="userName != null and userName != ''">
+				AND user_name like concat('%', #{userName}, '%')
+			</if>
+			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
+				and date_format(access_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
+			</if>
+			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
+				and date_format(access_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
+			</if>
+		</where>
+		order by info_id desc
+	</select>
+
 	<delete id="deleteLogininforByIds" parameterType="Long">
 		delete from sys_logininfor where info_id in
 		<foreach collection="array" item="infoId" open="(" separator="," close=")">

+ 32 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysOperLogMapper.xml

@@ -63,6 +63,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		</where>
 		order by oper_id desc
 	</select>
+
+	<select id="selectOperLogListExport" parameterType="com.usky.system.domain.SysOperLog" resultType="com.usky.system.service.vo.SysOperLogExportVO">
+		SELECT oper_id, oper_ip, oper_name, title, (CASE business_type WHEN '0' THEN '其它' WHEN '1' THEN '新增' WHEN '2' THEN '修改' ELSE '删除' END) AS businessType, request_method, (CASE STATUS WHEN '0' THEN '成功' ELSE '失败' END) AS STATUS, oper_time
+		FROM sys_oper_log
+		<where>
+			<if test="title != null and title != ''">
+				AND title like concat('%', #{title}, '%')
+			</if>
+			<if test="businessType != null and businessType != ''">
+				AND business_type = #{businessType}
+			</if>
+			<if test="businessTypes != null and businessTypes.length > 0">
+				AND business_type in
+				<foreach collection="businessTypes" item="businessType" open="(" separator="," close=")">
+					#{businessType}
+				</foreach>
+			</if>
+			<if test="status != null">
+				AND status = #{status}
+			</if>
+			<if test="operName != null and operName != ''">
+				AND oper_name like concat('%', #{operName}, '%')
+			</if>
+			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
+				and date_format(oper_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
+			</if>
+			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
+				and date_format(oper_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
+			</if>
+		</where>
+		order by oper_id desc
+	</select>
 	
 	<delete id="deleteOperLogByIds" parameterType="Long">
  		delete from sys_oper_log where oper_id in