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 9818f7f832..f5fba673b1 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 @@ -757,4 +757,12 @@ public interface GovOrgOpenFeignClient { @PostMapping("/gov/org/enterprise/sendEnterprisePatrolRemindMessage") Result sendEnterprisePatrolRemindMessage(); + + /** + * 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + * @param customerId + * @return + */ + @PostMapping("/gov/org/agency/getAllCommunity/{customerId}") + Result> getAllCommunity(@PathVariable(value = "customerId") String customerId); } 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 befef36cf5..52cf691d6e 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 @@ -474,4 +474,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridStaffList", dto); } + /** + * 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + * + * @param customerId + * @return + */ + @Override + public Result> getAllCommunity(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAllCommunity", customerId); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index c6576dde5e..5624c39127 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -624,4 +624,17 @@ public class AgencyController { String orgType = input.getOrgType(); return new Result().ok(agencyService.usingCommunityStats(orgId, orgType)); } + + /** + * @param customerId + * @return 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + */ + @PostMapping("getAllCommunity/{customerId}") + public Result> getAllCommunity(@PathVariable(value = "customerId") String customerId) { + if (StringUtils.isBlank(customerId)) { + return new Result<>(); + } + return new Result>().ok(agencyService.getAllCommunity(customerId)); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 7e98f598f8..2ef0034462 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -422,5 +422,12 @@ public interface CustomerAgencyDao extends BaseDao { * @return */ Integer selectTotalNext(String agencyId); + + /** + * 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + * @param customerId + * @return + */ + List getAllCommunity(String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index d7bb4b2564..5d2a97ba5c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -204,4 +204,11 @@ public interface AgencyService { * @return */ UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType); + + /** + * 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + * @param customerId + * @return + */ + List getAllCommunity(String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 04d8dfb98b..31d49852b7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -1168,4 +1168,15 @@ public class AgencyServiceImpl implements AgencyService { return orgPids.concat(":").concat(orgId); } + + /** + * 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName + * + * @param customerId + * @return + */ + @Override + public List getAllCommunity(String customerId) { + return customerAgencyDao.getAllCommunity(customerId); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index a21e6e4e20..269898b5fd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1128,4 +1128,20 @@ AND g.DEL_FLAG = '0' ) t + + + diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java index 84080d204e..15e4d22232 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java @@ -18,12 +18,14 @@ package com.epmet.dto; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -54,6 +56,10 @@ public class TagCustomerDTO implements Serializable { * 标签名称 */ private String tagName; + /** + * 标签颜色 + */ + private String tagColor; /** * 使用计数 @@ -69,31 +75,41 @@ public class TagCustomerDTO implements Serializable { /** * 删除标识 0.未删除 1.已删除 */ + @JsonIgnore private Integer delFlag; /** * 乐观锁 */ + @JsonIgnore private Integer revision; /** * 创建人 */ + @JsonIgnore private String createdBy; /** * 创建时间 */ + @JsonIgnore private Date createdTime; /** * 更新人 */ + @JsonIgnore private String updatedBy; /** * 更新时间 */ + @JsonIgnore private Date updatedTime; + /** + * 应用范围 + */ + private List agencyList; } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java index a4e5052273..e5bf3d021a 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java @@ -24,10 +24,5 @@ public class TagScopeDTO implements Serializable { * agency_id全路径,包含自身 */ private String orgIdPath; - - /** - * 组织名称 - */ - private String agencyName; } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java index 403b30094d..d27d57e3f4 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java @@ -47,7 +47,7 @@ public class TagCustomerFormDTO implements Serializable { /** * 应用范围,只能选社区 */ - private List agencyIds; + private List agencyList; /** * 客户ID */ diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java index b73213752b..028897d4a0 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java @@ -134,4 +134,15 @@ public class TagController { return new Result(); } + /** + * 初始化标签应用范围, + * 每个标签,和当前客户下所有社区关联 + * @param tokenDto + * @return + */ + @PostMapping("initTagScope") + public Result initTagScope(@LoginUser TokenDto tokenDto){ + tagCustomerService.initTagScope(tokenDto.getCustomerId()); + return new Result(); + } } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java index 70c29ec8a2..cf3ccefc3a 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java @@ -64,4 +64,5 @@ public interface TagCustomerDao extends BaseDao { * @return */ List pageList(@Param("customerId") String customerId, @Param("tagName")String tagName); + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java index 3aecba1d55..411801f4b5 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java @@ -1,10 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.TagScopeDTO; import com.epmet.entity.TagScopeEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 标签应用范围表 * @@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Param; public interface TagScopeDao extends BaseDao { int deleteByTagId(@Param("tagId") String tagId, @Param("customerId") String customerId); + + List selectScope(String tagId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java index 6747b64835..7e00ef4919 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java @@ -38,8 +38,4 @@ public class TagScopeEntity extends BaseEpmetEntity { */ private String orgIdPath; - /** - * 组织名称 - */ - private String agencyName; } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java index 099df16cab..670393895e 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java @@ -25,9 +25,6 @@ import com.epmet.dto.form.TagCustomerPageFormDTO; import com.epmet.dto.result.UpdateTagUseCountsResultDTO; import com.epmet.entity.TagCustomerEntity; -import java.util.List; -import java.util.Map; - /** * 客户标签表 * @@ -46,16 +43,6 @@ public interface TagCustomerService extends BaseService { */ PageData page(TagCustomerPageFormDTO formDTO); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-06-02 - */ - List list(Map params); - /** * 单条查询 * @@ -109,4 +96,12 @@ public interface TagCustomerService extends BaseService { * @param showFlag */ void changeShowFlag(String id, Integer showFlag); + + /** + * 初始化标签应用范围, + * 每个标签,和当前客户下所有社区关联 + * @param tokenDto + * @return + */ + void initTagScope(String customerId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java index 219cc7616c..28997231cc 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java @@ -18,10 +18,8 @@ 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.conditions.update.LambdaUpdateWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -29,29 +27,33 @@ import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.TagCustomerDao; import com.epmet.dao.TagScopeDao; import com.epmet.dto.TagCustomerDTO; import com.epmet.dto.form.TagCustomerFormDTO; import com.epmet.dto.form.TagCustomerPageFormDTO; import com.epmet.dto.form.UpdateTagFormDTO; +import com.epmet.dto.result.AgencyResultDTO; import com.epmet.dto.result.UpdateTagUseCountsResultDTO; import com.epmet.entity.TagCustomerEntity; import com.epmet.entity.TagScopeEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.TagCustomerService; import com.epmet.utils.TagColorUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.Date; import java.util.List; -import java.util.Map; /** * 客户标签表 @@ -59,10 +61,13 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2020-06-02 */ +@Slf4j @Service public class TagCustomerServiceImpl extends BaseServiceImpl implements TagCustomerService { @Autowired private TagScopeDao tagScopeDao; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; /** @@ -78,22 +83,6 @@ public class TagCustomerServiceImpl extends BaseServiceImpl(list, pageInfo.getTotal()); } - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, TagCustomerDTO.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 TagCustomerDTO get(String id) { TagCustomerEntity entity = baseDao.selectById(id); @@ -119,13 +108,12 @@ public class TagCustomerServiceImpl extends BaseServiceImpl{ + if(CollectionUtils.isNotEmpty(dto.getAgencyList())){ + dto.getAgencyList().forEach(tagScopeDTO->{ TagScopeEntity tagScopeEntity=new TagScopeEntity(); tagScopeEntity.setCustomerId(entity.getCustomerId()); tagScopeEntity.setTagId(entity.getId()); tagScopeEntity.setAgencyId(tagScopeDTO.getAgencyId()); - tagScopeEntity.setAgencyName(tagScopeDTO.getAgencyName()); tagScopeEntity.setOrgIdPath(tagScopeDTO.getOrgIdPath()); tagScopeDao.insert(tagScopeEntity); }); @@ -151,13 +139,12 @@ public class TagCustomerServiceImpl extends BaseServiceImpl{ + if(CollectionUtils.isNotEmpty(dto.getAgencyList())){ + dto.getAgencyList().forEach(tagScopeDTO->{ TagScopeEntity tagScopeEntity=new TagScopeEntity(); tagScopeEntity.setCustomerId(entity.getCustomerId()); tagScopeEntity.setTagId(entity.getId()); tagScopeEntity.setAgencyId(tagScopeDTO.getAgencyId()); - tagScopeEntity.setAgencyName(tagScopeDTO.getAgencyName()); tagScopeEntity.setOrgIdPath(tagScopeDTO.getOrgIdPath()); tagScopeDao.insert(tagScopeEntity); }); @@ -213,4 +200,45 @@ public class TagCustomerServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(TagCustomerEntity::getCustomerId, customerId); + List tagList = baseDao.selectList(queryWrapper); + if (CollectionUtils.isEmpty(tagList)) { + return; + } + int tagTotal = tagList.size(); + // 获取当前客户下所有的社区组织 + Result> communityRes = govOrgOpenFeignClient.getAllCommunity(customerId); + if (communityRes.success() && CollectionUtils.isNotEmpty(communityRes.getData())) { + int communityTotal = communityRes.getData().size(); + int num = 1; + for (TagCustomerEntity tag : tagList) { + for (AgencyResultDTO agencyResultDTO : communityRes.getData()) { + TagScopeEntity tagScopeEntity = new TagScopeEntity(); + tagScopeEntity.setCustomerId(tag.getCustomerId()); + tagScopeEntity.setTagId(tag.getId()); + tagScopeEntity.setAgencyId(agencyResultDTO.getAgencyId()); + tagScopeEntity.setOrgIdPath(agencyResultDTO.getOrgIdPath()); + tagScopeDao.insert(tagScopeEntity); + num++; + } + } + log.error(String.format("customerId:%s,已经将%s个标签应用给%s个社区,tag_scope产生%s条记录", customerId, tagTotal, communityTotal, num)); + } + + } + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.13__tag_scope.sql b/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.13__tag_scope.sql index 4eb48152f6..bb41f4af36 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.13__tag_scope.sql +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.13__tag_scope.sql @@ -6,7 +6,6 @@ CREATE TABLE `tag_scope` ( `TAG_ID` varchar(64) NOT NULL COMMENT '标签ID', `AGENCY_ID` varchar(64) NOT NULL COMMENT '应用范围,这里只能是社区id', `ORG_ID_PATH` varchar(255) NOT NULL COMMENT 'agency_id全路径,包含自身', - `AGENCY_NAME` varchar(255) NOT NULL COMMENT '组织名称', `DEL_FLAG` int(11) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml index a73ca7d5b8..2900561bd4 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml @@ -56,8 +56,17 @@ ORDER BY CUSTOMER_ID + + + + + + + + + - select tc.* from tag_customer tc where tc.del_flag='0' diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml index ed8f0b052a..3d132f74c5 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml @@ -8,6 +8,7 @@ + @@ -21,4 +22,13 @@ where TAG_ID=#{tagId} and CUSTOMER_ID=#{customerId} + + \ No newline at end of file