Browse Source

添加数据库标签初始化/重新加载到redis

dev_shibei_match
jianjun 5 years ago
parent
commit
d071cc3d08
  1. 41
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 18
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/InitTagFormDTO.java
  3. 9
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/UpdateTagUseCountsResultDTO.java
  4. 6
      epmet-module/gov-voice/gov-voice-server/README.md
  5. 4
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java
  6. 13
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java
  7. 8
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java
  8. 8
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleTagsDao.java
  9. 6
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java
  10. 8
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagGridDao.java
  11. 22
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java
  12. 7
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java
  13. 136
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java
  14. 16
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml
  15. 17
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleTagsDao.xml
  16. 17
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml
  17. 18
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagGridDao.xml

41
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -8,6 +8,8 @@
package com.epmet.commons.tools.redis; package com.epmet.commons.tools.redis;
import com.epmet.commons.tools.constant.StrConstant;
/** /**
* @author Mark sunlightcs@gmail.com * @author Mark sunlightcs@gmail.com
* @since 1.0.0 * @since 1.0.0
@ -213,4 +215,43 @@ public class RedisKeys {
public static String getAgencyByIdKey(String agencyId) { public static String getAgencyByIdKey(String agencyId) {
return rootPrefix.concat("gov:agency:").concat(agencyId); return rootPrefix.concat("gov:agency:").concat(agencyId);
} }
/**
* 客户标签排行 缓存Key
* @param customerId
* @return
*/
public static String getCustomerTagKey(String customerId) {
return rootPrefix.concat("tags:customer:rankingTag:").concat(customerId);
}
/**
* 客户关联标签 缓存Key
* @param customerId
* @param tagId
* @return
*/
public static String getCustomerReTagKey(String customerId,String tagId) {
return rootPrefix.concat("tags:customer:relationTag:").concat(customerId).concat(StrConstant.COLON).concat(tagId);
}
/**
* 网格标签排行 缓存Key
* @param gridId
* @return
*/
public static String getGridTagKey(String gridId) {
return rootPrefix.concat("tags:grid:rankingTag:").concat(gridId);
}
/**
* 网格关联标签 缓存Key
* @param gridId
* @param tagId
* @return
*/
public static String getGridReTagKey(String gridId,String tagId) {
return rootPrefix.concat("tags:grid:relationTag:").concat(gridId).concat(StrConstant.COLON).concat(tagId);
}
} }

18
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/InitTagFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* desc:初始化/重新加载标签数据到数据库
*/
@Data
public class InitTagFormDTO implements Serializable {
private static final long serialVersionUID = -4982447946629101341L;
/**
* 客户列表 list非必填如果不填则初始化或重新加载所有客户
*/
private List<String> customerIdList;
}

9
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/UpdateTagUseCountsResultDTO.java

@ -13,6 +13,15 @@ public class UpdateTagUseCountsResultDTO implements Serializable {
private static final long serialVersionUID = -6331586672885417576L; private static final long serialVersionUID = -6331586672885417576L;
public UpdateTagUseCountsResultDTO() {
super();
}
public UpdateTagUseCountsResultDTO(String tagId, String tagName) {
this.tagId = tagId;
this.tagName = tagName;
}
/** /**
* 标签id * 标签id
*/ */

6
epmet-module/gov-voice/gov-voice-server/README.md

@ -0,0 +1,6 @@
## epmet-cloud
客户(网格)标签如果redis中需要重新加载数据到redis
执行以下命令:
参数:customerIdList 数组 非必填;不填则刷新全部客户
curl -H "Content-Type:application/json" -X POST --data '{"customerIdList": ["客户ID"]}' http://localhost:8105/gov/voice/tag/inittag

4
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java

@ -17,21 +17,25 @@ public interface TagConstant {
/** /**
* 客户维度政府端 热度标签 key的前缀 zset * 客户维度政府端 热度标签 key的前缀 zset
* 完整keyGRID_TAG_KEY:客户ID
*/ */
String GOV_TAG_KEY = "epmet:tags:customer:rankingTag:"; String GOV_TAG_KEY = "epmet:tags:customer:rankingTag:";
/** /**
* 客户维度政府端 关联标签 key的前缀 set * 客户维度政府端 关联标签 key的前缀 set
* 完整keyGRID_TAG_KEY:标签ID
*/ */
String GOV_RETAG_KEY = "epmet:tags:customer:relationTag:"; String GOV_RETAG_KEY = "epmet:tags:customer:relationTag:";
/** /**
* 网格热度标签居民端 key的前缀 zset * 网格热度标签居民端 key的前缀 zset
* 完整keyGRID_TAG_KEY:网格ID
*/ */
String GRID_TAG_KEY = "epmet:tags:grid:rankingTag:"; String GRID_TAG_KEY = "epmet:tags:grid:rankingTag:";
/** /**
* 网格关联标签居民端 key的前缀 set * 网格关联标签居民端 key的前缀 set
* 完整keyGRID_RETAG_KEY:网格ID:标签ID
*/ */
String GRID_RETAG_KEY ="epmet:tags:grid:relationTag:"; String GRID_RETAG_KEY ="epmet:tags:grid:relationTag:";

13
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java

@ -1,12 +1,11 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CorrelationTagListFormDTO; import com.epmet.dto.form.CorrelationTagListFormDTO;
import com.epmet.dto.form.InitTagFormDTO;
import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO; import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.result.CorrelationTagListResultDTO; import com.epmet.dto.result.CorrelationTagListResultDTO;
@ -72,4 +71,14 @@ public class TagController {
return new Result<List<TagInfoResultDTO>>().ok(tagService.tagCascadeList(formDto)); return new Result<List<TagInfoResultDTO>>().ok(tagService.tagCascadeList(formDto));
} }
/**
* desc:初始化/重新加载 db标签到redis
* @param formDto
* @return
*/
@PostMapping("inittag")
public Result<Boolean> initTag(@RequestBody InitTagFormDTO formDto){
return new Result<Boolean>().ok(tagService.initTag(formDto));
}
} }

8
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java

@ -18,7 +18,6 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ArticlePublishRangeDTO;
import com.epmet.entity.ArticlePublishRangeEntity; import com.epmet.entity.ArticlePublishRangeEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -42,5 +41,10 @@ public interface ArticlePublishRangeDao extends BaseDao<ArticlePublishRangeEntit
**/ **/
List<ArticlePublishRangeEntity> selectByArticleId(ArticlePublishRangeEntity rangeEntity); List<ArticlePublishRangeEntity> selectByArticleId(ArticlePublishRangeEntity rangeEntity);
/**
* desc:获取网格发布的文章 用于初始化数据库标签数据到redis
* @param customerIdList
* @return
*/
List<ArticlePublishRangeEntity> selectInitData(@Param("customerIdList") List<String> customerIdList);
} }

8
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleTagsDao.java

@ -40,5 +40,11 @@ public interface ArticleTagsDao extends BaseDao<ArticleTagsEntity> {
* @author zxc * @author zxc
*/ */
void addArticleTags(@Param("addArticleTags")List<AddArticleTagsFormDTO> addArticleTags); void addArticleTags(@Param("addArticleTags")List<AddArticleTagsFormDTO> addArticleTags);
/**
* desc:获取文章标签数据 用于初始化到redis
* @param customerIdList
* @return
*/
List<ArticleTagsEntity> selectInitData(@Param("customerIdList")List<String> customerIdList);
} }

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

@ -49,4 +49,10 @@ public interface TagCustomerDao extends BaseDao<TagCustomerEntity> {
*/ */
void initTags(@Param("tags") List<InitTagsFormDTO> tags); void initTags(@Param("tags") List<InitTagsFormDTO> tags);
/**
* desc:获取需要初始化的客户标签
* @param customerIdList
* @return
*/
List<TagCustomerEntity> selectInitData(@Param("customerIdList") List<String> customerIdList);
} }

8
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagGridDao.java

@ -40,5 +40,11 @@ public interface TagGridDao extends BaseDao<TagGridEntity> {
* @author zxc * @author zxc
*/ */
void updateGridTag(@Param("gridTags") List<UpdateGridTagsFormDTO> gridTags,@Param("userId")String userId); void updateGridTag(@Param("gridTags") List<UpdateGridTagsFormDTO> gridTags,@Param("userId")String userId);
/**
* desc:获取网格初始化数据 用于加载数据库数据到redis
* @param customerIdList
* @return
*/
List<TagGridEntity> selectInitData(@Param("customerIdList") List<String> customerIdList);
} }

22
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java

@ -19,6 +19,7 @@ package com.epmet.redis;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.constant.TagConstant; import com.epmet.constant.TagConstant;
import com.epmet.dto.form.CorrelationTagListFormDTO; import com.epmet.dto.form.CorrelationTagListFormDTO;
@ -49,11 +50,28 @@ public class TagRedis {
@Autowired @Autowired
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
public void delete(Object[] ids) { private Long zAdd(String key,Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>> value) {
return redisTemplate.opsForZSet().add(key,value);
}
/**
* desc:添加或修改客户标签排行
* @param customerId
* @param value
* @return
*/
public Long zAddCustomerTag(String customerId,Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>> value){
return this.zAdd(RedisKeys.getCustomerTagKey(customerId),value);
} }
public void set(){ /**
* desc:添加或修改网格标签排行
* @param gridId
* @param value
* @return
*/
public Long zAddGridTag(String gridId,Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>> value){
return this.zAdd(RedisKeys.getGridTagKey(gridId),value);
} }
/** /**

7
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.CorrelationTagListFormDTO; import com.epmet.dto.form.CorrelationTagListFormDTO;
import com.epmet.dto.form.InitTagFormDTO;
import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO; import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.result.CorrelationTagListResultDTO; import com.epmet.dto.result.CorrelationTagListResultDTO;
@ -40,4 +41,10 @@ public interface TagService {
*/ */
List<TagInfoResultDTO> tagCascadeList(TagCascadeListFormDTO formDto); List<TagInfoResultDTO> tagCascadeList(TagCascadeListFormDTO formDto);
/**
* desc:初始化/重新加载 客户标签到redis,用于数据库与redis数据同步的
* @param formDto
* @return
*/
Boolean initTag(InitTagFormDTO formDto);
} }

136
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java

@ -1,25 +1,33 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.constant.TagConstant; import com.epmet.constant.TagConstant;
import com.epmet.dao.ArticleDao; import com.epmet.dao.*;
import com.epmet.dao.TagCustomerDao;
import com.epmet.dao.TagDefaultDao;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.CorrelationTagListResultDTO; import com.epmet.dto.result.CorrelationTagListResultDTO;
import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.UpdateTagUseCountsResultDTO; import com.epmet.dto.result.UpdateTagUseCountsResultDTO;
import com.epmet.entity.ArticlePublishRangeEntity;
import com.epmet.entity.ArticleTagsEntity;
import com.epmet.entity.TagCustomerEntity;
import com.epmet.entity.TagGridEntity;
import com.epmet.redis.TagRedis; import com.epmet.redis.TagRedis;
import com.epmet.service.TagService; import com.epmet.service.TagService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.DefaultTypedTuple;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.UUID;
@Slf4j
@Service @Service
public class TagServiceImpl implements TagService { public class TagServiceImpl implements TagService {
@ -31,6 +39,12 @@ public class TagServiceImpl implements TagService {
private TagDefaultDao tagDefaultDao; private TagDefaultDao tagDefaultDao;
@Autowired @Autowired
private TagCustomerDao tagCustomerDao; private TagCustomerDao tagCustomerDao;
@Autowired
private ArticleTagsDao articleTagsDao;
@Autowired
private TagGridDao tagGridDao;
@Autowired
private ArticlePublishRangeDao articlePublishRangeDao;
/** /**
* @Description 已发布列表页的标签政府端 * @Description 已发布列表页的标签政府端
@ -118,4 +132,114 @@ public class TagServiceImpl implements TagService {
} }
return tagRedis.getResiTag(formDto); return tagRedis.getResiTag(formDto);
} }
@Override
public Boolean initTag(InitTagFormDTO formDto) {
List<TagCustomerEntity> customerTagList = tagCustomerDao.selectInitData(formDto.getCustomerIdList());
if (CollectionUtils.isEmpty(customerTagList)) {
throw new RenException("客户标签数为空");
}
Map<String, Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>>> customerTag = new HashMap<>();
customerTagList.stream().forEach(tag -> {
buildZset(customerTag, tag.getCustomerId(), tag.getId(), tag.getTagName(), tag.getUseCount());
});
if (customerTag.size() > 0) {
customerTag.forEach((customerId, tagSet) -> tagRedis.zAddCustomerTag(customerId, tagSet));
}
//key customerId:tagId
Map<String, Set<UpdateTagUseCountsResultDTO>> reCustomerTagMap = new HashMap<>();
List<ArticleTagsEntity> articleTagList = articleTagsDao.selectInitData(formDto.getCustomerIdList());
Map<String, List<ArticleTagsEntity>> articleReTagMap = new HashMap<>();
if (!CollectionUtils.isEmpty(articleTagList)) {
articleReTagMap = articleTagList.stream().collect(Collectors.groupingBy(ArticleTagsEntity::getArticleId));
articleReTagMap.forEach((articleId, articleReTagList) -> {
buildReTag(reCustomerTagMap, articleReTagList);
});
}
if (reCustomerTagMap.size() > 0) {
reCustomerTagMap.forEach((customerAndTagId, tagSet) -> tagRedis.updateMoreTag(TagConstant.GOV_RETAG_KEY.concat(customerAndTagId), tagSet));
}
//初始化 网格级标签
List<TagGridEntity> gridTagList = tagGridDao.selectInitData(formDto.getCustomerIdList());
if (CollectionUtils.isEmpty(gridTagList)) {
throw new RenException("网格标签数为空");
}
customerTag.clear();
gridTagList.stream().forEach(tag -> buildZset(customerTag, tag.getGridId(), tag.getTagId(), tag.getTagName(), tag.getUseCount()));
if (customerTag.size() > 0) {
customerTag.forEach((gridId, tagSet) -> tagRedis.zAddGridTag(gridId, tagSet));
}
//获取网格发布的文章 按网格排序
List<ArticlePublishRangeEntity> publishRangeTagList = articlePublishRangeDao.selectInitData(formDto.getCustomerIdList());
if (CollectionUtils.isEmpty(publishRangeTagList)){
log.error("publishRangeTagList return empty");
return false;
}
//网格关联标签结果 key:gridId:tagId
Map<String, Set<UpdateTagUseCountsResultDTO>> resultMap = new HashMap<>();
Map<String, List<ArticlePublishRangeEntity>> gridArticleListMap = publishRangeTagList.stream().collect(Collectors.groupingBy(ArticlePublishRangeEntity::getGridId));
for (Map.Entry<String, List<ArticlePublishRangeEntity>> entry : gridArticleListMap.entrySet()) {
String gridId = entry.getKey();
List<ArticlePublishRangeEntity> articleIdList = entry.getValue();
for (ArticlePublishRangeEntity publishRange : articleIdList) {
List<ArticleTagsEntity> articleTagsEntities = articleReTagMap.get(publishRange.getArticleId());
if (CollectionUtils.isEmpty(articleTagsEntities)){
//该文章诶呦标签
continue;
}
buildGridReTag(resultMap,gridId,articleTagsEntities);
}
}
if (resultMap.size() > 0) {
resultMap.forEach((gridIdAndTagId, tagSet) -> tagRedis.updateMoreTag(TagConstant.GRID_RETAG_KEY.concat(gridIdAndTagId), tagSet));
}
return true;
}
private void buildReTag(Map<String, Set<UpdateTagUseCountsResultDTO>> reCustomerTagMap, List<ArticleTagsEntity> articleReTagList) {
articleReTagList.forEach(articleTag -> {
String key = articleTag.getCustomerId().concat(StrConstant.COLON).concat(articleTag.getTagId());
Set<UpdateTagUseCountsResultDTO> reTagSet = reCustomerTagMap.get(key);
if (reTagSet == null) {
reTagSet = new HashSet<>();
reCustomerTagMap.put(key, reTagSet);
}
Set<UpdateTagUseCountsResultDTO> newReTagSet = articleReTagList.stream().filter(o -> !o.getTagId().equals(articleTag.getTagId()))
.map(tag -> new UpdateTagUseCountsResultDTO(tag.getTagId(), tag.getTagName())).collect(Collectors.toSet());
reTagSet.addAll(newReTagSet);
});
}
private void buildGridReTag(Map<String, Set<UpdateTagUseCountsResultDTO>> resultMap,String gridId, List<ArticleTagsEntity> articleReTagList) {
articleReTagList.forEach(articleTag -> {
String key = gridId.concat(StrConstant.COLON).concat(articleTag.getTagId());
Set<UpdateTagUseCountsResultDTO> reTagSet = resultMap.get(key);
if (reTagSet == null) {
reTagSet = new HashSet<>();
resultMap.put(key, reTagSet);
}
Set<UpdateTagUseCountsResultDTO> newReTagSet = articleReTagList.stream().filter(o -> !o.getTagId().equals(articleTag.getTagId()))
.map(tag -> new UpdateTagUseCountsResultDTO(tag.getTagId(), tag.getTagName())).collect(Collectors.toSet());
reTagSet.addAll(newReTagSet);
});
}
private void buildZset(Map<String, Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>>> customerTag, String customerId, String id, String tagName, Integer useCount) {
Set<ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO>> typedTupleSet = customerTag.get(customerId);
if (typedTupleSet == null) {
typedTupleSet = new HashSet<>();
customerTag.put(customerId, typedTupleSet);
}
UpdateTagUseCountsResultDTO initTag = new UpdateTagUseCountsResultDTO();
initTag.setTagId(id);
initTag.setTagName(tagName);
ZSetOperations.TypedTuple<UpdateTagUseCountsResultDTO> typedTuple1 = new DefaultTypedTuple<>(initTag, Double.valueOf(useCount));
typedTupleSet.add(typedTuple1);
}
} }

16
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml

@ -18,6 +18,22 @@
</if> </if>
ORDER BY created_time ASC ORDER BY created_time ASC
</select> </select>
<select id="selectInitData" resultType="com.epmet.entity.ArticlePublishRangeEntity">
SELECT
CUSTOMER_ID,
ARTICLE_ID,
GRID_ID
FROM
article_publish_range
WHERE DEL_FLAG = 0
<if test="customerIdList != null and customerIdList.size > 0">
and
<foreach collection="customerIdList" open="(" close=")" item="item" separator="OR">
CUSTOMER_ID = #{item,jdbcType=VARCHAR}
</foreach>
</if>
ORDER BY GRID_ID
</select>
</mapper> </mapper>

17
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleTagsDao.xml

@ -12,5 +12,22 @@
#{tag.revision}, #{tag.createdBy}, NOW(),#{tag.updatedBy}, NOW()) #{tag.revision}, #{tag.createdBy}, NOW(),#{tag.updatedBy}, NOW())
</foreach> </foreach>
</select> </select>
<select id="selectInitData" resultType="com.epmet.entity.ArticleTagsEntity">
SELECT
CUSTOMER_ID,
ARTICLE_ID,
TAG_ID,
TAG_NAME
FROM
article_tags
WHERE DEL_FLAG = 0
<if test="customerIdList != null and customerIdList.size > 0">
and
<foreach collection="customerIdList" open="(" close=")" item="item" separator="OR">
CUSTOMER_ID = #{item,jdbcType=VARCHAR}
</foreach>
</if>
ORDER BY CUSTOMER_ID
</select>
</mapper> </mapper>

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

@ -36,5 +36,22 @@
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
UPDATED_TIME = NOW() UPDATED_TIME = NOW()
</insert> </insert>
<select id="selectInitData" resultType="com.epmet.entity.TagCustomerEntity">
SELECT
ID,
CUSTOMER_ID,
TAG_NAME,
USE_COUNT
FROM
tag_customer
WHERE DEL_FLAG = 0
<if test="customerIdList != null and customerIdList.size > 0">
and
<foreach collection="customerIdList" open="(" close=")" item="item" separator="OR">
CUSTOMER_ID = #{item,jdbcType=VARCHAR}
</foreach>
</if>
ORDER BY CUSTOMER_ID
</select>
</mapper> </mapper>

18
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagGridDao.xml

@ -17,5 +17,23 @@
UPDATED_TIME = NOW(), UPDATED_TIME = NOW(),
UPDATED_BY = #{userId} UPDATED_BY = #{userId}
</insert> </insert>
<select id="selectInitData" resultType="com.epmet.entity.TagGridEntity">
SELECT
CUSTOMER_ID,
GRID_ID,
TAG_ID,
TAG_NAME,
USE_COUNT
FROM
tag_grid
WHERE DEL_FLAG = 0
<if test="customerIdList != null and customerIdList.size > 0">
and
<foreach collection="customerIdList" open="(" close=")" item="item" separator="OR">
CUSTOMER_ID = #{item,jdbcType=VARCHAR}
</foreach>
</if>
ORDER BY CUSTOMER_ID
</select>
</mapper> </mapper>
Loading…
Cancel
Save