package com.ycl.controller.caseHandler;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.bo.AdminUserDetails;
import com.ycl.controller.BaseController;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.VideoInspectParam;
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.entity.resources.ImageResources;
import com.ycl.entity.resources.VideoResources;
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.service.resources.IImageResourcesService;
import com.ycl.service.resources.IVideoResourcesService;
import com.ycl.utils.EasyExcelUtils;
import com.ycl.vo.casePool.QueryForViolationVO;
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.security.core.context.SecurityContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
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
IDisposeRecordService iDisposeRecordService;
@Autowired
UtilNumber utilNumber;
@Autowired
IImageResourcesService iImageResourcesService;
@Autowired
IVideoResourcesService iVideoResourcesService;
@Autowired
public void setBaseCaseService(IBaseCaseService baseCaseService) {
this.baseCaseService = baseCaseService;
}
@ApiOperation(value = "上传市平台")
@PostMapping("/upload-event/{caseId}")
public CommonResult uploadEvent(@PathVariable Long caseId) {
String msg = baseCaseService.uploadEvent(caseId);
if (StringUtils.isEmpty(msg)) {
return CommonResult.success(msg);
} 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")
@ApiImplicitParams({
@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,
@RequestParam(required = false) Integer type,
@RequestParam(required = false) Integer resource) {
if (state != null) {
Page