无关风月
2024-08-28 1c4311135628b53daa336821ff452292a9d063e9
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysOperlogController.java
@@ -1,16 +1,33 @@
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;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
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;
@@ -36,41 +53,81 @@
 */
@RestController
@RequestMapping("/operlog")
@Api(tags = "操作日志记录")
public class SysOperlogController extends BaseController
{
    @Resource
    private SysOperLogMapper operLogService;
    @Autowired
    private ISysOperLogService operLogService;
    private SysUserMapper sysUserMapper;
//    @RequiresPermissions("system:operlog:list")
//    @GetMapping("/list")
//    public TableDataInfo list(SysOperLog operLog)
//    {
//        startPage();
//        List<SysOperLog> list = operLogService.selectOperLogList(operLog);
//        return getDataTable(list);
//    }
    @ApiOperation(value = "当前车辆操作日志查询")
    @ApiOperation(value = "操作日志查询")
    @PostMapping("/list")
    public AjaxResult list(@RequestBody SysOperLogQuery query)
    public R<Page<SysOperLog>> list(@RequestBody SysOperLogQuery gy)
    {
        LambdaQueryWrapper<SysOperLog> wrapper = new LambdaQueryWrapper<>();
        wrapper.like(SysOperLog::getTitle,"车辆管理");
        wrapper.ne(SysOperLog::getBusinessType,1);
        List<SysOperLog> list = operLogService.list(wrapper);
        Iterator<SysOperLog> iterator = list.iterator();
        while (iterator.hasNext()){
            SysOperLog sysOperLog = iterator.next();
            String operParam = sysOperLog.getOperParam();
            JSONObject jsonObject = JSONObject.parseObject(operParam);
            String carId = jsonObject.getString("carId");
            if(StringUtils.isNotEmpty(carId) && Objects.nonNull(query.getCarId()) && !carId.equals(String.valueOf(query.getCarId()))){
                iterator.remove();
            }
        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());
        }
        return AjaxResult.success(list);
        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.gt(SysOperLog::getOperTime, gy.getBeginTime());
        }
        if(gy.getEndTime()!=null){
            wrapper.lt(SysOperLog::getOperTime, gy.getEndTime());
        }
        wrapper.orderByDesc(SysOperLog::getOperTime);
        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();
    }
    @Log(title = "操作日志", businessType = BusinessType.EXPORT)
    @RequiresPermissions("system:operlog:export")