From 694b2defde1d03215a302975907f364ff77d397c Mon Sep 17 00:00:00 2001 From: xjm Date: Wed, 31 Jul 2024 17:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=BD=E6=9F=A5=E6=97=A5=E5=BF=97=E5=88=86?= =?UTF-8?q?=E9=A1=B5,=E7=BB=BC=E8=BF=B0=E6=9F=A5=E8=AF=A2,=E5=A4=87?= =?UTF-8?q?=E6=B3=A8=E5=86=85=E5=AE=B9=E6=96=B0=E5=A2=9E,=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=88=A0=E9=99=A4,=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2,=E9=98=B2=E6=B1=9B=E5=91=A8=E6=9C=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=B0=E5=A2=9E,=E4=BF=AE=E6=94=B9,=E5=88=A0?= =?UTF-8?q?=E9=99=A4,=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/whdc/config/MybatisInterceptor.java | 8 +- .../controller/ShAddressBookController.java | 183 ++++++++++-------- .../whdc/controller/ShCallWordController.java | 54 +++--- .../whdc/controller/ShCallsController.java | 19 +- .../whdc/controller/ShPeriodController.java | 55 +++--- .../com/whdc/mapper/ShAddressBookMapper.java | 4 + .../com/whdc/mapper/ShCallWordMapper.java | 5 + .../java/com/whdc/mapper/ShPeriodMapper.java | 5 + .../com/whdc/model/entity/ShAddressBook.java | 4 +- .../com/whdc/model/entity/ShCallWord.java | 2 +- .../java/com/whdc/model/entity/ShCalls.java | 2 +- .../java/com/whdc/model/entity/ShPeriod.java | 2 +- src/main/java/com/whdc/model/vo/AdcdTree.java | 2 + .../whdc/service/ShAddressBookService.java | 7 +- .../com/whdc/service/ShCallWordService.java | 5 +- .../com/whdc/service/ShPeriodService.java | 4 +- .../impl/ShAddressBookServiceImpl.java | 140 +++++++++++++- .../service/impl/ShCallWordServiceImpl.java | 8 +- .../service/impl/ShPeriodServiceImpl.java | 6 + src/main/java/com/whdc/utils/AdinfoUtils.java | 17 +- src/main/java/com/whdc/utils/HttpUtil.java | 5 +- .../resources/mapper/ShAddressBookMapper.xml | 53 +++++ .../resources/mapper/ShCallWordMapper.xml | 16 ++ src/main/resources/mapper/ShCallsMapper.xml | 15 +- src/main/resources/mapper/ShPeriodMapper.xml | 16 ++ 25 files changed, 456 insertions(+), 181 deletions(-) diff --git a/src/main/java/com/whdc/config/MybatisInterceptor.java b/src/main/java/com/whdc/config/MybatisInterceptor.java index 8d36200..d345fda 100644 --- a/src/main/java/com/whdc/config/MybatisInterceptor.java +++ b/src/main/java/com/whdc/config/MybatisInterceptor.java @@ -11,6 +11,7 @@ import org.apache.ibatis.plugin.Signature; import org.springframework.stereotype.Component; import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.util.Date; import static com.whdc.model.MyConstant.REC; @@ -36,6 +37,11 @@ public class MybatisInterceptor implements Interceptor { Field[] fields = parameter.getClass().getDeclaredFields(); // Field[] fields = oConvertUtils.getAllFields(parameter); for (Field field : fields) { + + if (Modifier.isFinal(field.getModifiers())) { + continue; + } + if (field.getType().equals(String.class)) { field.setAccessible(true); Object o = field.get(parameter); @@ -47,7 +53,7 @@ public class MybatisInterceptor implements Interceptor { } // 注入创建时间 - if ("createtime".equals(field.getName())) { + if ("createtime".equals(field.getName()) || ("createTime".equals(field.getName()))) { field.setAccessible(true); Object local_createDate = field.get(parameter); field.setAccessible(false); diff --git a/src/main/java/com/whdc/controller/ShAddressBookController.java b/src/main/java/com/whdc/controller/ShAddressBookController.java index d934007..3cb2c34 100644 --- a/src/main/java/com/whdc/controller/ShAddressBookController.java +++ b/src/main/java/com/whdc/controller/ShAddressBookController.java @@ -1,16 +1,18 @@ package com.whdc.controller; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.exception.MyException; +import com.whdc.model.dto.ShAddressBookDto; import com.whdc.model.entity.ShAddressBook; import com.whdc.model.group.Update; -import com.whdc.model.dto.ShAddressBookDto; +import com.whdc.model.vo.AdcdTree; import com.whdc.service.ShAddressBookService; import com.whdc.utils.ExcelCommon; import com.whdc.utils.ResultJson; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.StringUtils; @@ -29,7 +31,7 @@ import java.util.Objects; * author: xusan * date: 2024-07-29 17:27:25 */ -@Tag(name = "山洪责任人通讯录") +@Api(tags = "山洪责任人通讯录") @RestController @RequestMapping(value = "/shAddressBook") public class ShAddressBookController { @@ -38,11 +40,11 @@ public class ShAddressBookController { private ShAddressBookService service; - @Operation(summary = "修改") + @ApiOperation(value = "修改") @PostMapping("/update") public ResultJson update(@Validated(Update.class) @RequestBody ShAddressBook dto) { if (Objects.isNull(service.getById(dto.getId()))){ - throw new RuntimeException("当前数据不存在"); + throw new MyException("当前数据不存在"); } dto @@ -57,7 +59,7 @@ public class ShAddressBookController { return ResultJson.ok(result ? dto : null); } - @Operation(summary = "抽查") + @ApiOperation(value = "抽查") @PostMapping("/setSpotCheck/{spotCheck}") public ResultJson setSpotCheck(@RequestBody List ids, @PathVariable @@ -66,10 +68,10 @@ public class ShAddressBookController { Integer spotCheck ) { if (CollectionUtils.isEmpty(ids)){ - throw new RuntimeException("当前选中数据为空"); + throw new MyException("当前选中数据为空"); } if (service.lambdaQuery().in(ShAddressBook::getId, ids).count() != ids.size()){ - throw new RuntimeException("当前选中数据有误"); + throw new MyException("当前选中数据有误"); } boolean update = service.lambdaUpdate() @@ -82,82 +84,83 @@ public class ShAddressBookController { - @Operation(summary = "分页 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )") + @ApiOperation(value = "分页 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )") @PostMapping("/page") - public ResultJson> page(@RequestBody ShAddressBookDto dto) { - - LambdaQueryChainWrapper query = service.lambdaQuery(); - - String type1 = dto.getType1(); - if (StringUtils.isNotBlank(type1)) { - query.eq(ShAddressBook::getType1, type1); - } - - String type2 = dto.getType2(); - - if (StringUtils.isNotBlank(type2)) { - query.eq(ShAddressBook::getType2, type2); - } - - String isSpotCheck = dto.getIsSpotCheck(); - - if (StringUtils.isNotBlank(isSpotCheck)) { - query.eq(ShAddressBook::getIsSpotCheck, isSpotCheck); - } - - String city = dto.getCity(); - - if (StringUtils.isNotBlank(city)) { - query.eq(ShAddressBook::getCity, city); - } - - String county = dto.getCounty(); - - if (StringUtils.isNotBlank(county)) { - query.eq(ShAddressBook::getCounty, county); - } - - String area = dto.getArea(); - - if (StringUtils.isNotBlank(area)) { - query.eq(ShAddressBook::getArea, area); - } - - String village = dto.getVillage(); - - if (StringUtils.isNotBlank(village)) { - query.eq(ShAddressBook::getVillage, village); - } - - String name = dto.getName(); - - if (StringUtils.isNotBlank(name)) { - query.like(ShAddressBook::getName, name); - } - - String land = dto.getLand(); - - if (StringUtils.isNotBlank(land)) { - query.like(ShAddressBook::getLand, land); - } - - String phone = dto.getPhone(); - - if (StringUtils.isNotBlank(phone)) { - query.like(ShAddressBook::getPhone, phone); - } - - query.orderByAsc(ShAddressBook::getSort); - - return ResultJson.ok(service.page(dto.getPage(), query)); + public ResultJson> page(@RequestBody ShAddressBookDto dto) { +// +// LambdaQueryChainWrapper query = service.lambdaQuery(); +// +// String type1 = dto.getType1(); +// if (StringUtils.isNotBlank(type1)) { +// query.eq(ShAddressBook::getType1, type1); +// } +// +// String type2 = dto.getType2(); +// +// if (StringUtils.isNotBlank(type2)) { +// query.eq(ShAddressBook::getType2, type2); +// } +// +// String isSpotCheck = dto.getIsSpotCheck(); +// +// if (StringUtils.isNotBlank(isSpotCheck)) { +// query.eq(ShAddressBook::getIsSpotCheck, isSpotCheck); +// } +// +// String city = dto.getCity(); +// +// if (StringUtils.isNotBlank(city)) { +// query.eq(ShAddressBook::getCity, city); +// } +// +// String county = dto.getCounty(); +// +// if (StringUtils.isNotBlank(county)) { +// query.eq(ShAddressBook::getCounty, county); +// } +// +// String area = dto.getArea(); +// +// if (StringUtils.isNotBlank(area)) { +// query.eq(ShAddressBook::getArea, area); +// } +// +// String village = dto.getVillage(); +// +// if (StringUtils.isNotBlank(village)) { +// query.eq(ShAddressBook::getVillage, village); +// } +// +// String name = dto.getName(); +// +// if (StringUtils.isNotBlank(name)) { +// query.like(ShAddressBook::getName, name); +// } +// +// String land = dto.getLand(); +// +// if (StringUtils.isNotBlank(land)) { +// query.like(ShAddressBook::getLand, land); +// } +// +// String phone = dto.getPhone(); +// +// if (StringUtils.isNotBlank(phone)) { +// query.like(ShAddressBook::getPhone, phone); +// } +// +// query.orderByAsc(ShAddressBook::getSort); +// +// return ResultJson.ok(service.page(dto.getPage(), query)); + return ResultJson.ok(service.page(dto)); } - @Operation(summary = "导出 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )") + @ApiOperation(value = "导出 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )") @PostMapping("/export") public void export(@RequestBody ShAddressBookDto dto,HttpServletResponse response) { - LambdaQueryChainWrapper query = service.lambdaQuery(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); String type1 = dto.getType1(); if (StringUtils.isNotBlank(type1)) { @@ -229,7 +232,7 @@ public class ShAddressBookController { - @Operation(summary = "下载模板") + @ApiOperation(value = "下载模板") @GetMapping("/downloadTemplate") public void downloadTemplate(HttpServletResponse response) { ExcelCommon.exportExcel(Lists.newArrayList(), @@ -237,17 +240,31 @@ public class ShAddressBookController { response); } - @Operation(summary = "上传") + @ApiOperation(value = "上传") @PostMapping("/upload/{type1}") public ResultJson upload( @PathVariable("type1") @ApiParam(name = "type1", value = "责任人类型, 0:行政责任人,1:包保责任人") @Pattern(message = "仅支持 0 或者 1", regexp = "[01]") String type1, - @RequestBody MultipartFile file) { + MultipartFile file) { List appends = ExcelCommon.importExcel(file, 0, 1, ShAddressBook.class); + service.updateAll(type1, appends); + return ResultJson.ok(); } + + + @GetMapping("/tree") + @ApiOperation(value = "树型查询") + public ResultJson> tree() { + + List list = service.tree(); + + return ResultJson.ok(list); + + } + } \ No newline at end of file diff --git a/src/main/java/com/whdc/controller/ShCallWordController.java b/src/main/java/com/whdc/controller/ShCallWordController.java index 07e3369..1c6786b 100644 --- a/src/main/java/com/whdc/controller/ShCallWordController.java +++ b/src/main/java/com/whdc/controller/ShCallWordController.java @@ -1,7 +1,7 @@ package com.whdc.controller; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.exception.MyException; import com.whdc.model.dto.ShCallWordDto; import com.whdc.model.entity.ShCallWord; import com.whdc.model.group.Insert; @@ -9,10 +9,9 @@ import com.whdc.model.group.Update; import com.whdc.service.ShCallWordService; import com.whdc.service.ShPeriodService; import com.whdc.utils.ResultJson; -import io.swagger.v3.oas.annotations.Operation; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -26,7 +25,7 @@ import java.util.Objects; * author: xusan * date: 2024-07-29 17:27:25 */ -@Tag(name = "备注") +@Api(tags = "备注") @RestController @RequestMapping(value="/shCallWord") public class ShCallWordController { @@ -38,57 +37,58 @@ public class ShCallWordController { private ShPeriodService shPeriodService; - @Operation(summary = "新增") + @ApiOperation(value = "新增") @PostMapping("/insert") public ResultJson insert(@Validated(Insert.class) @RequestBody ShCallWord dto) { if (Objects.nonNull(dto.getShPeriodId()) && Objects.isNull(shPeriodService.getById(dto.getShPeriodId()))){ - throw new RuntimeException("当前防汛周期不存在"); + throw new MyException("当前防汛周期不存在"); } dto.setCreateTime(new Date()); boolean result = service.save(dto); return ResultJson.ok(result ? dto : null); } - @Operation(summary = "修改") + @ApiOperation(value = "修改") @PostMapping("/update") public ResultJson update(@Validated(Update.class) @RequestBody ShCallWord dto) { if (Objects.isNull(service.getById(dto.getId()))){ - throw new RuntimeException("当前数据不存在"); + throw new MyException("当前数据不存在"); } if (Objects.nonNull(dto.getShPeriodId()) && Objects.isNull(shPeriodService.getById(dto.getShPeriodId()))){ - throw new RuntimeException("当前防汛周期不存在"); + throw new MyException("当前防汛周期不存在"); } boolean result = service.updateById(dto); return ResultJson.ok(result ? dto : null); } - @Operation(summary = "删除") + @ApiOperation(value = "删除") @GetMapping("/del/{id}") public ResultJson del(@Schema(name = "id") @PathVariable("id") Serializable id) { return ResultJson.ok(service.removeById(id)); } -// @Operation(summary = "列表") +// @ApiOperation(value = "列表") // @PostMapping("/list") // public ResultJson> list() { // return ResultJson.ok(service.lambdaQuery().list()); // } - @Operation(summary = "分页") + @ApiOperation(value = "分页") @PostMapping("/page") - public ResultJson> page(@RequestBody ShCallWordDto dto) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){ - query.between(ShCallWord::getCreateTime,dto.getStm(),dto.getEtm()); - } - - if (StringUtils.isNotBlank(dto.getShAbType1())){ - query.eq(ShCallWord::getShAbType1,dto.getShAbType1()); - } - - query.orderByDesc(ShCallWord::getCreateTime); - - return ResultJson.ok(service.page(dto.getPage(),query)); + public ResultJson> page(@RequestBody ShCallWordDto dto) { +// LambdaQueryChainWrapper query = service.lambdaQuery(); +// if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){ +// query.between(ShCallWord::getCreateTime,dto.getStm(),dto.getEtm()); +// } +// +// if (StringUtils.isNotBlank(dto.getShAbType1())){ +// query.eq(ShCallWord::getShAbType1,dto.getShAbType1()); +// } +// +// query.orderByDesc(ShCallWord::getCreateTime); +// +// return ResultJson.ok(service.page(dto.getPage(),query)); + return ResultJson.ok(service.page(dto)); } } \ No newline at end of file diff --git a/src/main/java/com/whdc/controller/ShCallsController.java b/src/main/java/com/whdc/controller/ShCallsController.java index fe4a0b9..a47c4b1 100644 --- a/src/main/java/com/whdc/controller/ShCallsController.java +++ b/src/main/java/com/whdc/controller/ShCallsController.java @@ -15,8 +15,8 @@ import com.whdc.service.ShCallsService; import com.whdc.utils.DateUtils; import com.whdc.utils.ExcelCommon; import com.whdc.utils.ResultJson; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -37,7 +37,7 @@ import java.util.stream.Collectors; * author: xusan * date: 2024-07-29 17:27:25 */ -@Tag(name = "抽查日志") +@Api(tags = "抽查日志") @RestController @RequestMapping(value="/shCalls") public class ShCallsController { @@ -49,14 +49,13 @@ public class ShCallsController { private ShAddressBookService shAddressBookService; - @Operation(summary = "新增") + @ApiOperation(value = "新增") @PostMapping("/insert") public ResultJson insert(@Validated(Insert.class) @RequestBody ShCalls dto) { if (shAddressBookService.lambdaQuery().eq(ShAddressBook::getId, dto.getShAbId()).count() != 1){ throw new MyException("当前通讯录不存在"); } - dto.setCallTime(new Date()); if (StringUtils.isNotBlank(dto.getStatus()) && "0".equals(dto.getCallType())){ boolean update = shAddressBookService.lambdaUpdate() .set(ShAddressBook::getCallStatus, dto.getCallType()) @@ -70,7 +69,7 @@ public class ShCallsController { return ResultJson.ok(result ? dto : null); } - @Operation(summary = "列表") + @ApiOperation(value = "列表") @PostMapping("/list") public ResultJson> list(@RequestBody ShCallsDto dto) { LambdaQueryChainWrapper query = service.lambdaQuery(); @@ -81,18 +80,18 @@ public class ShCallsController { if (Objects.nonNull(dto.getShAbId())){ query.eq(ShCalls::getShAbId, dto.getShAbId()); }else{ - throw new RuntimeException("山洪通讯录编号不能为空"); + throw new MyException("山洪通讯录编号不能为空"); } return ResultJson.ok(query.list()); } - @Operation(summary = "抽查日志分页") + @ApiOperation(value = "抽查日志分页") @PostMapping("/page") public ResultJson> page(@RequestBody ShCallsDto dto) { return ResultJson.ok(service.page(dto)); } - @Operation(summary = "综述") + @ApiOperation(value = "综述") @PostMapping("/statistics") public ResultJson statistics(@RequestBody ShCallsDto dto) { @@ -114,7 +113,7 @@ public class ShCallsController { - @Operation(summary = "抽查日志导出(未完成)") + @ApiOperation(value = "抽查日志导出(未完成)") @PostMapping("/export") public void export(@RequestBody ShAddressBookDto dto, HttpServletResponse response) { diff --git a/src/main/java/com/whdc/controller/ShPeriodController.java b/src/main/java/com/whdc/controller/ShPeriodController.java index e34cf4d..f80b702 100644 --- a/src/main/java/com/whdc/controller/ShPeriodController.java +++ b/src/main/java/com/whdc/controller/ShPeriodController.java @@ -1,31 +1,29 @@ package com.whdc.controller; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.exception.MyException; import com.whdc.model.dto.ShPeriodDto; import com.whdc.model.entity.ShPeriod; import com.whdc.model.group.Insert; import com.whdc.model.group.Update; import com.whdc.service.ShPeriodService; import com.whdc.utils.ResultJson; -import io.swagger.v3.oas.annotations.Operation; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.Serializable; import java.util.List; -import java.util.Objects; /** * 描述: 防汛周期 * author: xusan * date: 2024-07-29 17:27:25 */ -@Tag(name = "防汛周期") +@Api(tags = "防汛周期") @RestController @RequestMapping(value="/shPeriod") public class ShPeriodController { @@ -34,56 +32,57 @@ public class ShPeriodController { private ShPeriodService service; - @Operation(summary = "新增") + @ApiOperation(value = "新增") @PostMapping("/insert") public ResultJson insert(@Validated(Insert.class) @RequestBody ShPeriod dto) { if (service.lambdaQuery().eq(ShPeriod::getName, dto.getName()).count() > 0){ - throw new RuntimeException("名称重复"); + throw new MyException("名称重复"); } boolean result = service.save(dto); return ResultJson.ok(result ? dto : null); } - @Operation(summary = "修改") + @ApiOperation(value = "修改") @PostMapping("/update") public ResultJson update(@Validated(Update.class) @RequestBody ShPeriod dto) { if (service.lambdaQuery() .eq(ShPeriod::getName, dto.getName()) .ne(ShPeriod::getId, dto.getId()) .count() > 0){ - throw new RuntimeException("名称重复"); + throw new MyException("名称重复"); } boolean result = service.updateById(dto); return ResultJson.ok(result ? dto : null); } - @Operation(summary = "删除") + @ApiOperation(value = "删除") @GetMapping("/del/{id}") public ResultJson del(@Schema(name = "id") @PathVariable("id") Serializable id) { return ResultJson.ok(service.removeById(id)); } - @Operation(summary = "列表") - @PostMapping("/list") +// @ApiOperation(value = "列表") +// @PostMapping("/list") public ResultJson> list() { return ResultJson.ok(service.lambdaQuery().list()); } - @Operation(summary = "分页") + @ApiOperation(value = "分页") @PostMapping("/page") - public ResultJson> page(@RequestBody ShPeriodDto dto) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){ - query.between(ShPeriod::getCreateTime,dto.getStm(),dto.getEtm()); - } - - if (StringUtils.isNotBlank(dto.getName())){ - query.eq(ShPeriod::getName,dto.getName()); - } - - query.orderByDesc(ShPeriod::getCreateTime); - - return ResultJson.ok(service.page(dto.getPage(),query)); + public ResultJson> page(@RequestBody ShPeriodDto dto) { +// LambdaQueryChainWrapper query = service.lambdaQuery(); +// if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){ +// query.between(ShPeriod::getCreateTime,dto.getStm(),dto.getEtm()); +// } +// +// if (StringUtils.isNotBlank(dto.getName())){ +// query.eq(ShPeriod::getName,dto.getName()); +// } +// +// query.orderByDesc(ShPeriod::getCreateTime); +// +// return ResultJson.ok(service.page(dto.getPage(),query)); + return ResultJson.ok(service.page(dto)); } diff --git a/src/main/java/com/whdc/mapper/ShAddressBookMapper.java b/src/main/java/com/whdc/mapper/ShAddressBookMapper.java index b3a47e3..e5936d6 100644 --- a/src/main/java/com/whdc/mapper/ShAddressBookMapper.java +++ b/src/main/java/com/whdc/mapper/ShAddressBookMapper.java @@ -1,8 +1,11 @@ package com.whdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.model.dto.ShAddressBookDto; import com.whdc.model.entity.ShAddressBook; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 描述: 山洪责任人通讯录 @@ -11,5 +14,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ShAddressBookMapper extends BaseMapper { + IPage page(@Param("page") IPage page, @Param("dto") ShAddressBookDto dto); } \ No newline at end of file diff --git a/src/main/java/com/whdc/mapper/ShCallWordMapper.java b/src/main/java/com/whdc/mapper/ShCallWordMapper.java index f87756e..d9fa4cb 100644 --- a/src/main/java/com/whdc/mapper/ShCallWordMapper.java +++ b/src/main/java/com/whdc/mapper/ShCallWordMapper.java @@ -1,8 +1,11 @@ package com.whdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.model.dto.ShCallWordDto; import com.whdc.model.entity.ShCallWord; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 描述: 备注 @@ -12,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ShCallWordMapper extends BaseMapper { + IPage page(@Param("page") IPage page, @Param("dto") ShCallWordDto dto); + } \ No newline at end of file diff --git a/src/main/java/com/whdc/mapper/ShPeriodMapper.java b/src/main/java/com/whdc/mapper/ShPeriodMapper.java index 72a47dc..8d64d21 100644 --- a/src/main/java/com/whdc/mapper/ShPeriodMapper.java +++ b/src/main/java/com/whdc/mapper/ShPeriodMapper.java @@ -1,8 +1,11 @@ package com.whdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.whdc.model.dto.ShPeriodDto; import com.whdc.model.entity.ShPeriod; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 描述: 防汛周期 @@ -12,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ShPeriodMapper extends BaseMapper { + IPage page(@Param("page") IPage page, @Param("dto") ShPeriodDto dto); + } \ No newline at end of file diff --git a/src/main/java/com/whdc/model/entity/ShAddressBook.java b/src/main/java/com/whdc/model/entity/ShAddressBook.java index ce50492..14a9890 100644 --- a/src/main/java/com/whdc/model/entity/ShAddressBook.java +++ b/src/main/java/com/whdc/model/entity/ShAddressBook.java @@ -23,7 +23,7 @@ import java.io.Serializable; @Schema(description = "山洪责任人通讯录") @Data @Accessors(chain = true) -@TableName("public.SH_ADDRESS_BOOK") +@TableName("FXKH_TXL.SH_ADDRESS_BOOK") public class ShAddressBook implements Serializable { public final static String thisTableName = "ShAddressBook"; @@ -81,7 +81,7 @@ public class ShAddressBook implements Serializable { @TableField(value = "type2") @Schema(description = "责任人类型2 县级,乡级,村级, 县干部,乡干部") @Size(max = 50, message = "责任人类型2 县级,乡级,村级, 县干部,乡干部最大长度要小于 50") - @Excel(name = "责任人类型2", width = 20,orderNum = "5") + @Excel(name = "责任人类型", width = 20,orderNum = "5") private String type2; /** diff --git a/src/main/java/com/whdc/model/entity/ShCallWord.java b/src/main/java/com/whdc/model/entity/ShCallWord.java index 4da3ff3..8a74d41 100644 --- a/src/main/java/com/whdc/model/entity/ShCallWord.java +++ b/src/main/java/com/whdc/model/entity/ShCallWord.java @@ -22,7 +22,7 @@ import java.util.Date; */ @Schema(description="备注") @Data -@TableName("public.SH_CALL_WORD") +@TableName("FXKH_TXL.SH_CALL_WORD") public class ShCallWord implements Serializable { public final static String thisTableName = "ShCallWord"; diff --git a/src/main/java/com/whdc/model/entity/ShCalls.java b/src/main/java/com/whdc/model/entity/ShCalls.java index 3f2e0a7..770a4e7 100644 --- a/src/main/java/com/whdc/model/entity/ShCalls.java +++ b/src/main/java/com/whdc/model/entity/ShCalls.java @@ -24,7 +24,7 @@ import java.util.Date; */ @Schema(description="抽查日志") @Data -@TableName("public.SH_CALLS") +@TableName("FXKH_TXL.SH_CALLS") public class ShCalls implements Serializable { public final static String thisTableName = "ShCalls"; diff --git a/src/main/java/com/whdc/model/entity/ShPeriod.java b/src/main/java/com/whdc/model/entity/ShPeriod.java index eedfe36..43fce97 100644 --- a/src/main/java/com/whdc/model/entity/ShPeriod.java +++ b/src/main/java/com/whdc/model/entity/ShPeriod.java @@ -20,7 +20,7 @@ import java.util.Date; */ @Schema(description="防汛周期") @Data -@TableName("public.SH_PERIOD") +@TableName("FXKH_TXL.SH_PERIOD") public class ShPeriod implements Serializable { public final static String thisTableName = "ShPeriod"; diff --git a/src/main/java/com/whdc/model/vo/AdcdTree.java b/src/main/java/com/whdc/model/vo/AdcdTree.java index c13a3d6..457fe8a 100644 --- a/src/main/java/com/whdc/model/vo/AdcdTree.java +++ b/src/main/java/com/whdc/model/vo/AdcdTree.java @@ -13,6 +13,8 @@ public class AdcdTree { @ApiModelProperty(value = "行政区划代码") private String adcd; + private Integer sort; + @ApiModelProperty(value = "行政区划名称") private String adnm; diff --git a/src/main/java/com/whdc/service/ShAddressBookService.java b/src/main/java/com/whdc/service/ShAddressBookService.java index b2b4546..a6a1a54 100644 --- a/src/main/java/com/whdc/service/ShAddressBookService.java +++ b/src/main/java/com/whdc/service/ShAddressBookService.java @@ -1,8 +1,11 @@ package com.whdc.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.whdc.model.dto.ShAddressBookDto; import com.whdc.model.entity.ShAddressBook; +import com.whdc.model.vo.AdcdTree; import java.util.List; @@ -14,8 +17,10 @@ import java.util.List; public interface ShAddressBookService extends IService { - + IPage page(ShAddressBookDto dto); void updateAll(String type1, List appends); + + List tree(); } diff --git a/src/main/java/com/whdc/service/ShCallWordService.java b/src/main/java/com/whdc/service/ShCallWordService.java index 99db91b..8e9e806 100644 --- a/src/main/java/com/whdc/service/ShCallWordService.java +++ b/src/main/java/com/whdc/service/ShCallWordService.java @@ -1,7 +1,9 @@ package com.whdc.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.whdc.model.dto.ShCallWordDto; import com.whdc.model.entity.ShCallWord; /** @@ -11,8 +13,7 @@ import com.whdc.model.entity.ShCallWord; */ public interface ShCallWordService extends IService { - - + IPage page(ShCallWordDto dto); } diff --git a/src/main/java/com/whdc/service/ShPeriodService.java b/src/main/java/com/whdc/service/ShPeriodService.java index 8a9fc6b..fd23968 100644 --- a/src/main/java/com/whdc/service/ShPeriodService.java +++ b/src/main/java/com/whdc/service/ShPeriodService.java @@ -1,7 +1,9 @@ package com.whdc.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.whdc.model.dto.ShPeriodDto; import com.whdc.model.entity.ShPeriod; /** @@ -12,7 +14,7 @@ import com.whdc.model.entity.ShPeriod; public interface ShPeriodService extends IService { - + IPage page(ShPeriodDto dto); } diff --git a/src/main/java/com/whdc/service/impl/ShAddressBookServiceImpl.java b/src/main/java/com/whdc/service/impl/ShAddressBookServiceImpl.java index 6d14a65..e0beccd 100644 --- a/src/main/java/com/whdc/service/impl/ShAddressBookServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/ShAddressBookServiceImpl.java @@ -1,15 +1,23 @@ package com.whdc.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.whdc.exception.MyException; import com.whdc.mapper.ShAddressBookMapper; +import com.whdc.model.dto.ShAddressBookDto; import com.whdc.model.entity.ShAddressBook; +import com.whdc.model.vo.AdcdTree; import com.whdc.service.ShAddressBookService; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; import static com.whdc.model.MyConstant.REDIS_KEY; @@ -25,20 +33,26 @@ public class ShAddressBookServiceImpl extends ServiceImpl page(ShAddressBookDto dto) { + return getBaseMapper().page(dto.getPage(), dto); + } + /** * 全量更新 + * * @param type1 * @param appends */ @Override public void updateAll(String type1, List appends) { - if (CollectionUtils.isEmpty(appends)){ + if (CollectionUtils.isEmpty(appends)) { throw new MyException("文件解析数据为空"); } // 删除全部数据 String type1Str = null; - switch (type1){ + switch (type1) { case "0": type1Str = "行政责任人"; break; @@ -49,21 +63,127 @@ public class ShAddressBookServiceImpl extends ServiceImpl 0) { + + // 清空数据 + boolean remove = this.remove(new LambdaQueryWrapper().eq(ShAddressBook::getType1, type1Str)); + if (!remove) { + throw new MyException("清空数据失败"); + } } // 添加第一类型 - String finalType1Str1 = type1Str; - appends.forEach(o -> o.setType1(finalType1Str1)); + AtomicInteger sort = new AtomicInteger(0); + appends.forEach(o -> { + o.setType1(finalType1Str1); + if (Objects.isNull(o.getSort())) { + o.setSort(sort.getAndIncrement()); + } + }); boolean b = this.saveBatch(appends); - if (!b){ + if (!b) { throw new MyException("保存数据失败"); } + } + + @Override + public List tree() { + List list = this.lambdaQuery().orderByAsc(ShAddressBook::getSort).list(); + if (CollectionUtils.isEmpty(list)) { + return null; + } + + + Map> cityMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getCity())).collect(Collectors.groupingBy(ShAddressBook::getCity, Collectors.toList())); + Map> countyMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getCounty())).collect(Collectors.groupingBy(ShAddressBook::getCounty, Collectors.toList())); + Map> areaMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getArea())).collect(Collectors.groupingBy(ShAddressBook::getArea, Collectors.toList())); + Map> villageMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getVillage())).collect(Collectors.groupingBy(ShAddressBook::getVillage, Collectors.toList())); + + + Map> city = new HashMap<>(); + + Map> county = new HashMap<>(); + + Map> area = new HashMap<>(); + + Map> village = new HashMap<>(); + + + villageMap.forEach((k, v) -> { + v.forEach(o -> { + String data = o.getCity() + "_" + o.getCounty() + "_" + o.getArea(); + if (StringUtils.isNotBlank(data)) { + List trees = village.get(data); + if (CollectionUtils.isEmpty(trees)) { + trees = Lists.newArrayList(); + } + trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getVillage()).setAdnm(o.getVillage()).setAdlevel(4).setChildren(null)); + village.put(data, trees); + } + }); + }); + + areaMap.forEach((k, v) -> { + v.forEach(o -> { + String data = o.getCity() + "_" + o.getCounty(); + if (StringUtils.isNotBlank(data)) { + List trees = area.get(data); + if (CollectionUtils.isEmpty(trees)) { + trees = Lists.newArrayList(); + } + trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getArea()).setAdnm(o.getArea()).setAdlevel(3).setChildren(village.get( o.getCity() + "_" + o.getCounty() + "_" + o.getArea()))); + area.put(data, trees); + } + }); + }); + + countyMap.forEach((k, v) -> { + v.forEach(o -> { + String data = o.getCity(); + if (StringUtils.isNotBlank(data)) { + List trees = county.get(data); + if (CollectionUtils.isEmpty(trees)) { + trees = Lists.newArrayList(); + } + trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getCounty()).setAdnm(o.getCounty()).setAdlevel(2).setChildren(area.get(o.getCity() + "_" + o.getCounty()))); + county.put(data, trees); + } + }); + }); + + + List cityList = Lists.newArrayList(); + + cityMap.forEach((k, v) -> { + if (CollectionUtils.isNotEmpty(v)){ + ShAddressBook o = v.get(0); + cityList.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getCity()).setAdnm(o.getCity()).setAdlevel(1).setChildren(county.get(o.getCity()))); + + } + }); + + return sorted(cityList); + } + + + private List sorted(List tree) { + + List sorteds = null; + + if (CollectionUtils.isNotEmpty(tree)) { + sorteds = tree.stream().sorted( + Comparator.comparing(AdcdTree::getSort) + ).collect(Collectors.toList()); + sorteds.forEach(o -> { + o.setChildren(sorted(o.getChildren())); + }); + } + + return sorteds; + } + } diff --git a/src/main/java/com/whdc/service/impl/ShCallWordServiceImpl.java b/src/main/java/com/whdc/service/impl/ShCallWordServiceImpl.java index 8aa1a18..1cd3fab 100644 --- a/src/main/java/com/whdc/service/impl/ShCallWordServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/ShCallWordServiceImpl.java @@ -1,9 +1,9 @@ package com.whdc.service.impl; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.whdc.mapper.ShCallWordMapper; -import com.whdc.model.dto.FindPageDto; +import com.whdc.model.dto.ShCallWordDto; import com.whdc.model.entity.ShCallWord; import com.whdc.service.ShCallWordService; import org.springframework.stereotype.Service; @@ -21,4 +21,8 @@ public class ShCallWordServiceImpl extends ServiceImpl page(ShCallWordDto dto) { + return getBaseMapper().page(dto.getPage(), dto); + } } diff --git a/src/main/java/com/whdc/service/impl/ShPeriodServiceImpl.java b/src/main/java/com/whdc/service/impl/ShPeriodServiceImpl.java index cb3035a..b99e24b 100644 --- a/src/main/java/com/whdc/service/impl/ShPeriodServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/ShPeriodServiceImpl.java @@ -1,7 +1,9 @@ package com.whdc.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.whdc.mapper.ShPeriodMapper; +import com.whdc.model.dto.ShPeriodDto; import com.whdc.model.entity.ShPeriod; import com.whdc.service.ShPeriodService; import org.springframework.stereotype.Service; @@ -19,4 +21,8 @@ public class ShPeriodServiceImpl extends ServiceImpl i private static final String THIS_REDIS_KEY = REDIS_KEY + ShPeriod.thisTableName + ":"; + @Override + public IPage page(ShPeriodDto dto) { + return getBaseMapper().page(dto.getPage(), dto); + } } diff --git a/src/main/java/com/whdc/utils/AdinfoUtils.java b/src/main/java/com/whdc/utils/AdinfoUtils.java index 058e399..c8f261e 100644 --- a/src/main/java/com/whdc/utils/AdinfoUtils.java +++ b/src/main/java/com/whdc/utils/AdinfoUtils.java @@ -1,5 +1,6 @@ package com.whdc.utils; +import com.whdc.exception.MyException; import org.apache.commons.lang3.StringUtils; import java.util.Objects; @@ -61,7 +62,7 @@ public class AdinfoUtils { case 5: return adcd; default: - throw new RuntimeException("不支持该行政区划等级"); + throw new MyException("不支持该行政区划等级"); } } @@ -96,7 +97,7 @@ public class AdinfoUtils { case 5: return adcd; default: - throw new RuntimeException("不支持该行政区划等级"); + throw new MyException("不支持该行政区划等级"); } } @@ -128,7 +129,7 @@ public class AdinfoUtils { case 5: return ""; default: - throw new RuntimeException("不支持该行政区划等级"); + throw new MyException("不支持该行政区划等级"); } } @@ -156,12 +157,12 @@ public class AdinfoUtils { * @param adcd 行政区划代码 * @param adlevel 参数行政区划等级 * @param startIndex 子串的开始索引 - * @throws RuntimeException 如果行政区划代码子串不匹配给定的等级,则抛出异常 + * @throws MyException 如果行政区划代码子串不匹配给定的等级,则抛出异常 */ - private static void validateAdcd(String adcd, Integer adlevel, int startIndex) throws RuntimeException { + private static void validateAdcd(String adcd, Integer adlevel, int startIndex) throws MyException { if (StringUtils.isBlank(adcd) || adcd.length() < startIndex) { - throw new RuntimeException("行政区划编码错误 " + adcd); + throw new MyException("行政区划编码错误 " + adcd); } // String subAdcd = adcd.substring(startIndex); @@ -169,7 +170,7 @@ public class AdinfoUtils { int adlevelBySubAdcd = getAdlevelBySubAdcd(adcd,startIndex); if (adlevel != adlevelBySubAdcd || adlevel+1 != adlevelBySubAdcd || adlevel-1 != adlevelBySubAdcd) { - throw new RuntimeException("行政区划编码和行政区划等级不匹配"); + throw new MyException("行政区划编码和行政区划等级不匹配"); } } @@ -182,7 +183,7 @@ public class AdinfoUtils { public static int getAdlevel(String adcd) { if (StringUtils.isBlank(adcd) || adcd.length() != 15) { - throw new RuntimeException("行政区划编码错误 " + adcd); + throw new MyException("行政区划编码错误 " + adcd); } // 避免重复代码,提取为私有方法 diff --git a/src/main/java/com/whdc/utils/HttpUtil.java b/src/main/java/com/whdc/utils/HttpUtil.java index 1999b24..d4fea85 100644 --- a/src/main/java/com/whdc/utils/HttpUtil.java +++ b/src/main/java/com/whdc/utils/HttpUtil.java @@ -2,6 +2,7 @@ package com.whdc.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.whdc.exception.MyException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; @@ -59,7 +60,7 @@ public class HttpUtil { try { return doGetThrEx(url, json); } catch (Exception e) { - throw new RuntimeException("请求异常:" + e.getMessage(), e); + throw new MyException("请求异常:" + e.getMessage(), e); } } @@ -405,7 +406,7 @@ public class HttpUtil { } catch (Exception e) { log.error("发送请求异常", e); - throw new RuntimeException("发送请求异常", e); + throw new MyException("发送请求异常", e); } finally { try { if (null != response) { diff --git a/src/main/resources/mapper/ShAddressBookMapper.xml b/src/main/resources/mapper/ShAddressBookMapper.xml index a95aeb2..582fc4d 100644 --- a/src/main/resources/mapper/ShAddressBookMapper.xml +++ b/src/main/resources/mapper/ShAddressBookMapper.xml @@ -2,4 +2,57 @@ + diff --git a/src/main/resources/mapper/ShCallWordMapper.xml b/src/main/resources/mapper/ShCallWordMapper.xml index d1d703d..54efcb2 100644 --- a/src/main/resources/mapper/ShCallWordMapper.xml +++ b/src/main/resources/mapper/ShCallWordMapper.xml @@ -2,4 +2,20 @@ + diff --git a/src/main/resources/mapper/ShCallsMapper.xml b/src/main/resources/mapper/ShCallsMapper.xml index b7f6b65..30a5bba 100644 --- a/src/main/resources/mapper/ShCallsMapper.xml +++ b/src/main/resources/mapper/ShCallsMapper.xml @@ -7,7 +7,20 @@ C.STATUS, C.CALL_TIME, C.SH_AB_ID, - AB.* + AB."ID", + AB."CITY", + AB."COUNTY", + AB."AREA", + AB."VILLAGE", + AB."TYPE1", + AB."TYPE2", + AB."NAME", + AB."POSITION", + AB."PHONE", + AB."SORT", + AB."LAND", + AB."IS_SPOT_CHECK", + AB."CALL_STATUS" FROM FXKH_TXL.SH_CALLS C LEFT JOIN FXKH_TXL.SH_ADDRESS_BOOK AB ON C.SH_AB_ID = AB.ID diff --git a/src/main/resources/mapper/ShPeriodMapper.xml b/src/main/resources/mapper/ShPeriodMapper.xml index 3a69b3a..8882213 100644 --- a/src/main/resources/mapper/ShPeriodMapper.xml +++ b/src/main/resources/mapper/ShPeriodMapper.xml @@ -2,4 +2,20 @@ +