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