Commit 3d77fe24 authored by zuoadmin's avatar zuoadmin

Merge branch 'dev' into 'master'

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

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