wl
2022-10-10 96cd80f0eaa77b48b0eaf50d2e6c52f22d8429ab
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -2,27 +2,33 @@
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonResult;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.util.UtilNumber;
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.entity.caseHandler.BaseCaseDetail;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.ycl.service.caseHandler.IIllegalBuildingService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.vo.casePool.CasePoolIllegalBuildingVO;
import com.ycl.vo.casePool.CasePoolViolationVO;
import io.swagger.annotations.*;
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;
import java.util.UUID;
/**
@@ -34,7 +40,7 @@
 * @since 2022-09-24
 */
@RestController
@RequestMapping("/base-case")
@RequestMapping("/base_case")
@Api(tags = "案件池")
public class BaseCaseController extends BaseController {
@@ -48,6 +54,9 @@
    @Autowired
    IDisposeRecordService iDisposeRecordService;
    @Autowired
    UtilNumber utilNumber;
    @Autowired
@@ -72,23 +81,24 @@
     * @Param [size, current, state, type, resource]
     **/
    @ApiOperation(value = "查询违规违建")
    @GetMapping("/query/{type}")
    @GetMapping("/query")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "state", value = "处理状态(0误报 1上报 2立案 3派遣 4处置 5核查 6结案7处理中)", dataType = "Integer"),
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
            @ApiImplicitParam(name = "state", value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", dataType = "Integer"),
            @ApiImplicitParam(name = "type", value = "1 违规,2 违建", dataType = "Integer"),
            @ApiImplicitParam(name = "resource", value = "1 视频,2 手动", dataType = "Integer")
    })
    public CommonResult searchViolation(@RequestParam Integer size,
                                        @RequestParam Integer current,
                                        @RequestParam Integer state,
                                        @PathVariable(value = "type") Integer type,
                                        @RequestParam Integer resource) {
                                        @RequestParam(required = false) Integer type,
                                        @RequestParam(required = false) 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;
            Integer violation = 1;
            Integer illegalBuilding = 2;
            if (type == violation) {
                queryList = baseCaseService.listViolationsPage(page, state, resource);
            } else if (type == illegalBuilding) {
@@ -109,15 +119,11 @@
    @ApiOperation(value = "删除违规/违建案件")
    @DeleteMapping("/deletion")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
    })
    @ApiResponses({
            @ApiResponse(code = 200, message = "成功", response = CasePoolViolationVO.class),
            @ApiResponse(code = 200, message = "成功", response = CasePoolIllegalBuildingVO.class),
            @ApiImplicitParam(name = "type", value = "1 违规,2 违建", dataType = "Integer")
    })
    public CommonResult removeCase(@RequestParam Integer id, @RequestParam Integer type) {
        Integer violationType = 01;
        Integer illegalBuildingType = 02;
        Integer violationType = 1;
        Integer illegalBuildingType = 2;
        if (id != null) {
            if (type == violationType) {
                return CommonResult.success(violationsService.removeById(id));
@@ -134,22 +140,21 @@
     * @Description delete illegal buildings or violations
     * @Param [ids, type]
     **/
    @ApiOperation(value = "删除违规/违建案件")
    @ApiOperation(value = "批处理-删除违规/违建案件")
    @DeleteMapping("/batch_deletion")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
            @ApiImplicitParam(name = "type", value = "1 违规,2 违建", 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()) {
    public CommonResult removeCases(@RequestParam List<Long> ids, @RequestParam Integer type) {
        Integer violationType = 1;
        Integer illegalBuildingType = 2;
        if (!ids.isEmpty()) {
            CommonResult.success(baseCaseService.removeBatchByIds(ids));
            if (type == violationType) {
                return CommonResult.success(violationsService.removeBatchByIds(idList));
                return CommonResult.success(violationsService.removeBatchByIds(ids));
            } else if (type == illegalBuildingType) {
                return CommonResult.success(illegalBuildingService.removeBatchByIds(idList));
                return CommonResult.success(illegalBuildingService.removeBatchByIds(ids));
            }
            return CommonResult.success(baseCaseService.removeBatchByIds(idList));
        }
        return CommonResult.failed("request parameter is null");
    }
@@ -162,8 +167,14 @@
    @ApiOperation(value = "添加违规案件")
    @PostMapping("/addition_violation")
    public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) {
        Integer violation = 1;
        Integer resource = 2;
        BaseCase baseCase = new BaseCase();
        BeanUtils.copyProperties(violationParam, baseCase);
        baseCase.setEventSource(resource);
        baseCase.setCategory(violation);
        baseCase.setCode(utilNumber.createCaseCode());
        baseCase.setState(BaseCaseStatus.PENDING);
        baseCaseService.save(baseCase);
        return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId()));
    }
@@ -176,8 +187,14 @@
    @ApiOperation(value = "添加违建案件")
    @PostMapping("/addition_illegal_building")
    public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) {
        Integer illegalBuilding = 2;
        Integer resource = 2;
        BaseCase baseCase = new BaseCase();
        BeanUtils.copyProperties(illegalBuildingParam, baseCase);
        baseCase.setCategory(illegalBuilding);
        baseCase.setEventSource(resource);
        baseCase.setCode(utilNumber.createCaseCode());
        baseCase.setState(BaseCaseStatus.PENDING);
        baseCaseService.save(baseCase);
        return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId()));
    }
@@ -187,11 +204,11 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "code", value = "事件编号")
    })
    public CommonResult baseCaseDetail(@PathVariable(value = "code") String code) {
    public CommonResult<BaseCaseDetail> baseCaseDetail(@PathVariable(value = "code") String code) {
        return CommonResult.success(baseCaseService.baseCaseDetail(code));
    }
    @ApiOperation("人工路径案件图片展示")
    @ApiOperation(value = "人工路径案件图片展示")
    @GetMapping("/hand_work_case_images")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
@@ -200,13 +217,46 @@
        return CommonResult.success(baseCaseService.listCaseImages(id, type));
    }
    @ApiOperation("案件暂不处理")
    @PutMapping("/case_leave")
    public CommonResult updateCaseStatus(@RequestParam Integer caseId) {
        Integer leaveType = 8;
    /**
     * @return com.ycl.api.CommonResult
     * @Description case status update
     * @Param [caseId, status]
     **/
    @ApiOperation(value = "案件状态修改")
    @PutMapping("/case_status_update")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", name = "state")
    })
    public CommonResult updateCaseStatus(@RequestParam Integer caseId, @RequestParam Integer state) {
        return CommonResult.success(baseCaseService
                .update(new LambdaUpdateWrapper<BaseCase>()
                        .eq(BaseCase::getId, caseId)
                        .set(BaseCase::getState, leaveType)));
                        .set(BaseCase::getState, state)));
    }
}
    /**
     * @return com.ycl.api.CommonResult
     * @Description reset case
     * @Param [caseId]
     **/
    @ApiOperation(value = "暂不处置重新处置")
    @PutMapping("/reset")
    public CommonResult resetCase(@RequestParam Integer caseId) {
        Integer firstNum = 1;
        Integer state = iDisposeRecordService
                .list(new LambdaQueryWrapper<DisposeRecord>()
                        .eq(DisposeRecord::getBaseCaseId, caseId).
                        orderByDesc(DisposeRecord::getCreateTime)).get(firstNum).getState();
        return CommonResult.success(baseCaseService
                .update(new LambdaUpdateWrapper<BaseCase>()
                        .eq(BaseCase::getId, caseId)
                        .set(BaseCase::getState, state)));
    }
    @ApiOperation(value = "结案")
    @PutMapping("/end_case")
    public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result) {
        baseCaseService.endCase(caseId, result);
        return CommonResult.success("end case success~!");
    }
}