diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java index 53646ee6dc..a3ca90532c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java @@ -3,13 +3,16 @@ package com.epmet.datareport.controller.screen; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.datareport.service.evaluationindex.screen.AgencyService; +import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.result.AddAreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.evaluationindex.screen.dto.form.CompartmentByBizTypeFormDTO; import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO; import com.epmet.evaluationindex.screen.dto.form.TreeByTypeFormDTO; import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO; import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -27,7 +30,8 @@ public class AgencyController { @Autowired private AgencyService agencyService; - + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; /** * @param * @Description 1、组织机构树 只返回 is_display = '1'的 @@ -81,4 +85,16 @@ public class AgencyController { return new Result>().ok(agencyService.areaCodeDictTree(formDTO)); } + /** + * @return com.epmet.commons.tools.utils.Result + * @param + * @author yinzuomei + * @description 003、新增街道或者社区地区编码 + * @Date 2021/2/5 17:39 + **/ + @PostMapping("addstreetcomm") + public Result addStreetCommAreaCode(@RequestBody AddAreaCodeDictFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + return commonServiceOpenFeignClient.addStreetCommAreaCode(formDTO); + } } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeDictFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeDictFormDTO.java new file mode 100644 index 0000000000..6730c0a920 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeDictFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 003、新增街道或者社区地区编码 入参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/2/5 17:39 + */ +@Data +public class AddAreaCodeDictFormDTO implements Serializable { + /** + * 街道或者社区所属的上一级areaCode + */ + @NotBlank(message = "parentAreaCode不能为空") + private String parentAreaCode; + + /** + * 新增的街道或者社区名称 + */ + @NotBlank(message = "name不能为空") + private String name; + +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AddAreaCodeDictResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AddAreaCodeDictResultDTO.java new file mode 100644 index 0000000000..4d67762875 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AddAreaCodeDictResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.result; + +import lombok.Data; + +/** + * 003、新增街道或者社区地区编码 入参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/2/5 17:39 + */ +@Data +public class AddAreaCodeDictResultDTO { + private String code; + + public AddAreaCodeDictResultDTO(String code) { + this.code = code; + } +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 03bae0640b..a061a13f3a 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -103,4 +103,13 @@ public interface EpmetCommonServiceOpenFeignClient { */ @PostMapping("commonservice/areacode/areacodedicttree") Result> areaCodeDictTree(@RequestBody AreaCodeDictFormDTO formDTO); + + /** + * @param formDTO + * @author yinzuomei + * @description 003、新增街道或者社区地区编码 + * @Date 2021/2/5 17:39 + **/ + @PostMapping("commonservice/areacode/addstreetcommareacode") + Result addStreetCommAreaCode(@RequestBody AddAreaCodeDictFormDTO formDTO); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index e7a9500143..f7e20536ca 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -84,4 +84,9 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer public Result> areaCodeDictTree(AreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDictTree", formDTO); } + + @Override + public Result addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "addStreetCommAreaCode", formDTO); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index 5dc1747438..ef2c8fc69a 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -22,10 +22,12 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.AreaCodeDTO; +import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.result.AddAreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.service.AreaCodeService; import org.springframework.beans.factory.annotation.Autowired; @@ -95,4 +97,15 @@ public class AreaCodeController { return new Result>().ok(areaCodeService.areaCodeDictTreePlus(formDTO)); } + /** + * @param formDTO + * @author yinzuomei + * @description 003、新增街道或者社区地区编码 + * @Date 2021/2/5 17:39 + **/ + @PostMapping("addstreetcommareacode") + Result addStreetCommAreaCode(@RequestBody AddAreaCodeDictFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(areaCodeService.addStreetCommAreaCode(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java index a0b28216b9..24339f6397 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.AreaCodeChildDTO; import com.epmet.entity.AreaCodeChildEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -35,4 +36,9 @@ public interface AreaCodeChildDao extends BaseDao { List selectAllChild(); + AreaCodeChildDTO selectByCode(@Param("code") String code); + + List selectByPCodeAndName(@Param("parentAreaCode") String parentAreaCode, @Param("name") String name); + + AreaCodeChildDTO selectMaxChild(@Param("parentAreaCode") String parentAreaCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index 45222bbb53..15d51fedd2 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -20,10 +20,11 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.AreaCodeDTO; +import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.result.AddAreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -105,4 +106,12 @@ public interface AreaCodeService extends BaseService { List areaCodeDictTree(AreaCodeDictFormDTO formDTO); List areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO); + + /** + * @param formDTO + * @author yinzuomei + * @description 003、新增街道或者社区地区编码 + * @Date 2021/2/5 17:39 + **/ + AddAreaCodeDictResultDTO addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 9b67de52a2..29c3d27b30 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -17,12 +17,14 @@ package com.epmet.service.impl; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -31,10 +33,13 @@ import com.epmet.dao.AreaCodeChildDao; import com.epmet.dao.AreaCodeDao; import com.epmet.dto.AreaCodeChildDTO; import com.epmet.dto.AreaCodeDTO; +import com.epmet.dto.form.AddAreaCodeDictFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; +import com.epmet.dto.result.AddAreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; import com.epmet.redis.AreaCodeRedis; +import com.epmet.service.AreaCodeChildService; import com.epmet.service.AreaCodeService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -58,7 +63,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -554,4 +560,44 @@ public class AreaCodeServiceImpl extends BaseServiceImpl list = childDao.selectByPCodeAndName(formDTO.getParentAreaCode().trim(), formDTO.getName().trim()); + if (CollUtil.isNotEmpty(list)) { + throw new RenException("name已存在"); + } + AreaCodeChildDTO areaCodeChildDTO = new AreaCodeChildDTO(); + areaCodeChildDTO.setName(formDTO.getName().trim()); + areaCodeChildDTO.setPCode(formDTO.getParentAreaCode().trim()); + //4:街道;5:社区或村委会 + areaCodeChildDTO.setLevel(formDTO.getParentAreaCode().length() == NumConstant.SIX ? NumConstant.FOUR : NumConstant.FIVE); + //获取子级中最大的编码 + AreaCodeChildDTO maxChildDto = childDao.selectMaxChild(formDTO.getParentAreaCode().trim()); + if (null == maxChildDto) { + //默认添加001 + areaCodeChildDTO.setCode(formDTO.getParentAreaCode().concat("001_UD")); + } else { + //去掉_UD +1赋值;370124001225_UD 锦源社区 + String[] codeArr = maxChildDto.getCode().split(StrConstant.UNDER_LINE); + long code = Long.parseLong(codeArr[NumConstant.ZERO]) + NumConstant.ONE; + areaCodeChildDTO.setCode(String.valueOf(code)); + } + //保存到area_code_child表 + areaCodeChildService.save(areaCodeChildDTO); + return new AddAreaCodeDictResultDTO(areaCodeChildDTO.getCode()); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml index 0dfe0d02f1..422565051c 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml @@ -7,4 +7,40 @@ + + + + + + + + \ No newline at end of file