diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index da957ce3..30799f47 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -592,11 +592,21 @@ public class UserLikeGroupServiceImpl extends ServiceImpl().eq("relation_id", childId)); - if (!child.getRelationType().equals(relationType)) { + + // 相同的relation_id,relation_type重复排序,有脏数据 + List childList = collectionSortMapper.selectList( + new QueryWrapper().eq("relation_id", childId) + .eq("relation_type", relationType).orderByDesc("id")); + if (childList.isEmpty()) { + return null; + }else if (childList.size() > 1){ + log.error("CollectionSort表中,relation_id为{},relation_type为{}的记录有 {} 条,", childId, relationType, childList.size()); + } + CollectionSort child = childList.get(0); + CollectionSort collectionSort = collectionSortMapper.selectById(userLikeSortId); + if (Objects.isNull(collectionSort)){ return null; } - CollectionSort collectionSort = collectionSortMapper.selectById(userLikeSortId); child.setSort(collectionSort.getSort()); // 原来排序的大于等于userLikeSortId的排序的,都要+1 collectionSortMapper.increaseGenerateSortAbove(parentId, relationType, collectionSort.getSort() - 1);