|
@@ -0,0 +1,67 @@
|
|
|
+package com.sky.ioc.service.log.impl;
|
|
|
+
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
+import com.sky.ioc.entity.domain.log.Log;
|
|
|
+import com.sky.ioc.entity.dto.LogParam;
|
|
|
+import com.sky.ioc.mapper.log.LogMapper;
|
|
|
+import com.sky.ioc.service.log.LogService;
|
|
|
+import com.sky.ioc.tool.ReturnMsg;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.servlet.ServletOutputStream;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Slf4j
|
|
|
+public class LogServiceImpl implements LogService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private LogMapper logMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void exportLog(HttpServletResponse response) {
|
|
|
+ List<Log> logs = logMapper.selectList(new LambdaQueryWrapper<>());
|
|
|
+ try {
|
|
|
+ ServletOutputStream outputStream = response.getOutputStream();
|
|
|
+ EasyExcel.write(outputStream, Log.class).autoCloseStream(true).sheet().doWrite(logs);
|
|
|
+ response.setContentType("application/vnd.ms-excel");
|
|
|
+ response.setCharacterEncoding("utf8");
|
|
|
+ response.setHeader("Content-disposition", "attachment;filename=" + "操作日志—"+System.currentTimeMillis()+".xlsx" );
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ReturnMsg getLogList(LogParam logParam) {
|
|
|
+ ReturnMsg<Object> ok = ReturnMsg.ok();
|
|
|
+ LambdaQueryWrapper<Log> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (StringUtils.isNotBlank(logParam.getName())) {
|
|
|
+ queryWrapper.like(Log::getOperation_staff, "%"+logParam.getName()+"%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(logParam.getModule())) {
|
|
|
+ queryWrapper.like(Log::getModule, "%"+logParam.getModule()+"%");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(logParam.getOperation_type())) {
|
|
|
+ queryWrapper.eq(Log::getOperation_type, logParam.getOperation_type());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneBlank(logParam.getStart_time(), logParam.getEnd_time())) {
|
|
|
+ queryWrapper.le(Log::getOperation_time, logParam.getEnd_time());
|
|
|
+ queryWrapper.ge(Log::getOperation_time, logParam.getStart_time());
|
|
|
+ }
|
|
|
+
|
|
|
+ PageHelper.startPage(logParam.getPage(), logParam.getPage_size());
|
|
|
+ List<Log> logs = logMapper.selectList(queryWrapper);
|
|
|
+ PageInfo<Log> pageInfo = PageInfo.of(logs);
|
|
|
+ ok.setData(logs);
|
|
|
+ ok.setTotal(pageInfo.getTotal());
|
|
|
+ return ok;
|
|
|
+ }
|
|
|
+}
|