From 9969bea2a8c1eab64c12a51a2d24d65e5b6c0dd0 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 24 十月 2022 18:12:41 +0800 Subject: [PATCH] 日志导出乱码 日志查询导出 代码重构 --- ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 1 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java b/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java index 47d3e45..c8b1904 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/epuipment/EquipmentBayonetController.java @@ -1,15 +1,29 @@ package com.ycl.controller.epuipment; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; -import com.ycl.entity.video.VideoPoint; +import com.ycl.entity.dict.DataDictionary; +import com.ycl.entity.equipment.EquipmentBayonet; +import com.ycl.service.dict.IDataDictionaryService; import com.ycl.service.equipment.IEquipmentBayonetService; +import com.ycl.vo.equipment.EquipmentBayonetVO; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.stream.Collectors; /** * <p> @@ -21,9 +35,79 @@ */ @RestController @RequestMapping("/equipment_bayonet") +@Api(tags = "鍗″彛绠$悊") public class EquipmentBayonetController extends BaseController { @Autowired IEquipmentBayonetService iEquipmentBayonetService; + @Autowired + IDataDictionaryService iDataDictionaryService; + + @GetMapping("/query") + @ApiOperation("鏌ヨ") + @LogSave + public CommonResult search(@RequestParam(required = false) Integer size, + @RequestParam(required = false) Integer current, + @RequestParam(required = false) String bayonetName) { + Page<EquipmentBayonet> equipmentBayonetPage = new Page<>(); + equipmentBayonetPage.setCurrent(current); + equipmentBayonetPage.setSize(size); + return CommonResult.success(iEquipmentBayonetService + .page(equipmentBayonetPage, new LambdaQueryWrapper<EquipmentBayonet>() + .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName)) + .getRecords() + .stream() + .map(item -> { + EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO(); + BeanUtils.copyProperties(item, equipmentBayonetVO); + equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getFrontEndType())).getName()); + equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getInOutCityType())).getName()); + return equipmentBayonetVO; + }).collect(Collectors.toList())); + } + + @PostMapping("/addition") + @ApiOperation("娣诲姞") + @LogSave(operationType = "鍗″彛绠$悊", contain = "娣诲姞鍗″彛") + public CommonResult add(@RequestBody EquipmentBayonet equipmentBayonet) { + return CommonResult.success(iEquipmentBayonetService.save(equipmentBayonet)); + } + + @PutMapping("/modification") + @ApiOperation("淇敼") + @LogSave(operationType = "鍗″彛绠$悊", contain = "淇敼鍗″彛") + public CommonResult modify(@RequestBody EquipmentBayonet equipmentBayonet) { + return CommonResult.success(iEquipmentBayonetService.updateById(equipmentBayonet)); + } + + @GetMapping("/export") + @ApiOperation("瀵煎嚭") + @SneakyThrows + @LogSave(operationType = "鍗″彛绠$悊", contain = "鍒犻櫎鍗″彛") + public void export(HttpServletResponse response, + @RequestParam(required = false) Integer size, + @RequestParam(required = false) Integer current, + @RequestParam(required = false) String bayonetName) { + Page<EquipmentBayonet> equipmentBayonetPage = new Page<>(); + equipmentBayonetPage.setCurrent(current); + equipmentBayonetPage.setSize(size); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ".xlsx"); + EasyExcel.write(response.getOutputStream(), EquipmentBayonetVO.class) + .sheet("鏁版嵁") + .doWrite(iEquipmentBayonetService + .page(equipmentBayonetPage, new LambdaQueryWrapper<EquipmentBayonet>() + .like(StringUtils.isNotBlank(bayonetName), EquipmentBayonet::getBayonetName, bayonetName)) + .getRecords() + .stream() + .map(item -> { + EquipmentBayonetVO equipmentBayonetVO = new EquipmentBayonetVO(); + BeanUtils.copyProperties(item, equipmentBayonetVO); + equipmentBayonetVO.setFrontEndType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getFrontEndType())).getName()); + equipmentBayonetVO.setInOutCityType(iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getId, item.getInOutCityType())).getName()); + return equipmentBayonetVO; + }).collect(Collectors.toList())); + } } -- Gitblit v1.8.0