wl
2022-09-28 4ade291ebd74dd4cd42556f07bd4f205f73c3313
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -5,12 +5,23 @@
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.vo.ViolationSettingVO;
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;
/**
@@ -23,9 +34,16 @@
 */
@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) {
@@ -34,12 +52,124 @@
    @ApiOperation(value = "上传市平台")
    @PostMapping("/upload-event")
    public CommonResult uploadEvent(@RequestParam Integer caseId) {
    public CommonResult uploadEvent(@RequestParam Integer caseId, CommonResult<Object> success) {
        String msg = baseCaseService.uploadEvent(caseId);
        if (StringUtils.isEmpty(msg)) {
            return CommonResult.success(null);
            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<Object> page = new Page<>();
            page.setCurrent(current);
            page.setSize(size);
            Page<Object> 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<String> 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()));
    }
}