package com.ycl.controller.cockpit.teamConstruction; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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.cockpitManage.TeamConstruction; import com.ycl.service.cockpitManage.ITeamConstructionService; import com.ycl.utils.EasyExcelUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.Arrays; /** *

* 队伍建设表 前端控制器 *

* * @author zhanghua * @since 2022-10-31 */ @RestController @RequestMapping("/team_construction") @Api(tags = "队伍建设") public class TeamConstructionController extends BaseController { @Autowired ITeamConstructionService iTeamConstructionService; @GetMapping("/query") @ApiOperation("查询") @ApiImplicitParams({ @ApiImplicitParam(name = "size", required = true, value = "页面数量"), @ApiImplicitParam(name = "current", required = true, value = "页码"), @ApiImplicitParam(name = "departName", value = "部门名称"), @ApiImplicitParam(name = "status", value = "状态")} ) public CommonResult search(@RequestParam(name = "size") Integer size, @RequestParam(name = "current") Integer current, @RequestParam(name = "departName", required = false) String departName, @RequestParam(name = "status", required = false) Integer status) { Integer isDelete = 0; return CommonResult.success(iTeamConstructionService .page(new Page().setSize(size).setCurrent(current), new LambdaQueryWrapper() .like(StringUtils.isNotBlank(departName), TeamConstruction::getName, departName) .eq(status != null, TeamConstruction::getStatus, status) .eq(TeamConstruction::getIsDelete, isDelete) .orderByDesc(TeamConstruction::getId))); } @PostMapping("/addition") @ApiOperation("添加") @LogSave(operationType = "队伍建设管理", contain = "添加") public CommonResult add(@RequestBody TeamConstruction teamConstruction) { return CommonResult.success(iTeamConstructionService.save(teamConstruction)); } @PutMapping("/modification") @ApiOperation("修改") @LogSave(operationType = "队伍建设管理", contain = "修改") public CommonResult modify(@RequestBody TeamConstruction teamConstruction) { return CommonResult.success(iTeamConstructionService.updateById(teamConstruction)); } @DeleteMapping("/deletion") @ApiOperation("删除") @LogSave(operationType = "队伍建设管理", contain = "删除") public CommonResult delete(@RequestParam Long id) { Integer isDelete = 1; TeamConstruction teamConstruction = new TeamConstruction(); teamConstruction.setIsDelete(isDelete); teamConstruction.setId(id); return CommonResult.success(iTeamConstructionService.updateById(teamConstruction)); } @ApiOperation(value = "批量删除违规类型") @DeleteMapping("/batch_delete") @LogSave(operationType = "运营基础设置", contain = "批量删除违规事项") public CommonResult removeViolations(@RequestParam Long[] ids) { return CommonResult.success(iTeamConstructionService.removeBatchByIds(Arrays.asList(ids))); } @PostMapping("/export") @ApiOperation("导出") @LogSave(operationType = "队伍建设管理", contain = "导出") @ApiImplicitParams( { @ApiImplicitParam(name = "departName", value = "部门名称"), @ApiImplicitParam(name = "status", value = "状态")} ) @SneakyThrows public void export( @RequestParam(name = "departName", required = false) String departName, @RequestParam(name = "status", required = false) Integer status, HttpServletResponse response) { Integer isDelete = 0; String sheetName = "数据"; EasyExcelUtils.export(response, sheetName, TeamConstruction.class, iTeamConstructionService .list(new LambdaQueryWrapper() .like(StringUtils.isNotBlank(departName), TeamConstruction::getName, departName) .eq(status != null, TeamConstruction::getStatus, status) .eq(TeamConstruction::getIsDelete, isDelete))); } @PostMapping("/import") @ApiOperation("导入") @SneakyThrows @LogSave(operationType = "队伍建设管理", contain = "导入") public CommonResult export(@RequestParam("file") MultipartFile multipartFile) { EasyExcel.read(multipartFile.getInputStream(), TeamConstruction.class, new ReadListener() { @Override public void invoke(Object o, AnalysisContext analysisContext) { if (o != null) { TeamConstruction teamConstruction = new TeamConstruction(); BeanUtils.copyProperties(o, teamConstruction); teamConstruction.setCreateTime(LocalDateTime.now()); iTeamConstructionService.save(teamConstruction); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } }).doReadAll(); return CommonResult.success("import ok"); } }