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-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/service/TagCustomerService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java index eccf691c7f..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 @@ -96,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 cad48f6eeb..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 @@ -27,21 +27,27 @@ 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; @@ -55,10 +61,13 @@ import java.util.List; * @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; /** @@ -191,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)); + } + + } + }