package com.vci.web.controller;
|
import com.vci.corba.common.PLException;
|
import com.vci.dto.LogQueryCriteriaDTO;
|
import com.vci.starter.web.annotation.log.VciBusinessLog;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.BaseResult;
|
import com.vci.starter.web.util.ControllerUtil;
|
import com.vci.starter.web.util.VciBaseUtil;
|
import com.vci.web.service.LogBasicServiceI;
|
import com.vci.starter.web.util.Lcm.Func;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.util.Date;
|
|
/**
|
* 平台日志控制器
|
* @author yuxc
|
* @date 2024-9-11
|
*/
|
@Controller
|
@RequestMapping("/loginBasicController")
|
@VciBusinessLog(modelName="日志服务")
|
public class LogBasicController {
|
|
/**
|
* 登录服务
|
*/
|
@Autowired
|
private LogBasicServiceI logBasicServiceI;
|
|
/**
|
* 日志
|
*/
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
|
/**
|
* 获取日期保存期限下拉列表框
|
* @return 查询结果
|
*/
|
@VciBusinessLog(operateName="日期保存期限")
|
@GetMapping(value = "/getPeroid")
|
@ResponseBody
|
public BaseResult getPeroid(){
|
try {
|
return logBasicServiceI.getPeroid();
|
}catch (Exception e){
|
e.printStackTrace();
|
String errorMsg = "查询出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
|
logger.error(errorMsg);
|
throw new VciBaseException(errorMsg);
|
}
|
}
|
|
/**
|
* 保存期限设置
|
* period 期限编码
|
* @return 保存结果
|
*/
|
@VciBusinessLog(operateName="保存期限设置")
|
@PostMapping(value = "/savePeriod")
|
@ResponseBody
|
public BaseResult savePeriod(String period){
|
try {
|
return logBasicServiceI.savePeriod(period);
|
}catch (Exception e){
|
e.printStackTrace();
|
String errorMsg = "保存出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
|
logger.error(errorMsg);
|
throw new VciBaseException(errorMsg);
|
}
|
}
|
|
/**
|
* 删除日志
|
* period 期限编码
|
* @return 保存结果
|
*/
|
@VciBusinessLog(operateName="删除日志")
|
@DeleteMapping(value = "/deleteLog")
|
@ResponseBody
|
public BaseResult deleteLog(String deleteDate){
|
try {
|
return logBasicServiceI.deleteLog(deleteDate);
|
}catch (Exception e){
|
e.printStackTrace();
|
String errorMsg = "删除出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
|
logger.error(errorMsg);
|
throw new VciBaseException(errorMsg);
|
}
|
}
|
|
/**
|
* 查询日志
|
* @param dto 查询条件传输对象
|
* @return 查询数据
|
* @throws PLException
|
*/
|
@VciBusinessLog(operateName="日志查询")
|
@PostMapping(value = "/getLogListByContion")
|
@ResponseBody
|
public BaseResult getLogListByContion(@RequestBody LogQueryCriteriaDTO dto){
|
try {
|
return logBasicServiceI.getLogListByContion(dto);
|
}catch (Exception e){
|
e.printStackTrace();
|
String errorMsg = "查询日志出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
|
logger.error(errorMsg);
|
throw new VciBaseException(errorMsg);
|
}
|
}
|
|
/**
|
* 操作用户获取
|
*/
|
@VciBusinessLog(operateName="获取操作用户")
|
@GetMapping(value = "/getOperatingUsers")
|
@ResponseBody
|
public BaseResult getOperatingUsers(){
|
try {
|
return logBasicServiceI.getOperatingUsers();
|
}catch (Exception e){
|
e.printStackTrace();
|
String errorMsg = "查询日志出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
|
logger.error(errorMsg);
|
throw new VciBaseException(errorMsg);
|
}
|
}
|
|
/**
|
* 导出日志
|
* @param dto 导出查询传参数对象
|
* @param response
|
*/
|
@PostMapping( "/exportLogs")
|
@VciBusinessLog(operateName = "导出日志")
|
public void exportLogs(@RequestBody LogQueryCriteriaDTO dto, HttpServletResponse response){
|
try {
|
String excelPath = logBasicServiceI.exportLogs(dto);
|
ControllerUtil.writeFileToResponse(response,excelPath);
|
} catch (Exception e) {
|
String msg = "导出日志时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
|
try {
|
//出错时
|
e.printStackTrace();
|
ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null);
|
} catch (IOException ioException) {
|
ioException.printStackTrace();
|
}
|
}
|
}
|
|
}
|