Browse Source

Merge remote-tracking branch 'origin/yantai_zhengwu_master' into dev

master
yinzuomei 3 years ago
parent
commit
5b97ec5ddc
  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. 16
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java
  9. 5
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java
  10. 2
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java
  11. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java
  12. 1
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java
  13. 5
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java
  14. 4
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java
  15. 21
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java
  16. 78
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java
  17. 1
      epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.13__tag_scope.sql
  18. 11
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml
  19. 10
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml

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>

16
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<TagScopeDTO> agencyList;
}

5
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;
}

2
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<TagScopeDTO> agencyIds;
private List<TagScopeDTO> agencyList;
/**
* 客户ID
*/

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

1
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java

@ -64,4 +64,5 @@ public interface TagCustomerDao extends BaseDao<TagCustomerEntity> {
* @return
*/
List<TagCustomerDTO> pageList(@Param("customerId") String customerId, @Param("tagName")String tagName);
}

5
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<TagScopeEntity> {
int deleteByTagId(@Param("tagId") String tagId, @Param("customerId") String customerId);
List<TagScopeDTO> selectScope(String tagId);
}

4
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;
}

21
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<TagCustomerEntity> {
*/
PageData<TagCustomerDTO> page(TagCustomerPageFormDTO formDTO);
/**
* 默认查询
*
* @param params
* @return java.util.List<TagCustomerDTO>
* @author generator
* @date 2020-06-02
*/
List<TagCustomerDTO> list(Map<String, Object> params);
/**
* 单条查询
*
@ -109,4 +96,12 @@ public interface TagCustomerService extends BaseService<TagCustomerEntity> {
* @param showFlag
*/
void changeShowFlag(String id, Integer showFlag);
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
* @param tokenDto
* @return
*/
void initTagScope(String customerId);
}

78
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<TagCustomerDao, TagCustomerEntity> implements TagCustomerService {
@Autowired
private TagScopeDao tagScopeDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
/**
@ -78,22 +83,6 @@ public class TagCustomerServiceImpl extends BaseServiceImpl<TagCustomerDao, TagC
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public List<TagCustomerDTO> list(Map<String, Object> params) {
List<TagCustomerEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, TagCustomerDTO.class);
}
private QueryWrapper<TagCustomerEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<TagCustomerEntity> 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<TagCustomerDao, TagC
entity.setUseCount(NumConstant.ZERO);
entity.setShowFlag(NumConstant.ONE);
insert(entity);
if(CollectionUtils.isNotEmpty(dto.getAgencyIds())){
dto.getAgencyIds().forEach(tagScopeDTO->{
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<TagCustomerDao, TagC
updateById(entity);
//删除应用范围
tagScopeDao.deleteByTagId(entity.getId(),entity.getCustomerId());
if(CollectionUtils.isNotEmpty(dto.getAgencyIds())){
dto.getAgencyIds().forEach(tagScopeDTO->{
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<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));
}
}
}

1
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 '创建人',

11
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml

@ -56,8 +56,17 @@
ORDER BY CUSTOMER_ID
</select>
<resultMap id="TagCustomerMap" type="com.epmet.dto.TagCustomerDTO">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="tagName" column="TAG_NAME"/>
<result property="tagColor" column="TAG_COLOR"/>
<result property="useCount" column="USE_COUNT"/>
<result property="showFlag" column="SHOW_FLAG"/>
<association property="agencyList" column="ID" select="com.epmet.dao.TagScopeDao.selectScope"/>
</resultMap>
<!-- pc标签管理-分页查询 -->
<select id="pageList" parameterType="map" resultType="com.epmet.dto.TagCustomerDTO">
<select id="pageList" parameterType="map" resultMap="TagCustomerMap">
select tc.*
from tag_customer tc
where tc.del_flag='0'

10
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml

@ -8,6 +8,7 @@
<result property="customerId" column="CUSTOMER_ID"/>
<result property="tagId" column="TAG_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="orgIdPath" column="ORG_ID_PATH"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
@ -21,4 +22,13 @@
where TAG_ID=#{tagId}
and CUSTOMER_ID=#{customerId}
</delete>
<select id="selectScope" parameterType="java.lang.String" resultType="com.epmet.dto.TagScopeDTO">
select ts.TAG_ID,
ts.AGENCY_ID,
ts.ORG_ID_PATH
from tag_scope ts
where ts.del_flag='0'
and ts.TAG_ID=#{tagId}
</select>
</mapper>
Loading…
Cancel
Save