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;
|
|
/**
|
* <p>
|
* 队伍建设表 前端控制器
|
* </p>
|
*
|
* @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<TeamConstruction>().setSize(size).setCurrent(current), new LambdaQueryWrapper<TeamConstruction>()
|
.like(StringUtils.isNotBlank(departName), TeamConstruction::getName, departName)
|
.eq(status != null, TeamConstruction::getStatus, status)
|
.eq(TeamConstruction::getIsDelete, isDelete)));
|
}
|
|
@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<TeamConstruction>()
|
.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");
|
}
|
}
|