From 704e7207d74b6477c5f472c5aba92d484ab17f98 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 29 十一月 2023 17:07:11 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

---
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java |  257 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 227 insertions(+), 30 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 471cbb8..6a3c479 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,43 @@
 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.controller.video.common.constant.BaseCaseStatus;
-import com.ycl.controller.video.common.util.UtilNumber;
+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 lombok.extern.slf4j.Slf4j;
 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.*;
 
@@ -47,6 +58,7 @@
 @RestController
 @RequestMapping("/base_case")
 @Api(tags = "妗堜欢姹�")
+@Slf4j
 public class BaseCaseController extends BaseController {
 
     private IBaseCaseService baseCaseService;
@@ -63,6 +75,12 @@
     @Autowired
     UtilNumber utilNumber;
 
+    @Autowired
+    IImageResourcesService iImageResourcesService;
+
+    @Autowired
+    IVideoResourcesService iVideoResourcesService;
+
 
     @Autowired
     public void setBaseCaseService(IBaseCaseService baseCaseService) {
@@ -70,11 +88,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);
         }
@@ -85,7 +103,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"),
@@ -98,22 +116,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);
     }
 
     /**
@@ -173,8 +228,15 @@
      **/
     @ApiOperation(value = "娣诲姞杩濊妗堜欢")
     @PostMapping("/addition_violation")
-    @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濆缓妗堜欢")
+    @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濊妗堜欢")
     public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) {
+        log.info("---------------->鍙傛暟,鎶ヨ鏃堕棿{},闄愭椂{},瀵硅薄{}", violationParam.getAlarmTime(), violationParam.getLimitTime(), violationParam);
+        if (violationParam.getAlarmTime() != null) {
+            violationParam.setAlarmTime(violationParam.getAlarmTime().replace("/", "-"));
+        }
+        if (violationParam.getLimitTime() != null) {
+            violationParam.setLimitTime(violationParam.getLimitTime().replace("/", "-"));
+        }
         Integer violation = 1;
         Integer resource = 2;
         BaseCase baseCase = new BaseCase();
@@ -186,6 +248,34 @@
         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()));
     }
 
@@ -196,8 +286,15 @@
      **/
     @ApiOperation(value = "娣诲姞杩濆缓妗堜欢")
     @PostMapping("/addition_illegal_building")
-    @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濊妗堜欢")
+    @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "鏂板杩濆缓妗堜欢")
     public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) {
+        log.info("---------------->鍙傛暟,鎶ヨ鏃堕棿{},闄愭椂{},瀵硅薄{}", illegalBuildingParam.getAlarmTime(), illegalBuildingParam.getLimitTime(), illegalBuildingParam);
+        if (illegalBuildingParam.getAlarmTime() != null) {
+            illegalBuildingParam.setAlarmTime(illegalBuildingParam.getAlarmTime().replace("/", "-"));
+        }
+        if (illegalBuildingParam.getLimitTime() != null) {
+            illegalBuildingParam.setLimitTime(illegalBuildingParam.getLimitTime().replace("/", "-"));
+        }
         Integer illegalBuilding = 2;
         Integer resource = 2;
         BaseCase baseCase = new BaseCase();
@@ -209,6 +306,49 @@
         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().toString());
+                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()));
     }
 
@@ -247,6 +387,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
@@ -276,15 +460,18 @@
 
     @ApiOperation(value = "鏌ヨ妗堝嵎")
     @GetMapping("/query_case")
-    public CommonResult 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) String site) {
-        return CommonResult.success(baseCaseService.selectPage(new Page<BaseCase>().setCurrent(current).setSize(pageSize), number, communityId, categories, startTime, endTime, site));
+    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")
@@ -297,25 +484,35 @@
     @ApiOperation("杩濊妫�绱�-瀵煎嚭")
     public void queryForViolationExport(HttpServletResponse response, QueryForViolationParam queryForViolationParam) {
         String sheetName = "杩濊鏁版嵁";
-        EasyExcelUtils.export(response, sheetName, QueryForViolationVO.class, baseCaseService.selectViolation(queryForViolationParam).getRecords());
+        EasyExcelUtils.export(response, sheetName, QueryForViolationVO.class, baseCaseService.selectViolationList(queryForViolationParam));
     }
 
     @GetMapping("/video_inspection")
     @ApiOperation("棰勮鐮斿垽")
-    public CommonResult searchVideoInspection(@RequestParam Integer current){
-        return  CommonResult.success(baseCaseService.selectVideoInspection(current));
+    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());
+    public CommonResult searchCount() {
+        return CommonResult.success(baseCaseService.selectCount());
     }
 
     @PutMapping("/video_inspection")
     @ApiOperation("棰勮鐮斿垽纭畾")
-    public CommonResult searchCount(ViolationParam violationParam){
-        return  CommonResult.success(baseCaseService.updateCase(violationParam));
+    public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) {
+        return CommonResult.success(baseCaseService.updateCase(violationParam));
     }
-
 }
\ No newline at end of file

--
Gitblit v1.8.0