package com.ycl.controller.caseHandler; import com.alibaba.druid.util.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; import com.ycl.dto.casePool.IllegalBuildingParam; import com.ycl.dto.casePool.ViolationParam; import com.ycl.entity.caseHandler.BaseCase; import com.ycl.service.caseHandler.IBaseCaseService; import com.ycl.service.caseHandler.IIllegalBuildingService; import com.ycl.service.caseHandler.IViolationsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; /** *

* 案件基本信息 前端控制器 *

* * @author wl * @since 2022-09-24 */ @RestController @RequestMapping("/base-case") @Api(tags = "案件池") public class BaseCaseController extends BaseController { private IBaseCaseService baseCaseService; @Autowired IViolationsService violationsService; @Autowired IIllegalBuildingService illegalBuildingService; @Autowired public void setBaseCaseService(IBaseCaseService baseCaseService) { this.baseCaseService = baseCaseService; } @ApiOperation(value = "上传市平台") @PostMapping("/upload-event") public CommonResult uploadEvent(@RequestParam Integer caseId, CommonResult success) { String msg = baseCaseService.uploadEvent(caseId); if (StringUtils.isEmpty(msg)) { return success; } else { return CommonResult.failed(msg); } } /** * @return com.ycl.api.CommonResult * @Description query illegal building and violation * @Param [size, current, state, type, resource] **/ @ApiOperation(value = "查询违规违建") @GetMapping("/query/{type}") @ApiImplicitParams({ @ApiImplicitParam(name = "state", value = "处理状态(0误报 1上报 2立案 3派遣 4处置 5核查 6结案7处理中)", dataType = "Integer"), @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") }) public CommonResult searchViolation(@RequestParam Integer size, @RequestParam Integer current, @RequestParam Integer state, @PathVariable(value = "type") Integer type, @RequestParam Integer resource) { if (state != null) { Page page = new Page<>(); page.setCurrent(current); page.setSize(size); Page queryList; Integer violation = 01; Integer illegalBuilding = 02; if (type == violation) { queryList = baseCaseService.listViolationsPage(page, state, resource); } else if (type == illegalBuilding) { queryList = baseCaseService.listIllegalBuilding(page, state, resource); } else { return CommonResult.failed("bad request url"); } return CommonResult.success(queryList); } return CommonResult.failed("request parameter is null"); } /** * @return com.ycl.api.CommonResult * @Description delete illegal building or violation * @Param [id, type] **/ @ApiOperation(value = "删除违规/违建案件") @DeleteMapping("/deletion") @ApiImplicitParams({ @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") }) public CommonResult removeCase(@RequestParam Integer id, @RequestParam Integer type) { Integer violationType = 01; Integer illegalBuildingType = 02; if (id != null) { if (type == violationType) { return CommonResult.success(violationsService.removeById(id)); } else if (type == illegalBuildingType) { return CommonResult.success(illegalBuildingService.removeById(id)); } return CommonResult.success(baseCaseService.removeById(id)); } return CommonResult.failed("request parameter is null"); } /** * @return com.ycl.api.CommonResult * @Description delete illegal buildings or violations * @Param [ids, type] **/ @ApiOperation(value = "删除违规/违建案件") @DeleteMapping("/batch_deletion") @ApiImplicitParams({ @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") }) public CommonResult removeCases(@RequestParam String[] ids, @RequestParam Integer type) { Integer violationType = 01; Integer illegalBuildingType = 02; List idList = Arrays.asList(ids); if (!idList.isEmpty()) { if (type == violationType) { return CommonResult.success(violationsService.removeBatchByIds(idList)); } else if (type == illegalBuildingType) { return CommonResult.success(illegalBuildingService.removeBatchByIds(idList)); } return CommonResult.success(baseCaseService.removeBatchByIds(idList)); } return CommonResult.failed("request parameter is null"); } /** * @return com.ycl.api.CommonResult * @Description add violation * @Param [violationParam] **/ @ApiOperation(value = "添加违规案件") @PostMapping("/addition_violation") public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) { BaseCase baseCase = new BaseCase(); BeanUtils.copyProperties(violationParam, baseCase); baseCaseService.save(baseCase); return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId())); } /** * @return com.ycl.api.CommonResult * @Description add illegal building * @Param [violationParam] **/ @ApiOperation(value = "添加违建案件") @PostMapping("/addition_violation") public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) { BaseCase baseCase = new BaseCase(); BeanUtils.copyProperties(illegalBuildingParam, baseCase); baseCaseService.save(baseCase); return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId())); } }