package com.stylefeng.guns.modular.system.controller; import com.baomidou.mybatisplus.mapper.SqlRunner; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.annotion.BussinessLog; import com.stylefeng.guns.core.common.annotion.Permission; import com.stylefeng.guns.core.common.constant.Const; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.common.constant.state.BizLogType; import com.stylefeng.guns.core.support.BeanKit; import com.stylefeng.guns.modular.system.model.OperationLog; import com.stylefeng.guns.modular.system.service.IOperationLogService; import com.stylefeng.guns.modular.system.warpper.LogWarpper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; import java.util.Map; /** * 日志管理的控制器 * * @author fengshuonan * @Date 2017年4月5日 19:45:36 */ @Controller @RequestMapping("/log") public class LogController extends BaseController { private static String PREFIX = "/system/log/"; @Autowired private IOperationLogService operationLogService; /** * 跳转到日志管理的首页 */ @RequestMapping("") public String index() { return PREFIX + "log.html"; } /** * 查询操作日志列表 */ @RequestMapping("/list") @Permission(Const.ADMIN_NAME) @ResponseBody public Object list(@RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String logName, @RequestParam(required = false) Integer logType) { Page page = new PageFactory().defaultPage(); List> result = operationLogService.getOperationLogs(page, beginTime, endTime, logName, BizLogType.valueOf(logType), page.getOrderByField(), page.isAsc()); page.setRecords((List) new LogWarpper(result).warp()); return super.packForBT(page); } /** * 查询操作日志详情 */ @RequestMapping("/detail/{id}") @Permission(Const.ADMIN_NAME) @ResponseBody public Object detail(@PathVariable Integer id) { OperationLog operationLog = operationLogService.selectById(id); Map stringObjectMap = BeanKit.beanToMap(operationLog); return super.warpObject(new LogWarpper(stringObjectMap)); } /** * 清空日志 */ @BussinessLog(value = "清空业务日志") @RequestMapping("/delLog") @Permission(Const.ADMIN_NAME) @ResponseBody public Object delLog() { SqlRunner.db().delete("delete from sys_operation_log"); return SUCCESS_TIP; } }