diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcWarnStatsMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcResiUserAddMQMsg.java similarity index 81% rename from epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcWarnStatsMQMsg.java rename to epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcResiUserAddMQMsg.java index b78863ef4c..328e7419cf 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcWarnStatsMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/IcResiUserAddMQMsg.java @@ -9,7 +9,7 @@ import java.io.Serializable; * @author sun */ @Data -public class IcWarnStatsMQMsg implements Serializable { +public class IcResiUserAddMQMsg implements Serializable { //客户Id private String customerId; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RelationshipEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RelationshipEnum.java new file mode 100644 index 0000000000..39a0f81550 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RelationshipEnum.java @@ -0,0 +1,58 @@ +package com.epmet.commons.tools.enums; + +/** + * @author Administrator + */ + +public enum RelationshipEnum { + /** + * 环境变量枚举 + */ + UN_KNOWN("0", "暂不清楚", 0), + SELF("1", "本人", 1), + spouse("2", "配偶", 2), + CHILD("3", "子女", 3), + PARENT("4", "父母", 4), + PARENT_IN_LAW("5", "岳父母或公婆", 5), + GRANDPARENT_IN_LAW("6", "祖父母", 6), + CHILD_IN_LAW("7", "媳婿", 7), + GRANDCHILD("8", "孙子女", 8), + BROTHER_AND_SISTER("9", "兄弟姐妹", 9), + OTHER("10", "其他", 10), + ; + + private final String code; + private final String name; + private final Integer sort; + + + + RelationshipEnum(String code, String name, Integer sort) { + this.code = code; + this.name = name; + this.sort = sort; + } + + public static RelationshipEnum getEnum(String code) { + RelationshipEnum[] values = RelationshipEnum.values(); + for (RelationshipEnum value : values) { + if (value.getCode().equals(code)) { + return value; + } + } + return RelationshipEnum.UN_KNOWN; + } + + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public Integer getSort(){ + return sort; + } +} \ No newline at end of file diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 9b7a7afccb..62557e2892 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -586,7 +586,11 @@ public class RedisKeys { * @param customerId * @return */ - public static String getIcFormKey(String formCode,String customerId) { - return rootPrefix.concat("icform:").concat(formCode).concat(":").concat(customerId); + public static String getIcFormKeyForAdd(String formCode,String customerId) { + return rootPrefix.concat("icform:").concat(formCode).concat(":add:").concat(customerId); + } + + public static String getIcFormKeyForExport(String formCode,String customerId) { + return rootPrefix.concat("icform:").concat(formCode).concat(":export:").concat(customerId); } } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java new file mode 100644 index 0000000000..a63f415e94 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseListResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/11/5 15:59 + */ +@NoArgsConstructor +@Data +public class HouseListResultDTO implements Serializable { + + private static final long serialVersionUID = 2063032844842070847L; + private String houseId; + private String houseName; + private List categoryList; + + @NoArgsConstructor + @Data + public static class CategoryListBean { + private String name; + private String iconUrl; + private String isSpecial; + } +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 4784584218..5b18f345d2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -516,4 +516,7 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/ichouse/selecthouseinfobyidcard") Result> selectHouseInfoByIdCard(@RequestParam("idCard")String idCard); + + @GetMapping("/gov/org/ichouse/{id}") + Result get(@PathVariable("id") String id); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 95219d6b1b..c6e0f96aa4 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -310,6 +310,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectHouseInfoByIdCard", idCard); } + @Override + public Result get(String id) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "get", id); + } + @Override public Result selectPidsByGridId(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index ccbc334ede..5b9c7fbf37 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -113,6 +113,12 @@ 2.0.0 compile + + com.epmet + oper-customize-client + 2.0.0 + compile + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index 4092579603..2409edaad0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -17,8 +17,10 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -27,6 +29,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.result.HouseListResultDTO; import com.epmet.service.IcHouseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -99,4 +102,16 @@ public class IcHouseController { return new Result>().ok(icHouseService.selectHouseInfoByIdCard(idCard)); } + /** + * @Description 房屋查询 + * @Param formDTO + * @Return {@link Result< List< HouseListResultDTO>>} + * @Author zhaoqifeng + * @Date 2021/11/5 16:01 + */ + @PostMapping("houselist") + public Result> getHouseList(@LoginUser TokenDto tokenDto, @RequestBody HouseFormDTO formDTO){ + return new Result>().ok(icHouseService.getHouseList(tokenDto, formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index 2f434ab350..66f02d80fa 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -20,8 +20,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.result.HouseListResultDTO; import com.epmet.entity.IcHouseEntity; import java.util.List; @@ -112,4 +114,14 @@ public interface IcHouseService extends BaseService { */ List selectHouseInfoByIdCard(String idCard); + /** + * @Description 楼栋下房屋列表 + * @Param tokenDto + * @Param formDTO + * @Return {@link List< HouseListResultDTO>} + * @Author zhaoqifeng + * @Date 2021/11/5 16:01 + */ + List getHouseList(TokenDto tokenDto, HouseFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 041bdc6b54..2858eb6d31 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -22,13 +22,22 @@ 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.dto.result.OptionResultDTO; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcHouseDao; import com.epmet.dto.IcHouseDTO; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.result.HouseListResultDTO; import com.epmet.entity.IcHouseEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcHouseService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -36,6 +45,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +58,10 @@ import java.util.stream.Collectors; @Slf4j @Service public class IcHouseServiceImpl extends BaseServiceImpl implements IcHouseService { + @Resource + private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; + @Resource + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Override @@ -147,4 +161,67 @@ public class IcHouseServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2021/11/5 16:01 + */ + @Override + public List getHouseList(TokenDto tokenDto, HouseFormDTO formDTO) { + //查询楼栋下房屋列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcHouseEntity::getBuildingId, formDTO.getBuildingId()); + wrapper.last("ORDER BY CONVERT ( HOUSE_NAME USING gbk ) ASC"); + List list = baseDao.selectList(wrapper); + if(CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + //获取居民分类列表 + IcResiCategoryStatsConfigDTO categoryDto = new IcResiCategoryStatsConfigDTO(); + categoryDto.setCustomerId(tokenDto.getCustomerId()); + Result> categoryResult = operCustomizeOpenFeignClient.getCategoryList(categoryDto); + if (!categoryResult.success()) { + throw new RenException(categoryResult.getCode(), categoryResult.getMsg()); + } + List categoryList = categoryResult.getData(); + //获取居民分类数量统计 + IcResiUserDTO userDTO = new IcResiUserDTO(); + userDTO.setBuildId(formDTO.getBuildingId()); + Result>> resultMap = epmetUserOpenFeignClient.getHomeUserCategoryCount(userDTO); + if (!resultMap.success()) { + throw new RenException(resultMap.getCode(), resultMap.getMsg()); + } + Map> map = resultMap.getData(); + + return list.stream().map(item -> { + Map countMap = map.get(item.getId()); + HouseListResultDTO dto = new HouseListResultDTO(); + dto.setHouseId(item.getId()); + dto.setHouseName(item.getHouseName()); + List categories = new ArrayList<>(); + if (null != countMap && CollectionUtils.isNotEmpty(categoryList)) { + for (IcResiCategoryStatsConfigDTO category : categoryList) { + if (null == countMap.get(category.getColumnName()) || countMap.get(category.getColumnName()) == NumConstant.ZERO) { + continue; + } + HouseListResultDTO.CategoryListBean bean = new HouseListResultDTO.CategoryListBean(); + bean.setName(category.getLabel()); + bean.setIconUrl(category.getHouseShowIcon()); + if ("党员".equals(category.getLabel())) { + bean.setIsSpecial(NumConstant.ONE_STR); + } else { + bean.setIsSpecial(NumConstant.ZERO_STR); + } + categories.add(bean); + } + } + dto.setCategoryList(categories); + return dto; + }).collect(Collectors.toList()); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java new file mode 100644 index 0000000000..1eb4516551 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryStatsConfigDTO.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryStatsConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 项标签 + */ + private String label; + + /** + * 表名 + */ + private String tableName; + + /** + * 列名 + */ + private String columnName; + + /** + * 管理平台分类图标 + */ + private String managementIcon; + + /** + * 数据平台分类图标 + */ + private String dataIcon; + + /** + * 房屋显示分类图标 + */ + private String houseShowIcon; + + /** + * 状态 显示:show;隐藏:hidden + */ + private String status; + + /** + * 排序 + */ + private Integer sort; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private String revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private String createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java new file mode 100644 index 0000000000..b4a2609d5e --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcResiCategoryWarnConfigDTO.java @@ -0,0 +1,111 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryWarnConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 项标签 + */ + private String label; + + /** + * 表名 + */ + private String tableName; + + /** + * 列名 + */ + private String columnName; + + /** + * 排序 + */ + private Integer sort; + + /** + * 等级1阈值 + */ + private Integer level1; + + /** + * 等级2阈值 + */ + private Integer level2; + + /** + * 等级3阈值 + */ + private Integer level3; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private String revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private String createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java new file mode 100644 index 0000000000..cb9082c985 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java @@ -0,0 +1,80 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.UpdateGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryStatsConfigFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + public interface UpdateStatusGroup {} + public interface SelectGroup {} + + /** + * id + */ + @NotBlank(message = "配置项id不能为空",groups = {UpdateGroup.class,UpdateStatusGroup.class,SelectGroup.class}) + private String id; + + /** + * 管理平台分类图标 + */ + @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) + private String managementIcon; + + /** + * 数据平台分类图标 + */ + @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) + private String dataIcon; + + /** + * 房屋显示分类图标 + */ + @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) + private String houseShowIcon; + + /** + * 状态 显示:show;隐藏:hidden + */ + @NotBlank(message = "状态不能为空",groups = {UpdateStatusGroup.class}) + private String status; + + @NotBlank(message = "是否预警",groups = {UpdateGroup.class}) + private String warn; + + private Integer level1; + + private Integer level2; + + private Integer level3; + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java new file mode 100644 index 0000000000..b5e7347e4c --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigSortFormDTO.java @@ -0,0 +1,51 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.UpdateGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryStatsConfigSortFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @NotBlank(message = "配置项id不能为空") + private String id; + + /** + * 排序 + */ + @NotBlank(message = "排序不能为空") + private Integer sort; + + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java new file mode 100644 index 0000000000..d9199b99cc --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcResiCategoryStatsConfigResultDTO.java @@ -0,0 +1,88 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryStatsConfigResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + + /** + * 项标签 + */ + private String label; + + + + /** + * 管理平台分类图标 + */ + private String managementIcon; + + /** + * 数据平台分类图标 + */ + private String dataIcon; + + /** + * 房屋显示分类图标 + */ + private String houseShowIcon; + + /** + * 状态 显示:show;隐藏:hidden + */ + private String status; + + /** + * 排序 + */ + private Integer sort; + + private String warn; + /** + * 等级1阈值 + */ + private Integer level1; + /** + * 等级2阈值 + */ + private Integer level2; + /** + * 等级3阈值 + */ + private Integer level3; +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index 28693abe46..7726abe6dd 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.form.CheckFloatFootBarFormDTO; import com.epmet.dto.form.CustomerFootBarFormDTO; import com.epmet.dto.form.CustomerFormQueryDTO; @@ -97,4 +98,7 @@ public interface OperCustomizeOpenFeignClient { @PostMapping("/oper/customize/icformitem/getmustcolumn/{customerId}") Result> getMustColumn(@PathVariable("customerId") String customerId); + @PostMapping("/oper/customize/icresicategorystatsconfig/categorylist") + Result> getCategoryList(@RequestBody IcResiCategoryStatsConfigDTO dto); + } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 6aa1809620..c08fe76f86 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.form.CheckFloatFootBarFormDTO; import com.epmet.dto.form.CustomerFootBarFormDTO; import com.epmet.dto.form.CustomerFormQueryDTO; @@ -79,4 +80,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe public Result> getMustColumn(String customerId) { return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getMustColumn", customerId); } + + @Override + public Result> getCategoryList(IcResiCategoryStatsConfigDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getCategoryList", dto); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java new file mode 100644 index 0000000000..9919ca35f6 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/IcResiCategoryStatsConfigConstant.java @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.epmet.constant; + +/** + * 常量 + * @author sun + * @since 1.0.0 + */ +public interface IcResiCategoryStatsConfigConstant { + /** + * 是否需要预警 + */ + String WARN_YES = "1"; + String WARN_NO = "0"; + + String IC_RESI_USER = "ic_resi_user"; + + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java new file mode 100644 index 0000000000..70880418dd --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +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.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.excel.IcResiCategoryStatsConfigExcel; +import com.epmet.service.IcResiCategoryStatsConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@RestController +@RequestMapping("icresicategorystatsconfig") +public class IcResiCategoryStatsConfigController { + + @Autowired + private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icResiCategoryStatsConfigService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IcResiCategoryStatsConfigDTO data = icResiCategoryStatsConfigService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IcResiCategoryStatsConfigDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiCategoryStatsConfigService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IcResiCategoryStatsConfigDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiCategoryStatsConfigService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiCategoryStatsConfigService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icResiCategoryStatsConfigService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryStatsConfigExcel.class); + } + + @PostMapping("categorylist") + public Result> getCategoryList(@RequestBody IcResiCategoryStatsConfigDTO dto) { + return new Result>().ok(icResiCategoryStatsConfigService.getCategoryList(dto)); + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java new file mode 100644 index 0000000000..5e1ac6667b --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryWarnConfigController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +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.dto.IcResiCategoryWarnConfigDTO; +import com.epmet.excel.IcResiCategoryWarnConfigExcel; +import com.epmet.service.IcResiCategoryWarnConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@RestController +@RequestMapping("icresicategorywarnconfig") +public class IcResiCategoryWarnConfigController { + + @Autowired + private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icResiCategoryWarnConfigService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IcResiCategoryWarnConfigDTO data = icResiCategoryWarnConfigService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IcResiCategoryWarnConfigDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiCategoryWarnConfigService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IcResiCategoryWarnConfigDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiCategoryWarnConfigService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiCategoryWarnConfigService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icResiCategoryWarnConfigService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryWarnConfigExcel.class); + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java new file mode 100644 index 0000000000..be1a538f1b --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java @@ -0,0 +1,107 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ExcelUtils; +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.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; +import com.epmet.dto.form.UpGovRoleFormDTO; +import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; +import com.epmet.excel.IcResiCategoryStatsConfigExcel; +import com.epmet.service.IcResiCategoryStatsConfigService; +import com.epmet.service.ResiCategoryStatsConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@RestController +@RequestMapping("resicategorystatsconfig") +public class ResiCategoryStatsConfigController { + + @Autowired + private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; + @Autowired + private ResiCategoryStatsConfigService resiCategoryStatsConfigService; + + + /** + * 居民类别配置列表 + * @return + */ + @PostMapping("list") + public Result> list(@LoginUser TokenDto tokenDTO){ + String customerId = tokenDTO.getCustomerId(); +// String customerId = "123123"; + return new Result>().ok(resiCategoryStatsConfigService.list(customerId)); + } + + @PostMapping("update") + public Result update(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); + String customerId = tokenDTO.getCustomerId(); +// String customerId = "123123"; + resiCategoryStatsConfigService.update(customerId,formDTO); + return new Result(); + } + @PostMapping("updatestatus") + public Result updateStatus(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.UpdateStatusGroup.class); + String customerId = tokenDTO.getCustomerId(); +// String customerId = "123123"; + resiCategoryStatsConfigService.updateStatus(customerId,formDTO); + return new Result(); + } + @PostMapping("updatesort") + public Result updateSort(@LoginUser TokenDto tokenDTO,@RequestBody List formDTOs){ + for(IcResiCategoryStatsConfigSortFormDTO dto : formDTOs){ + ValidatorUtils.validateEntity(dto); + } + String customerId = tokenDTO.getCustomerId(); +// String customerId = "123123"; + resiCategoryStatsConfigService.updateSort(customerId,formDTOs); + return new Result(); + } + + @PostMapping("info") + public Result info(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.SelectGroup.class); + return new Result().ok(resiCategoryStatsConfigService.info(formDTO.getId())); + } + + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.java new file mode 100644 index 0000000000..bb55c52594 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryStatsConfigDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcResiCategoryStatsConfigEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Mapper +public interface IcResiCategoryStatsConfigDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.java new file mode 100644 index 0000000000..d9a9e0a2b0 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcResiCategoryWarnConfigDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcResiCategoryWarnConfigEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Mapper +public interface IcResiCategoryWarnConfigDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java new file mode 100644 index 0000000000..d0201db93d --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryStatsConfigEntity.java @@ -0,0 +1,83 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_category_stats_config") +public class IcResiCategoryStatsConfigEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 项标签 + */ + private String label; + + /** + * 表名 + */ + private String tableName; + + /** + * 列名 + */ + private String columnName; + + /** + * 管理平台分类图标 + */ + private String managementIcon; + + /** + * 数据平台分类图标 + */ + private String dataIcon; + + /** + * 房屋显示分类图标 + */ + private String houseShowIcon; + + /** + * 状态 显示:show;隐藏:hidden + */ + private String status; + + /** + * 排序 + */ + private Integer sort; + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java new file mode 100644 index 0000000000..a15c0c7958 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcResiCategoryWarnConfigEntity.java @@ -0,0 +1,81 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_category_warn_config") +public class IcResiCategoryWarnConfigEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 项标签 + */ + private String label; + + /** + * 表名 + */ + private String tableName; + + /** + * 列名 + */ + private String columnName; + + /** + * 排序 + */ + private Integer sort; + + /** + * 等级1阈值 + */ + private Integer level1; + + /** + * 等级2阈值 + */ + private Integer level2; + + /** + * 等级3阈值 + */ + private Integer level3; + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java new file mode 100644 index 0000000000..1e8f335885 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryStatsConfigExcel.java @@ -0,0 +1,83 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryStatsConfigExcel { + + @Excel(name = "id") + private String id; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "项标签") + private String label; + + @Excel(name = "表名") + private String tableName; + + @Excel(name = "列名") + private String columnName; + + @Excel(name = "管理平台分类图标") + private String managementIcon; + + @Excel(name = "数据平台分类图标") + private String dataIcon; + + @Excel(name = "房屋显示分类图标") + private String houseShowIcon; + + @Excel(name = "状态 显示:show;隐藏:hidden") + private String status; + + @Excel(name = "排序") + private Integer sort; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private String revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private String createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java new file mode 100644 index 0000000000..d9d5edf543 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/excel/IcResiCategoryWarnConfigExcel.java @@ -0,0 +1,80 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Data +public class IcResiCategoryWarnConfigExcel { + + @Excel(name = "id") + private String id; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "项标签") + private String label; + + @Excel(name = "表名") + private String tableName; + + @Excel(name = "列名") + private String columnName; + + @Excel(name = "排序") + private Integer sort; + + @Excel(name = "等级1阈值") + private Integer level1; + + @Excel(name = "等级2阈值") + private Integer level2; + + @Excel(name = "等级3阈值") + private Integer level3; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private String revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private String createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFootBarRedis.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFootBarRedis.java index 8cded15b44..0c549999ed 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFootBarRedis.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/CustomerFootBarRedis.java @@ -51,18 +51,32 @@ public class CustomerFootBarRedis { } public void deleteIcForm(String formCode,String customerId) { - String key = RedisKeys.getIcFormKey(formCode,customerId); + String key = RedisKeys.getIcFormKeyForAdd(formCode,customerId); redisUtils.delete(key); } - public void setCustomerFormResultDTO(String formCode,String customerId, CustomerFormResultDTO value){ - String key = RedisKeys.getIcFormKey(formCode,customerId); + public void setCustomerFormResultDTO(String formCode,String customerId, CustomerFormResultDTO value,Boolean dynamic){ + String key=""; + if (null != dynamic && dynamic) { + //新增表单 + key = RedisKeys.getIcFormKeyForAdd(formCode,customerId); + }else{ + //导出 + key = RedisKeys.getIcFormKeyForExport(formCode,customerId); + } Map map = BeanUtil.beanToMap(value, false, true); redisUtils.hMSet(key, map); } - public CustomerFormResultDTO getCustomerFormResultDTO(String formCode,String customerId){ - String key = RedisKeys.getIcFormKey(formCode,customerId); + public CustomerFormResultDTO getCustomerFormResultDTO(String formCode,String customerId,Boolean dynamic){ + String key=""; + if (null != dynamic && dynamic) { + //新增表单 + key = RedisKeys.getIcFormKeyForAdd(formCode,customerId); + }else{ + //导出 + key = RedisKeys.getIcFormKeyForExport(formCode,customerId); + } Map resultMap = redisUtils.hGetAll(key); if (CollectionUtils.isEmpty(resultMap)) { return null; diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java new file mode 100644 index 0000000000..789965c0c9 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryStatsConfigRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Component +public class IcResiCategoryStatsConfigRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java new file mode 100644 index 0000000000..eee6ae7fc6 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/redis/IcResiCategoryWarnConfigRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Component +public class IcResiCategoryWarnConfigRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java new file mode 100644 index 0000000000..aa99453387 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.entity.IcResiCategoryStatsConfigEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +public interface IcResiCategoryStatsConfigService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-11-04 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-11-04 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiCategoryStatsConfigDTO + * @author generator + * @date 2021-11-04 + */ + IcResiCategoryStatsConfigDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-11-04 + */ + void save(IcResiCategoryStatsConfigDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-11-04 + */ + void update(IcResiCategoryStatsConfigDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-11-04 + */ + void delete(String[] ids); + + /** + * @Description 获取居民类别 + * @Param dto + * @Return {@link List< IcResiCategoryStatsConfigDTO>} + * @Author zhaoqifeng + * @Date 2021/11/5 15:43 + */ + List getCategoryList(IcResiCategoryStatsConfigDTO dto); +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java new file mode 100644 index 0000000000..bef9c7360f --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryWarnConfigService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcResiCategoryWarnConfigDTO; +import com.epmet.entity.IcResiCategoryWarnConfigEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +public interface IcResiCategoryWarnConfigService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-11-04 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-11-04 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiCategoryWarnConfigDTO + * @author generator + * @date 2021-11-04 + */ + IcResiCategoryWarnConfigDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-11-04 + */ + void save(IcResiCategoryWarnConfigDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-11-04 + */ + void update(IcResiCategoryWarnConfigDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-11-04 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java new file mode 100644 index 0000000000..9f351d91b4 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/ResiCategoryStatsConfigService.java @@ -0,0 +1,48 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; +import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; +import com.epmet.entity.IcResiCategoryStatsConfigEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +public interface ResiCategoryStatsConfigService { + + List list(String customerId); + + IcResiCategoryStatsConfigResultDTO info(String id); + + void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO); + + void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO); + + void updateSort(String customerId,List formDTOs); +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java index 23088c3024..06da023015 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java @@ -116,7 +116,7 @@ public class IcFormServiceImpl extends BaseServiceImpl */ @Override public CustomerFormResultDTO getCustomerForm(CustomerFormQueryDTO formDto) { - CustomerFormResultDTO customerFormResultDTO = customerFootBarRedis.getCustomerFormResultDTO(formDto.getFormCode(), formDto.getCustomerId()); + CustomerFormResultDTO customerFormResultDTO = customerFootBarRedis.getCustomerFormResultDTO(formDto.getFormCode(), formDto.getCustomerId(),formDto.getDynamic()); if (null != customerFormResultDTO) { return customerFormResultDTO; } @@ -128,7 +128,7 @@ public class IcFormServiceImpl extends BaseServiceImpl List groupList=baseDao.selectListGroup(resultDTO.getFormId()); resultDTO.setItemList(itemList); resultDTO.setGroupList(groupList); - customerFootBarRedis.setCustomerFormResultDTO(formDto.getFormCode(),formDto.getCustomerId(),resultDTO); + customerFootBarRedis.setCustomerFormResultDTO(formDto.getFormCode(),formDto.getCustomerId(),resultDTO,formDto.getDynamic()); return resultDTO; } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java new file mode 100644 index 0000000000..d0183a03f9 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java @@ -0,0 +1,126 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IcResiCategoryStatsConfigDao; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.entity.IcResiCategoryStatsConfigEntity; +import com.epmet.redis.IcResiCategoryStatsConfigRedis; +import com.epmet.service.IcResiCategoryStatsConfigService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * 居民类别配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Service +public class IcResiCategoryStatsConfigServiceImpl extends BaseServiceImpl implements IcResiCategoryStatsConfigService { + + @Autowired + private IcResiCategoryStatsConfigRedis icResiCategoryStatsConfigRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiCategoryStatsConfigDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiCategoryStatsConfigDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcResiCategoryStatsConfigDTO get(String id) { + IcResiCategoryStatsConfigEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiCategoryStatsConfigDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiCategoryStatsConfigDTO dto) { + IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiCategoryStatsConfigDTO dto) { + IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param dto + * @Description 获取居民类别 + * @Param dto + * @Return {@link List< IcResiCategoryStatsConfigDTO>} + * @Author zhaoqifeng + * @Date 2021/11/5 15:43 + */ + @Override + public List getCategoryList(IcResiCategoryStatsConfigDTO dto) { + if(StringUtils.isBlank(dto.getCustomerId())) { + return Collections.emptyList(); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiCategoryStatsConfigEntity::getCustomerId, dto.getCustomerId()); + wrapper.orderByAsc(IcResiCategoryStatsConfigEntity::getSort); + List list = baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(list, IcResiCategoryStatsConfigDTO.class); + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java new file mode 100644 index 0000000000..3235b04f0d --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryWarnConfigServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcResiCategoryWarnConfigDao; +import com.epmet.dto.IcResiCategoryWarnConfigDTO; +import com.epmet.entity.IcResiCategoryWarnConfigEntity; +import com.epmet.redis.IcResiCategoryWarnConfigRedis; +import com.epmet.service.IcResiCategoryWarnConfigService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 居民类别预警配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-11-04 + */ +@Service +public class IcResiCategoryWarnConfigServiceImpl extends BaseServiceImpl implements IcResiCategoryWarnConfigService { + + @Autowired + private IcResiCategoryWarnConfigRedis icResiCategoryWarnConfigRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiCategoryWarnConfigDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiCategoryWarnConfigDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcResiCategoryWarnConfigDTO get(String id) { + IcResiCategoryWarnConfigEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiCategoryWarnConfigDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiCategoryWarnConfigDTO dto) { + IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiCategoryWarnConfigDTO dto) { + IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java new file mode 100644 index 0000000000..c5003a5d78 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java @@ -0,0 +1,264 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.epmet.constant.IcResiCategoryStatsConfigConstant; +import com.epmet.dao.IcFormItemDao; +import com.epmet.dao.IcFormItemGroupDao; +import com.epmet.dao.IcResiCategoryStatsConfigDao; +import com.epmet.dao.IcResiCategoryWarnConfigDao; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; +import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; +import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; +import com.epmet.entity.IcFormItemEntity; +import com.epmet.entity.IcFormItemGroupEntity; +import com.epmet.entity.IcResiCategoryStatsConfigEntity; +import com.epmet.entity.IcResiCategoryWarnConfigEntity; +import com.epmet.service.IcResiCategoryStatsConfigService; +import com.epmet.service.IcResiCategoryWarnConfigService; +import com.epmet.service.ResiCategoryStatsConfigService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConfigService { + @Autowired + private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; + + @Resource + private IcFormItemDao icFormItemDao; + @Resource + private IcFormItemGroupDao icFormItemGroupDao; + @Resource + private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao; + @Resource + private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao; + @Autowired + private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService; + + @Override + @Transactional(rollbackFor = Exception.class) + public List list(String customerId) { + //1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label + List icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper().lambda().eq(IcFormItemEntity::getDataAnalyse, 1)); + if(CollectionUtils.isEmpty(icFormItemEntityList)){ + return new ArrayList<>(); + } + Set groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(item->item.getItemGroupId()).collect(Collectors.toSet()); + List icFormItemGroupEntityList = icFormItemGroupDao.selectList(new QueryWrapper().lambda().in(IcFormItemGroupEntity::getId, groupIds)); + //获取tableName和COLUMN_NAME + Map tableColumnMap = new HashMap<>(); + Map idTableMap = new HashMap<>(); + icFormItemEntityList.forEach(item->{ + Map map = new HashMap<>(); + if("0".equals(item.getItemGroupId())){ + tableColumnMap.put(IcResiCategoryStatsConfigConstant.IC_RESI_USER+"-"+item.getColumnName(),item); + idTableMap.put(item.getId(),IcResiCategoryStatsConfigConstant.IC_RESI_USER); + }else{ + List collect = icFormItemGroupEntityList.stream().filter(i -> item.getItemGroupId().equals(i.getId())).collect(Collectors.toList()); + tableColumnMap.put(CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()+"-"+item.getColumnName(),item); + idTableMap.put(item.getId(),CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()); + } + + }); + + //2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据 + List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(null); + List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(null); + //3.新增不存在的,删除不在tableColumnMap的 + + Map statsTableColumnMap = new HashMap<>(); + statsConfigEntityList.stream().forEach(item->{ + statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); + }); + Map warnTableColumnMap = new HashMap<>(); + warnConfigEntityList.stream().forEach(item->{ + warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); + }); + //差集 + //新增 + List newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.keySet().contains(item)).collect(Collectors.toList()); + + List newStatsEntityList = new ArrayList<>(); + newStatsList.forEach(item->{ + IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); + IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity(); + entity.setCustomerId(customerId); + entity.setLabel(icFormItemEntity.getLabel()); + entity.setTableName(idTableMap.get(icFormItemEntity.getId())); + entity.setColumnName(icFormItemEntity.getColumnName()); + entity.setManagementIcon(""); + entity.setDataIcon(""); + entity.setHouseShowIcon(""); + entity.setStatus("show"); + entity.setSort(0); + newStatsEntityList.add(entity); + }); + if(!CollectionUtils.isEmpty(newStatsEntityList)){ + icResiCategoryStatsConfigService.insertBatch(newStatsEntityList); + } + + List delStatsEntityIdList = new ArrayList<>(); + List delWarnEntityIdList = new ArrayList<>(); + //需要删除的 + List delStatsList = statsTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList()); + List delWarnList = warnTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList()); + delStatsList.forEach(item->{ + delStatsEntityIdList.add(statsTableColumnMap.get(item).getId()); + }); + delWarnList.forEach(item->{ + delWarnEntityIdList.add(warnTableColumnMap.get(item).getId()); + }); + if(!CollectionUtils.isEmpty(delStatsEntityIdList)){ + icResiCategoryStatsConfigService.deleteBatchIds(delStatsEntityIdList); + } + if(!CollectionUtils.isEmpty(delWarnEntityIdList)){ + icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList); + } + + //4.返回数据 + List statsConfigList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().orderByAsc(IcResiCategoryStatsConfigEntity::getSort)); + List warnConfigList = icResiCategoryWarnConfigDao.selectList(null); + Map warnMap =new HashMap<>(); + warnConfigList.forEach(item->{ + warnMap.put(item.getTableName()+"-"+item.getColumnName(),item); + }); + List result = new ArrayList<>(); + statsConfigList.forEach(item->{ + IcResiCategoryStatsConfigResultDTO icResiCategoryStatsConfigResultDTO = new IcResiCategoryStatsConfigResultDTO(); + icResiCategoryStatsConfigResultDTO.setId(item.getId()); + icResiCategoryStatsConfigResultDTO.setLabel(item.getLabel()); + icResiCategoryStatsConfigResultDTO.setManagementIcon(item.getManagementIcon()); + icResiCategoryStatsConfigResultDTO.setDataIcon(item.getDataIcon()); + icResiCategoryStatsConfigResultDTO.setHouseShowIcon(item.getHouseShowIcon()); + icResiCategoryStatsConfigResultDTO.setStatus(item.getStatus()); + icResiCategoryStatsConfigResultDTO.setSort(item.getSort()); + IcResiCategoryWarnConfigEntity warnConfigEntity = warnMap.get(item.getTableName() + "-" + item.getColumnName()); + if(warnConfigEntity==null){ + icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_NO); + }else{ + icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_YES); + icResiCategoryStatsConfigResultDTO.setLevel1(warnConfigEntity.getLevel1()); + icResiCategoryStatsConfigResultDTO.setLevel2(warnConfigEntity.getLevel2()); + icResiCategoryStatsConfigResultDTO.setLevel3(warnConfigEntity.getLevel3()); + } + result.add(icResiCategoryStatsConfigResultDTO); + + }); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public IcResiCategoryStatsConfigResultDTO info(String id) { + IcResiCategoryStatsConfigResultDTO result =new IcResiCategoryStatsConfigResultDTO(); + IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(id); + if(null == icResiCategoryStatsConfigDTO){ + return result; + } + IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) + .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); + +// IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = Optional.ofNullable(entity).orElse(new IcResiCategoryWarnConfigEntity()); + result.setId(icResiCategoryStatsConfigDTO.getId()); + result.setLabel(icResiCategoryStatsConfigDTO.getLabel()); + result.setManagementIcon(icResiCategoryStatsConfigDTO.getManagementIcon()); + result.setDataIcon(icResiCategoryStatsConfigDTO.getDataIcon()); + result.setHouseShowIcon(icResiCategoryStatsConfigDTO.getHouseShowIcon()); + result.setStatus(icResiCategoryStatsConfigDTO.getStatus()); + result.setSort(icResiCategoryStatsConfigDTO.getSort()); + result.setWarn(null==icResiCategoryWarnConfigEntity?IcResiCategoryStatsConfigConstant.WARN_NO:IcResiCategoryStatsConfigConstant.WARN_YES); + if(null!=icResiCategoryWarnConfigEntity){ + result.setLevel1(icResiCategoryWarnConfigEntity.getLevel1()); + result.setLevel2(icResiCategoryWarnConfigEntity.getLevel2()); + result.setLevel3(icResiCategoryWarnConfigEntity.getLevel3()); + } + return result; + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) { + IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(formDTO.getId()); + if(null == icResiCategoryStatsConfigDTO){ + return ; + } + //更新配置类别 + IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); + BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity); + icResiCategoryStatsConfigEntity.setCustomerId(customerId); + icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity); + + //更新配置预警 + if(IcResiCategoryStatsConfigConstant.WARN_YES.equals(formDTO.getWarn())){ + //更新 + IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) + .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); + if(null == icResiCategoryWarnConfigEntity){ + icResiCategoryWarnConfigEntity = new IcResiCategoryWarnConfigEntity(); + icResiCategoryWarnConfigEntity.setCustomerId(customerId); + icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel()); + icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName()); + icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName()); + icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1()); + icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2()); + icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3()); + icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort()); + icResiCategoryWarnConfigDao.insert(icResiCategoryWarnConfigEntity); + }else{ + icResiCategoryWarnConfigEntity.setCustomerId(customerId); + icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel()); + icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName()); + icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName()); + icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1()); + icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2()); + icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3()); + icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort()); + icResiCategoryWarnConfigDao.updateById(icResiCategoryWarnConfigEntity); + } + }else if(IcResiCategoryStatsConfigConstant.WARN_NO.equals(formDTO.getWarn())){ + //删除 + icResiCategoryWarnConfigDao.delete(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getTableName,icResiCategoryStatsConfigDTO.getTableName()) + .eq(IcResiCategoryWarnConfigEntity::getColumnName,icResiCategoryStatsConfigDTO.getColumnName())); + } + + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) { + //更新配置类别 + IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); + BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity); + icResiCategoryStatsConfigEntity.setCustomerId(customerId); + icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateSort(String customerId,List formDTOs) { + List entityList = new ArrayList<>(); + for (IcResiCategoryStatsConfigSortFormDTO formDTO : formDTOs) { + IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); + icResiCategoryStatsConfigEntity.setId(formDTO.getId()); + icResiCategoryStatsConfigEntity.setCustomerId(customerId); + icResiCategoryStatsConfigEntity.setSort(formDTO.getSort()); + entityList.add(icResiCategoryStatsConfigEntity); + } + icResiCategoryStatsConfigService.updateBatchById(entityList); + } +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml new file mode 100644 index 0000000000..5fb6f245b4 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryStatsConfigDao.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml new file mode 100644 index 0000000000..419adda97c --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcResiCategoryWarnConfigDao.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java new file mode 100644 index 0000000000..9a3e0c23d7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zhaoqifeng + * @DateTime 2020/11/18 下午1:47 + */ +@NoArgsConstructor +@Data +public class OwnerRelationResultDTO implements Serializable { + + private static final long serialVersionUID = 2876258704168954941L; + private String ownerName; + private List userList; + + @NoArgsConstructor + @Data + public static class UserListBean { + private String userId; + private String userName; + private String isSelf; + private String relation; + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java index ae4082c383..9cc92f1a37 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java @@ -72,4 +72,10 @@ public class PersonDataResultDTO implements Serializable { */ @JsonIgnore private String idCard; + + /** + * 是否是志愿者 1是,0否 + */ + @JsonIgnore + private String isVolunteer; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 47567c16f7..26fe630e6e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -650,4 +650,7 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/icresidemanddict/demandoption/demandoption") Result> getDemandOptions(); + + @PostMapping("/epmetuser/icresiuser/categorycount") + Result>> getHomeUserCategoryCount(@RequestBody IcResiUserDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index c32f26501b..3db8c923f9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -469,4 +469,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result> getDemandOptions() { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getDemandOptions", null); } + + @Override + public Result>> getHomeUserCategoryCount(IcResiUserDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getHomeUserCategoryCount", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index f525d82218..760fd526eb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -31,7 +31,6 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserImportService; import com.epmet.service.IcResiUserService; @@ -70,6 +69,15 @@ public class IcResiUserController { @Autowired private IcResiUserImportService icResiUserImportService; + @PostMapping("delete") + public Result delete(@LoginUser TokenDto tokenDto,@RequestBody DelIcResiUserFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO,DelIcResiUserFormDTO.IdGroup.class); + icResiUserService.delete(formDTO); + return new Result(); + } + + /** * @Author sun * @Description 党建互联平台--保存居民信息 @@ -154,7 +162,7 @@ public class IcResiUserController { continue; } - if (item2.getItemType().equals("checkbox") || item2.getItemType().equals("select") || item2.getItemType().equals("radio")) { + if ("checkbox".equals(item2.getItemType()) || "select".equals(item2.getItemType()) || "radio".equals(item2.getItemType())) { itemMap.put(item2.getColumnName().concat(item2.getColumnNum() == 0 ? "" : item2.getColumnNum().toString()), ConvertUtils.sourceToTarget(item2, FormItem.class)); } } @@ -173,7 +181,7 @@ public class IcResiUserController { if (StringUtils.isBlank(formItem2.getColumnName())) { continue; } - if (formItem2.getItemType().equals("checkbox") || formItem2.getItemType().equals("select") || formItem2.getItemType().equals("radio")) { + if ("checkbox".equals(formItem2.getItemType()) || "select".equals(formItem2.getItemType()) || "radio".equals(formItem2.getItemType())) { itemMap.put(formItem2.getColumnName().concat(formItem2.getColumnNum() == 0 ? "" : formItem2.getColumnNum().toString()), ConvertUtils.sourceToTarget(formItem2, FormItem.class)); } } @@ -272,4 +280,28 @@ public class IcResiUserController { return resultForm.getData(); } + /** + * @Description 个人信息-家庭关系 + * @Param formDTO + * @Return {@link Result< OwnerRelationResultDTO>} + * @Author zhaoqifeng + * @Date 2021/11/5 11:13 + */ + @PostMapping("ownerrelation") + public Result getOwnerRelation(@RequestBody PersonDataFormDTO formDTO) { + return new Result().ok(icResiUserService.getOwnerRelation(formDTO.getUserId())); + } + + /** + * @Description 获取一栋楼每个房间人员分类的数量 + * @Param formDTO + * @Return {@link Result< Map< String, Map< String, Integer>>>} + * @Author zhaoqifeng + * @Date 2021/11/5 15:10 + */ + @PostMapping("categorycount") + public Result>> getHomeUserCategoryCount(@RequestBody IcResiUserDTO formDTO) { + return new Result>>().ok(icResiUserService.getHomeUserCategoryCount(formDTO.getBuildId())); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 02f4fc5386..4825f7abaa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -23,6 +23,7 @@ import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.PersonDataResultDTO; import com.epmet.dto.result.SearchByNameResultDTO; import com.epmet.entity.IcResiUserEntity; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -119,6 +120,17 @@ public interface IcResiUserDao extends BaseDao { List searchByName(@Param("name")String name, @Param("agencyId")String agencyId,@Param("pageNo")Integer pageNo); Set selectUserDemandCode(String icResiUserId); - String selectCategoryNames(@Param("customerId") String customerId,@Param("codeSet") Set codeSet); + + @MapKey("HOME_ID") + Map> getHomeUserCategoryCount(@Param("buildId") String buildId); + + /** + * @Description 根据userId查询志愿者 + * @param userId + * @author zxc + * @date 2021/11/5 5:44 下午 + */ + List selectVolunteerByUserId(@Param("userId")String userId); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java index 3a16ec247e..905f804351 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java @@ -2,7 +2,7 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; import com.epmet.commons.rocketmq.constants.MQUserPropertys; -import com.epmet.commons.rocketmq.messages.IcWarnStatsMQMsg; +import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -57,7 +57,7 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently { String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL); logger.info("【开放数据事件监听器】-居民信息变动-收到消息内容:{},操作:{}", msg, tags); - IcWarnStatsMQMsg obj = JSON.parseObject(msg, IcWarnStatsMQMsg.class); + IcResiUserAddMQMsg obj = JSON.parseObject(msg, IcResiUserAddMQMsg.class); DistributedLock distributedLock = null; RLock lock = null; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 2e9e5cf70d..b84138258a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -21,10 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.form.*; -import com.epmet.dto.result.FormItem; -import com.epmet.dto.result.HomeUserResultDTO; -import com.epmet.dto.result.PersonDataResultDTO; -import com.epmet.dto.result.SearchByNameResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import java.util.List; @@ -37,6 +34,14 @@ import java.util.Map; * @since v1.0.0 2021-10-26 */ public interface IcResiUserService extends BaseService { + /** + * 单个删除 + * + * @return void + * @author generator + * @date 2021-10-26 + */ + void delete(DelIcResiUserFormDTO formDTO); /** * @Author sun @@ -107,4 +112,21 @@ public interface IcResiUserService extends BaseService { */ Map> getDataForExport(Map itemList, String customerId, String formCode, String baseTableName, List conditions); + /** + * @Description 家庭关系 + * @Param userId + * @Return {@link OwnerRelationResultDTO} + * @Author zhaoqifeng + * @Date 2021/11/5 10:28 + */ + OwnerRelationResultDTO getOwnerRelation(String userId); + + /** + * @Description 获取一栋楼每个房间人员分类的数量 + * @Param buildId + * @Return {@link Map< String, Map< String, Integer>>} + * @Author zhaoqifeng + * @Date 2021/11/5 14:40 + */ + Map> getHomeUserCategoryCount(String buildId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 0765780072..18c8896477 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -17,44 +17,39 @@ package com.epmet.service.impl; -import com.alibaba.excel.EasyExcelFactory; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.rocketmq.messages.IcWarnStatsMQMsg; +import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; -import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.enums.GenderEnum; import com.epmet.commons.tools.enums.HouseTypeEnum; -import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.enums.RelationshipEnum; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.SystemMessageType; import com.epmet.constant.UserConstant; import com.epmet.dao.IcResiUserDao; -import com.epmet.dto.*; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.IcPartyMemberEntity; import com.epmet.entity.IcResiUserEntity; -import com.epmet.excel.handler.DynamicEasyExcelListener; -import com.epmet.feign.*; -import com.epmet.service.IcResiUserImportService; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -62,11 +57,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.File; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * 用户基础信息 @@ -97,6 +90,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> subTableRes = operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); + if (subTableRes.success() && !CollectionUtils.isEmpty(subTableRes.getData())) { + for (String subTalbeName : subTableRes.getData()) { + baseDao.updateSubTableToDel(subTalbeName, formDTO.getIcResiUserId()); + } + } + } + /** * @Author sun * @Description 党建互联平台--保存居民信息 @@ -168,7 +174,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl volunteers = baseDao.selectVolunteerByUserId(formDTO.getUserId()); + volunteers.forEach(v -> { + + }); + } // TODO return personData; } @@ -612,4 +626,57 @@ public class IcResiUserServiceImpl extends BaseServiceImpl houseResult = govOrgOpenFeignClient.get(user.getHomeId()); + if (!houseResult.success()) { + throw new RenException(houseResult.getCode(),houseResult.getMsg()); + } + result.setOwnerName(houseResult.getData().getOwnerName()); + + //获取用户所在家庭里所有人员信息 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId()); + wrapper.orderByAsc(IcResiUserEntity::getYhzgx); + List resiUserList = baseDao.selectList(wrapper); + List userList = resiUserList.stream().map(item -> { + OwnerRelationResultDTO.UserListBean bean = new OwnerRelationResultDTO.UserListBean(); + bean.setUserId(item.getId()); + bean.setUserName(item.getName()); + bean.setRelation(RelationshipEnum.getEnum(item.getYhzgx()).getName()); + if (userId.equals(item.getId())) { + bean.setIsSelf(NumConstant.ONE_STR); + } + return bean; + }).collect(Collectors.toList()); + result.setUserList(userList); + return result; + } + + /** + * @param buildId + * @Description 获取一栋楼每个房间人员分类的数量 + * @Param buildId + * @Return {@link Map>} + * @Author zhaoqifeng + * @Date 2021/11/5 14:40 + */ + @Override + public Map> getHomeUserCategoryCount(String buildId) { + return baseDao.getHomeUserCategoryCount(buildId); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index b3fce33028..319743fe3e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -214,4 +214,35 @@ + + + + \ No newline at end of file