rentaiming
2024-07-25 c89af8f426d603f87f2fcf6a75b241b9f5c397b4
森林防火 供应商管理
2个文件已添加
6个文件已修改
221 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysOperLog.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/LogFallbackFactory.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/LogClient.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysOperlogController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/target/classes/mapper/system/SysOperLogMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java
@@ -29,6 +29,7 @@
    @PostMapping("/operlog")
    public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
    /**
     * 保存访问记录
     *
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysOperLog.java
@@ -1,6 +1,9 @@
package com.ruoyi.system.api.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
@@ -13,77 +16,35 @@
 * @author ruoyi
 */
@Data
public class SysOperLog extends BaseEntity
public class SysOperLog
{
    private static final long serialVersionUID = 1L;
    /** 日志主键 */
    @Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
    @TableField(value = "oper_id")
    private Long operId;
    /** 操作模块 */
    @Excel(name = "操作模块")
    private String title;
    /** 业务类型(0其它 1新增 2修改 3删除) */
    @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
    private Integer businessType;
    /** 业务类型数组 */
    private Integer[] businessTypes;
    /** 请求方法 */
    @Excel(name = "请求方法")
    private String method;
    /** 请求方式 */
    @Excel(name = "请求方式")
    private String requestMethod;
    /** 操作类别(0其它 1后台用户 2手机端用户) */
    @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
    private Integer operatorType;
    /** 操作人员 */
    @Excel(name = "操作人员")
    @TableField(value = "oper_name")
    private String operName;
    /** 部门名称 */
    @Excel(name = "部门名称")
    @TableField(value = "dept_name")
    private String deptName;
    /** 请求url */
    @Excel(name = "请求地址")
    private String operUrl;
    /** 操作地址 */
    @Excel(name = "操作地址")
    private String operIp;
    /** 请求参数 */
    @Excel(name = "请求参数")
    private String operParam;
    /** 返回参数 */
    @Excel(name = "返回参数")
    private String jsonResult;
    /** 操作状态(0正常 1异常) */
    @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
    private Integer status;
    /** 错误消息 */
    @Excel(name = "错误消息")
    private String errorMsg;
    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "oper_time")
    private Date operTime;
    /** 消耗时间 */
    @Excel(name = "消耗时间", suffix = "毫秒")
    private Long costTime;
    @Excel(name = "电话")
    private String phone;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/LogFallbackFactory.java
New file
@@ -0,0 +1,42 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteLogService;
import com.ruoyi.system.api.domain.SysLogininfor;
import com.ruoyi.system.api.domain.SysOperLog;
import com.ruoyi.system.api.feignClient.LogClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
 * 日志服务降级处理
 *
 * @author ruoyi
 */
@Component
public class LogFallbackFactory implements FallbackFactory<LogClient>
{
    private static final Logger log = LoggerFactory.getLogger(LogFallbackFactory.class);
    @Override
    public LogClient create(Throwable throwable)
    {
        log.error("日志服务调用失败:{}", throwable.getMessage());
        return new LogClient()
        {
            @Override
            public R savelong() {
                return null;
            }
            @Override
            public R savelong1() {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/LogClient.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.system.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.factory.SysUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(contextId = "LogClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = SysUserFallbackFactory.class)
public interface LogClient {
    @PostMapping("/operlog/savelong")
    R savelong();
    @PostMapping("/operlog/savelong1")
    R savelong1();
}
ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -2,3 +2,5 @@
com.ruoyi.system.api.factory.RemoteLogFallbackFactory
com.ruoyi.system.api.factory.RemoteFileFallbackFactory
com.ruoyi.system.api.factory.SysUserFallbackFactory
com.ruoyi.system.api.factory.LogFallbackFactory
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysOperlogController.java
@@ -1,5 +1,9 @@
package com.ruoyi.system.controller;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
@@ -8,12 +12,22 @@
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.domain.dto.SupplierDTO;
import com.ruoyi.system.mapper.SysOperLogMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.query.SysOperLogQuery;
import com.ruoyi.system.service.ISysUserRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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;
@@ -43,15 +57,75 @@
public class SysOperlogController extends BaseController
{
    @Resource
    private ISysOperLogService operLogService;
    private SysOperLogMapper operLogService;
    @Autowired
    private SysUserMapper sysUserMapper;
    @ApiOperation(value = "操作日志查询")
    @PostMapping("/list")
    public R<List<SysOperLog>> list(@RequestBody SysOperLogQuery gy)
    public R<Page<SysOperLog>> list(@RequestBody SysOperLogQuery gy)
    {
        List<SysOperLog> list = operLogService.list();
        return R.ok(list);
        Page<SysOperLog> page = new Page<>();
        page.setSize(gy.getPageSize());
        page.setCurrent(gy.getPageCurr());
        LambdaQueryWrapper<SysOperLog> wrapper= Wrappers.lambdaQuery();
        if (gy.getOperName()!=null){
            wrapper.like(SysOperLog::getOperName,gy.getOperName());
        }
        if (gy.getPhone()!=null){
            wrapper.like(SysOperLog::getPhone,gy.getPhone());
        }
        if (gy.getTitle()!=null){
            wrapper.like(SysOperLog::getTitle,gy.getTitle());
        }
        if (gy.getTitle()!=null){
            wrapper.like(SysOperLog::getTitle,gy.getTitle());
        }
        if(gy.getBeginTime()!=null){
            wrapper.le(SysOperLog::getOperTime, gy.getBeginTime());
        }
        if(gy.getEndTime()!=null){
            wrapper.gt(SysOperLog::getOperTime, gy.getEndTime());
        }
        Page<SysOperLog> sysOperLogPage = operLogService.selectPage(page, wrapper);
        return R.ok(sysOperLogPage);
    }
    @Log(title = "操作完成入库", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "操作完成入库", notes = "操作完成入库")
    @PostMapping("/savelong")
    public R<?> savelong() {
        Long userid = SecurityUtils.getUserId();
        SysUser user = sysUserMapper.selectById(userid);
        SysOperLog sysOperLog=new SysOperLog();
        sysOperLog.setOperTime(new Date());
        sysOperLog.setTitle("完成入库");
        sysOperLog.setOperName(user.getNickName());
        sysOperLog.setPhone(user.getPhonenumber());
        operLogService.insert(sysOperLog);
        return R.ok();
    }
    @Log(title = "操作完成出库", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "操作完成出库", notes = "操作完成出库")
    @PostMapping("/savelong1")
    public R<?> savelong1() {
        Long userid = SecurityUtils.getUserId();
        SysUser user = sysUserMapper.selectById(userid);
        SysOperLog sysOperLog=new SysOperLog();
        sysOperLog.setOperTime(new Date());
        sysOperLog.setTitle("完成出库");
        sysOperLog.setOperName(user.getNickName());
        sysOperLog.setPhone(user.getPhonenumber());
        operLogService.insert(sysOperLog);
        return R.ok();
    }
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
@@ -7,20 +7,9 @@
    <resultMap type="com.ruoyi.system.api.domain.SysOperLog" id="SysOperLogResult">
        <id     property="operId"         column="oper_id"        />
        <result property="title"          column="title"          />
        <result property="businessType"   column="business_type"  />
        <result property="method"         column="method"         />
        <result property="requestMethod"  column="request_method" />
        <result property="operatorType"   column="operator_type"  />
        <result property="operName"       column="oper_name"      />
        <result property="deptName"       column="dept_name"      />
        <result property="operUrl"        column="oper_url"       />
        <result property="operIp"         column="oper_ip"        />
        <result property="operParam"      column="oper_param"     />
        <result property="jsonResult"     column="json_result"    />
        <result property="status"         column="status"         />
        <result property="errorMsg"       column="error_msg"      />
        <result property="operTime"       column="oper_time"      />
        <result property="costTime"       column="cost_time"      />
    </resultMap>
    <sql id="selectOperLogVo">
ruoyi-modules/ruoyi-system/target/classes/mapper/system/SysOperLogMapper.xml
@@ -7,20 +7,9 @@
    <resultMap type="com.ruoyi.system.api.domain.SysOperLog" id="SysOperLogResult">
        <id     property="operId"         column="oper_id"        />
        <result property="title"          column="title"          />
        <result property="businessType"   column="business_type"  />
        <result property="method"         column="method"         />
        <result property="requestMethod"  column="request_method" />
        <result property="operatorType"   column="operator_type"  />
        <result property="operName"       column="oper_name"      />
        <result property="deptName"       column="dept_name"      />
        <result property="operUrl"        column="oper_url"       />
        <result property="operIp"         column="oper_ip"        />
        <result property="operParam"      column="oper_param"     />
        <result property="jsonResult"     column="json_result"    />
        <result property="status"         column="status"         />
        <result property="errorMsg"       column="error_msg"      />
        <result property="operTime"       column="oper_time"      />
        <result property="costTime"       column="cost_time"      />
    </resultMap>
    <sql id="selectOperLogVo">