Browse Source

登录日志操作日志日期查询修改

wyyay 1 year ago
parent
commit
7759a1e823

+ 27 - 5
hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysLoginInfoController.java

@@ -1,12 +1,17 @@
 package com.ozs.web.controller.monitor;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageHelper;
+import com.ozs.common.core.domain.vo.SysLoginInfoResq;
 import com.ozs.common.core.domain.vo.SysLoginInfoVo;
+import com.ozs.common.utils.StringUtils;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -53,9 +58,26 @@ public class SysLoginInfoController extends BaseController {
     @ApiOperation(value = "获取登录日志分页列表")
     @PostMapping("/list")
     @PreAuthorize("@ss.hasPermi('monitor:logininfor:list')")
-    public AjaxResult list(@RequestBody SysLoginInfoVo sysLoginInfoVo) {
-        List<SysLoginInfo> list = logininforService.selectLogininforList(sysLoginInfoVo);
-        IPage<SysLoginInfo> page = logininforService.listToPage(list, sysLoginInfoVo.getPageNum().intValue(), sysLoginInfoVo.getPageSize().intValue());
+    public AjaxResult list(@RequestBody SysLoginInfoVo sysLoginInfoVo) throws ParseException {
+        LambdaQueryWrapper<SysLoginInfo> wrapper = new LambdaQueryWrapper<SysLoginInfo>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getIpaddr())) {
+            wrapper.like(SysLoginInfo::getIpaddr, sysLoginInfoVo.getIpaddr());
+        }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getUserName())) {
+            wrapper.like(SysLoginInfo::getUserName, sysLoginInfoVo.getUserName());
+        }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getStatus())) {
+            wrapper.eq(SysLoginInfo::getStatus, sysLoginInfoVo.getStatus());
+        }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getStartTime())) {
+            wrapper.apply(StringUtils.isNotBlank(sysLoginInfoVo.getStartTime()), "date_format(login_time,'%y%m%d') >= date_format('" + sysLoginInfoVo.getStartTime() + "','%y%m%d')");
+        }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getEndTime())) {
+            wrapper.apply(StringUtils.isNotBlank(sysLoginInfoVo.getEndTime()), "date_format(login_time,'%y%m%d') <= date_format('" + sysLoginInfoVo.getEndTime() + "','%y%m%d')");
+        }
+        wrapper.orderByDesc(SysLoginInfo::getLoginTime);
+        IPage<SysLoginInfo> page = logininforService.page(new Page<>(sysLoginInfoVo.getPageNum(), sysLoginInfoVo.getPageSize()), wrapper);
         return AjaxResult.success(page);
     }
 
@@ -70,8 +92,8 @@ public class SysLoginInfoController extends BaseController {
     @Log(title = "登录日志", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('monitor:logininfor:export')")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, @RequestBody SysLoginInfoVo sysLoginInfoVo) {
-        List<SysLoginInfo> list = logininforService.selectLogininforList(sysLoginInfoVo);
+    public void export(HttpServletResponse response, @RequestBody SysLoginInfoResq sysLoginInfoResq) {
+        List<SysLoginInfo> list = logininforService.selectLogininforList(sysLoginInfoResq);
         ExcelUtil<SysLoginInfo> util = new ExcelUtil<SysLoginInfo>(SysLoginInfo.class);
         util.exportExcel(response, list, "登录日志");
     }

+ 25 - 4
hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysOperlogController.java

@@ -7,8 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.core.domain.vo.SysLoginInfoVo;
+import com.ozs.common.core.domain.vo.SysOperlogResq;
 import com.ozs.common.core.domain.vo.SysOperlogVo;
 import com.ozs.common.utils.DateUtils;
+import com.ozs.common.utils.StringUtils;
 import com.ozs.system.domain.SysLoginInfo;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.usermodel.DateUtil;
@@ -55,8 +57,27 @@ public class SysOperlogController extends BaseController {
     @ApiOperation(value = "获取操作日志分页列表")
     @PostMapping("/list")
     public AjaxResult list(@RequestBody SysOperlogVo sysOperlogVo) {
-        List<SysOperLog> list = operLogService.selectOperLogList(sysOperlogVo);
-        IPage<SysOperLog> page = operLogService.listToPage(list, sysOperlogVo.getPageNum().intValue(), sysOperlogVo.getPageSize().intValue());
+        LambdaQueryWrapper<SysOperLog> wrapper = new LambdaQueryWrapper<SysOperLog>();
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getUserId())) {
+            wrapper.like(SysOperLog::getUserId, sysOperlogVo.getUserId());
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getOperatorType())) {
+            wrapper.like(SysOperLog::getOperatorType, sysOperlogVo.getOperatorType());
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getTitle())) {
+            wrapper.like(SysOperLog::getTitle, sysOperlogVo.getTitle());
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getStartTime())) {
+            wrapper.apply(StringUtils.isNotBlank(sysOperlogVo.getStartTime()), "date_format(oper_time,'%y%m%d') >= date_format('" + sysOperlogVo.getStartTime() + "','%y%m%d')");
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getEndTime())) {
+            wrapper.apply(StringUtils.isNotBlank(sysOperlogVo.getEndTime()), "date_format(oper_time,'%y%m%d') <= date_format('" + sysOperlogVo.getEndTime() + "','%y%m%d')");
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getBusinessType())) {
+            wrapper.eq(SysOperLog::getBusinessType, sysOperlogVo.getBusinessType());
+        }
+        wrapper.orderByDesc(SysOperLog::getOperTime);
+        IPage<SysOperLog> page = operLogService.page(new Page<>(sysOperlogVo.getPageNum(), sysOperlogVo.getPageSize()), wrapper);
         return AjaxResult.success(page);
     }
 
@@ -71,8 +92,8 @@ public class SysOperlogController extends BaseController {
     @Log(title = "操作日志", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('monitor:operlog:export')")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, @RequestBody SysOperlogVo sysOperlogVo) {
-        List<SysOperLog> list = operLogService.selectOperLogList(sysOperlogVo);
+    public void export(HttpServletResponse response, @RequestBody SysOperlogResq sysOperlogResq) {
+        List<SysOperLog> list = operLogService.selectOperLogList(sysOperlogResq);
         ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
         util.exportExcel(response, list, "操作日志");
     }