Pārlūkot izejas kodu

fix: 别名匹配错误数据恢复调整

chenjianhua 7 mēneši atpakaļ
vecāks
revīzija
03c48681f0

+ 12 - 0
service-base/src/main/java/com/simuwang/base/mapper/system/SysLogMapper.java

@@ -1,10 +1,16 @@
 package com.simuwang.base.mapper.system;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.simuwang.base.pojo.dos.LoggingDO;
 import com.simuwang.base.pojo.dos.sys.SysLogDO;
+import com.simuwang.base.pojo.dto.query.LogPageQuery;
+import com.simuwang.base.pojo.vo.IdListVO;
 import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface SysLogMapper extends BaseMapper<SysLogDO> {
     /**
@@ -12,4 +18,10 @@ public interface SysLogMapper extends BaseMapper<SysLogDO> {
      */
     @Delete("truncate table sys_log")
     void truncateAll();
+
+    List<LoggingDO> searchLogList(LogPageQuery logPageQuery);
+
+    long countLogList(LogPageQuery logPageQuery);
+
+    void deleteLog(@Param("idList") IdListVO idListVO);
 }

+ 43 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/LoggingDO.java

@@ -0,0 +1,43 @@
+package com.simuwang.base.pojo.dos;
+
+import com.simuwang.base.common.conts.Constants;
+import com.simuwang.base.pojo.vo.LoggingVO;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/14 14:04
+ * @description 系统操作日志记录
+ */
+@Data
+public class LoggingDO{
+
+    private Integer id;
+    private String title;
+    private Integer type;
+    private String requestUri;
+    private String method;
+    private String remoteAddr;
+    private Long executeTime;
+    private String params;
+    private String result;
+    private Boolean hasException;
+    private String exception;
+    private String userName;
+
+    public LoggingVO toVO() {
+        LoggingVO vo = new LoggingVO();
+        vo.setId(this.id);
+        vo.setTitle(this.title);
+        vo.setRequestUri(this.requestUri);
+        vo.setMethod(this.method);
+        vo.setParams(this.params);
+        vo.setRemoteAddr(this.remoteAddr);
+        vo.setUserName(this.userName);
+        vo.setExecuteTime(this.executeTime);
+        return vo;
+    }
+}

+ 37 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/LogPageQuery.java

@@ -0,0 +1,37 @@
+package com.simuwang.base.pojo.dto.query;
+
+import com.simuwang.base.common.support.query.PageQuery;
+
+/**
+ * FileName: LogPageQuery
+ * Author:   chenjianhua
+ * Date:     2024/9/28 21:03
+ * Description: ${DESCRIPTION}
+ */
+public class LogPageQuery extends PageQuery {
+
+    /**
+     * 模块名称
+     */
+    private String title;
+    /**
+     * 操作人
+     */
+    private String userName;
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+}

+ 45 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/LoggingVO.java

@@ -0,0 +1,45 @@
+package com.simuwang.base.pojo.vo;
+
+import lombok.Data;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/14 14:04
+ * @description 系统操作日志记录
+ */
+@Data
+public class LoggingVO {
+    /**
+     * 主键ID
+     */
+    private Integer id;
+    /**
+     * 模块名称
+     */
+    private String title;
+    /**
+     * 请求路径
+     */
+    private String requestUri;
+    /**
+     * 请求方法
+     */
+    private String method;
+    /**
+     * 调用IP
+     */
+    private String remoteAddr;
+    /**
+     * 执行时间
+     */
+    private Long executeTime;
+    /**
+     * 请求参数
+     */
+    private String params;
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+}

+ 9 - 0
service-base/src/main/java/com/simuwang/logging/LoggingService.java

@@ -1,5 +1,10 @@
 package com.simuwang.logging;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.LogPageQuery;
+import com.simuwang.base.pojo.vo.IdListVO;
+import com.simuwang.base.pojo.vo.LoggingVO;
+
 /**
  * @author wangzaijun
  * @date 2024/9/14 14:05
@@ -7,4 +12,8 @@ package com.simuwang.logging;
  */
 public interface LoggingService {
     void asyncSave(Logging logging);
+
+    MybatisPage<LoggingVO> searchLogList(LogPageQuery logPageQuery);
+
+    void deleteLog(IdListVO idListVO);
 }

+ 51 - 0
service-base/src/main/resources/mapper/system/SysLogMapper.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.simuwang.base.mapper.system.SysLogMapper">
+    <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.LoggingDO">
+        <id column="id" property="id"/>
+        <result column="title" property="title"/>
+        <result column="type" property="type"/>
+        <result column="request_uri" property="requestUri"/>
+        <result column="method" property="method"/>
+        <result column="remote_addr" property="remoteAddr"/>
+        <result column="execute_time" property="executeTime"/>
+        <result column="params" property="params"/>
+        <result column="userName" property="userName"/>
+    </resultMap>
+    <update id="deleteLog">
+        update PPW_EMAIL.sys_log set isvalid=0,sysdate=sysdate() where isvalid=1 and id in
+        <foreach item="id" collection="idList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    <select id="searchLogList" resultMap="BaseResultMap">
+          select distinct log.id,log.title,log.type,log.request_uri,log.method,log.remote_addr,log.execute_time,log.params,log.params,u.user_name
+          from PPW_EMAIL.sys_log log
+          left join PPW_EMAIL.sys_user u
+          on log.creatorid=u.user_id and u.isvalid=1
+        <where>
+            <if test="title != null and title !=''">
+                and log.title like concat ('%',#{title},'%')
+            </if>
+            <if test="userName != null and userName !=''">
+                and u.user_name like concat ('%',#{userName},'%')
+            </if>
+        </where>
+    </select>
+    <select id="countLogList" resultType="java.lang.Long">
+        select count(distinct log.id)
+        from PPW_EMAIL.sys_log log
+        left join PPW_EMAIL.sys_user u
+        on log.creatorid=u.user_id and u.isvalid=1
+        <where>
+            <if test="title != null and title !=''">
+                and log.title like concat ('%',#{title},'%')
+            </if>
+            <if test="userName != null and userName !=''">
+                and u.user_name like concat ('%',#{userName},'%')
+            </if>
+        </where>
+    </select>
+
+
+</mapper>

+ 53 - 0
service-manage/src/main/java/com/simuwang/manage/api/log/LogController.java

@@ -0,0 +1,53 @@
+package com.simuwang.manage.api.log;
+
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.LogPageQuery;
+import com.simuwang.base.pojo.vo.IdListVO;
+import com.simuwang.base.pojo.vo.LoggingVO;
+import com.simuwang.logging.LoggingService;
+import com.simuwang.logging.SystemLog;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 日志管理
+ * Author:   chenjianhua
+ * Date:     2024/9/28 20:51
+ * Description: ${DESCRIPTION}
+ */
+@SystemLog("日志管理")
+@RestController
+@RequestMapping("/v1/log")
+public class LogController {
+    @Autowired
+    private LoggingService loggingService;
+
+    /**
+     * 日志查询列表
+     * @param logPageQuery
+     * @return
+     */
+    @SystemLog(value = "查询日志列表")
+    @GetMapping("/search-log-list")
+    public MybatisPage<LoggingVO> searchLogList(LogPageQuery logPageQuery){
+        MybatisPage<LoggingVO> result = loggingService.searchLogList(logPageQuery);
+        return result;
+    }
+
+
+
+    /**
+     * 日志删除
+     * @param idListVO
+     * @return
+     */
+    @SystemLog(value = "删除日志")
+    @GetMapping("/delete-log")
+    public boolean deleteLog(@RequestBody IdListVO idListVO){
+        loggingService.deleteLog(idListVO);
+        return true;
+    }
+}

+ 21 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/system/SysLogServiceImpl.java

@@ -8,13 +8,21 @@ import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.support.query.PageQuery;
 import com.simuwang.base.common.support.service.IService;
 import com.simuwang.base.mapper.system.SysLogMapper;
+import com.simuwang.base.pojo.dos.LoggingDO;
 import com.simuwang.base.pojo.dos.sys.SysLogDO;
+import com.simuwang.base.pojo.dto.query.LogPageQuery;
 import com.simuwang.base.pojo.dto.sys.LogQuery;
+import com.simuwang.base.pojo.vo.FundAliasVO;
+import com.simuwang.base.pojo.vo.IdListVO;
+import com.simuwang.base.pojo.vo.LoggingVO;
 import com.simuwang.base.pojo.vo.sys.SysLogVO;
 import com.simuwang.logging.Logging;
 import com.simuwang.manage.service.system.SysLogService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 public class SysLogServiceImpl implements SysLogService {
     private final SysLogMapper mapper;
@@ -62,6 +70,19 @@ public class SysLogServiceImpl implements SysLogService {
     }
 
     @Override
+    public MybatisPage<LoggingVO> searchLogList(LogPageQuery logPageQuery) {
+        List<LoggingDO> loggingDOList = this.mapper.searchLogList(logPageQuery);
+        List<LoggingVO> loggingVOList = loggingDOList.stream().map(LoggingDO::toVO).collect(Collectors.toList());
+        long total = this.mapper.countLogList(logPageQuery);
+        return MybatisPage.of(total,loggingVOList);
+    }
+
+    @Override
+    public void deleteLog(IdListVO idListVO) {
+        this.mapper.deleteLog(idListVO);
+    }
+
+    @Override
     public boolean truncate() {
         this.mapper.truncateAll();
         return true;