|
@@ -1,9 +1,21 @@
|
|
package cn.com.qmth.stmms.api.controller.admin;
|
|
package cn.com.qmth.stmms.api.controller.admin;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
+import cn.com.qmth.stmms.admin.dto.OperationLogDTO;
|
|
|
|
+import cn.com.qmth.stmms.admin.dto.ProblemHistoryDTO;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.Exam;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.ProblemHistory;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.ProblemType;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.query.ProblemHistorySearchQuery;
|
|
|
|
+import cn.com.qmth.stmms.biz.user.model.User;
|
|
import cn.com.qmth.stmms.common.annotation.Logging;
|
|
import cn.com.qmth.stmms.common.annotation.Logging;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.HistoryStatus;
|
|
|
|
+import cn.com.qmth.stmms.common.utils.DateUtils;
|
|
|
|
+import cn.com.qmth.stmms.common.utils.ExportExcel;
|
|
|
|
+import com.qmth.boot.core.exception.StatusException;
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -25,6 +37,8 @@ import cn.com.qmth.stmms.common.enums.LogType;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
+
|
|
@Api(tags = "操作日志")
|
|
@Api(tags = "操作日志")
|
|
@Controller("adminOperationLogController")
|
|
@Controller("adminOperationLogController")
|
|
@RequestMapping("/api/admin/operation/log")
|
|
@RequestMapping("/api/admin/operation/log")
|
|
@@ -56,4 +70,30 @@ public class OperationLogController extends BaseApiController {
|
|
return Arrays.asList(LogType.values());
|
|
return Arrays.asList(LogType.values());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "导出日志")
|
|
|
|
+ @Logging(menu = "导出日志", type = LogType.EXPORT)
|
|
|
|
+ @RequestMapping(value = "/export", method = RequestMethod.POST)
|
|
|
|
+ @ResponseBody
|
|
|
|
+ public void exportFile(OperationLogSearchQuery query, HttpServletResponse response) {
|
|
|
|
+ try {
|
|
|
|
+ String fileName = "日志数据.xlsx";
|
|
|
|
+ ApiUser user = getApiUser();
|
|
|
|
+ int examId = getSessionExamId();
|
|
|
|
+ query.setExamId(examId);
|
|
|
|
+ query.setSchoolId(user.getUser().getSchoolId());
|
|
|
|
+ query.orderByCreateTime();
|
|
|
|
+ query = logService.findByQuery(query);
|
|
|
|
+ List<OperationLogDTO> list = new ArrayList<>();
|
|
|
|
+ for (OperationLog log : query.getResult()) {
|
|
|
|
+ OperationLogDTO vo = new OperationLogDTO(log);
|
|
|
|
+ list.add(vo);
|
|
|
|
+ }
|
|
|
|
+ new ExportExcel("日志数据", OperationLogDTO.class).setDataList(list).write(response, fileName).dispose();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error(e.getMessage());
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ throw new StatusException("导出日志数据失败!"+e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|