package com.ycl.controller.zf; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; import com.ycl.entity.zf.VideoWarnEventsReport; import com.ycl.service.zf.IVideowarmEventsreportService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** *

* 前端控制器 *

* * @author wl * @since 2022-09-16 */ @RestController @RequestMapping("/videowarm-eventsreport") @Api(value = "VideowarmEventsreportController",tags = "违规情况") public class VideowarmEventsreportController extends BaseController { @Autowired IVideowarmEventsreportService iVideowarmEventsreportService; @GetMapping("/search") @ApiOperation("查询全部违规情况详情") public CommonResult getAll(@RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String eventName, @RequestParam(required = false) String eventType, @RequestParam(required = false) String eventLocation, @RequestParam(required = false) String eventRegion, @RequestParam(required = false) Integer current, @RequestParam(required = false) Integer size ) { Page page = new Page<>(); page.setCurrent(current); page.setSize(size); return CommonResult.success(iVideowarmEventsreportService.selectPageVo(page,startTime,endTime,eventName,eventType,eventLocation,eventRegion)); } @GetMapping("/search/one") @ApiOperation("查询违规情况详情") public CommonResult getOne(@RequestParam Integer id) { return CommonResult.success(iVideowarmEventsreportService.getOne(new QueryWrapper().eq("id", id))); } @PostMapping("/add") @ApiOperation("添加违规情况详情") public CommonResult add(@RequestBody VideoWarnEventsReport videoWarnEventsReport) { return CommonResult.success(iVideowarmEventsreportService.save(videoWarnEventsReport)); } @DeleteMapping("/delete") @ApiOperation("删除违规情况详情") public CommonResult remove(@RequestParam Integer id) { return CommonResult.success(iVideowarmEventsreportService.removeById(id)); } @PutMapping("/update") @ApiOperation("修改违规情况详情") public CommonResult modify(@RequestBody VideoWarnEventsReport videoWarnEventsReport) { return CommonResult.success(iVideowarmEventsreportService.updateById(videoWarnEventsReport)); } @PostMapping("/download") @ApiOperation("导出") @SneakyThrows public void downloadExcel(@RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String eventName, @RequestParam(required = false) String eventType, @RequestParam(required = false) String eventLocation, @RequestParam(required = false) String eventRegion, HttpServletResponse response) { QueryWrapper VideowarmEventsreportQueryWrapper = new QueryWrapper<>(); if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { VideowarmEventsreportQueryWrapper.between("cTime", startTime, endTime); } if (StringUtils.isNotBlank(eventName)) { VideowarmEventsreportQueryWrapper.eq("eventName", eventName); } if (StringUtils.isNotBlank(eventType)) { VideowarmEventsreportQueryWrapper.eq("eventType", eventType); } if (StringUtils.isNotBlank(eventLocation)) { VideowarmEventsreportQueryWrapper.eq("eventLocation", eventLocation); } if (StringUtils.isNotBlank(eventRegion)) { VideowarmEventsreportQueryWrapper.eq("eventRegion", eventRegion); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode("违规情况" + ".xlsx", "utf-8")); EasyExcel.write(response.getOutputStream(), VideoWarnEventsReport.class).sheet("列表").doWrite(iVideowarmEventsreportService.list(VideowarmEventsreportQueryWrapper)); } }