package cn.wisenergy.chnmuseum.party.web.controller; import cn.wisenergy.chnmuseum.party.common.util.DateUtil80; import cn.wisenergy.chnmuseum.party.common.util.NetWorkUtil; import cn.wisenergy.chnmuseum.party.model.SysLog; import cn.wisenergy.chnmuseum.party.service.impl.SysLogServiceImpl; import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @RestController @RequestMapping("/sysLog") public class SysLogController extends BaseController { @Resource private SysLogServiceImpl sysLogService; /** * 插入系统日志表 */ @ApiOperation(value = "插入系统日志", notes = "插入系统日志") @PostMapping(value = "/insertSysLog") public Boolean insertSysLog(String operationContent, String username) { SysLog sysLog = new SysLog(); //日志时间 sysLog.setOperationTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis())); //获取登录IP并插入 ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); String operationIp = NetWorkUtil.getLoggableAddress(request); sysLog.setOperationIp(operationIp); if (username == null) { //操作者用户名 sysLog.setOperator(this.getUserName()); } else { sysLog.setOperator(username); } //日志内容 sysLog.setOperationContent(operationContent); Boolean ret = this.sysLogService.save(sysLog); return ret; } /** * 查询系统日志 */ @ApiOperation(value = "查询系统日志", notes = "查询系统日志") @ApiImplicitParams({ @ApiImplicitParam(name = "_index", value = "分页起始偏移量", required = false, paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "_size", value = "返回条数", required = false, paramType = "query", dataType = "Integer")}) @GetMapping(value = "/querySysLogList") @RequiresPermissions("/sysLog/querySysLogList") public ResponseEntity<Page<SysLog>> querySysLogList() { try { QueryWrapper<SysLog> ew = new QueryWrapper<>(); ew.orderByDesc("operation_time"); Page<SysLog> page = getPage(); page = sysLogService.page(page, ew); return ResponseEntity.ok(page); } catch (Exception e) { logger.error("查询系统日志列表出错!", e); } return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); } }