Merge pull request #2976 from dataease/pr@dev@fix_log_api_filter

perf(系统管理-日志管理): 查询日志api增加关键字模糊查询
This commit is contained in:
fit2cloud-chenyw 2022-08-29 22:17:23 +08:00 committed by GitHub
commit 96f0cf7797
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 28 additions and 15 deletions

View File

@ -6,7 +6,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
import io.dataease.controller.handler.annotation.I18n;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.controller.sys.request.KeyGridRequest;
import io.dataease.dto.SysLogGridDTO;
import io.dataease.dto.log.FolderItem;
import io.dataease.service.sys.log.LogService;
@ -37,7 +37,7 @@ public class SysLogController {
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager<List<SysLogGridDTO>> logGrid(@PathVariable int goPage, @PathVariable int pageSize,
@RequestBody BaseGridRequest request) {
@RequestBody KeyGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, logService.query(request));
}
@ -51,7 +51,7 @@ public class SysLogController {
@ApiOperation("导出操作日志")
@PostMapping("/export")
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
public void export(@RequestBody BaseGridRequest request) throws Exception{
public void export(@RequestBody KeyGridRequest request) throws Exception{
logService.exportExcel(request);
}
}

View File

@ -7,7 +7,7 @@ import io.dataease.auth.annotation.DeLog;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.commons.constants.SysLogConstants;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.controller.sys.request.UserGridRequest;
import io.dataease.controller.sys.request.KeyGridRequest;
import io.dataease.exception.DataEaseException;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.SysRole;
@ -60,7 +60,7 @@ public class SysUserController {
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize,
@RequestBody UserGridRequest request) {
@RequestBody KeyGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, sysUserService.query(request));
}
@ -68,8 +68,8 @@ public class SysUserController {
@ApiIgnore
@PostMapping("/userLists")
public List<SysUserGridResponse> userLists(@RequestBody BaseGridRequest request) {
UserGridRequest userGridRequest = BeanUtils.copyBean(new UserGridRequest(), request);
return sysUserService.query(userGridRequest);
KeyGridRequest keyGridRequest = BeanUtils.copyBean(new KeyGridRequest(), request);
return sysUserService.query(keyGridRequest);
}
@ApiOperation("创建用户")

View File

@ -7,7 +7,7 @@ import lombok.Data;
import java.io.Serializable;
@Data
public class UserGridRequest extends BaseGridRequest implements Serializable {
public class KeyGridRequest extends BaseGridRequest implements Serializable {
@ApiModelProperty("关键字")
private String keyWord;
}

View File

@ -8,7 +8,17 @@
<select id="query" parameterType="io.dataease.ext.query.GridExample" resultMap="io.dataease.plugins.common.base.mapper.SysLogMapper.ResultMapWithBLOBs">
select * from sys_log
select * from
(select * from sys_log
<if test="extendCondition != null">
where
nick_name like concat('%', #{extendCondition} , '%')
or
source_name like concat('%', #{extendCondition} , '%')
or
position like concat('%', #{extendCondition} , '%')
</if>
) t
<if test="_parameter != null">
<include refid="io.dataease.ext.query.GridSql.gridCondition" />

View File

@ -60,7 +60,7 @@ public class SysUserService {
private AuthUserService authUserService;
public List<SysUserGridResponse> query(UserGridRequest request) {
public List<SysUserGridResponse> query(KeyGridRequest request) {
String keyWord = request.getKeyWord();
GridExample gridExample = request.convertExample();
gridExample.setExtendCondition(keyWord);

View File

@ -9,8 +9,8 @@ import io.dataease.commons.constants.SysLogConstants;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.commons.utils.ServletUtils;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.controller.sys.base.ConditionEntity;
import io.dataease.controller.sys.request.KeyGridRequest;
import io.dataease.dto.SysLogDTO;
import io.dataease.dto.SysLogGridDTO;
import io.dataease.dto.log.FolderItem;
@ -69,16 +69,17 @@ public class LogService {
private LogManager logManager;
public List<SysLogGridDTO> query(BaseGridRequest request) {
public List<SysLogGridDTO> query(KeyGridRequest request) {
request = detailRequest(request);
String keyWord = request.getKeyWord();
GridExample gridExample = request.convertExample();
gridExample.setExtendCondition(keyWord);
List<SysLogWithBLOBs> voLogs = extSysLogMapper.query(gridExample);
List<SysLogGridDTO> dtos = voLogs.stream().map(this::convertDTO).collect(Collectors.toList());
return dtos;
}
private BaseGridRequest detailRequest(BaseGridRequest request) {
private KeyGridRequest detailRequest(KeyGridRequest request) {
List<ConditionEntity> conditions = request.getConditions();
if (CollectionUtils.isNotEmpty(conditions)) {
@ -252,12 +253,14 @@ public class LogService {
}
public void exportExcel(BaseGridRequest request) throws Exception {
public void exportExcel(KeyGridRequest request) throws Exception {
request = detailRequest(request);
String keyWord = request.getKeyWord();
HttpServletResponse response = ServletUtils.response();
OutputStream outputStream = response.getOutputStream();
try {
GridExample gridExample = request.convertExample();
gridExample.setExtendCondition(keyWord);
List<SysLogWithBLOBs> lists = extSysLogMapper.query(gridExample);
List<String[]> details = lists.stream().map(item -> {
String operateTypeName = SysLogConstants.operateTypeName(item.getOperateType());