Browse Source

初始化标应用范围

dev
yinzuomei 3 years ago
parent
commit
ef13a85491
  1. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  2. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  3. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  4. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  5. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
  6. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  7. 16
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  8. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java
  9. 8
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java
  10. 50
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java

8
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,orgIdPathagencyName
* @param customerId
* @return
*/
@PostMapping("/gov/org/agency/getAllCommunity/{customerId}")
Result<List<AgencyResultDTO>> getAllCommunity(@PathVariable(value = "customerId") String customerId);
}

10
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,orgIdPathagencyName
*
* @param customerId
* @return
*/
@Override
public Result<List<AgencyResultDTO>> getAllCommunity(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAllCommunity", customerId);
}
}

13
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<UsingCommunityStatsResultDTO>().ok(agencyService.usingCommunityStats(orgId, orgType));
}
/**
* @param customerId
* @return 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
*/
@PostMapping("getAllCommunity/{customerId}")
public Result<List<AgencyResultDTO>> getAllCommunity(@PathVariable(value = "customerId") String customerId) {
if (StringUtils.isBlank(customerId)) {
return new Result<>();
}
return new Result<List<AgencyResultDTO>>().ok(agencyService.getAllCommunity(customerId));
}
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -422,5 +422,12 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @return
*/
Integer selectTotalNext(String agencyId);
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
* @param customerId
* @return
*/
List<AgencyResultDTO> getAllCommunity(String customerId);
}

7
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,orgIdPathagencyName
* @param customerId
* @return
*/
List<AgencyResultDTO> getAllCommunity(String customerId);
}

11
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,orgIdPathagencyName
*
* @param customerId
* @return
*/
@Override
public List<AgencyResultDTO> getAllCommunity(String customerId) {
return customerAgencyDao.getAllCommunity(customerId);
}
}

16
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -1128,4 +1128,20 @@
AND g.DEL_FLAG = '0'
) t
</select>
<!-- 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName -->
<select id="getAllCommunity" parameterType="java.lang.String" resultType="com.epmet.dto.result.AgencyResultDTO">
SELECT
ca.id agencyId,
ca.organization_name agencyName,
(
case when ca.pid is null or ca.pid='0' or ca.pid='' then ca.id
else concat(ca.pids,':',ca.id)
end)as orgIdPath
FROM
customer_agency ca
WHERE
ca.del_flag = '0'
AND ca.customer_id = #{customerId}
</select>
</mapper>

11
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();
}
}

8
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java

@ -96,4 +96,12 @@ public interface TagCustomerService extends BaseService<TagCustomerEntity> {
* @param showFlag
*/
void changeShowFlag(String id, Integer showFlag);
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
* @param tokenDto
* @return
*/
void initTagScope(String customerId);
}

50
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<TagCustomerDao, TagCustomerEntity> implements TagCustomerService {
@Autowired
private TagScopeDao tagScopeDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
/**
@ -191,4 +200,45 @@ public class TagCustomerServiceImpl extends BaseServiceImpl<TagCustomerDao, TagC
.set(TagCustomerEntity::getShowFlag,showFlag);
baseDao.update(null,tagCustomerUpdateWrapper);
}
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
*
* @param customerId@return
*/
@Async
@Override
public void initTagScope(String customerId) {
if (StringUtils.isBlank(customerId)) {
return;
}
LambdaQueryWrapper<TagCustomerEntity> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(TagCustomerEntity::getCustomerId, customerId);
List<TagCustomerEntity> tagList = baseDao.selectList(queryWrapper);
if (CollectionUtils.isEmpty(tagList)) {
return;
}
int tagTotal = tagList.size();
// 获取当前客户下所有的社区组织
Result<List<AgencyResultDTO>> 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));
}
}
}

Loading…
Cancel
Save