From 4ade291ebd74dd4cd42556f07bd4f205f73c3313 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期三, 28 九月 2022 18:34:22 +0800 Subject: [PATCH] 案件池相关接口 --- ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolIllegalBuildingDO.java | 72 +++ ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java | 72 +++ ycl-platform/src/main/java/com/ycl/entity/dict/DataDictionary.java | 18 ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolViolationVO.java | 69 +++ ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java | 14 ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolViolationDO.java | 69 +++ ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java | 104 +++++ ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java | 10 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml | 102 ++++ ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java | 136 +++++++ ycl-platform/src/main/java/com/ycl/controller/caseHandler/ViolationsController.java | 139 ++++++ ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java | 2 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 105 +++++ ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolIllegalBuildingVO.java | 73 +++ ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java | 7 ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java | 118 ++++++ 16 files changed, 1,072 insertions(+), 38 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolIllegalBuildingDO.java b/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolIllegalBuildingDO.java new file mode 100644 index 0000000..de34a54 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolIllegalBuildingDO.java @@ -0,0 +1,72 @@ +package com.ycl.bo.casePool; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("妗堜欢姹犺繚寤虹珛妗堜欢") +public class CasePoolIllegalBuildingDO { + + /** + * 浜嬩欢缂栧彿 + */ + @ApiModelProperty(value = "浜嬩欢缂栧彿", dataType = "String") + private String code; + + /** + * 浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏) + */ + @ApiModelProperty(value = "浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)", dataType = "Integer") + private Integer eventSource; + + /** + * 杩濆缓绫诲埆 + */ + @ApiModelProperty(value = "杩濆缓绫诲埆", dataType = "Integer") + private Integer categoryId; + + /** + * 鎵�灞炵ぞ鍖� + */ + @TableField("community_id") + @ApiModelProperty(value = "杩濆缓绫诲埆", dataType = "Integer") + private Integer communityId; + + /** + * 杩濆缓鍏蜂綋浣嶇疆 + */ + @ApiModelProperty(value = "杩濆缓鍏蜂綋浣嶇疆", dataType = "String") + private String site; + + /** + * 杩濆缓闀� + */ + @ApiModelProperty(value = "杩濆缓闀�", dataType = "Integer") + private Float buildingLength; + + /** + * 杩濆缓瀹� + */ + @ApiModelProperty(value = "杩濆缓瀹�", dataType = "Integer") + private Float buildingWidth; + + /** + * 杩濆缓楂� + */ + @ApiModelProperty(value = "杩濆缓楂�", dataType = "Float") + private Float buildingHigh; + + /** + * 杩濆缓闈㈢Н + */ + @ApiModelProperty(value = "杩濆缓闈㈢Н", dataType = "Float") + private Float buildingArea; + + /** + * 杩濆缓鏉愭枡 + */ + @ApiModelProperty(value = "杩濆缓鏉愭枡", dataType = "String") + private String materials; +} diff --git a/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolViolationDO.java b/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolViolationDO.java new file mode 100644 index 0000000..cfb96c0 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/bo/casePool/CasePoolViolationDO.java @@ -0,0 +1,69 @@ +package com.ycl.bo.casePool; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@ApiModel("妗堜欢姹犺繚瑙勬浠�") +public class CasePoolViolationDO { + + /** + * 浜嬩欢缂栧彿 + */ + @ApiModelProperty(value = "浜嬩欢缂栧彿", dataType = "String") + private String code; + + /** + * 浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏) + */ + @ApiModelProperty(value = "浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)", dataType = "Integer") + private Integer eventSource; + + + /** + * 鎶ヨ鐐逛綅 浜嬪彂鍦扮偣 + */ + @ApiModelProperty(value = "鎶ヨ鐐逛綅", dataType = "String") + private String site; + + /** + * 鎵�灞炶閬� + */ + @ApiModelProperty(value = "鎵�灞炶閬�", dataType = "Integer") + private Integer streetId; + + /** + * 鎶ヨ鏃堕棿 + */ + @ApiModelProperty(value = "鎶ヨ鏃堕棿", dataType = "LocalDateTime") + private LocalDateTime alarmTime; + + + /** + * 澶х被 + */ + @ApiModelProperty(value = "浜嬩欢缂栧彿", dataType = "String") + private Integer categoryId; + + /** + * 灏忕被 + */ + @ApiModelProperty(value = "灏忕被", dataType = "String") + private Integer typeId; + + + /** + * 妗堢敱 + */ + @ApiModelProperty(value = "妗堢敱", dataType = "String") + private String actionCause; + + /** + * 缁撴鏃堕棿 + */ + @ApiModelProperty(value = "缁撴鏃堕棿", dataType = "DateTime") + private LocalDateTime closeTime; +} 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 aa6978b..13eb69e 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 @@ -5,12 +5,23 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.api.CommonResult; 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.service.caseHandler.IBaseCaseService; -import com.ycl.vo.ViolationSettingVO; +import com.ycl.service.caseHandler.IIllegalBuildingService; +import com.ycl.service.caseHandler.IViolationsService; +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; /** @@ -23,9 +34,16 @@ */ @RestController @RequestMapping("/base-case") +@Api(tags = "妗堜欢姹�") public class BaseCaseController extends BaseController { private IBaseCaseService baseCaseService; + + @Autowired + IViolationsService violationsService; + + @Autowired + IIllegalBuildingService illegalBuildingService; @Autowired public void setBaseCaseService(IBaseCaseService baseCaseService) { @@ -34,12 +52,124 @@ @ApiOperation(value = "涓婁紶甯傚钩鍙�") @PostMapping("/upload-event") - public CommonResult uploadEvent(@RequestParam Integer caseId) { + public CommonResult uploadEvent(@RequestParam Integer caseId, CommonResult<Object> success) { String msg = baseCaseService.uploadEvent(caseId); if (StringUtils.isEmpty(msg)) { - return CommonResult.success(null); + return success; } 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/{type}") + @ApiImplicitParams({ + @ApiImplicitParam(name = "state", value = "澶勭悊鐘舵��(0璇姤 1涓婃姤 2绔嬫 3娲鹃仯 4澶勭疆 5鏍告煡 6缁撴7澶勭悊涓�)", dataType = "Integer"), + @ApiImplicitParam(name = "type", value = "01 杩濊,02 杩濆缓", dataType = "Integer") + }) + public CommonResult searchViolation(@RequestParam Integer size, + @RequestParam Integer current, + @RequestParam Integer state, + @PathVariable(value = "type") Integer type, + @RequestParam 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; + if (type == violation) { + queryList = baseCaseService.listViolationsPage(page, state, resource); + } else if (type == illegalBuilding) { + queryList = baseCaseService.listIllegalBuilding(page, state, resource); + } else { + return CommonResult.failed("bad request url"); + } + return CommonResult.success(queryList); + } + return CommonResult.failed("request parameter is null"); + } + + /** + * @return com.ycl.api.CommonResult + * @Description delete illegal building or violation + * @Param [id, type] + **/ + @ApiOperation(value = "鍒犻櫎杩濊/杩濆缓妗堜欢") + @DeleteMapping("/deletion") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "01 杩濊,02 杩濆缓", dataType = "Integer") + }) + public CommonResult removeCase(@RequestParam Integer id, @RequestParam Integer type) { + Integer violationType = 01; + Integer illegalBuildingType = 02; + if (id != null) { + if (type == violationType) { + return CommonResult.success(violationsService.removeById(id)); + } else if (type == illegalBuildingType) { + return CommonResult.success(illegalBuildingService.removeById(id)); + } + return CommonResult.success(baseCaseService.removeById(id)); + } + return CommonResult.failed("request parameter is null"); + } + + /** + * @return com.ycl.api.CommonResult + * @Description delete illegal buildings or violations + * @Param [ids, type] + **/ + @ApiOperation(value = "鍒犻櫎杩濊/杩濆缓妗堜欢") + @DeleteMapping("/batch_deletion") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "01 杩濊,02 杩濆缓", 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()) { + if (type == violationType) { + return CommonResult.success(violationsService.removeBatchByIds(idList)); + } else if (type == illegalBuildingType) { + return CommonResult.success(illegalBuildingService.removeBatchByIds(idList)); + } + return CommonResult.success(baseCaseService.removeBatchByIds(idList)); + } + return CommonResult.failed("request parameter is null"); + } + + /** + * @return com.ycl.api.CommonResult + * @Description add violation + * @Param [violationParam] + **/ + @ApiOperation(value = "娣诲姞杩濊妗堜欢") + @PostMapping("/addition_violation") + public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) { + BaseCase baseCase = new BaseCase(); + BeanUtils.copyProperties(violationParam, baseCase); + baseCaseService.save(baseCase); + return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId())); + } + + /** + * @return com.ycl.api.CommonResult + * @Description add illegal building + * @Param [violationParam] + **/ + @ApiOperation(value = "娣诲姞杩濆缓妗堜欢") + @PostMapping("/addition_violation") + public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) { + BaseCase baseCase = new BaseCase(); + BeanUtils.copyProperties(illegalBuildingParam, baseCase); + baseCaseService.save(baseCase); + return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId())); + } } diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java index 3c0e5c5..07c9d13 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java @@ -2,6 +2,7 @@ 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.api.CommonResult; @@ -12,7 +13,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; /** @@ -58,4 +62,72 @@ return CommonResult.success(iDataDictionaryService.removeById(id)); } + /** + * @Description batch delete illegal building + * @Param [ids] + * @return com.ycl.api.CommonResult + **/ + @ApiOperation(value = "鎵归噺鍒犻櫎杩濊绫诲瀷") + @DeleteMapping("/batch_delete") + public CommonResult removeIllegalBuildings(@RequestParam String[] ids){ + return CommonResult.success(iDataDictionaryService.removeBatchByIds(Arrays.asList(ids))); + } + + /** + * @Description search illegal building type first + * @Param [] + * @return com.ycl.api.CommonResult + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炵被鍨�") + @GetMapping("/query/type_first") + public CommonResult searchIllegalBuildingTypeFirst(){ + String typeLevel="1"; + String typeCode="06"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel,typeLevel) + .eq(DataDictionary::getTypeCode,typeCode))); + } + + /** + * @Description search illegal building type second + * @Param [] + * @return com.ycl.api.CommonResult + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炵被鍒�") + @GetMapping("/query/type_second") + public CommonResult searchIllegalBuildingTypeSecond(){ + String typeLevel="2"; + String typeCode="06"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel,typeLevel) + .eq(DataDictionary::getTypeCode,typeCode))); + } + + /** + * @Description modify illegal building type + * @Param [typeFirst, id] + * @return com.ycl.api.CommonResult + **/ + @ApiOperation(value = "淇敼鎵�灞炵被鍨�/绫诲埆") + @PutMapping("/modification/type") + public CommonResult modifyIllegalBuildingType(@RequestParam String type,@RequestParam Integer id){ + return CommonResult.success(iDataDictionaryService + .update(new LambdaUpdateWrapper<DataDictionary>() + .eq(DataDictionary::getId,id) + .set(StringUtils.isNotBlank(type),DataDictionary::getName,type))); + } + + /** + * @Description addition illegal building type + * @Param [dataDictionary] + * @return com.ycl.api.CommonResult + **/ + @ApiOperation(value = "娣诲姞鎵�灞炵被鍨�/绫诲埆") + @PostMapping("/addition/type") + public CommonResult addIllegalBuildingTypeFirst(@RequestBody @Validated DataDictionary dataDictionary){ + return CommonResult.success(iDataDictionaryService.save(dataDictionary)); + } + } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/ViolationsController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/ViolationsController.java index fcdf6a6..b5ab37d 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/ViolationsController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/ViolationsController.java @@ -1,6 +1,9 @@ package com.ycl.controller.caseHandler; +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.api.CommonResult; import com.ycl.controller.BaseController; @@ -10,7 +13,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; /** @@ -29,30 +35,147 @@ IDataDictionaryService iDataDictionaryService; /** + * @return com.ycl.api.CommonResult * @Description 鏌ヨ杩濆缓绫诲瀷 * @Param [size, current, keyWord] - * @return com.ycl.api.CommonResult **/ @ApiOperation(value = "鏌ヨ杩濊绫诲瀷") @GetMapping("/query") - public CommonResult searchIllegalBuilding(@RequestParam Integer size, - @RequestParam Integer current, - @RequestParam(required = false) String keyWord) { + public CommonResult searchViolations(@RequestParam Integer size, + @RequestParam Integer current, + @RequestParam(required = false) String keyWord) { Page<ViolationSettingVO> dataDictionaryPage = new Page<>(); dataDictionaryPage.setSize(size); dataDictionaryPage.setCurrent(current); - return CommonResult.success(iDataDictionaryService.listViolations(dataDictionaryPage,keyWord)); + return CommonResult.success(iDataDictionaryService.listViolations(dataDictionaryPage, keyWord)); } /** - * @Description delete illegal building by id - * @Param [id] * @return com.ycl.api.CommonResult + * @Description delete illegal building by id + * @Param [id] **/ @ApiOperation(value = "鍒犻櫎杩濊绫诲瀷") @DeleteMapping("/delete") - public CommonResult removeIllegalBuilding(@RequestParam Integer id){ + public CommonResult removeViolation(@RequestParam Integer id) { return CommonResult.success(iDataDictionaryService.removeById(id)); } + /** + * @return com.ycl.api.CommonResult + * @Description batch delete violations + * @Param [ids] + **/ + @ApiOperation(value = "鎵归噺鍒犻櫎杩濊绫诲瀷") + @DeleteMapping("/batch_delete") + public CommonResult removeViolations(@RequestParam String[] ids) { + return CommonResult.success(iDataDictionaryService.removeBatchByIds(Arrays.asList(ids))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description search violation type first + * @Param [] + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炵被鍨�") + @GetMapping("/query/type_first") + public CommonResult searchViolationsTypeFirst() { + String typeLevel = "1"; + String typeCode = "01"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel, typeLevel) + .eq(DataDictionary::getTypeCode, typeCode))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description search violation type second + * @Param [] + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炲ぇ绫�") + @GetMapping("/query/type_second") + public CommonResult searchViolationsTypeSecond() { + String typeLevel = "2"; + String typeCode = "01"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel, typeLevel) + .eq(DataDictionary::getTypeCode, typeCode))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description search violation type third + * @Param [] + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炲皬绫�") + @GetMapping("/query/type_third") + public CommonResult searchViolationsTypeThird() { + String typeLevel = "3"; + String typeCode = "01"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel, typeLevel) + .eq(DataDictionary::getTypeCode, typeCode))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description search violation type four + * @Param [] + **/ + @ApiOperation(value = "鏌ヨ鎵�灞炴鐢�") + @GetMapping("/query/type_four") + public CommonResult searchViolationsTypeFour() { + String typeLevel = "4"; + String typeCode = "01"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel, typeLevel) + .eq(DataDictionary::getTypeCode, typeCode))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description search violation event type + * @Param [] + **/ + @ApiOperation(value = "鏌ヨ浜嬩欢绛夌骇绫诲瀷") + @GetMapping("/query/event_type") + public CommonResult searchViolationsEventType() { + String typeLevel = "1"; + String typeCode = "02"; + return CommonResult.success(iDataDictionaryService + .list(new LambdaQueryWrapper<DataDictionary>() + .eq(DataDictionary::getLevel, typeLevel) + .eq(DataDictionary::getTypeCode, typeCode))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description modify violation type + * @Param [typeFirst, id] + **/ + @ApiOperation(value = "淇敼鎵�灞炵被鍨�/澶х被/灏忕被/妗堢敱") + @PutMapping("/modification/type") + public CommonResult modifyViolationTypeFirst(@RequestParam String type, @RequestParam Integer id) { + return CommonResult.success(iDataDictionaryService + .update(new LambdaUpdateWrapper<DataDictionary>() + .eq(DataDictionary::getId, id) + .set(StringUtils.isNotBlank(type), DataDictionary::getName, type))); + } + + /** + * @return com.ycl.api.CommonResult + * @Description addition violation type + * @Param [dataDictionary] + **/ + @ApiOperation(value = "娣诲姞鎵�灞炵被鍨�/澶х被/灏忕被/妗堢敱") + @PostMapping("/addition/type") + public CommonResult addViolationType(@RequestBody @Validated DataDictionary dataDictionary) { + return CommonResult.success(iDataDictionaryService.save(dataDictionary)); + } + + } diff --git a/ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java b/ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java new file mode 100644 index 0000000..893e947 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java @@ -0,0 +1,118 @@ +package com.ycl.dto.casePool; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class IllegalBuildingParam { + /** + * 闂绫诲埆锛�1-杩濊 2-杩濆缓锛� + */ + @ApiModelProperty(value = "闂绫诲埆锛�1-杩濊 2-杩濆缓", dataType = "Integer") + @NotNull(message = "涓嶅厑璁搁棶棰樼被鍨嬩负绌�") + private Integer category; + + /** + * 杩濆缓绫诲埆 + */ + @ApiModelProperty(value = "杩濆缓绫诲埆", dataType = "Integer") + @NotBlank(message = "涓嶅厑璁歌繚寤虹被鍒负绌�") + private Integer categoryId; + + + /** + * 鎵�灞炵ぞ鍖� + */ + @ApiModelProperty(value = "鎵�灞炵ぞ鍖�", dataType = "Integer") + @NotBlank(message = "涓嶅厑璁告墍灞炵ぞ鍖轰负绌�") + private Integer communityId; + + + + /** + * 鎶ヨ鐐逛綅 浜嬪彂鍦扮偣 + */ + @ApiModelProperty(value = "浜嬪彂鍦扮偣", dataType = "String") + @NotBlank(message = "涓嶅厑璁镐簨鍙戝湴鐐逛负绌�") + private String site; + + /** + * 褰撲簨浜哄鍚� + */ + @ApiModelProperty(value = "褰撲簨浜哄鍚�", dataType = "String") + @NotBlank(message = "涓嶅厑璁稿綋浜嬩汉濮撳悕涓虹┖") + private String partyName; + + /** + * 褰撲簨浜鸿韩浠借瘉鍙风爜 + */ + @ApiModelProperty(value = "褰撲簨浜鸿韩浠借瘉鍙风爜", dataType = "String") + @NotBlank(message = "涓嶅厑璁稿綋浜嬩汉韬唤璇佸彿鐮佷负绌�") + private String partyIdCard; + + /** + * 褰撲簨浜鸿仈绯荤數璇� + */ + @ApiModelProperty(value = "浜嬪彂鍦扮偣", dataType = "String") + @NotBlank(message = "涓嶅厑璁镐簨鍙戝湴鐐逛负绌�") + private String partyPhone; + + /** + * 韬唤璇佹闈� + */ + @ApiModelProperty(value = "韬唤璇佹闈�", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌韩浠借瘉姝i潰涓虹┖") + private String positive; + + /** + * 韬唤璇佸弽闈� + */ + @ApiModelProperty(value = "韬唤璇佸弽闈�", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌韩浠借瘉鍙嶉潰涓虹┖") + private String negative; + + /** + * 杩濆缓鍏蜂綋浣嶇疆 + */ + @ApiModelProperty(value = "杩濆缓鍏蜂綋浣嶇疆", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤哄叿浣撲綅缃负绌�") + private String position; + + /** + * 杩濆缓闀� + */ + @ApiModelProperty(value = "杩濆缓闀�", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤洪暱涓虹┖") + private Float buildingLength; + + /** + * 杩濆缓瀹� + */ + @ApiModelProperty(value = "杩濆缓瀹�", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤哄涓虹┖") + private Float buildingWidth; + + /** + * 杩濆缓楂� + */ + @ApiModelProperty(value = "杩濆缓楂�", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤洪珮涓虹┖") + private Float buildingHigh; + + /** + * 杩濆缓闈㈢Н + */ + @ApiModelProperty(value = "杩濆缓闈㈢Н", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤洪潰绉负绌�") + private Float buildingArea; + + /** + * 杩濆缓鏉愭枡 + */ + @ApiModelProperty(value = "杩濆缓鏉愭枡", dataType = "String") + @NotBlank(message = "涓嶅厑璁歌繚寤烘潗鏂欎负绌�") + private String materials; +} diff --git a/ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java b/ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java new file mode 100644 index 0000000..90853df --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java @@ -0,0 +1,104 @@ +package com.ycl.dto.casePool; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class ViolationParam { + /** + * 闂绫诲埆锛�1-杩濊 2-杩濆缓锛� + */ + @ApiModelProperty(value = "闂绫诲埆锛�1-杩濊 2-杩濆缓", dataType = "Integer") + @NotNull(message = "涓嶅厑璁搁棶棰樼被鍨嬩负绌�") + private Integer category; + + /** + * 澶х被 + */ + @ApiModelProperty(value = "澶х被", dataType = "Integer") + @NotNull(message = "涓嶅厑璁稿ぇ绫讳负绌�") + private Integer categoryId; + + /** + * 灏忕被 + */ + @ApiModelProperty(value = "灏忕被", dataType = "Integer") + @NotNull(message = "涓嶅厑璁稿皬绫讳负绌�") + private Integer typeId; + + /** + * 鎵�灞炶閬� + */ + @ApiModelProperty(value = "鎵�灞炶閬�", dataType = "Integer") + @NotNull(message = "涓嶅厑璁告墍灞炶閬撲负绌�") + private Integer streetId; + + /** + * 鎵�灞炵ぞ鍖� + */ + @ApiModelProperty(value = "鎵�灞炵ぞ鍖�", dataType = "Integer") + @NotBlank(message = "涓嶅厑璁告墍灞炵ぞ鍖轰负绌�") + private Integer communityId; + + + /** + * 妗堢敱 + */ + @ApiModelProperty(value = "妗堢敱", dataType = "String") + @NotBlank(message = "涓嶅厑璁告鐢变负绌�") + private String actionCause; + + + /** + * 鎶ヨ鐐逛綅 浜嬪彂鍦扮偣 + */ + @ApiModelProperty(value = "浜嬪彂鍦扮偣", dataType = "String") + @NotBlank(message = "涓嶅厑璁镐簨鍙戝湴鐐逛负绌�") + private String site; + + /** + * 鏄惁鍏宠仈鍟嗛摵 + */ + @ApiModelProperty(value = "鏄惁鍏宠仈鍟嗛摵", dataType = "Boolean") + private Integer linkShop; + + /** + * 鍏宠仈鍟嗛摵鍚嶇О + */ + @ApiModelProperty(value = "鍏宠仈鍟嗛摵鍚嶇О", dataType = "String") + private String shopName; + + /** + * 杞︾墝鍙� + */ + @ApiModelProperty(value = "杞︾墝鍙�", dataType = "String") + private String carNumber; + + /** + * 闂鎻忚堪 + */ + @ApiModelProperty(value = "闂鎻忚堪", dataType = "String") + @NotBlank(message = "涓嶅厑璁搁棶棰樻弿杩颁负绌�") + private String description; + + /** + * 鍙嶆槧浜� + */ + @ApiModelProperty(value = "鍙嶆槧浜�", dataType = "String") + private String informant; + + /** + * 鍙嶆槧浜鸿仈绯绘柟寮� + */ + @ApiModelProperty(value = "鍙嶆槧浜鸿仈绯绘柟寮�", dataType = "String") + private String informantPhoneCode; + + /** + * 韬唤璇佸彿鐮� + */ + @ApiModelProperty(value = "韬唤璇佸彿鐮�", dataType = "String") + private String informantIdCard; +} diff --git a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java index 7426c79..206eee6 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java +++ b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCase.java @@ -8,9 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; /** * <p> @@ -24,6 +22,8 @@ @EqualsAndHashCode(callSuper = false) @TableName("ums_base_case") @Builder +@AllArgsConstructor +@NoArgsConstructor public class BaseCase implements Serializable { private static final long serialVersionUID = 1L; @@ -136,5 +136,9 @@ @TableField("task_code") private String taskCode; - -} + /** + * 缁撴潫鏃堕棿 + */ + @TableField("close_time") + private LocalDateTime closeTime; +} \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java index adbeb23..c557028 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java +++ b/ycl-platform/src/main/java/com/ycl/entity/caseHandler/Violations.java @@ -60,7 +60,7 @@ * 鏄惁鍏宠仈鍟嗛摵 */ @TableField("link_shop") - private Boolean linkShop; + private Integer linkShop; /** * 鍏宠仈鍟嗛摵鍚嶇О diff --git a/ycl-platform/src/main/java/com/ycl/entity/dict/DataDictionary.java b/ycl-platform/src/main/java/com/ycl/entity/dict/DataDictionary.java index d8656ac..66605c2 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/dict/DataDictionary.java +++ b/ycl-platform/src/main/java/com/ycl/entity/dict/DataDictionary.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; /** @@ -20,6 +24,7 @@ @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_data_dictionary") +@ApiModel(value = "瀛楀吀琛�") public class DataDictionary implements Serializable { private static final long serialVersionUID = 1L; @@ -28,48 +33,61 @@ * 涓婚敭 */ @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "涓婚敭",dataType = "Long") private Long id; /** * 瀛楀吀鍊� */ @TableField("name") + @ApiModelProperty(value = "杩濊涓殑绫诲瀷/澶х被/灏忕被/妗堢敱,杩濆缓涓殑/绫诲瀷/绫诲埆",dataType = "String") + @NotBlank(message = "瀛楀吀鍊间负绌�") private String name; /** * 缂栫爜 */ @TableField("code") + @ApiModelProperty(value = "缂栫爜 ps:鏆傛椂涓嶄紶",dataType = "String") + @NotBlank(message = "缂栫爜涓虹┖") private String code; /** * 鐖剁骇id */ @TableField("parent_id") + @ApiModelProperty(value = "鐖剁骇id ps:涓轰笂涓�绾х殑id",dataType = "String") private String parentId; /** * 灞傜骇 */ @TableField("level") + @ApiModelProperty(value = "绾у埆:杩濊涓被鍨�/澶х被/灏忕被/妗堢敱 鍒嗗埆鏄�1/2/3/4 ,杩濆缓涓被鍨�/绫诲埆 鍒嗗埆鏄�1/2",dataType = "Integer") + @NotNull(message = "灞傜骇涓虹┖") private Short level; /** * 瀛楀吀绫诲瀷 */ @TableField("type_name") + @ApiModelProperty(value = "瀛楀吀绫诲瀷:杩濊涓洪棶棰樼被鍨�,杩濆缓涓鸿繚寤虹被鍨�",dataType = "String") + @NotBlank(message = "瀛楀吀绫诲瀷涓虹┖") private String typeName; /** * 瀛楀吀绫诲瀷浠g爜 */ @TableField("type_code") + @ApiModelProperty(value = "瀛楀吀绫诲瀷浠g爜:杩濊涓�'01',杩濆缓涓�'06'",dataType = "String") + @NotBlank(message = "瀛楀吀绫诲瀷涓虹┖") private String typeCode; /** * 澶囨敞 */ @TableField("remark") + @ApiModelProperty(value = "澶囨敞 ps:棰勭暀瀛楁",dataType = "String") private String remark; } diff --git a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java index 39a7192..0554f76 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java @@ -1,7 +1,10 @@ package com.ycl.mapper.caseHandler; -import com.ycl.entity.caseHandler.BaseCase; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ycl.bo.casePool.CasePoolIllegalBuildingDO; +import com.ycl.bo.casePool.CasePoolViolationDO; +import com.ycl.entity.caseHandler.BaseCase; /** * <p> @@ -12,5 +15,7 @@ * @since 2022-09-24 */ public interface BaseCaseMapper extends BaseMapper<BaseCase> { + Page<CasePoolViolationDO> listViolationsPage(Page page, Integer state, Integer type, Integer resource); + Page<CasePoolIllegalBuildingDO> listIllegalBuildingsPage(Page page, Integer state, Integer type, Integer resource); } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java index 7557069..2174583 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java @@ -1,5 +1,8 @@ package com.ycl.service.caseHandler; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ycl.dto.casePool.IllegalBuildingParam; +import com.ycl.dto.casePool.ViolationParam; import com.ycl.entity.caseHandler.BaseCase; import com.baomidou.mybatisplus.extension.service.IService; @@ -22,6 +25,13 @@ */ String uploadEvent(Integer caseId); + Page listViolationsPage(Page page, Integer state, Integer resource); + + Page listIllegalBuilding(Page page, Integer state, Integer resource); + + Boolean saveViolationCase(ViolationParam violationParam,Integer id); + + Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id); /** * 鍚屾妗堜欢杩涘害 * diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java index 353d583..a4b3cd8 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java @@ -1,18 +1,37 @@ package com.ycl.service.caseHandler.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.bo.casePool.CasePoolIllegalBuildingDO; +import com.ycl.bo.casePool.CasePoolViolationDO; +import com.ycl.dto.casePool.IllegalBuildingParam; +import com.ycl.dto.casePool.ViolationParam; import com.ycl.entity.caseHandler.BaseCase; +import com.ycl.entity.caseHandler.IllegalBuilding; import com.ycl.entity.caseHandler.Violations; import com.ycl.entity.video.VideoAlarmReport; import com.ycl.mapper.caseHandler.BaseCaseMapper; +import com.ycl.mapper.caseHandler.IllegalBuildingMapper; +import com.ycl.mapper.caseHandler.ViolationsMapper; +import com.ycl.mapper.dict.DataDictionaryMapper; import com.ycl.remote.dto.*; import com.ycl.remote.service.CityPlatformService; import com.ycl.service.caseHandler.IBaseCaseService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.service.caseHandler.IViolationsService; import com.ycl.service.video.IVideoAlarmReportService; +import com.ycl.vo.casePool.CasePoolIllegalBuildingVO; +import com.ycl.vo.casePool.CasePoolViolationVO; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -46,6 +65,15 @@ public void setVideoAlarmReportService(IVideoAlarmReportService videoAlarmReportService) { this.videoAlarmReportService = videoAlarmReportService; } + + @Resource + BaseCaseMapper baseCaseMapper; + @Resource + DataDictionaryMapper dataDictionaryMapper; + @Resource + ViolationsMapper violationsMapper; + @Resource + IllegalBuildingMapper illegalBuildingMapper; @Override public String uploadEvent(Integer caseId) { @@ -87,4 +115,77 @@ return responseDto.getMsg(); } } -} + + @Override + public Page listViolationsPage(Page page, Integer state, Integer resource) { + Integer type = 01; + Page<CasePoolViolationDO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource); + List<CasePoolViolationVO> violationVOList = violationsPage.getRecords().stream().map(item -> { + CasePoolViolationVO casePoolViolationVO = new CasePoolViolationVO(); + BeanUtils.copyProperties(item, casePoolViolationVO); + if (item.getCloseTime() == null) { + long nowTime = System.currentTimeMillis(); + long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); + LocalDateTime continueTimes = Instant.ofEpochMilli(nowTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); + String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + casePoolViolationVO.setContinueTime(continueTime); + } else { + long closeTime = item.getCloseTime().toEpochSecond(ZoneOffset.ofHours(8)); + long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); + LocalDateTime continueTimes = Instant.ofEpochMilli(closeTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); + String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + casePoolViolationVO.setContinueTime(continueTime); + } + casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); + casePoolViolationVO.setType(dataDictionaryMapper.selectById(item.getTypeId()).getName()); + return casePoolViolationVO; + }).collect(Collectors.toList()); + Page<CasePoolViolationVO> casePoolViolationVOPage = new Page<>(); + BeanUtils.copyProperties(violationsPage, casePoolViolationVOPage); + casePoolViolationVOPage.setRecords(violationVOList); + return casePoolViolationVOPage; + } + + @Override + public Page listIllegalBuilding(Page page, Integer state, Integer resource) { + Integer type = 02; + Page<CasePoolIllegalBuildingDO> casePoolIllegalBuildingDTOPage = baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource); + List<CasePoolIllegalBuildingVO> casePoolIllegalBuildingVOList = casePoolIllegalBuildingDTOPage + .getRecords() + .stream() + .map( + item -> { + CasePoolIllegalBuildingVO casePoolIllegalBuildingVO = new CasePoolIllegalBuildingVO(); + BeanUtils.copyProperties(item, casePoolIllegalBuildingVO); + casePoolIllegalBuildingVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); + return casePoolIllegalBuildingVO; + } + ).collect(Collectors.toList()); + Page<CasePoolIllegalBuildingVO> casePoolViolationVOPage = new Page<>(); + BeanUtils.copyProperties(casePoolIllegalBuildingDTOPage, casePoolViolationVOPage); + casePoolViolationVOPage.setRecords(casePoolIllegalBuildingVOList); + return casePoolViolationVOPage; + } + + @Override + public Boolean saveViolationCase(ViolationParam violationParam, Integer id) { + BaseCase baseCase = new BaseCase(); + Violations violations = new Violations(); + BeanUtils.copyProperties(violationParam, baseCase); + BeanUtils.copyProperties(violationParam, violations); + violations.setId(id); + Integer value = 1; + return violationsMapper.insert(violations) == value ? true : false; + } + + @Override + public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) { + BaseCase baseCase = new BaseCase(); + IllegalBuilding illegalBuilding = new IllegalBuilding(); + BeanUtils.copyProperties(illegalBuilding, baseCase); + BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam); + illegalBuilding.setBaseCaseId(id); + Integer value = 1; + return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false; + } +} \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolIllegalBuildingVO.java b/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolIllegalBuildingVO.java new file mode 100644 index 0000000..d946d45 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolIllegalBuildingVO.java @@ -0,0 +1,73 @@ +package com.ycl.vo.casePool; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@ApiModel("妗堜欢姹犺繚寤虹珛妗堜欢") +public class CasePoolIllegalBuildingVO { + + /** + * 浜嬩欢缂栧彿 + */ + @ApiModelProperty(value = "浜嬩欢缂栧彿", dataType = "String") + private String code; + + /** + * 浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏) + */ + @ApiModelProperty(value = "浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)", dataType = "Integer") + private Integer eventSource; + + /** + * 杩濆缓绫诲埆 + */ + @ApiModelProperty(value = "杩濆缓绫诲埆", dataType = "String") + private String category; + + /** + * 鎵�灞炵ぞ鍖� + */ + @ApiModelProperty(value = "鎵�灞炵ぞ鍖�", dataType = "Integer") + private Integer communityId; + + /** + * 杩濆缓鍦扮偣 + */ + @ApiModelProperty(value = "杩濆缓鍦扮偣", dataType = "String") + private String site; + + /** + * 杩濆缓闀� + */ + @ApiModelProperty(value = "杩濆缓闀�", dataType = "Integer") + private Float buildingLength; + + /** + * 杩濆缓瀹� + */ + @ApiModelProperty(value = "杩濆缓瀹�", dataType = "Integer") + private Float buildingWidth; + + /** + * 杩濆缓楂� + */ + @ApiModelProperty(value = "杩濆缓楂�", dataType = "Float") + private Float buildingHigh; + + /** + * 杩濆缓闈㈢Н + */ + @ApiModelProperty(value = "杩濆缓闈㈢Н", dataType = "Float") + private Float buildingArea; + + /** + * 杩濆缓鏉愭枡 + */ + @ApiModelProperty(value = "杩濆缓鏉愭枡", dataType = "String") + private String materials; +} diff --git a/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolViolationVO.java b/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolViolationVO.java new file mode 100644 index 0000000..780ebb7 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/casePool/CasePoolViolationVO.java @@ -0,0 +1,69 @@ +package com.ycl.vo.casePool; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@ApiModel("妗堜欢姹犺繚瑙勬浠�") +public class CasePoolViolationVO { + + /** + * 浜嬩欢缂栧彿 + */ + @ApiModelProperty(value = "浜嬩欢缂栧彿", dataType = "String") + private String code; + + /** + * 浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏) + */ + @ApiModelProperty(value = "浜嬩欢鏉ユ簮(1-瑙嗛 2-鎵嬪姩鐧昏)", dataType = "Integer") + private Integer eventSource; + + + /** + * 鎶ヨ鐐逛綅 浜嬪彂鍦扮偣 + */ + @ApiModelProperty(value = "鎶ヨ鐐逛綅", dataType = "String") + private String site; + + /** + * 鎵�灞炶閬� + */ + @ApiModelProperty(value = "鎵�灞炶閬�", dataType = "Integer") + private Integer streetId; + + /** + * 鎶ヨ鏃堕棿 + */ + @ApiModelProperty(value = "鎶ヨ鏃堕棿", dataType = "LocalDateTime") + private LocalDateTime alarmTime; + + + /** + * 澶х被 + */ + @ApiModelProperty(value = "澶х被", dataType = "String") + private String category; + + /** + * 灏忕被 + */ + @ApiModelProperty(value = "灏忕被", dataType = "String") + private String type; + + + /** + * 妗堢敱 + */ + @ApiModelProperty(value = "妗堢敱", dataType = "String") + private String actionCause; + + /** + * 鎸佺画鏃堕棿 + */ + @ApiModelProperty(value = "鎸佺画鏃堕棿", dataType = "String") + private String continueTime; +} diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml index 6c4387e..fd07456 100644 --- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml +++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml @@ -4,28 +4,94 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <resultMap id="BaseResultMap" type="com.ycl.entity.caseHandler.BaseCase"> - <id column="id" property="id" /> - <result column="code" property="code" /> - <result column="event_source" property="eventSource" /> - <result column="category" property="category" /> - <result column="street_id" property="streetId" /> - <result column="community_id" property="communityId" /> - <result column="site" property="site" /> - <result column="longitude" property="longitude" /> - <result column="latitude" property="latitude" /> - <result column="alarm_time" property="alarmTime" /> - <result column="create_user" property="createUser" /> - <result column="state" property="state" /> - <result column="handling_opinion" property="handlingOpinion" /> - <result column="remark" property="remark" /> - <result column="audit_opinion" property="auditOpinion" /> - <result column="final_opinion" property="finalOpinion" /> - <result column="create_time" property="createTime" /> + <id column="id" property="id"/> + <result column="code" property="code"/> + <result column="event_source" property="eventSource"/> + <result column="category" property="category"/> + <result column="street_id" property="streetId"/> + <result column="community_id" property="communityId"/> + <result column="site" property="site"/> + <result column="longitude" property="longitude"/> + <result column="latitude" property="latitude"/> + <result column="alarm_time" property="alarmTime"/> + <result column="create_user" property="createUser"/> + <result column="state" property="state"/> + <result column="handling_opinion" property="handlingOpinion"/> + <result column="remark" property="remark"/> + <result column="audit_opinion" property="auditOpinion"/> + <result column="final_opinion" property="finalOpinion"/> + <result column="create_time" property="createTime"/> + </resultMap> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="settingsResultMap" type="com.ycl.vo.IllegalBuildingSettingVO"> + <id column="number" property="number"/> + <result column="type" property="type"/> + <result column="typeFirst" property="typeFirst"/> + <result column="typeSecond" property="typeSecond"/> + <result column="typeThird" property="typeThird"/> </resultMap> <!-- 閫氱敤鏌ヨ缁撴灉鍒� --> <sql id="Base_Column_List"> - id, code, event_source, category, street_id, community_id, site, longitude, latitude, alarm_time, create_user, state, handling_opinion, remark, audit_opinion, final_opinion, create_time + id + , code, event_source, category, street_id, community_id, site, longitude, latitude, alarm_time, create_user, state, handling_opinion, remark, audit_opinion, final_opinion, create_time </sql> + <select id="listViolationsPage" resultType="com.ycl.bo.casePool.CasePoolViolationDO"> + SELECT + ubc.`code`, + ubc.event_source, + uv.category_id, + uv.type_id, + uv.action_cause, + ubc.site, + ubc.street_id, + ubc.alarm_time, + ubc.close_time + FROM + `ums_base_case` AS ubc + JOIN ums_violations AS uv ON ubc.id = uv.id + <where> + <if test="state!=null"> + ubc.state=#{state} + </if> + <if test="resource!=null"> + and ubc.event_source=#{resource} + </if> + <if test="type!=null"> + and ubc.category=#{type} + </if> + </where> + + </select> + + <select id="listIllegalBuildingsPage" resultType="com.ycl.bo.casePool.CasePoolIllegalBuildingDO"> + SELECT + ubc.`code`, + ubc.event_source, + uib.category_id, + ubc.site, + ubc.community_id, + uib.building_high, + uib.building_width, + uib.building_length, + uib.building_area, + uib.materials + FROM + `ums_base_case` AS ubc + JOIN ums_illegal_building AS uib ON ubc.id = uib.base_case_id + <where> + <if test="state!=null"> + ubc.state=#{state} + </if> + <if test="resource!=null"> + and ubc.event_source=#{resource} + </if> + <if test="type!=null"> + and ubc.category=#{type} + </if> + </where> + + </select> </mapper> -- Gitblit v1.8.0