From 7ef4892f9f24f941aca37e6b3991b808a0aca619 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 08 九月 2023 11:16:35 +0800
Subject: [PATCH] 优化
---
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java | 267 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 253 insertions(+), 14 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
index 794a558..139f112 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -1,32 +1,48 @@
package com.ycl.controller.caseHandler;
-
-import com.alibaba.druid.util.StringUtils;
+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.controller.BaseController;
+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;
@@ -57,6 +73,12 @@
@Autowired
UtilNumber utilNumber;
+ @Autowired
+ IImageResourcesService iImageResourcesService;
+
+ @Autowired
+ IVideoResourcesService iVideoResourcesService;
+
@Autowired
public void setBaseCaseService(IBaseCaseService baseCaseService) {
@@ -64,11 +86,11 @@
}
@ApiOperation(value = "涓婁紶甯傚钩鍙�")
- @PostMapping("/upload-event")
- public CommonResult uploadEvent(@RequestParam Integer caseId, CommonResult<Object> success) {
+ @PostMapping("/upload-event/{caseId}")
+ public CommonResult uploadEvent(@PathVariable Long caseId) {
String msg = baseCaseService.uploadEvent(caseId);
if (StringUtils.isEmpty(msg)) {
- return success;
+ return CommonResult.success(msg);
} else {
return CommonResult.failed(msg);
}
@@ -79,7 +101,7 @@
* @Description query illegal building and violation
* @Param [size, current, state, type, resource]
**/
- @ApiOperation(value = "鏌ヨ杩濊杩濆缓")
+/* @ApiOperation(value = "鏌ヨ杩濊杩濆缓")
@GetMapping("/query")
@ApiImplicitParams({
@ApiImplicitParam(name = "state", value = "澶勭悊鐘舵��(0-寰呭鐞�1-璇姤2-涓婃姤3-鍐嶅涔�/鍐嶈缁�4鏆備笉澶勭悊5绔嬫6璋冨害7澶勭疆8鏍告煡9缁撴)", dataType = "Integer"),
@@ -92,22 +114,59 @@
@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 = 1;
Integer illegalBuilding = 2;
if (type == violation) {
- queryList = baseCaseService.listViolationsPage(page, state, resource);
+ queryList = baseCaseService.listViolationsPage(new Page<>().setCurrent(current).setSize(size), state, resource);
} else if (type == illegalBuilding) {
- queryList = baseCaseService.listIllegalBuilding(page, state, resource);
+ queryList = baseCaseService.listIllegalBuilding(new Page<>().setCurrent(current).setSize(size), state, resource);
} else {
return CommonResult.failed("bad request url");
}
return CommonResult.success(queryList);
}
return CommonResult.failed("request parameter is null");
+ }*/
+ @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"),
+ @ApiImplicitParam(name = "code", dataType = "String"),
+ @ApiImplicitParam(name = "categoryBig", dataType = "String"),
+ @ApiImplicitParam(name = "categorySmall", dataType = "String"),
+ @ApiImplicitParam(name = "street", dataType = "Integer"),
+ @ApiImplicitParam(name = "site", dataType = "String"),
+ @ApiImplicitParam(name = "startTime", dataType = "String"),
+ @ApiImplicitParam(name = "endTime", dataType = "String")
+
+ })
+ public CommonResult searchViolation(@RequestParam Integer size,
+ @RequestParam Integer current,
+ @RequestParam(required = false) Integer state,
+ @RequestParam Integer type,
+ @RequestParam(required = false) Integer resource,
+ @RequestParam(required = false) String code,
+ @RequestParam(required = false) String categoryBig,
+ @RequestParam(required = false) String categorySmall,
+ @RequestParam(required = false) Integer street,
+ @RequestParam(required = false) String site,
+ @RequestParam(required = false) String startTime,
+ @RequestParam(required = false) String endTime,
+ @RequestParam(required = false) Integer violationsTypeId,
+ @RequestParam(required = false) Integer videoId) {
+
+ Page<Object> queryList;
+ if (type == 1) {
+ queryList = baseCaseService.listViolationsPage(current, size, state, resource, code, categoryBig, categorySmall, street, site, startTime, endTime, violationsTypeId, videoId);
+ } else if (type == 2) {
+ queryList = baseCaseService.listIllegalBuilding(current, size, state, resource);
+ } else {
+ return CommonResult.failed("bad request url");
+ }
+ return CommonResult.success(queryList);
}
/**
@@ -120,6 +179,7 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "1 杩濊,2 杩濆缓", dataType = "Integer")
})
+ @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鍒犻櫎妗堜欢")
public CommonResult removeCase(@RequestParam Integer id, @RequestParam Integer type) {
Integer violationType = 1;
Integer illegalBuildingType = 2;
@@ -144,6 +204,7 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "1 杩濊,2 杩濆缓", dataType = "Integer")
})
+ @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鎵归噺鍒犻櫎妗堜欢")
public CommonResult removeCases(@RequestParam List<Long> ids, @RequestParam Integer type) {
Integer violationType = 1;
Integer illegalBuildingType = 2;
@@ -165,6 +226,7 @@
**/
@ApiOperation(value = "娣诲姞杩濊妗堜欢")
@PostMapping("/addition_violation")
+ @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濊妗堜欢")
public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) {
Integer violation = 1;
Integer resource = 2;
@@ -174,7 +236,37 @@
baseCase.setCategory(violation);
baseCase.setCode(utilNumber.createCaseCode());
baseCase.setState(BaseCaseStatus.PENDING);
+ baseCase.setAlarmTime(LocalDateTime.parse(violationParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ baseCase.setCreateTime(LocalDateTime.now());
baseCaseService.save(baseCase);
+ // JSONArray arr = JSON.parseArray(baseCase.getPic());
+ AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+
+ if (CollUtil.isNotEmpty(violationParam.getImageUrls())) {
+ for (int i = 0; i < violationParam.getImageUrls().size(); i++) {
+ ImageResources imageResources = new ImageResources();
+ imageResources.setType("01");
+ imageResources.setBelongToId(baseCase.getId());
+ imageResources.setUrl(violationParam.getImageUrls().get(i));
+ imageResources.setCreateTime(LocalDateTime.now());
+ imageResources.setCreateUser(user.getUserId());
+ iImageResourcesService.save(imageResources);
+ }
+ }
+
+ if (CollUtil.isNotEmpty(violationParam.getVideoUrls())) {
+ VideoResources videoResources = new VideoResources();
+ videoResources.setCreateTime(LocalDateTime.now());
+ videoResources.setType("1");
+ videoResources.setCreateUser(user.getUserId());
+ videoResources.setBelongToId(baseCase.getId().intValue());
+ StringBuilder sb1 = new StringBuilder("");
+ violationParam.getImageUrls().forEach(item -> {
+ sb1.append(",").append(item);
+ });
+ videoResources.setUrl(sb1.substring(1, sb1.length() - 1));
+ iVideoResourcesService.save(videoResources);
+ }
return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId()));
}
@@ -185,6 +277,7 @@
**/
@ApiOperation(value = "娣诲姞杩濆缓妗堜欢")
@PostMapping("/addition_illegal_building")
+ @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濆缓妗堜欢")
public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) {
Integer illegalBuilding = 2;
Integer resource = 2;
@@ -194,7 +287,52 @@
baseCase.setEventSource(resource);
baseCase.setCode(utilNumber.createCaseCode());
baseCase.setState(BaseCaseStatus.PENDING);
+ baseCase.setAlarmTime(LocalDateTime.parse(illegalBuildingParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ baseCase.setCreateTime(LocalDateTime.now());
baseCaseService.save(baseCase);
+
+ // if (CollUtil.isNotEmpty(illegalBuildingParam.getImageUrls())) {
+ // ImageResources imageResources = new ImageResources();
+ // imageResources.setCreateTime(LocalDateTime.now());
+ // imageResources.setType("1");
+ // AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+ // imageResources.setCreateUser(user.getUserId());
+ // imageResources.setBelongToId(baseCase.getId());
+ // StringBuilder sb1 = new StringBuilder("");
+ // illegalBuildingParam.getImageUrls().forEach(item -> {
+ // sb1.append(",").append(item);
+ // });
+ // imageResources.setUrl(sb1.substring(1, sb1.length() - 1));
+ // imageResourcesService.save(imageResources);
+ // }
+
+ AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+ if (CollUtil.isNotEmpty(illegalBuildingParam.getImageUrls())) {
+ for (int i = 0; i < illegalBuildingParam.getImageUrls().size(); i++) {
+ ImageResources imageResources = new ImageResources();
+ imageResources.setType("01");
+ imageResources.setBelongToId(baseCase.getId());
+ imageResources.setUrl(illegalBuildingParam.getImageUrls().get(i));
+ imageResources.setCreateTime(LocalDateTime.now());
+ imageResources.setCreateUser(user.getUserId());
+ iImageResourcesService.save(imageResources);
+ }
+ }
+
+ if (CollUtil.isNotEmpty(illegalBuildingParam.getVideoUrls())) {
+ VideoResources videoResources = new VideoResources();
+ videoResources.setCreateTime(LocalDateTime.now());
+ videoResources.setType("01");
+ user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+ videoResources.setCreateUser(user.getUserId());
+ videoResources.setBelongToId(baseCase.getId().intValue());
+ StringBuilder sb2 = new StringBuilder("");
+ illegalBuildingParam.getImageUrls().forEach(item -> {
+ sb2.append(",").append(item);
+ });
+ videoResources.setUrl(sb2.substring(1, sb2.length() - 1));
+ iVideoResourcesService.save(videoResources);
+ }
return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId()));
}
@@ -233,6 +371,50 @@
.set(BaseCase::getState, state)));
}
+ @ApiOperation(value = "妗堜欢鎵瑰湪瀛︿範")
+ @PutMapping("/batch_case_study")
+ public CommonResult batchHandCaseByStudy(@RequestParam List<Long> ids) {
+ ids.stream().forEach(item ->
+ {
+ BaseCase baseCase = new BaseCase();
+ baseCase.setId(item);
+ baseCase.setState(3);
+ baseCaseService.updateById(baseCase);
+ });
+ return CommonResult.success("success");
+ }
+
+ @ApiOperation(value = "妗堜欢鎵规殏涓嶅鐞�")
+ @PutMapping("/batch_case_Ignore")
+ public CommonResult batchHandCaseByIgnore(@RequestParam List<Long> ids) {
+ ids.stream().forEach(item ->
+ {
+ BaseCase baseCase = new BaseCase();
+ baseCase.setId(item);
+ baseCase.setState(4);
+ baseCaseService.updateById(baseCase);
+ });
+ return CommonResult.success("success");
+ }
+
+ @ApiOperation(value = "璋冨害绠$悊-鎵归噺鍒犻櫎")
+ @DeleteMapping("/batch_case_delete")
+ public CommonResult batchCaseDelete(@RequestParam List<Long> ids) {
+ ids.forEach(
+ item -> {
+ BaseCase baseCase = baseCaseService.getOne(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getId, item));
+ if (baseCase.getCategory() == 1) {
+ violationsService.removeById(item);
+ baseCaseService.removeById(item);
+ } else {
+ illegalBuildingService.removeById(item);
+ baseCaseService.removeById(item);
+ }
+ }
+ );
+ return CommonResult.success("success");
+ }
+
/**
* @return com.ycl.api.CommonResult
* @Description reset case
@@ -254,10 +436,67 @@
@ApiOperation(value = "缁撴")
@PutMapping("/end_case")
- public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result) {
- baseCaseService.endCase(caseId, result);
+ @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "妗堜欢缁撴")
+ public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result, @RequestParam String opinion) {
+ baseCaseService.endCase(caseId, result, opinion);
return CommonResult.success("end case success~!");
}
+ @ApiOperation(value = "鏌ヨ妗堝嵎")
+ @GetMapping("/query_case")
+ public CommonResult<Page<BaseCase>> queryCase(@RequestParam Integer pageSize,
+ @RequestParam Integer current,
+ @RequestParam(required = false) String number,
+ @RequestParam(required = false) Integer communityId,
+ @RequestParam(required = false) Integer categories,
+ @RequestParam(required = false) String startTime,
+ @RequestParam(required = false) String endTime,
+ @RequestParam(required = false) Integer state,
+ @RequestParam(required = false) Integer time,
+ @RequestParam(required = false) Integer streetId,
+ @RequestParam(required = false) String site) {
+ return CommonResult.success(baseCaseService.selectPage(new Page<BaseCase>().setCurrent(current).setSize(pageSize), number, communityId, categories, startTime, endTime, site, state, streetId, time));
+ }
+ @GetMapping("/query_for_violation")
+ @ApiOperation("杩濊妫�绱�")
+ public CommonResult queryForViolation(QueryForViolationParam queryForViolationParam) {
+ return CommonResult.success(baseCaseService.selectViolation(queryForViolationParam));
+ }
+
+ @PostMapping("/query_for_violation/export")
+ @ApiOperation("杩濊妫�绱�-瀵煎嚭")
+ public void queryForViolationExport(HttpServletResponse response, QueryForViolationParam queryForViolationParam) {
+ String sheetName = "杩濊鏁版嵁";
+ EasyExcelUtils.export(response, sheetName, QueryForViolationVO.class, baseCaseService.selectViolationList(queryForViolationParam));
+ }
+
+ @GetMapping("/video_inspection")
+ @ApiOperation("棰勮鐮斿垽")
+ public CommonResult searchVideoInspection(@RequestParam Integer current,
+ @RequestParam Integer pageSize,
+ @RequestParam(required = false) Long gradeId,
+ @RequestParam(required = false) Long videoId,
+ @RequestParam(required = false) String beginTime,
+ @RequestParam(required = false) String endTime) {
+ return CommonResult.success(baseCaseService.selectVideoInspection(current, pageSize, gradeId, videoId, beginTime, endTime));
+ }
+
+ @GetMapping("/video_inspection/{id}")
+ @ApiOperation("棰勮鐮斿垽璇︽儏")
+ public CommonResult getVideoInspection(@PathVariable Long id) {
+ return CommonResult.success(baseCaseService.getById(id));
+ }
+
+ @GetMapping("/video_inspection/Count")
+ @ApiOperation("棰勮鐮斿垽宸︿笂瑙掑緟瀹℃牳妗堜欢,浠婃棩瀹℃牳,浠婃棩鍦ㄥ涔�")
+ public CommonResult searchCount() {
+ return CommonResult.success(baseCaseService.selectCount());
+ }
+
+ @PutMapping("/video_inspection")
+ @ApiOperation("棰勮鐮斿垽纭畾")
+ public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) {
+ return CommonResult.success(baseCaseService.updateCase(violationParam));
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0