1.案列只供参考:后台多个搜索框查询。
/**
* 错误日志
* @param request
* @param page
* @param size
* @param requestAddress
* @param source
* @param errorMessage
* @param starTime
* @param endTime
* @return
*/
@GetMapping(value = "/getErrorLogList")
@ResponseBody
public Result<Object> getErrorLogList(HttpServletRequest request,
@RequestParam int page,
@RequestParam int size,
@RequestParam String requestAddress,
@RequestParam String source,
@RequestParam String errorMessage,
@RequestParam String starTime,
@RequestParam String endTime) {
try {
return this.resultFactory.createSuccess(aroundLogService.getErrorLogList(page,size,requestAddress, source,errorMessage,starTime,endTime));
} catch (Throwable e) {
return this.resultFactory.create(e);
}
}
PageInfo getErrorLogList(int page, int size, String requestAddress, String source, String errorMessage, String starTime, String endTime);
@Override
public PageInfo getErrorLogList(int page, int size, String requestAddress, String source, String errorMessage, String starTime, String endTime) {
List<WebLogEntity> errorLogList = webLogDao.getErrorLogList(requestAddress, source, errorMessage, starTime, endTime);
PageInfo pageInfo = pageListUtils.startPage(errorLogList, page, size);
return pageInfo;
}
@Query(value="SELECT * from web_log A \n" +
"WHERE if(?4!=''&& ?5!='',A.created between ?4 and ?5,1=1) \n" +
"AND if(?1 !='',A.url LIKE CONCAT('%', ?1, '%'),1=1) \n" +
"AND if(?2 !='',A.source LIKE CONCAT('%', ?2, '%'),1=1) \n" +
"AND if(?3 !='', A.result LIKE CONCAT('%', ?3, '%'),1=1); \n ,
nativeQuery=true)
List<WebLogEntity> getErrorLogList(String requestAddress, String source, String errorMessage, String starTime, String endTime);
@Query(value="SELECT A.id,A.username,B.`name`,A.method,B.remark,A.created FROM web_log A INNER JOIN one_web_resources B on A.path=B.path \n" +
"WHERE A.`code`!=-1 \n" +
"AND if(?1 !='',A.username LIKE CONCAT('%', ?1, '%'),1=1) \n" +
"AND if(?2 !='',B.`name` LIKE CONCAT('%', ?2, '%'),1=1)\n"+
"AND if(?3 !='', A.method LIKE CONCAT('%', ?3, '%'),1=1) \n"+
"AND if(?4!=''&& ?5!='',A.created between ?4 and ?5,1=1);",
nativeQuery=true)
List<Map<String,Object>> getOperationList(String userName, String menuName, String operationName, String starTime, String endTime);