Pārlūkot izejas kodu

操作日志新增form请求头获取方式

songxinlu 3 gadi atpakaļ
vecāks
revīzija
25913c9d42

+ 10 - 2
doc/048.20220506_v2.7.0_通用版_操作日志/qc_init_v2.7.0_通用版_操作日志.sql

@@ -67,7 +67,7 @@ INSERT INTO `sys_menu` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creat
 
 
 /**
-sys_role_menu 超级管理员添加操作日志想哥菜单
+sys_role_menu 超级管理员添加操作日志相关菜单
  */
 INSERT INTO `sys_role_menu` (`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ( 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '-1', '130', '用户-日志管理');
 INSERT INTO `sys_role_menu` (`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ( 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '-1', '131', '用户-日志管理-操作日志');
@@ -164,6 +164,14 @@ INSERT INTO `sys_hospital_set` ( `is_deleted`, `gmt_create`, `gmt_modified`, `cr
 
 
 /**
-med_appeal_info 申信息表添加申诉人姓名字段
+med_appeal_info 申信息表添加申诉人姓名字段
  */
 ALTER TABLE `med_appeal_info` ADD  `claimant_name` varchar(60) DEFAULT NULL COMMENT '申诉人姓名' AFTER `claimant_id`;
+
+/**
+med_appeal_examine_info 修改申诉审核表创建时间和修改时间默认为空
+ */
+ALTER TABLE `med_appeal_examine_info`
+MODIFY COLUMN `gmt_create` datetime DEFAULT NULL COMMENT '记录创建时间' AFTER `is_deleted`;
+ALTER TABLE `med_appeal_examine_info`
+MODIFY COLUMN `gmt_modified` datetime DEFAULT NULL COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改' AFTER `gmt_create`;

+ 16 - 0
src/main/java/com/diagbot/aop/LogAspect.java

@@ -142,6 +142,7 @@ public class LogAspect {
         StringBuffer operationRecordBuffer = new StringBuffer();
         //结果拼接容器
         Map<String, Object> outMap = new HashMap<>();
+        initOutMap(outMap);
         //1.判断该请求是否需要操作日志记录
         hospitalSets.stream().forEach(hospitalSet -> {
             if (matchers(hospitalSet.getCode(), httpServletRequest)) {
@@ -173,6 +174,21 @@ public class LogAspect {
         saveOperationLog(joinPoint, operationRecordBuffer.toString());
     }
 
+    /**
+     * 一些常用结果装入map集合
+     *
+     * @param outMap
+     * @Return void
+     */private void initOutMap(Map<String, Object> outMap) {
+        //添加from:该字段是前端用来判断不同来源导出的excel文件文件名是什么
+        if(StringUtil.isNotBlank(SysUserUtils.getFrom())){
+            outMap.put("#from",SysUserUtils.getFrom());
+        }
+        if(StringUtil.isNotBlank(SysUserUtils.getIsPlacefile())){
+            outMap.put("#isPlacefile",SysUserUtils.getIsPlacefile());
+        }
+    }
+
     /**
      * 保存操作日志
      *

+ 9 - 0
src/main/java/com/diagbot/util/SysUserUtils.java

@@ -123,4 +123,13 @@ public class SysUserUtils {
         String currentSoftwareIdStr = HttpUtils.getHeader("isPlacefile");
         return StringUtil.isNotBlank(currentSoftwareIdStr) && currentSoftwareIdStr.matches("[0-9]+") ? currentSoftwareIdStr : null;
     }
+
+    /**
+     * 获取当前请求的用户的当前系统id字符串
+     *
+     * @return
+     */
+    public static String getFrom() {
+        return HttpUtils.getHeader("from");
+    }
 }

+ 14 - 0
src/main/java/com/diagbot/vo/SysLoginLogVO.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 
@@ -29,4 +30,17 @@ public class SysLoginLogVO extends Page implements Serializable {
     @ApiModelProperty(value = "ip地址")
     private String loginIp;
 
+    /**
+     * 登录开始时间
+     */
+    @ApiModelProperty(value = "登录开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
+    String startDate;
+
+    /**
+     * 登录结束时间
+     */
+    @ApiModelProperty(value = "登录结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
+    String endDate;
 }

+ 4 - 0
src/main/resources/mapper/SysLoginLogMapper.xml

@@ -39,6 +39,10 @@
         <if test="sysLoginLogVO.loginIp != null and sysLoginLogVO.loginIp != ''">
             AND INET_NTOA(a.login_ip) like CONCAT('%',#{sysLoginLogVO.loginIp},'%')
         </if>
+        <if test="sysLoginLogVO.startDate != null and sysLoginLogVO.endDate != null">
+            <![CDATA[ AND a.login_date >= #{sysLoginLogVO.startDate}]]>
+            <![CDATA[ AND a.login_date <= #{sysLoginLogVO.endDate}]]>
+        </if>
         order by a.login_date desc
     </select>