Commit dc20e5da authored by renandong's avatar renandong 🇨🇳

1,用户标签不再更新,仅增加

parent 4bcc1405
...@@ -6,14 +6,17 @@ import cn.hutool.core.convert.ConvertException; ...@@ -6,14 +6,17 @@ import cn.hutool.core.convert.ConvertException;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.weface.common.utils.SnowIdUtil; import com.weface.common.utils.SnowIdUtil;
import com.weface.entity.MenuTagsEntity; import com.weface.entity.MenuTagsEntity;
import com.weface.entity.UserMenusEntity; import com.weface.entity.UserMenusEntity;
import com.weface.entity.UserTagEntity; import com.weface.entity.UserTagEntity;
import com.weface.service.UserMenusService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
...@@ -27,6 +30,8 @@ public class MenuService { ...@@ -27,6 +30,8 @@ public class MenuService {
@Autowired @Autowired
private GeTuiService geTuiService; private GeTuiService geTuiService;
@Autowired
private UserMenusService userMenusService;
/** /**
* 从map中解析标签并收集关系表数据 * 从map中解析标签并收集关系表数据
...@@ -54,6 +59,10 @@ public class MenuService { ...@@ -54,6 +59,10 @@ public class MenuService {
if (first.isPresent()) { if (first.isPresent()) {
//拿到id //拿到id
String uid = first.get().getUid(); String uid = first.get().getUid();
List<UserMenusEntity> entityList = userMenusService.list(new LambdaQueryWrapper<UserMenusEntity>().eq(UserMenusEntity::getUserId, uid).eq(UserMenusEntity::getIsValid, 1));
if (!CollectionUtils.isEmpty(entityList)) {
continue;
}
//遍历标签id //遍历标签id
Date date = new Date(); Date date = new Date();
for (Long aLong : list) { for (Long aLong : list) {
......
...@@ -36,13 +36,13 @@ public class UserMenusServiceImpl extends ServiceImpl<UserMenusDao, UserMenusEnt ...@@ -36,13 +36,13 @@ public class UserMenusServiceImpl extends ServiceImpl<UserMenusDao, UserMenusEnt
public void batchInsert(List<UserMenusEntity> userMenusList) { public void batchInsert(List<UserMenusEntity> userMenusList) {
try { try {
if (CollUtil.isNotEmpty(userMenusList)) { if (CollUtil.isNotEmpty(userMenusList)) {
List<String> deleteUid = getDeleteUid(userMenusList); /*List<String> deleteUid = getDeleteUid(userMenusList);
List<List<String>> lists = CommonUtil.fixedGrouping(deleteUid, 10000); List<List<String>> lists = CommonUtil.fixedGrouping(deleteUid, 10000);
for (List<String> list : lists) { for (List<String> list : lists) {
//批量插入前全删 //批量插入前全删
List<Long> ids = this.baseMapper.findIdByUserId(list); List<Long> ids = this.baseMapper.findIdByUserId(list);
this.removeByIds(ids); this.removeByIds(ids);
} }*/
int sum = 0; int sum = 0;
List<List<UserMenusEntity>> tagLists = CommonUtil.fixedGrouping(userMenusList, 10000); List<List<UserMenusEntity>> tagLists = CommonUtil.fixedGrouping(userMenusList, 10000);
for (List<UserMenusEntity> tagList : tagLists) { for (List<UserMenusEntity> tagList : tagLists) {
......
...@@ -240,14 +240,14 @@ public class UserTagsTask { ...@@ -240,14 +240,14 @@ public class UserTagsTask {
//获取标签列表 //获取标签列表
List<MenuTagsEntity> tags = menuTagsService.list(); List<MenuTagsEntity> tags = menuTagsService.list();
//获取小于起始值,且更新时间为当前时间用户信息 //获取小于起始值,且更新时间为当前时间用户信息
List<UserTagEntity> beforeUser = userTagService.findUserByTodayAndIdBefore(id); //List<UserTagEntity> beforeUser = userTagService.findUserByTodayAndIdBefore(id);
//如果每次更新数据为空则全部设置为新增 //如果每次更新数据为空则全部设置为新增
if (CollUtil.isEmpty(beforeUser)) { //if (CollUtil.isEmpty(beforeUser)) {
List<UserMenusEntity> afterTag = getAfterTag(id, max, tags); List<UserMenusEntity> afterTag = getAfterTag(id, max, tags);
if (afterTag != null) { if (afterTag != null) {
userMenusList.addAll(afterTag); userMenusList.addAll(afterTag);
} }
} else { /*} else {
//过滤用户gid //过滤用户gid
List<String> beforeGid = beforeUser.stream().map(UserTagEntity::getGid).distinct().collect(Collectors.toList()); List<String> beforeGid = beforeUser.stream().map(UserTagEntity::getGid).distinct().collect(Collectors.toList());
//获取更新总数量 //获取更新总数量
...@@ -266,7 +266,7 @@ public class UserTagsTask { ...@@ -266,7 +266,7 @@ public class UserTagsTask {
if (CollUtil.isNotEmpty(beforeTag)) { if (CollUtil.isNotEmpty(beforeTag)) {
userMenusList.addAll(beforeTag); userMenusList.addAll(beforeTag);
} }
} }*/
//批量插入用户标签信息 //批量插入用户标签信息
userMenusService.batchInsert(userMenusList); userMenusService.batchInsert(userMenusList);
log.info("执行结束,当前最新id{}", RedisUtil.StringOps.get("user_tag_id")); log.info("执行结束,当前最新id{}", RedisUtil.StringOps.get("user_tag_id"));
......
...@@ -50,10 +50,13 @@ ...@@ -50,10 +50,13 @@
<!-- 查询id之后的用户信息--> <!-- 查询id之后的用户信息-->
<select id="findUserByIdAfter" resultMap="userTagMap"> <select id="findUserByIdAfter" resultMap="userTagMap">
SELECT id, uid, gid SELECT
FROM t_user_tag us.*
WHERE gid IS NOT NULL FROM
AND id > #{id} LIMIT #{limit} ( SELECT id, uid, gid FROM t_user_tag WHERE gid IS NOT NULL AND id > #{id} ) us
LEFT JOIN ( SELECT * FROM tb_user_menus WHERE is_valid = 1 ) um ON us.uid = um.user_id
WHERE
um.id IS NULL LIMIT #{limit}
</select> </select>
<!-- 查询无标签用户--> <!-- 查询无标签用户-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment