Skip to content

Commit

Permalink
⚡ 优化日志导出查询条件
Browse files Browse the repository at this point in the history
  • Loading branch information
lltx committed Apr 7, 2024
1 parent 66379e7 commit d45551a
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 79 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
package com.pig4cloud.pig.admin.controller;

import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pig4cloud.pig.admin.api.dto.SysLogDTO;
import com.pig4cloud.pig.admin.api.entity.SysLog;
Expand Down Expand Up @@ -54,51 +53,55 @@
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class SysLogController {

private final SysLogService sysLogService;
private final SysLogService sysLogService;

/**
* 简单分页查询
* @param page 分页对象
* @param sysLog 系统日志
* @return
*/
@GetMapping("/page")
public R getLogPage(@ParameterObject Page page, @ParameterObject SysLogDTO sysLog) {
return R.ok(sysLogService.getLogByPage(page, sysLog));
}
/**
* 简单分页查询
*
* @param page 分页对象
* @param sysLog 系统日志
* @return
*/
@GetMapping("/page")
public R getLogPage(@ParameterObject Page page, @ParameterObject SysLogDTO sysLog) {
return R.ok(sysLogService.getLogByPage(page, sysLog));
}

/**
* 批量删除日志
* @param ids ID
* @return success/false
*/
@DeleteMapping
@PreAuthorize("@pms.hasPermission('sys_log_del')")
public R removeByIds(@RequestBody Long[] ids) {
return R.ok(sysLogService.removeBatchByIds(CollUtil.toList(ids)));
}
/**
* 批量删除日志
*
* @param ids ID
* @return success/false
*/
@DeleteMapping
@PreAuthorize("@pms.hasPermission('sys_log_del')")
public R removeByIds(@RequestBody Long[] ids) {
return R.ok(sysLogService.removeBatchByIds(CollUtil.toList(ids)));
}

/**
* 插入日志
* @param sysLog 日志实体
* @return success/false
*/
@Inner
@PostMapping("/save")
public R save(@Valid @RequestBody SysLog sysLog) {
return R.ok(sysLogService.saveLog(sysLog));
}
/**
* 插入日志
*
* @param sysLog 日志实体
* @return success/false
*/
@Inner
@PostMapping("/save")
public R save(@Valid @RequestBody SysLog sysLog) {
return R.ok(sysLogService.saveLog(sysLog));
}

/**
* 导出excel 表格
* @param sysLog 查询条件
* @return
*/
@ResponseExcel
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('sys_log_export')")
public List<SysLog> export(SysLog sysLog) {
return sysLogService.list(Wrappers.query(sysLog));
}
/**
* 导出excel 表格
*
* @param sysLog 查询条件
* @return
*/
@ResponseExcel
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('sys_log_export')")
public List<SysLog> export(SysLogDTO sysLog) {
return sysLogService.getList(sysLog);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import com.pig4cloud.pig.admin.api.dto.SysLogDTO;
import com.pig4cloud.pig.admin.api.entity.SysLog;

import java.util.List;

/**
* <p>
* 日志表 服务类
Expand All @@ -34,19 +36,28 @@
*/
public interface SysLogService extends IService<SysLog> {

/**
* 分页查询日志
* @param page
* @param sysLog
* @return
*/
Page getLogByPage(Page page, SysLogDTO sysLog);
/**
* 分页查询日志
*
* @param page
* @param sysLog
* @return
*/
Page getLogByPage(Page page, SysLogDTO sysLog);

/**
* 插入日志
* @param sysLog 日志对象
* @return true/false
*/
Boolean saveLog(SysLog sysLog);
/**
* 插入日志
*
* @param sysLog 日志对象
* @return true/false
*/
Boolean saveLog(SysLog sysLog);

/**
* 查询日志列表
*
* @param sysLog 查询条件
* @return List<SysLog>
*/
List<SysLog> getList(SysLogDTO sysLog);
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
* <p>
* 日志表 服务实现类
Expand All @@ -43,32 +45,52 @@
@Service
public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implements SysLogService {

@Override
public Page getLogByPage(Page page, SysLogDTO sysLog) {
@Override
public Page getLogByPage(Page page, SysLogDTO sysLog) {
return baseMapper.selectPage(page, buildQuery(sysLog));
}

LambdaQueryWrapper<SysLog> wrapper = Wrappers.lambdaQuery();
if (StrUtil.isNotBlank(sysLog.getLogType())) {
wrapper.eq(SysLog::getLogType, sysLog.getLogType());
}
/**
* 插入日志
*
* @param sysLog 日志对象
* @return true/false
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveLog(SysLog sysLog) {
baseMapper.insert(sysLog);
return Boolean.TRUE;
}

if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) {
wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTime()[0])
.le(SysLog::getCreateTime, sysLog.getCreateTime()[1]);
}
/**
* 查询日志列表
*
* @param sysLog 查询条件
* @return List<SysLog>
*/
@Override
public List<SysLog> getList(SysLogDTO sysLog) {
return baseMapper.selectList(buildQuery(sysLog));
}

return baseMapper.selectPage(page, wrapper);
}
/**
* 构建查询条件
*
* @param sysLog 前端条件
* @return LambdaQueryWrapper
*/
private LambdaQueryWrapper buildQuery(SysLogDTO sysLog) {
LambdaQueryWrapper<SysLog> wrapper = Wrappers.lambdaQuery();
if (StrUtil.isNotBlank(sysLog.getLogType())) {
wrapper.eq(SysLog::getLogType, sysLog.getLogType());
}

/**
* 插入日志
* @param sysLog 日志对象
* @return true/false
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveLog(SysLog sysLog) {
baseMapper.insert(sysLog);
return Boolean.TRUE;
}
if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) {
wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTime()[0])
.le(SysLog::getCreateTime, sysLog.getCreateTime()[1]);
}

return wrapper;
}
}

0 comments on commit d45551a

Please sign in to comment.