Просмотр исходного кода

life_like_record相关代码修改

zhangchen 7 часов назад
Родитель
Сommit
6b6787f1b3
27 измененных файлов с 476 добавлено и 148 удалено
  1. 2 2
      alien-entity/src/main/java/shop/alien/mapper/CommonCommentMapper.java
  2. 5 2
      alien-entity/src/main/java/shop/alien/mapper/LifeUserDynamicsMapper.java
  3. 214 0
      alien-entity/src/main/java/shop/alien/util/LifeLikeIdentityHelper.java
  4. 2 14
      alien-entity/src/main/resources/mapper/LifeUserDynamicsMapper.xml
  5. 4 4
      alien-entity/src/main/resources/mapper/OrderReviewMapper.xml
  6. 2 2
      alien-entity/src/main/resources/mapper/ReviewCommentMapper.xml
  7. 2 2
      alien-entity/src/main/resources/mapper/StoreStaffCommentMapper.xml
  8. 3 3
      alien-entity/src/main/resources/mapper/StoreStaffReviewMapper.xml
  9. 5 5
      alien-entity/src/main/resources/mapper/second/SecondGoodsInfoMapper.xml
  10. 8 2
      alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/OrderReviewServiceImpl.java
  11. 11 3
      alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/ReviewCommentServiceImpl.java
  12. 26 9
      alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/StoreCommentServiceImpl.java
  13. 17 10
      alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java
  14. 12 2
      alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StoreMenuPlatformServiceImpl.java
  15. 28 20
      alien-store/src/main/java/shop/alien/store/service/LifeActivityService.java
  16. 15 21
      alien-store/src/main/java/shop/alien/store/service/LifeCommentService.java
  17. 14 10
      alien-store/src/main/java/shop/alien/store/service/LifeUserDynamicsService.java
  18. 10 5
      alien-store/src/main/java/shop/alien/store/service/impl/CommonCommentServiceImpl.java
  19. 14 8
      alien-store/src/main/java/shop/alien/store/service/impl/CommonRatingServiceImpl.java
  20. 8 2
      alien-store/src/main/java/shop/alien/store/service/impl/OrderReviewServiceImpl.java
  21. 11 3
      alien-store/src/main/java/shop/alien/store/service/impl/ReviewCommentServiceImpl.java
  22. 10 4
      alien-store/src/main/java/shop/alien/store/service/impl/StoreClockInServiceImpl.java
  23. 10 2
      alien-store/src/main/java/shop/alien/store/service/impl/StoreCommentServiceImpl.java
  24. 18 7
      alien-store/src/main/java/shop/alien/store/service/impl/StoreMenuServiceImpl.java
  25. 11 3
      alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffCommentServiceImpl.java
  26. 6 1
      alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffConfigServiceImpl.java
  27. 8 2
      alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffReviewServiceImpl.java

+ 2 - 2
alien-entity/src/main/java/shop/alien/mapper/CommonCommentMapper.java

@@ -37,7 +37,7 @@ public interface CommonCommentMapper extends BaseMapper<CommonComment> {
             "IF(cc.comment_type = 1, lu.user_name, su.nick_name) AS headName, " +
             "IF(cc.comment_type = 1, lu.user_name, su.nick_name) AS headName, " +
             "IF(cc.comment_type = 1, lu.user_phone, su.phone) AS headPhone, " +
             "IF(cc.comment_type = 1, lu.user_phone, su.phone) AS headPhone, " +
             "IF(cc.comment_type = 2, si.store_name, NULL) AS storeName, " +
             "IF(cc.comment_type = 2, si.store_name, NULL) AS storeName, " +
-            "IF(llr.dianzan_id IS NULL, '0', '1') AS isLike " +
+            "IF(llr.id IS NULL, '0', '1') AS isLike " +
             "FROM common_comment cc " +
             "FROM common_comment cc " +
             "LEFT JOIN life_user lu ON cc.user_id = lu.id AND lu.delete_flag = 0 " +
             "LEFT JOIN life_user lu ON cc.user_id = lu.id AND lu.delete_flag = 0 " +
             "LEFT JOIN store_info si ON cc.merchant_id = si.id AND si.delete_flag = 0 " +
             "LEFT JOIN store_info si ON cc.merchant_id = si.id AND si.delete_flag = 0 " +
@@ -45,7 +45,7 @@ public interface CommonCommentMapper extends BaseMapper<CommonComment> {
             "AND su.id = (SELECT MIN(su2.id) FROM store_user su2 WHERE su2.store_id = cc.merchant_id AND su2.delete_flag = 0) " +
             "AND su.id = (SELECT MIN(su2.id) FROM store_user su2 WHERE su2.store_id = cc.merchant_id AND su2.delete_flag = 0) " +
             "LEFT JOIN life_like_record llr ON llr.huifu_id = cc.id " +
             "LEFT JOIN life_like_record llr ON llr.huifu_id = cc.id " +
             "AND llr.`type` = #{type} " +
             "AND llr.`type` = #{type} " +
-            "AND llr.dianzan_id = #{dianzanId} " +
+            "AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{dianzanId} " +
             "AND llr.delete_flag = 0 " +
             "AND llr.delete_flag = 0 " +
             "${ew.customSqlSegment}")
             "${ew.customSqlSegment}")
     List<CommonCommentVo> selectALlComment(@Param("page") Page<CommonCommentVo> page,
     List<CommonCommentVo> selectALlComment(@Param("page") Page<CommonCommentVo> page,

+ 5 - 2
alien-entity/src/main/java/shop/alien/mapper/LifeUserDynamicsMapper.java

@@ -62,7 +62,7 @@ public interface LifeUserDynamicsMapper extends BaseMapper<LifeUserDynamics> {
             "left join life_like_record llr\n" +
             "left join life_like_record llr\n" +
             "on llr.huifu_id = lud.id\n" +
             "on llr.huifu_id = lud.id\n" +
             "and llr.delete_flag = 0\n" +
             "and llr.delete_flag = 0\n" +
-            "and llr.dianzan_id = (select CONCAT('user_',lu1.user_phone) from life_user lu1 where lu1.id = #{userId})" +
+            "and llr.dianzan_user_type = 1 and llr.dianzan_ref_id = #{userId}" +
             "${ew.customSqlSegment}")
             "${ew.customSqlSegment}")
     List<LifeUserDynamicsVo> getStoreDynamicslistWithWrapper(@Param("userId") String userId, @Param(Constants.WRAPPER) QueryWrapper<LifeUserDynamics> dynamicsWrapper);
     List<LifeUserDynamicsVo> getStoreDynamicslistWithWrapper(@Param("userId") String userId, @Param(Constants.WRAPPER) QueryWrapper<LifeUserDynamics> dynamicsWrapper);
 
 
@@ -79,7 +79,10 @@ public interface LifeUserDynamicsMapper extends BaseMapper<LifeUserDynamics> {
             "  inner join (\n" +
             "  inner join (\n" +
             "    select huifu_id, max(created_time) as like_created_time\n" +
             "    select huifu_id, max(created_time) as like_created_time\n" +
             "    from life_like_record llr\n" +
             "    from life_like_record llr\n" +
-            "    where llr.dianzan_id = #{phoneId}\n" +
+            "    where llr.dianzan_user_type = (case when #{phoneId} like 'user\\_%' then 1 when #{phoneId} like 'store\\_%' then 2 when #{phoneId} like 'lawyer\\_%' then 3 else null end)\n" +
+            "      and llr.dianzan_ref_id = (case when #{phoneId} like 'user\\_%' then (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1)\n" +
+            "           when #{phoneId} like 'store\\_%' then (select id from store_user where concat('store_', phone) = #{phoneId} and delete_flag = 0 limit 1)\n" +
+            "           when #{phoneId} like 'lawyer\\_%' then (select id from lawyer_user where concat('lawyer_', phone) = #{phoneId} and delete_flag = 0 limit 1) else null end)\n" +
             "      and llr.delete_flag = 0\n" +
             "      and llr.delete_flag = 0\n" +
             "    group by huifu_id\n" +
             "    group by huifu_id\n" +
             "  ) llr_sub on lud.id = llr_sub.huifu_id\n" +
             "  ) llr_sub on lud.id = llr_sub.huifu_id\n" +

+ 214 - 0
alien-entity/src/main/java/shop/alien/util/LifeLikeIdentityHelper.java

@@ -0,0 +1,214 @@
+package shop.alien.util;
+
+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 lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import shop.alien.entity.store.LawyerUser;
+import shop.alien.entity.store.LifeLikeRecord;
+import shop.alien.entity.store.LifeUser;
+import shop.alien.entity.store.StoreUser;
+import shop.alien.mapper.LawyerUserMapper;
+import shop.alien.mapper.LifeUserMapper;
+import shop.alien.mapper.StoreUserMapper;
+import shop.alien.util.type.PhoneTypeIdResult;
+import shop.alien.util.type.TypeUtil;
+
+import java.util.Objects;
+
+/**
+ * life_like_record 点赞人身份工具。
+ * <p>
+ * 入参:兼容前端 legacy {@code dianzanId}(user_/store_/lawyer_ 或纯数字 life_user.id)。<br>
+ * 库表:查询/新增/修改只使用 {@code dianzan_user_type} + {@code dianzan_ref_id},不读写 {@code dianzan_id} 列。<br>
+ * 响应:由 type+refId 合成 {@code dianzanId} 返回给前端。
+ * </p>
+ */
+@Component
+@RequiredArgsConstructor
+public class LifeLikeIdentityHelper {
+
+    public static final int TYPE_USER = 1;
+    public static final int TYPE_STORE = 2;
+    public static final int TYPE_LAWYER = 3;
+
+    private final TypeUtil typeUtil;
+    private final LifeUserMapper lifeUserMapper;
+    private final StoreUserMapper storeUserMapper;
+    private final LawyerUserMapper lawyerUserMapper;
+
+    public static final class LikerScope {
+        private final String legacyDianzanId;
+        private final Integer dianzanUserType;
+        private final Integer dianzanRefId;
+
+        public LikerScope(String legacyDianzanId, Integer dianzanUserType, Integer dianzanRefId) {
+            this.legacyDianzanId = legacyDianzanId;
+            this.dianzanUserType = dianzanUserType;
+            this.dianzanRefId = dianzanRefId;
+        }
+
+        public String getLegacyDianzanId() {
+            return legacyDianzanId;
+        }
+
+        public Integer getDianzanUserType() {
+            return dianzanUserType;
+        }
+
+        public Integer getDianzanRefId() {
+            return dianzanRefId;
+        }
+
+        public boolean hasTypeRef() {
+            return dianzanUserType != null && dianzanRefId != null;
+        }
+    }
+
+    /** 将前端传入的 legacy dianzanId 解析为 type+refId(仅入参侧兼容)。 */
+    public LikerScope resolveFromDianzanId(String dianzanId) {
+        if (!StringUtils.hasText(dianzanId)) {
+            return new LikerScope(null, null, null);
+        }
+        String trimmed = dianzanId.trim();
+        if (typeUtil.containsUnderscore(trimmed)) {
+            PhoneTypeIdResult resolved = typeUtil.resolveTypeAndId(trimmed);
+            if (resolved != null) {
+                return new LikerScope(trimmed, resolved.getType(), resolved.getId());
+            }
+            return new LikerScope(trimmed, null, null);
+        }
+        try {
+            int refId = Integer.parseInt(trimmed);
+            return new LikerScope(trimmed, TYPE_USER, refId);
+        } catch (NumberFormatException e) {
+            return new LikerScope(trimmed, null, null);
+        }
+    }
+
+    public LikerScope fromLifeUserId(Integer lifeUserId) {
+        if (lifeUserId == null) {
+            return new LikerScope(null, null, null);
+        }
+        return new LikerScope(String.valueOf(lifeUserId), TYPE_USER, lifeUserId);
+    }
+
+    public LikerScope fromStoreUserId(Integer storeUserId) {
+        if (storeUserId == null) {
+            return new LikerScope(null, null, null);
+        }
+        StoreUser storeUser = storeUserMapper.selectById(storeUserId);
+        String legacy = storeUser != null && StringUtils.hasText(storeUser.getPhone())
+                ? "store_" + storeUser.getPhone()
+                : String.valueOf(storeUserId);
+        return new LikerScope(legacy, TYPE_STORE, storeUserId);
+    }
+
+    /** 从库表记录解析点赞人(仅认 dianzan_user_type + dianzan_ref_id)。 */
+    public LikerScope resolveFromRecord(LifeLikeRecord record) {
+        if (record == null
+                || record.getDianzanUserType() == null
+                || record.getDianzanRefId() == null) {
+            return new LikerScope(null, null, null);
+        }
+        String legacy = buildLegacyDianzanId(record.getDianzanUserType(), record.getDianzanRefId());
+        return new LikerScope(legacy, record.getDianzanUserType(), record.getDianzanRefId());
+    }
+
+    /** 写入前:由入参 dianzanId 或显式 type+refId 填充新字段,不落库 dianzan_id。 */
+    public void normalizeBeforeSave(LifeLikeRecord record) {
+        if (record == null) {
+            return;
+        }
+        if (record.getDianzanUserType() == null || record.getDianzanRefId() == null) {
+            LikerScope scope = resolveFromDianzanId(record.getDianzanId());
+            if (scope.hasTypeRef()) {
+                record.setDianzanUserType(scope.getDianzanUserType());
+                record.setDianzanRefId(scope.getDianzanRefId());
+            }
+        }
+        record.setDianzanId(null);
+    }
+
+    public void applyLikerFilter(LambdaQueryWrapper<LifeLikeRecord> wrapper, LikerScope scope) {
+        if (wrapper == null || scope == null || !scope.hasTypeRef()) {
+            return;
+        }
+        wrapper.eq(LifeLikeRecord::getDianzanUserType, scope.getDianzanUserType())
+                .eq(LifeLikeRecord::getDianzanRefId, scope.getDianzanRefId());
+    }
+
+    public void applyLikerFilter(LambdaUpdateWrapper<LifeLikeRecord> wrapper, LikerScope scope) {
+        if (wrapper == null || scope == null || !scope.hasTypeRef()) {
+            return;
+        }
+        wrapper.eq(LifeLikeRecord::getDianzanUserType, scope.getDianzanUserType())
+                .eq(LifeLikeRecord::getDianzanRefId, scope.getDianzanRefId());
+    }
+
+    public void applyLikerFilter(QueryWrapper<LifeLikeRecord> wrapper, LikerScope scope) {
+        applyLikerFilter(wrapper, scope, null);
+    }
+
+    public void applyLikerFilter(QueryWrapper<LifeLikeRecord> wrapper, LikerScope scope, String tableAlias) {
+        if (wrapper == null || scope == null || !scope.hasTypeRef()) {
+            return;
+        }
+        String prefix = StringUtils.hasText(tableAlias) ? tableAlias + "." : "";
+        wrapper.eq(prefix + "dianzan_user_type", scope.getDianzanUserType())
+                .eq(prefix + "dianzan_ref_id", scope.getDianzanRefId());
+    }
+
+    /** 与 life_fans 等仍使用 legacy 字符串的模块比对。 */
+    public String resolveComparableDianzanId(LifeLikeRecord record) {
+        LikerScope scope = resolveFromRecord(record);
+        if (scope.hasTypeRef()) {
+            String legacy = buildLegacyDianzanId(scope.getDianzanUserType(), scope.getDianzanRefId());
+            if (legacy != null) {
+                return legacy;
+            }
+            if (Objects.equals(scope.getDianzanUserType(), TYPE_USER)) {
+                return String.valueOf(scope.getDianzanRefId());
+            }
+        }
+        return record != null ? record.getDianzanId() : null;
+    }
+
+    public String buildLegacyDianzanId(Integer dianzanUserType, Integer dianzanRefId) {
+        if (dianzanUserType == null || dianzanRefId == null) {
+            return null;
+        }
+        switch (dianzanUserType) {
+            case TYPE_USER: {
+                LifeUser user = lifeUserMapper.selectById(dianzanRefId);
+                return user != null && StringUtils.hasText(user.getUserPhone())
+                        ? "user_" + user.getUserPhone() : String.valueOf(dianzanRefId);
+            }
+            case TYPE_STORE: {
+                StoreUser storeUser = storeUserMapper.selectById(dianzanRefId);
+                return storeUser != null && StringUtils.hasText(storeUser.getPhone())
+                        ? "store_" + storeUser.getPhone() : null;
+            }
+            case TYPE_LAWYER: {
+                LawyerUser lawyerUser = lawyerUserMapper.selectById(dianzanRefId);
+                return lawyerUser != null && StringUtils.hasText(lawyerUser.getPhone())
+                        ? "lawyer_" + lawyerUser.getPhone() : null;
+            }
+            default:
+                return null;
+        }
+    }
+
+    /** 响应侧:由 type+refId 合成 dianzanId,不读库表 dianzan_id。 */
+    public void ensureEntityLegacyDianzanId(LifeLikeRecord record) {
+        if (record == null || record.getDianzanUserType() == null || record.getDianzanRefId() == null) {
+            return;
+        }
+        String legacy = buildLegacyDianzanId(record.getDianzanUserType(), record.getDianzanRefId());
+        if (legacy != null) {
+            record.setDianzanId(legacy);
+        }
+    }
+}

+ 2 - 14
alien-entity/src/main/resources/mapper/LifeUserDynamicsMapper.xml

@@ -305,23 +305,11 @@
         left join life_like_record llr on
         left join life_like_record llr on
         llr.huifu_id = dynamice.id
         llr.huifu_id = dynamice.id
         and llr.delete_flag = 0
         and llr.delete_flag = 0
-        and llr.dianzan_id = (
-        select
-        CONCAT('user_', lu1.user_phone)
-        from
-        life_user lu1
-        where
-        lu1.id = #{userId})
+        and llr.dianzan_user_type = 1 and llr.dianzan_ref_id = #{userId})
         left join life_like_record llr1 on
         left join life_like_record llr1 on
         llr1.huifu_id = dynamice.id
         llr1.huifu_id = dynamice.id
         and llr1.delete_flag = 0
         and llr1.delete_flag = 0
-        and llr1.dianzan_id = (
-        select
-        CONCAT('store_', lu2.phone)
-        from
-        store_user lu2
-        where
-        lu2.id = #{userId})
+        and llr1.dianzan_user_type = 2 and llr1.dianzan_ref_id = #{userId})
         where
         where
         dynamice.phoneUserType = 2) dyna
         dynamice.phoneUserType = 2) dyna
         left join life_comment lc on
         left join life_comment lc on

+ 4 - 4
alien-entity/src/main/resources/mapper/OrderReviewMapper.xml

@@ -67,7 +67,7 @@
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
             AND llr.type = '7' 
             AND llr.type = '7' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         LEFT JOIN comment_appeals ca ON ca.comment_id = orv.id AND ca.delete_flag = 0
         LEFT JOIN comment_appeals ca ON ca.comment_id = orv.id AND ca.delete_flag = 0
         WHERE orv.delete_flag = 0
         WHERE orv.delete_flag = 0
@@ -125,7 +125,7 @@
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
             AND llr.type = '7' 
             AND llr.type = '7' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE orv.delete_flag = 0
         WHERE orv.delete_flag = 0
         AND orv.order_id = #{orderId}
         AND orv.order_id = #{orderId}
@@ -178,7 +178,7 @@
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
             AND llr.type = '7' 
             AND llr.type = '7' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE orv.delete_flag = 0
         WHERE orv.delete_flag = 0
         AND orv.id = #{reviewId}
         AND orv.id = #{reviewId}
@@ -353,7 +353,7 @@
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
             AND llr.type = '7'
             AND llr.type = '7'
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE orv.delete_flag = 0
         WHERE orv.delete_flag = 0
         AND orv.lawyer_user_id = #{lawyerUserId}
         AND orv.lawyer_user_id = #{lawyerUserId}

+ 2 - 2
alien-entity/src/main/resources/mapper/ReviewCommentMapper.xml

@@ -88,7 +88,7 @@
             AND lu_lawyer_comment.delete_flag = 0
             AND lu_lawyer_comment.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
             AND llr.type = '8' 
             AND llr.type = '8' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE rc.delete_flag = 0
         WHERE rc.delete_flag = 0
         AND rc.review_id = #{reviewId}
         AND rc.review_id = #{reviewId}
@@ -160,7 +160,7 @@
             AND lu_lawyer_comment.delete_flag = 0
             AND lu_lawyer_comment.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(rc.id, CHAR)
             AND llr.type = '8' 
             AND llr.type = '8' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE rc.delete_flag = 0
         WHERE rc.delete_flag = 0
         AND rc.head_id = #{headId}
         AND rc.head_id = #{headId}

+ 2 - 2
alien-entity/src/main/resources/mapper/StoreStaffCommentMapper.xml

@@ -81,7 +81,7 @@
             AND ssc_receive.delete_flag = 0
             AND ssc_receive.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssc.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssc.id, CHAR)
             AND llr.type = '10' 
             AND llr.type = '10' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE ssc.delete_flag = 0
         WHERE ssc.delete_flag = 0
         AND ssc.review_id = #{reviewId}
         AND ssc.review_id = #{reviewId}
@@ -147,7 +147,7 @@
             AND ssc_receive.delete_flag = 0
             AND ssc_receive.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssc.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssc.id, CHAR)
             AND llr.type = '10' 
             AND llr.type = '10' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE ssc.delete_flag = 0
         WHERE ssc.delete_flag = 0
         AND ssc.head_id = #{headId}
         AND ssc.head_id = #{headId}

+ 3 - 3
alien-entity/src/main/resources/mapper/StoreStaffReviewMapper.xml

@@ -62,7 +62,7 @@
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
             AND llr.type = '9' 
             AND llr.type = '9' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE ssr.delete_flag = 0
         WHERE ssr.delete_flag = 0
           AND ssr.audit_status = 1
           AND ssr.audit_status = 1
@@ -112,7 +112,7 @@
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
             AND llr.type = '9' 
             AND llr.type = '9' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE ssr.delete_flag = 0
         WHERE ssr.delete_flag = 0
           AND ssr.audit_status = 1
           AND ssr.audit_status = 1
@@ -237,7 +237,7 @@
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN store_img si ON si.id = sp.img_id AND si.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(ssr.id, CHAR)
             AND llr.type = '9' 
             AND llr.type = '9' 
-            AND CONVERT(llr.dianzan_id, CHAR) = CONVERT(#{currentUserId}, CHAR)
+            AND llr.dianzan_user_type = 1 AND llr.dianzan_ref_id = #{currentUserId}
             AND llr.delete_flag = 0
             AND llr.delete_flag = 0
         WHERE ssr.delete_flag = 0
         WHERE ssr.delete_flag = 0
         AND ssr.audit_status = 1
         AND ssr.audit_status = 1

+ 5 - 5
alien-entity/src/main/resources/mapper/second/SecondGoodsInfoMapper.xml

@@ -74,7 +74,7 @@
                 CONCAT('user_', u.user_phone) as user_phone
                 CONCAT('user_', u.user_phone) as user_phone
             FROM
             FROM
                 second_goods g inner join life_user u on u.id =  g.user_id and u.delete_flag = 0
                 second_goods g inner join life_user u on u.id =  g.user_id and u.delete_flag = 0
-                left join life_like_record llr on llr.dianzan_id = #{phoneId} and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
+                left join life_like_record llr on llr.dianzan_user_type = 1 and llr.dianzan_ref_id = (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1) and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
             where g.delete_flag = 0
             where g.delete_flag = 0
                 <if test="typeId != null and typeId != '' ">
                 <if test="typeId != null and typeId != '' ">
                     and (g.category_one_id = #{typeId} or g.category_two_id =#{typeId} )
                     and (g.category_one_id = #{typeId} or g.category_two_id =#{typeId} )
@@ -131,7 +131,7 @@
                 u.id = g.user_id
                 u.id = g.user_id
                 and g.goods_status = 3
                 and g.goods_status = 3
                 and g.delete_flag = 0
                 and g.delete_flag = 0
-            left join life_like_record llr on llr.dianzan_id = #{phoneId} and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
+            left join life_like_record llr on llr.dianzan_user_type = 1 and llr.dianzan_ref_id = (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1) and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
         where
         where
             f.fans_id = #{phoneId} and f.delete_flag = 0
             f.fans_id = #{phoneId} and f.delete_flag = 0
@@ -211,7 +211,7 @@
     <!--            (SELECT count(1) FROM store_comment c where c.business_id = g.id and c.business_type = 7 and c.delete_flag = 0 ) as commentCount-->
     <!--            (SELECT count(1) FROM store_comment c where c.business_id = g.id and c.business_type = 7 and c.delete_flag = 0 ) as commentCount-->
             FROM
             FROM
                 second_goods g inner join life_user u on u.id = g.user_id
                 second_goods g inner join life_user u on u.id = g.user_id
-                left join life_like_record llr on llr.dianzan_id = #{phoneId} and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
+                left join life_like_record llr on llr.dianzan_user_type = 1 and llr.dianzan_ref_id = (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1) and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
                 left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
                 left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
             where g.delete_flag = 0
             where g.delete_flag = 0
                 and not exists (select 1 from shieldUser s where s.id = g.id)
                 and not exists (select 1 from shieldUser s where s.id = g.id)
@@ -261,7 +261,7 @@
             case when llr.id is null then '0' else '1' end likeStatus,
             case when llr.id is null then '0' else '1' end likeStatus,
             case when lc.id is null then '0' else '1' end collectStatus
             case when lc.id is null then '0' else '1' end collectStatus
         from second_goods g inner join life_user lu on g.user_id = lu.id and lu.delete_flag = 0
         from second_goods g inner join life_user lu on g.user_id = lu.id and lu.delete_flag = 0
-            left join life_like_record llr on llr.dianzan_id = #{phoneId} and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
+            left join life_like_record llr on llr.dianzan_user_type = 1 and llr.dianzan_ref_id = (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1) and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
         where g.id = #{goodsId} and g.delete_flag = 0
         where g.id = #{goodsId} and g.delete_flag = 0
             and g.position != '' and g.position is not null
             and g.position != '' and g.position is not null
@@ -292,7 +292,7 @@
             case when llr.id is null then '0' else '1' end likeStatus,
             case when llr.id is null then '0' else '1' end likeStatus,
             case when lc.id is null then '0' else '1' end collectStatus
             case when lc.id is null then '0' else '1' end collectStatus
         from second_goods g inner join life_user lu on g.user_id = lu.id and lu.delete_flag = 0
         from second_goods g inner join life_user lu on g.user_id = lu.id and lu.delete_flag = 0
-            left join life_like_record llr on llr.dianzan_id = #{phoneId} and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
+            left join life_like_record llr on llr.dianzan_user_type = 1 and llr.dianzan_ref_id = (select id from life_user where concat('user_', user_phone) = #{phoneId} and delete_flag = 0 limit 1) and llr.huifu_id = g.id and llr.type = 6 and llr.delete_flag = 0
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
             left join life_collect lc on lc.business_id = g.id and lc.user_id_user_type = #{collectUserType} and lc.user_id_ref_id = #{collectRefId} and lc.delete_flag = 0 and lc.business_type = 1
         where g.id = #{goodsId} and g.delete_flag = 0
         where g.id = #{goodsId} and g.delete_flag = 0
             and g.position != '' and g.position is not null
             and g.position != '' and g.position is not null

+ 8 - 2
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/OrderReviewServiceImpl.java

@@ -27,6 +27,8 @@ import shop.alien.lawyer.service.OrderReviewService;
 import shop.alien.lawyer.service.ReviewCommentService;
 import shop.alien.lawyer.service.ReviewCommentService;
 import shop.alien.mapper.*;
 import shop.alien.mapper.*;
 import shop.alien.util.type.LifeNoticeUtil;
 import shop.alien.util.type.LifeNoticeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
@@ -49,6 +51,7 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
     private final ReviewCommentService reviewCommentService;
     private final ReviewCommentService reviewCommentService;
     private final ReviewCommentMapper reviewCommentMapper;
     private final ReviewCommentMapper reviewCommentMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
     private final LawyerUserMapper lawyerUserMapper;
     private final LawyerUserMapper lawyerUserMapper;
     private final LifeNoticeMapper lifeNoticeMapper;
     private final LifeNoticeMapper lifeNoticeMapper;
 
 
@@ -552,17 +555,19 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
         }
         }
 
 
         // 检查是否已点赞
         // 检查是否已点赞
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setType("7");
             likeRecord.setType("7");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -598,11 +603,12 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
         }
         }
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {

+ 11 - 3
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/ReviewCommentServiceImpl.java

@@ -18,6 +18,8 @@ import shop.alien.entity.store.dto.ReviewReplyDto;
 import shop.alien.entity.store.vo.ReviewCommentVo;
 import shop.alien.entity.store.vo.ReviewCommentVo;
 import shop.alien.lawyer.service.OrderReviewService;
 import shop.alien.lawyer.service.OrderReviewService;
 import shop.alien.lawyer.service.ReviewCommentService;
 import shop.alien.lawyer.service.ReviewCommentService;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.mapper.LawyerUserMapper;
 import shop.alien.mapper.LawyerUserMapper;
 import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.ReviewCommentMapper;
 import shop.alien.mapper.ReviewCommentMapper;
@@ -42,15 +44,18 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
     private final OrderReviewService orderReviewService;
     private final OrderReviewService orderReviewService;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LawyerUserMapper lawyerUserMapper;
     private final LawyerUserMapper lawyerUserMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
 
 
     public ReviewCommentServiceImpl(ReviewCommentMapper reviewCommentMapper,
     public ReviewCommentServiceImpl(ReviewCommentMapper reviewCommentMapper,
                                     @Lazy OrderReviewService orderReviewService,
                                     @Lazy OrderReviewService orderReviewService,
                                     LifeLikeRecordMapper lifeLikeRecordMapper,
                                     LifeLikeRecordMapper lifeLikeRecordMapper,
-                                    LawyerUserMapper lawyerUserMapper) {
+                                    LawyerUserMapper lawyerUserMapper,
+                                    LifeLikeIdentityHelper lifeLikeIdentityHelper) {
         this.reviewCommentMapper = reviewCommentMapper;
         this.reviewCommentMapper = reviewCommentMapper;
         this.orderReviewService = orderReviewService;
         this.orderReviewService = orderReviewService;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.lawyerUserMapper = lawyerUserMapper;
         this.lawyerUserMapper = lawyerUserMapper;
+        this.lifeLikeIdentityHelper = lifeLikeIdentityHelper;
     }
     }
 
 
     /**
     /**
@@ -185,17 +190,19 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
         }
         }
 
 
         // 检查是否已点赞
         // 检查是否已点赞
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setType("8");
             likeRecord.setType("8");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -233,11 +240,12 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
         }
         }
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {

+ 26 - 9
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/StoreCommentServiceImpl.java

@@ -37,6 +37,8 @@ import shop.alien.util.common.safe.TextModerationResultVO;
 import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.type.LifeNoticeUtil;
 import shop.alien.util.type.LifeNoticeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -62,6 +64,8 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final FileUploadUtil fileUploadUtil;
     private final FileUploadUtil fileUploadUtil;
 
 
     private final StoreImgMapper storeImgMapper;
     private final StoreImgMapper storeImgMapper;
@@ -252,8 +256,10 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             storeCommentVo.setCommitCount(0);
             storeCommentVo.setCommitCount(0);
             //父级点赞状态
             //父级点赞状态
             if (StringUtils.isNotEmpty(phoneId)) {
             if (StringUtils.isNotEmpty(phoneId)) {
+                LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
                 LambdaQueryWrapper<LifeLikeRecord> likeRecordQueryWrapper = new LambdaQueryWrapper<>();
                 LambdaQueryWrapper<LifeLikeRecord> likeRecordQueryWrapper = new LambdaQueryWrapper<>();
-                likeRecordQueryWrapper.eq(LifeLikeRecord::getDianzanId, phoneId).eq(LifeLikeRecord::getHuifuId, storeCommentVo.getId());
+                likeRecordQueryWrapper.eq(LifeLikeRecord::getHuifuId, storeCommentVo.getId());
+                lifeLikeIdentityHelper.applyLikerFilter(likeRecordQueryWrapper, likerScope);
                 Integer i = lifeLikeRecordMapper.selectCount(likeRecordQueryWrapper);
                 Integer i = lifeLikeRecordMapper.selectCount(likeRecordQueryWrapper);
                 if (i > 0) {
                 if (i > 0) {
                     storeCommentVo.setIsLike(1);
                     storeCommentVo.setIsLike(1);
@@ -320,8 +326,10 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             //子级点赞状态
             //子级点赞状态
             if (StringUtils.isNotEmpty(phoneId)) {
             if (StringUtils.isNotEmpty(phoneId)) {
                 childCommentList.forEach(child -> {
                 childCommentList.forEach(child -> {
+                    LikerScope childLikerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
                     LambdaQueryWrapper<LifeLikeRecord> childlikeRecordQueryWrapper = new LambdaQueryWrapper<>();
                     LambdaQueryWrapper<LifeLikeRecord> childlikeRecordQueryWrapper = new LambdaQueryWrapper<>();
-                    childlikeRecordQueryWrapper.eq(LifeLikeRecord::getDianzanId, phoneId).eq(LifeLikeRecord::getHuifuId, child.getId());
+                    childlikeRecordQueryWrapper.eq(LifeLikeRecord::getHuifuId, child.getId());
+                    lifeLikeIdentityHelper.applyLikerFilter(childlikeRecordQueryWrapper, childLikerScope);
                     if (lifeLikeRecordMapper.selectCount(childlikeRecordQueryWrapper) > 0) {
                     if (lifeLikeRecordMapper.selectCount(childlikeRecordQueryWrapper) > 0) {
                         child.setIsLike(1);
                         child.setIsLike(1);
                     } else {
                     } else {
@@ -1475,11 +1483,12 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
 
 
         // 检查当前用户是否已点赞
         // 检查当前用户是否已点赞
         if (currentUserId != null) {
         if (currentUserId != null) {
+            LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(currentUserId);
             LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
             likeWrapper.eq(LifeLikeRecord::getType, "7")
             likeWrapper.eq(LifeLikeRecord::getType, "7")
-                    .eq(LifeLikeRecord::getDianzanId, String.valueOf(currentUserId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(review.getId()))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(review.getId()))
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
+            lifeLikeIdentityHelper.applyLikerFilter(likeWrapper, likerScope);
             long likeCount = lifeLikeRecordMapper.selectCount(likeWrapper);
             long likeCount = lifeLikeRecordMapper.selectCount(likeWrapper);
             reviewVo.setIsLiked(likeCount > 0 ? 1 : 0);
             reviewVo.setIsLiked(likeCount > 0 ? 1 : 0);
         } else {
         } else {
@@ -1525,17 +1534,19 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
         }
         }
 
 
         // 检查是否已点赞(type=7 表示订单评价点赞)
         // 检查是否已点赞(type=7 表示订单评价点赞)
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setType("7");
             likeRecord.setType("7");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -1563,11 +1574,12 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
         log.info("StoreCommentServiceImpl.cancelLikeOrderReview?reviewId={}, userId={}", reviewId, userId);
         log.info("StoreCommentServiceImpl.cancelLikeOrderReview?reviewId={}, userId={}", reviewId, userId);
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {
@@ -1755,11 +1767,12 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             
             
             // 检查是否已点赞
             // 检查是否已点赞
             if (currentUserId != null) {
             if (currentUserId != null) {
+                LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(currentUserId);
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 likeWrapper.eq(LifeLikeRecord::getType, "8")
                 likeWrapper.eq(LifeLikeRecord::getType, "8")
-                        .eq(LifeLikeRecord::getDianzanId, String.valueOf(currentUserId))
                         .eq(LifeLikeRecord::getHuifuId, String.valueOf(comment.getId()))
                         .eq(LifeLikeRecord::getHuifuId, String.valueOf(comment.getId()))
                         .eq(LifeLikeRecord::getDeleteFlag, 0);
                         .eq(LifeLikeRecord::getDeleteFlag, 0);
+                lifeLikeIdentityHelper.applyLikerFilter(likeWrapper, likerScope);
                 vo.setIsLiked(lifeLikeRecordMapper.selectCount(likeWrapper) > 0 ? 1 : 0);
                 vo.setIsLiked(lifeLikeRecordMapper.selectCount(likeWrapper) > 0 ? 1 : 0);
             } else {
             } else {
                 vo.setIsLiked(0);
                 vo.setIsLiked(0);
@@ -1798,17 +1811,19 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
         }
         }
 
 
         // 检查是否已点赞(type=8 表示评论点赞)
         // 检查是否已点赞(type=8 表示评论点赞)
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setType("8");
             likeRecord.setType("8");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -1845,11 +1860,12 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
         }
         }
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {
@@ -1957,11 +1973,12 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             
             
             // 检查是否已点赞
             // 检查是否已点赞
             if (currentUserId != null) {
             if (currentUserId != null) {
+                LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(currentUserId);
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 likeWrapper.eq(LifeLikeRecord::getType, "8")
                 likeWrapper.eq(LifeLikeRecord::getType, "8")
-                        .eq(LifeLikeRecord::getDianzanId, String.valueOf(currentUserId))
                         .eq(LifeLikeRecord::getHuifuId, String.valueOf(reply.getId()))
                         .eq(LifeLikeRecord::getHuifuId, String.valueOf(reply.getId()))
                         .eq(LifeLikeRecord::getDeleteFlag, 0);
                         .eq(LifeLikeRecord::getDeleteFlag, 0);
+                lifeLikeIdentityHelper.applyLikerFilter(likeWrapper, likerScope);
                 vo.setIsLiked(lifeLikeRecordMapper.selectCount(likeWrapper) > 0 ? 1 : 0);
                 vo.setIsLiked(lifeLikeRecordMapper.selectCount(likeWrapper) > 0 ? 1 : 0);
             } else {
             } else {
                 vo.setIsLiked(0);
                 vo.setIsLiked(0);

+ 17 - 10
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -38,6 +38,8 @@ import shop.alien.util.common.VideoUtils;
 import shop.alien.util.common.safe.*;
 import shop.alien.util.common.safe.*;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.LifeNoticeUtil;
 import shop.alien.util.type.LifeNoticeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
@@ -124,6 +126,8 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
      */
      */
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     /**
     /**
      * 收藏Mapper,用于操作收藏记录表
      * 收藏Mapper,用于操作收藏记录表
      */
      */
@@ -1569,11 +1573,12 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         searchGoodsList.getRecords().forEach(goods -> {
         searchGoodsList.getRecords().forEach(goods -> {
             if (userId != null) {
             if (userId != null) {
                 // 设置点赞状态
                 // 设置点赞状态
-                LambdaUpdateWrapper<LifeLikeRecord> updateWrapper = new LambdaUpdateWrapper<>();
-                updateWrapper.eq(LifeLikeRecord::getHuifuId, goods.getId())
-                        .eq(LifeLikeRecord::getDianzanId, "user_"+phone).
-                        eq(LifeLikeRecord::getType, Constants.LikeType.SECOND_HAND_GOODS); // 6-二手商品
-                if (lifeLikeRecordMapper.selectCount(updateWrapper) > 0) {
+                LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
+                LambdaQueryWrapper<LifeLikeRecord> likeQueryWrapper = new LambdaQueryWrapper<>();
+                likeQueryWrapper.eq(LifeLikeRecord::getHuifuId, goods.getId())
+                        .eq(LifeLikeRecord::getType, Constants.LikeType.SECOND_HAND_GOODS);
+                lifeLikeIdentityHelper.applyLikerFilter(likeQueryWrapper, likerScope);
+                if (lifeLikeRecordMapper.selectCount(likeQueryWrapper) > 0) {
                     goods.setLikeStatus(1);
                     goods.setLikeStatus(1);
                 }
                 }
             }
             }
@@ -1783,15 +1788,17 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
      */
      */
     @Override
     @Override
     public IPage<SecondGoodsVo> getLikeGoodsPage(IPage<SecondGoodsVo> page, int userId, String phone) {
     public IPage<SecondGoodsVo> getLikeGoodsPage(IPage<SecondGoodsVo> page, int userId, String phone) {
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         QueryWrapper<SecondGoodsVo> queryWrapper = new QueryWrapper<>();
         QueryWrapper<SecondGoodsVo> queryWrapper = new QueryWrapper<>();
         queryWrapper
         queryWrapper
-                // 可以查看已删除的商品数据
-//                .eq("sg.delete_flag", Constants.DeleteFlag.NOT_DELETED)
                 .eq("lc.delete_flag", Constants.DeleteFlag.NOT_DELETED)
                 .eq("lc.delete_flag", Constants.DeleteFlag.NOT_DELETED)
-                .eq("lc.dianzan_id", "user_"+phone)
-                .eq("lc.type", Constants.LikeType.SECOND_HAND_GOODS) // 6-二手商品
-                .eq("sg.user_id", userId) // 用户ID
+                .eq("lc.type", Constants.LikeType.SECOND_HAND_GOODS)
+                .eq("sg.user_id", userId)
                 .orderByDesc("lc.created_time");
                 .orderByDesc("lc.created_time");
+        if (likerScope.hasTypeRef()) {
+            queryWrapper.eq("lc.dianzan_user_type", likerScope.getDianzanUserType())
+                    .eq("lc.dianzan_ref_id", likerScope.getDianzanRefId());
+        }
         return secondGoodsMapper.getLikeGoodsPage(page, queryWrapper);
         return secondGoodsMapper.getLikeGoodsPage(page, queryWrapper);
     }
     }
 
 

+ 12 - 2
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StoreMenuPlatformServiceImpl.java

@@ -29,6 +29,8 @@ import shop.alien.mapper.StoreImgMapper;
 import shop.alien.mapper.StoreMenuMapper;
 import shop.alien.mapper.StoreMenuMapper;
 import shop.alien.storeplatform.feign.AlienStoreFeign;
 import shop.alien.storeplatform.feign.AlienStoreFeign;
 import shop.alien.storeplatform.service.StoreMenuPlatformService;
 import shop.alien.storeplatform.service.StoreMenuPlatformService;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.util.ali.AliOSSUtil;
 import shop.alien.util.ali.AliOSSUtil;
 
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayInputStream;
@@ -54,6 +56,8 @@ public class StoreMenuPlatformServiceImpl extends ServiceImpl<StoreMenuMapper, S
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final StoreImgMapper storeImgMapper;
     private final StoreImgMapper storeImgMapper;
 
 
     private final LifeGroupBuyThaliMapper lifeGroupBuyThaliMapper;
     private final LifeGroupBuyThaliMapper lifeGroupBuyThaliMapper;
@@ -80,8 +84,10 @@ public class StoreMenuPlatformServiceImpl extends ServiceImpl<StoreMenuMapper, S
             List<StoreMenuVo> collect = storeMenuMapper.getStoreMenuList(storeId, dishType);
             List<StoreMenuVo> collect = storeMenuMapper.getStoreMenuList(storeId, dishType);
             collect.forEach(item -> {
             collect.forEach(item -> {
                 if (StringUtils.isNotEmpty(phoneId)) {
                 if (StringUtils.isNotEmpty(phoneId)) {
+                    LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
                     LambdaQueryWrapper<LifeLikeRecord> query = new LambdaQueryWrapper<>();
                     LambdaQueryWrapper<LifeLikeRecord> query = new LambdaQueryWrapper<>();
-                    query.eq(LifeLikeRecord::getDianzanId, phoneId).eq(LifeLikeRecord::getHuifuId, item.getId());
+                    query.eq(LifeLikeRecord::getHuifuId, item.getId());
+                    lifeLikeIdentityHelper.applyLikerFilter(query, likerScope);
                     Integer i = lifeLikeRecordMapper.selectCount(query);
                     Integer i = lifeLikeRecordMapper.selectCount(query);
                     if (i > 0) {
                     if (i > 0) {
                         item.setIsLike(1);
                         item.setIsLike(1);
@@ -295,7 +301,11 @@ public class StoreMenuPlatformServiceImpl extends ServiceImpl<StoreMenuMapper, S
      */
      */
     @Override
     @Override
     public boolean getMenuLikeStatus(String userId, Integer menuId) {
     public boolean getMenuLikeStatus(String userId, Integer menuId) {
-        return lifeLikeRecordMapper.selectCount(new QueryWrapper<LifeLikeRecord>().eq("dianzan_id", userId).eq("huifu_id", menuId).eq("delete_flag", 0)) > 0;
+        LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(userId);
+        LambdaQueryWrapper<LifeLikeRecord> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(LifeLikeRecord::getHuifuId, menuId).eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(wrapper, likerScope);
+        return lifeLikeRecordMapper.selectCount(wrapper) > 0;
     }
     }
     /**
     /**
      * Excel导入门店菜单
      * Excel导入门店菜单

+ 28 - 20
alien-store/src/main/java/shop/alien/store/service/LifeActivityService.java

@@ -1,5 +1,6 @@
 package shop.alien.store.service;
 package shop.alien.store.service;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -19,6 +20,8 @@ import shop.alien.mapper.LifeActivityMapper;
 import shop.alien.mapper.LifeCommentMapper;
 import shop.alien.mapper.LifeCommentMapper;
 import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.LifeUserMapper;
 import shop.alien.mapper.LifeUserMapper;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.util.common.ListToPage;
 import shop.alien.util.common.ListToPage;
 
 
 import java.util.*;
 import java.util.*;
@@ -39,6 +42,8 @@ public class LifeActivityService {
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final WebAuditService webAuditService;
     private final WebAuditService webAuditService;
 
 
     public int save(LifeActivity lifeActivity) {
     public int save(LifeActivity lifeActivity) {
@@ -68,10 +73,11 @@ public class LifeActivityService {
         IPage<LifeActivity> activityList = lifeActivityMapper.selectPage(storePage, queryWrapper);
         IPage<LifeActivity> activityList = lifeActivityMapper.selectPage(storePage, queryWrapper);
 
 
         // 查询点赞数据
         // 查询点赞数据
-        QueryWrapper<LifeLikeRecord> likeWrapper = new QueryWrapper<>();
-        likeWrapper.eq("type", "3");
-        likeWrapper.eq("dianzan_id", phoneId);
-        likeWrapper.eq("delete_flag", "0");
+        LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
+        LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
+        likeWrapper.eq(LifeLikeRecord::getType, "3")
+                .eq(LifeLikeRecord::getDeleteFlag, "0");
+        lifeLikeIdentityHelper.applyLikerFilter(likeWrapper, likerScope);
         List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeWrapper);
         List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeWrapper);
 
 
         List<LifeActivityVo> activityVoList = new ArrayList<>();
         List<LifeActivityVo> activityVoList = new ArrayList<>();
@@ -101,10 +107,11 @@ public class LifeActivityService {
         LifeActivity lifeActivity = lifeActivityMapper.selectById(id);
         LifeActivity lifeActivity = lifeActivityMapper.selectById(id);
         LifeActivityVo hdVo = new LifeActivityVo();
         LifeActivityVo hdVo = new LifeActivityVo();
         BeanUtils.copyProperties(lifeActivity, hdVo);
         BeanUtils.copyProperties(lifeActivity, hdVo);
-        LambdaUpdateWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-        recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, lifeActivity.getId());
-        recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, currentId);
-        List<LifeLikeRecord> dianzanRecords = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
+        LikerScope currentLikerScope = lifeLikeIdentityHelper.resolveFromDianzanId(currentId);
+        LambdaQueryWrapper<LifeLikeRecord> recordQueryWrapper = new LambdaQueryWrapper<>();
+        recordQueryWrapper.eq(LifeLikeRecord::getHuifuId, lifeActivity.getId());
+        lifeLikeIdentityHelper.applyLikerFilter(recordQueryWrapper, currentLikerScope);
+        List<LifeLikeRecord> dianzanRecords = lifeLikeRecordMapper.selectList(recordQueryWrapper);
         if (!CollectionUtils.isEmpty(dianzanRecords)) {
         if (!CollectionUtils.isEmpty(dianzanRecords)) {
             hdVo.setIsLike("1");
             hdVo.setIsLike("1");
         } else {
         } else {
@@ -123,10 +130,10 @@ public class LifeActivityService {
                 vo.setHeadImage(user.getUserImage());
                 vo.setHeadImage(user.getUserImage());
                 vo.setUserAdress(user.getAddress());
                 vo.setUserAdress(user.getAddress());
             }
             }
-            recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-            recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, pl.getId());
-            recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, currentId);
-            dianzanRecords = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
+            recordQueryWrapper = new LambdaQueryWrapper<>();
+            recordQueryWrapper.eq(LifeLikeRecord::getHuifuId, pl.getId());
+            lifeLikeIdentityHelper.applyLikerFilter(recordQueryWrapper, currentLikerScope);
+            dianzanRecords = lifeLikeRecordMapper.selectList(recordQueryWrapper);
             if (!CollectionUtils.isEmpty(dianzanRecords)) {
             if (!CollectionUtils.isEmpty(dianzanRecords)) {
                 vo.setDianzanStatus("1");
                 vo.setDianzanStatus("1");
             } else {
             } else {
@@ -157,10 +164,11 @@ public class LifeActivityService {
         LifeActivity lifeActivity = lifeActivityMapper.selectById(id);
         LifeActivity lifeActivity = lifeActivityMapper.selectById(id);
         LifeActivityVo hdVo = new LifeActivityVo();
         LifeActivityVo hdVo = new LifeActivityVo();
         BeanUtils.copyProperties(lifeActivity, hdVo);
         BeanUtils.copyProperties(lifeActivity, hdVo);
-        LambdaUpdateWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-        recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, lifeActivity.getId());
-        recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, currentId);
-        List<LifeLikeRecord> dianzanRecords = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
+        LikerScope currentLikerScope = lifeLikeIdentityHelper.resolveFromDianzanId(currentId);
+        LambdaQueryWrapper<LifeLikeRecord> recordQueryWrapper = new LambdaQueryWrapper<>();
+        recordQueryWrapper.eq(LifeLikeRecord::getHuifuId, lifeActivity.getId());
+        lifeLikeIdentityHelper.applyLikerFilter(recordQueryWrapper, currentLikerScope);
+        List<LifeLikeRecord> dianzanRecords = lifeLikeRecordMapper.selectList(recordQueryWrapper);
         if (!CollectionUtils.isEmpty(dianzanRecords)) {
         if (!CollectionUtils.isEmpty(dianzanRecords)) {
             hdVo.setIsLike("1");
             hdVo.setIsLike("1");
         } else {
         } else {
@@ -179,10 +187,10 @@ public class LifeActivityService {
                 vo.setHeadImage(user.getUserImage());
                 vo.setHeadImage(user.getUserImage());
                 vo.setUserAdress(user.getAddress());
                 vo.setUserAdress(user.getAddress());
             }
             }
-            recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-            recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, pl.getId());
-            recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, currentId);
-            dianzanRecords = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
+            recordQueryWrapper = new LambdaQueryWrapper<>();
+            recordQueryWrapper.eq(LifeLikeRecord::getHuifuId, pl.getId());
+            lifeLikeIdentityHelper.applyLikerFilter(recordQueryWrapper, currentLikerScope);
+            dianzanRecords = lifeLikeRecordMapper.selectList(recordQueryWrapper);
             if (!CollectionUtils.isEmpty(dianzanRecords)) {
             if (!CollectionUtils.isEmpty(dianzanRecords)) {
                 vo.setDianzanStatus("1");
                 vo.setDianzanStatus("1");
             } else {
             } else {

+ 15 - 21
alien-store/src/main/java/shop/alien/store/service/LifeCommentService.java

@@ -15,6 +15,8 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 import shop.alien.store.util.CommonConstant;
 import shop.alien.store.util.CommonConstant;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.entity.second.SecondGoods;
 import shop.alien.entity.second.SecondGoods;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.vo.LifePinglunVo;
 import shop.alien.entity.store.vo.LifePinglunVo;
@@ -87,9 +89,9 @@ public class LifeCommentService {
 
 
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
 
 
-    private final ClockInRecommendCacheService clockInRecommendCacheService;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
 
 
-    private TypeUtil typeUtil;
+    private final ClockInRecommendCacheService clockInRecommendCacheService;
 
 
     /**
     /**
      * 系统app通知开关
      * 系统app通知开关
@@ -126,12 +128,12 @@ public class LifeCommentService {
         }
         }
         
         
         try {
         try {
-            // 查询是否已有点赞记录(使用 LambdaQueryWrapper 而不是 LambdaUpdateWrapper)
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(userId);
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(LifeLikeRecord::getType, type)
             queryWrapper.eq(LifeLikeRecord::getType, type)
-                    .eq(LifeLikeRecord::getDianzanId, userId)
                     .eq(LifeLikeRecord::getHuifuId, huifuId)
                     .eq(LifeLikeRecord::getHuifuId, huifuId)
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
+            lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
             List<LifeLikeRecord> recordList = lifeLikeRecordMapper.selectList(queryWrapper);
             List<LifeLikeRecord> recordList = lifeLikeRecordMapper.selectList(queryWrapper);
             
             
             // 如果已有点赞记录,直接返回0(表示已点赞)
             // 如果已有点赞记录,直接返回0(表示已点赞)
@@ -142,19 +144,10 @@ public class LifeCommentService {
             
             
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord lifeLikeRecord = new LifeLikeRecord();
             LifeLikeRecord lifeLikeRecord = new LifeLikeRecord();
-            if ( typeUtil.containsUnderscore(userId) ) {
-                PhoneTypeIdResult phoneTypeIdResult = typeUtil.resolveTypeAndId(userId);
-                lifeLikeRecord.setDianzanUserType(phoneTypeIdResult.getType());
-                lifeLikeRecord.setDianzanRefId(phoneTypeIdResult.getId());
-            }
-            // 员工点赞特殊处理
-            if( CommonConstant.LIKE_TYPE_STAFF.equals(type) ) {
-                lifeLikeRecord.setDianzanUserType(1);
-                lifeLikeRecord.setDianzanRefId(Integer.parseInt(userId));
-            }
+            lifeLikeRecord.setDianzanId(userId);
+            lifeLikeIdentityHelper.normalizeBeforeSave(lifeLikeRecord);
             lifeLikeRecord.setCreatedTime(new Date());
             lifeLikeRecord.setCreatedTime(new Date());
             lifeLikeRecord.setHuifuId(huifuId);
             lifeLikeRecord.setHuifuId(huifuId);
-            lifeLikeRecord.setDianzanId(userId);
             lifeLikeRecord.setType(type);
             lifeLikeRecord.setType(type);
             int insertResult = lifeLikeRecordMapper.insert(lifeLikeRecord);
             int insertResult = lifeLikeRecordMapper.insert(lifeLikeRecord);
             
             
@@ -422,12 +415,12 @@ public class LifeCommentService {
         }
         }
         
         
         try {
         try {
-            // 查询是否已有点赞记录
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(userId);
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(LifeLikeRecord::getDianzanId, userId)
-                    .eq(LifeLikeRecord::getHuifuId, huifuId)
+            queryWrapper.eq(LifeLikeRecord::getHuifuId, huifuId)
                     .eq(LifeLikeRecord::getType, type)
                     .eq(LifeLikeRecord::getType, type)
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
+            lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
             List<LifeLikeRecord> recordList = lifeLikeRecordMapper.selectList(queryWrapper);
             List<LifeLikeRecord> recordList = lifeLikeRecordMapper.selectList(queryWrapper);
             
             
             // 如果没有点赞记录,直接返回0(表示未点赞)
             // 如果没有点赞记录,直接返回0(表示未点赞)
@@ -439,9 +432,9 @@ public class LifeCommentService {
             // 删除点赞记录(逻辑删除)
             // 删除点赞记录(逻辑删除)
             LambdaUpdateWrapper<LifeLikeRecord> updateWrapper = new LambdaUpdateWrapper<>();
             LambdaUpdateWrapper<LifeLikeRecord> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(LifeLikeRecord::getHuifuId, huifuId)
             updateWrapper.eq(LifeLikeRecord::getHuifuId, huifuId)
-                    .eq(LifeLikeRecord::getDianzanId, userId)
                     .eq(LifeLikeRecord::getType, type)
                     .eq(LifeLikeRecord::getType, type)
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
                     .eq(LifeLikeRecord::getDeleteFlag, CommonConstant.DELETE_FLAG_UNDELETE);
+            lifeLikeIdentityHelper.applyLikerFilter(updateWrapper, likerScope);
             int deleteResult = lifeLikeRecordMapper.delete(updateWrapper);
             int deleteResult = lifeLikeRecordMapper.delete(updateWrapper);
             
             
             if (deleteResult <= 0) {
             if (deleteResult <= 0) {
@@ -600,9 +593,10 @@ public class LifeCommentService {
                     if (!ObjectUtils.isEmpty(user)) {
                     if (!ObjectUtils.isEmpty(user)) {
                         vo.setHeadImage(user.getUserImage());
                         vo.setHeadImage(user.getUserImage());
                     }
                     }
-                    LambdaUpdateWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                    LambdaQueryWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaQueryWrapper<>();
                     recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, vo.getId());
                     recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, vo.getId());
-                    recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, vo.getUserId());
+                    lifeLikeIdentityHelper.applyLikerFilter(recordLambdaUpdateWrapper,
+                            lifeLikeIdentityHelper.resolveFromDianzanId(vo.getUserId()));
                     List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
                     List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
                     if (ObjectUtils.isEmpty(records)) {
                     if (ObjectUtils.isEmpty(records)) {
                         vo.setDianzanStatus("0");
                         vo.setDianzanStatus("0");

+ 14 - 10
alien-store/src/main/java/shop/alien/store/service/LifeUserDynamicsService.java

@@ -20,6 +20,8 @@ import shop.alien.entity.store.vo.LifeUserDynamicsVo;
 import shop.alien.mapper.*;
 import shop.alien.mapper.*;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
 import shop.alien.store.util.LifeDynamicsIdentityHelper.PublisherScope;
 import shop.alien.store.util.LifeDynamicsIdentityHelper.PublisherScope;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.util.common.constant.CommentSourceTypeEnum;
 import shop.alien.util.common.constant.CommentSourceTypeEnum;
 
 
 import java.util.*;
 import java.util.*;
@@ -69,6 +71,8 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
 
 
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
 
 
     public int addLiulanCount(String id) {
     public int addLiulanCount(String id) {
         LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
@@ -141,9 +145,10 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
                     if (!ObjectUtils.isEmpty(user)) {
                     if (!ObjectUtils.isEmpty(user)) {
                         vo.setHeadImage(user.getUserImage());
                         vo.setHeadImage(user.getUserImage());
                     }
                     }
-                    LambdaUpdateWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                    LambdaQueryWrapper<LifeLikeRecord> recordLambdaUpdateWrapper = new LambdaQueryWrapper<>();
                     recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, vo.getId());
                     recordLambdaUpdateWrapper.eq(LifeLikeRecord::getHuifuId, vo.getId());
-                    recordLambdaUpdateWrapper.eq(LifeLikeRecord::getDianzanId, vo.getUserId());
+                    lifeLikeIdentityHelper.applyLikerFilter(recordLambdaUpdateWrapper,
+                            lifeLikeIdentityHelper.resolveFromDianzanId(vo.getUserId()));
                     List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
                     List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(recordLambdaUpdateWrapper);
                     if (ObjectUtils.isEmpty(records)) {
                     if (ObjectUtils.isEmpty(records)) {
                         vo.setDianzanStatus("0");
                         vo.setDianzanStatus("0");
@@ -220,8 +225,8 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
                 return Collections.emptyList();
                 return Collections.emptyList();
             }
             }
             LambdaQueryWrapper<LifeLikeRecord> wrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(LifeLikeRecord::getDianzanId, phoneId)
-                    .eq(LifeLikeRecord::getType, "2");
+            wrapper.eq(LifeLikeRecord::getType, "2");
+            lifeLikeIdentityHelper.applyLikerFilter(wrapper, lifeLikeIdentityHelper.resolveFromDianzanId(phoneId));
             return lifeLikeRecordMapper.selectList(wrapper).stream()
             return lifeLikeRecordMapper.selectList(wrapper).stream()
                     .map(LifeLikeRecord::getHuifuId)
                     .map(LifeLikeRecord::getHuifuId)
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
@@ -412,11 +417,9 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
             CompletableFuture<Set<String>> likeSetFuture = CompletableFuture.supplyAsync(() -> {
             CompletableFuture<Set<String>> likeSetFuture = CompletableFuture.supplyAsync(() -> {
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
                 likeWrapper.eq(LifeLikeRecord::getType, "2");
                 likeWrapper.eq(LifeLikeRecord::getType, "2");
-                if (userType.equals("1")) {
-                    likeWrapper.eq(LifeLikeRecord::getDianzanId, "user_" + loginPhone);
-                } else {
-                    likeWrapper.eq(LifeLikeRecord::getDianzanId, "store_" + loginPhone);
-                }
+                String likerId = userType.equals("1") ? "user_" + loginPhone : "store_" + loginPhone;
+                lifeLikeIdentityHelper.applyLikerFilter(likeWrapper,
+                        lifeLikeIdentityHelper.resolveFromDianzanId(likerId));
                 List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
                 List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
                 return lifeLikeList.stream().map(LifeLikeRecord::getHuifuId).collect(Collectors.toSet());
                 return lifeLikeList.stream().map(LifeLikeRecord::getHuifuId).collect(Collectors.toSet());
             });
             });
@@ -667,8 +670,9 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
         resultMap.put("dynamicTotal", lifeUserDynamicsIPage.getTotal());
         resultMap.put("dynamicTotal", lifeUserDynamicsIPage.getTotal());
         // 查询我的点赞
         // 查询我的点赞
         LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
-        likeWrapper.eq(LifeLikeRecord::getDianzanId, myselfPhoneId);
         likeWrapper.eq(LifeLikeRecord::getType, "2");
         likeWrapper.eq(LifeLikeRecord::getType, "2");
+        lifeLikeIdentityHelper.applyLikerFilter(likeWrapper,
+                lifeLikeIdentityHelper.resolveFromDianzanId(myselfPhoneId));
         List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
         List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
         List<String> likeList = lifeLikeList.stream().map(LifeLikeRecord::getHuifuId).collect(Collectors.toList());
         List<String> likeList = lifeLikeList.stream().map(LifeLikeRecord::getHuifuId).collect(Collectors.toList());
 
 

+ 10 - 5
alien-store/src/main/java/shop/alien/store/service/impl/CommonCommentServiceImpl.java

@@ -18,6 +18,8 @@ import shop.alien.mapper.*;
 import shop.alien.store.service.CommonCommentService;
 import shop.alien.store.service.CommonCommentService;
 import shop.alien.store.util.CommonConstant;
 import shop.alien.store.util.CommonConstant;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
 import shop.alien.store.util.LifeDynamicsIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.store.util.ai.AiContentModerationUtil;
 import shop.alien.store.util.ai.AiContentModerationUtil;
 import shop.alien.util.common.constant.CommentSourceTypeEnum;
 import shop.alien.util.common.constant.CommentSourceTypeEnum;
 import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextModerationUtil;
@@ -46,6 +48,7 @@ public class CommonCommentServiceImpl extends ServiceImpl<CommonCommentMapper, C
 
 
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
     private final LifeDynamicsIdentityHelper dynamicsIdentityHelper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
     private final StoreUserMapper storeUserMapper;
     private final StoreUserMapper storeUserMapper;
     private final LifeUserViolationMapper lifeUserViolationMapper;
     private final LifeUserViolationMapper lifeUserViolationMapper;
     private final LifeUserMapper lifeUserMapper;
     private final LifeUserMapper lifeUserMapper;
@@ -316,11 +319,13 @@ public class CommonCommentServiceImpl extends ServiceImpl<CommonCommentMapper, C
             }
             }
 
 
             // 3.查询当前用户是否喜欢
             // 3.查询当前用户是否喜欢
-            LifeLikeRecord lifeLikeRecord = lifeLikeRecordMapper.selectOne(new QueryWrapper<LifeLikeRecord>()
-                    .eq("type", CommonConstant.LIKE_TYPE_DYNAMICS)
-                    .eq("dianzan_id", fansId)
-                    .eq("huifu_id", sourceId)
-                    .eq("delete_flag", 0));
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(fansId);
+            LambdaQueryWrapper<LifeLikeRecord> likeQueryWrapper = new LambdaQueryWrapper<>();
+            likeQueryWrapper.eq(LifeLikeRecord::getType, CommonConstant.LIKE_TYPE_DYNAMICS)
+                    .eq(LifeLikeRecord::getHuifuId, sourceId)
+                    .eq(LifeLikeRecord::getDeleteFlag, 0);
+            lifeLikeIdentityHelper.applyLikerFilter(likeQueryWrapper, likerScope);
+            LifeLikeRecord lifeLikeRecord = lifeLikeRecordMapper.selectOne(likeQueryWrapper);
             if(null != lifeLikeRecord){
             if(null != lifeLikeRecord){
                 map.put("isLike",1);
                 map.put("isLike",1);
             } else {
             } else {

+ 14 - 8
alien-store/src/main/java/shop/alien/store/service/impl/CommonRatingServiceImpl.java

@@ -46,6 +46,8 @@ import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.LifeNoticeUtil;
 import shop.alien.util.type.LifeNoticeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
@@ -81,6 +83,7 @@ public class CommonRatingServiceImpl extends ServiceImpl<CommonRatingMapper, Com
     private final LifeUserMapper lifeUserMapper;
     private final LifeUserMapper lifeUserMapper;
     private final CommonCommentMapper commonCommentMapper;
     private final CommonCommentMapper commonCommentMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
     private final LifeCollectMapper lifeCollectMapper;
     private final LifeCollectMapper lifeCollectMapper;
     private final LifeFansMapper lifeFansMapper;
     private final LifeFansMapper lifeFansMapper;
     private final TagsSynonymMapper tagsSynonymMapper;
     private final TagsSynonymMapper tagsSynonymMapper;
@@ -872,11 +875,13 @@ public class CommonRatingServiceImpl extends ServiceImpl<CommonRatingMapper, Com
      * @param commonRatingVo 评价vo
      * @param commonRatingVo 评价vo
      */
      */
     private void setIsLike(Integer ratingId, Long userId, CommonRatingVo commonRatingVo) {
     private void setIsLike(Integer ratingId, Long userId, CommonRatingVo commonRatingVo) {
-        List<LifeLikeRecord> lifeLikeRecords = lifeLikeRecordMapper.selectList(new QueryWrapper<LifeLikeRecord>().lambda()
-                .eq(LifeLikeRecord::getDianzanId, userId)
-                .eq(LifeLikeRecord::getHuifuId, ratingId)
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId != null ? userId.intValue() : null);
+        LambdaQueryWrapper<LifeLikeRecord> likeQueryWrapper = new LambdaQueryWrapper<>();
+        likeQueryWrapper.eq(LifeLikeRecord::getHuifuId, ratingId)
                 .eq(LifeLikeRecord::getDeleteFlag, 0)
                 .eq(LifeLikeRecord::getDeleteFlag, 0)
-                .eq(LifeLikeRecord::getType, CommonConstant.RATING_LIKE));
+                .eq(LifeLikeRecord::getType, CommonConstant.RATING_LIKE);
+        lifeLikeIdentityHelper.applyLikerFilter(likeQueryWrapper, likerScope);
+        List<LifeLikeRecord> lifeLikeRecords = lifeLikeRecordMapper.selectList(likeQueryWrapper);
         if(lifeLikeRecords.size() > 0){
         if(lifeLikeRecords.size() > 0){
             commonRatingVo.setIsLike(1);
             commonRatingVo.setIsLike(1);
         } else {
         } else {
@@ -972,10 +977,11 @@ public class CommonRatingServiceImpl extends ServiceImpl<CommonRatingMapper, Com
             List<LifeLikeRecord> lifeLikeRecords = new ArrayList<>();
             List<LifeLikeRecord> lifeLikeRecords = new ArrayList<>();
             Map<String, LifeLikeRecord> likeRecordMap = new HashMap<>();
             Map<String, LifeLikeRecord> likeRecordMap = new HashMap<>();
             if (userId != null) {
             if (userId != null) {
-                lifeLikeRecords = lifeLikeRecordMapper.selectList(
-                        new QueryWrapper<LifeLikeRecord>().lambda()
-                        .eq(LifeLikeRecord::getDianzanId, userId)
-                        .eq(LifeLikeRecord::getType, CommonConstant.RATING_LIKE));
+                LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId.intValue());
+                LambdaQueryWrapper<LifeLikeRecord> likeQueryWrapper = new LambdaQueryWrapper<>();
+                likeQueryWrapper.eq(LifeLikeRecord::getType, CommonConstant.RATING_LIKE);
+                lifeLikeIdentityHelper.applyLikerFilter(likeQueryWrapper, likerScope);
+                lifeLikeRecords = lifeLikeRecordMapper.selectList(likeQueryWrapper);
                 likeRecordMap = lifeLikeRecords.stream()
                 likeRecordMap = lifeLikeRecords.stream()
                         .collect(Collectors.toMap(LifeLikeRecord::getHuifuId, Function.identity()));
                         .collect(Collectors.toMap(LifeLikeRecord::getHuifuId, Function.identity()));
             }
             }

+ 8 - 2
alien-store/src/main/java/shop/alien/store/service/impl/OrderReviewServiceImpl.java

@@ -22,6 +22,8 @@ import shop.alien.entity.store.vo.PendingReviewVo;
 import shop.alien.mapper.*;
 import shop.alien.mapper.*;
 import shop.alien.store.service.OrderReviewService;
 import shop.alien.store.service.OrderReviewService;
 import shop.alien.store.service.ReviewCommentService;
 import shop.alien.store.service.ReviewCommentService;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
@@ -44,6 +46,7 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
     private final ReviewCommentService reviewCommentService;
     private final ReviewCommentService reviewCommentService;
     private final ReviewCommentMapper reviewCommentMapper;
     private final ReviewCommentMapper reviewCommentMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
     private final LawyerUserMapper lawyerUserMapper;
     private final LawyerUserMapper lawyerUserMapper;
 
 
     @Override
     @Override
@@ -502,17 +505,19 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
         }
         }
 
 
         // 检查是否已点赞
         // 检查是否已点赞
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setType("7");
             likeRecord.setType("7");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -548,11 +553,12 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
         }
         }
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "7")
         queryWrapper.eq(LifeLikeRecord::getType, "7")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(reviewId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {

+ 11 - 3
alien-store/src/main/java/shop/alien/store/service/impl/ReviewCommentServiceImpl.java

@@ -22,6 +22,8 @@ import shop.alien.mapper.ReviewCommentMapper;
 import shop.alien.entity.store.LawyerUser;
 import shop.alien.entity.store.LawyerUser;
 import shop.alien.store.service.OrderReviewService;
 import shop.alien.store.service.OrderReviewService;
 import shop.alien.store.service.ReviewCommentService;
 import shop.alien.store.service.ReviewCommentService;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -42,15 +44,18 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
     private final OrderReviewService orderReviewService;
     private final OrderReviewService orderReviewService;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LawyerUserMapper lawyerUserMapper;
     private final LawyerUserMapper lawyerUserMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
 
 
     public ReviewCommentServiceImpl(ReviewCommentMapper reviewCommentMapper,
     public ReviewCommentServiceImpl(ReviewCommentMapper reviewCommentMapper,
                                     @Lazy OrderReviewService orderReviewService,
                                     @Lazy OrderReviewService orderReviewService,
                                     LifeLikeRecordMapper lifeLikeRecordMapper,
                                     LifeLikeRecordMapper lifeLikeRecordMapper,
-                                    LawyerUserMapper lawyerUserMapper) {
+                                    LawyerUserMapper lawyerUserMapper,
+                                    LifeLikeIdentityHelper lifeLikeIdentityHelper) {
         this.reviewCommentMapper = reviewCommentMapper;
         this.reviewCommentMapper = reviewCommentMapper;
         this.orderReviewService = orderReviewService;
         this.orderReviewService = orderReviewService;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.lawyerUserMapper = lawyerUserMapper;
         this.lawyerUserMapper = lawyerUserMapper;
+        this.lifeLikeIdentityHelper = lifeLikeIdentityHelper;
     }
     }
 
 
     /**
     /**
@@ -185,17 +190,19 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
         }
         }
 
 
         // 检查是否已点赞
         // 检查是否已点赞
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (CollectionUtils.isEmpty(records)) {
         if (CollectionUtils.isEmpty(records)) {
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setType("8");
             likeRecord.setType("8");
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -233,11 +240,12 @@ public class ReviewCommentServiceImpl extends ServiceImpl<ReviewCommentMapper, R
         }
         }
 
 
         // 查询点赞记录
         // 查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, "8")
         queryWrapper.eq(LifeLikeRecord::getType, "8")
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
         if (!CollectionUtils.isEmpty(records)) {
         if (!CollectionUtils.isEmpty(records)) {

+ 10 - 4
alien-store/src/main/java/shop/alien/store/service/impl/StoreClockInServiceImpl.java

@@ -31,6 +31,8 @@ import shop.alien.util.common.constant.CommentSourceTypeEnum;
 import shop.alien.util.type.PhoneTypeIdResult;
 import shop.alien.util.type.PhoneTypeIdResult;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.LifeCollectIdentityQuery;
 import shop.alien.util.type.TypeUtil;
 import shop.alien.util.type.TypeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.annotation.PreDestroy;
@@ -63,6 +65,8 @@ public class StoreClockInServiceImpl extends ServiceImpl<StoreClockInMapper, Sto
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final StoreCommentService storeCommentService;
     private final StoreCommentService storeCommentService;
 
 
     private final LifeCollectMapper lifeCollectMapper;
     private final LifeCollectMapper lifeCollectMapper;
@@ -156,9 +160,10 @@ public class StoreClockInServiceImpl extends ServiceImpl<StoreClockInMapper, Sto
         
         
         // 优化:提前查询所有需要的数据,避免在循环中查询
         // 优化:提前查询所有需要的数据,避免在循环中查询
         // 查询我的点赞 - 使用Set提高查找效率
         // 查询我的点赞 - 使用Set提高查找效率
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> likeWrapper = new LambdaQueryWrapper<>();
-        likeWrapper.eq(LifeLikeRecord::getDianzanId, userId);
         likeWrapper.eq(LifeLikeRecord::getType, "5");
         likeWrapper.eq(LifeLikeRecord::getType, "5");
+        lifeLikeIdentityHelper.applyLikerFilter(likeWrapper, likerScope);
         List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
         List<LifeLikeRecord> lifeLikeList = lifeLikeRecordMapper.selectList(likeWrapper);
         Set<String> likeSet = lifeLikeList.stream()
         Set<String> likeSet = lifeLikeList.stream()
                 .map(LifeLikeRecord::getHuifuId)
                 .map(LifeLikeRecord::getHuifuId)
@@ -544,10 +549,11 @@ public class StoreClockInServiceImpl extends ServiceImpl<StoreClockInMapper, Sto
                 storeClockInVo.setIsCollect("1");
                 storeClockInVo.setIsCollect("1");
             }
             }
 
 
+            LikerScope viewerLikerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
             LambdaQueryWrapper<LifeLikeRecord> likeQw = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> likeQw = new LambdaQueryWrapper<>();
-            likeQw.eq(LifeLikeRecord::getDianzanId, userId);
-            likeQw.eq(LifeLikeRecord::getType, "5");
-            likeQw.eq(LifeLikeRecord::getHuifuId, String.valueOf(storeClockIn.getId()));
+            likeQw.eq(LifeLikeRecord::getType, "5")
+                    .eq(LifeLikeRecord::getHuifuId, String.valueOf(storeClockIn.getId()));
+            lifeLikeIdentityHelper.applyLikerFilter(likeQw, viewerLikerScope);
             storeClockInVo.setIsLike(lifeLikeRecordMapper.selectCount(likeQw) > 0 ? "1" : "0");
             storeClockInVo.setIsLike(lifeLikeRecordMapper.selectCount(likeQw) > 0 ? "1" : "0");
 
 
             LifeUser viewer = lifeUserMapper.selectById(userId);
             LifeUser viewer = lifeUserMapper.selectById(userId);

+ 10 - 2
alien-store/src/main/java/shop/alien/store/service/impl/StoreCommentServiceImpl.java

@@ -32,6 +32,8 @@ import shop.alien.util.common.safe.TextModerationResultVO;
 import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextModerationUtil;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.common.safe.TextReviewServiceEnum;
 import shop.alien.util.type.LifeNoticeUtil;
 import shop.alien.util.type.LifeNoticeUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -57,6 +59,8 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final FileUploadUtil fileUploadUtil;
     private final FileUploadUtil fileUploadUtil;
 
 
     private final StoreImgMapper storeImgMapper;
     private final StoreImgMapper storeImgMapper;
@@ -258,8 +262,10 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             storeCommentVo.setCommitCount(0);
             storeCommentVo.setCommitCount(0);
             //父级点赞状态
             //父级点赞状态
             if (StringUtils.isNotEmpty(phoneId)) {
             if (StringUtils.isNotEmpty(phoneId)) {
+                LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
                 LambdaQueryWrapper<LifeLikeRecord> likeRecordQueryWrapper = new LambdaQueryWrapper<>();
                 LambdaQueryWrapper<LifeLikeRecord> likeRecordQueryWrapper = new LambdaQueryWrapper<>();
-                likeRecordQueryWrapper.eq(LifeLikeRecord::getDianzanId, phoneId).eq(LifeLikeRecord::getHuifuId, storeCommentVo.getId());
+                likeRecordQueryWrapper.eq(LifeLikeRecord::getHuifuId, storeCommentVo.getId());
+                lifeLikeIdentityHelper.applyLikerFilter(likeRecordQueryWrapper, likerScope);
                 Integer i = lifeLikeRecordMapper.selectCount(likeRecordQueryWrapper);
                 Integer i = lifeLikeRecordMapper.selectCount(likeRecordQueryWrapper);
                 if (i > 0) {
                 if (i > 0) {
                     storeCommentVo.setIsLike(1);
                     storeCommentVo.setIsLike(1);
@@ -326,8 +332,10 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
             //子级点赞状态
             //子级点赞状态
             if (StringUtils.isNotEmpty(phoneId)) {
             if (StringUtils.isNotEmpty(phoneId)) {
                 childCommentList.forEach(child -> {
                 childCommentList.forEach(child -> {
+                    LikerScope childLikerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
                     LambdaQueryWrapper<LifeLikeRecord> childlikeRecordQueryWrapper = new LambdaQueryWrapper<>();
                     LambdaQueryWrapper<LifeLikeRecord> childlikeRecordQueryWrapper = new LambdaQueryWrapper<>();
-                    childlikeRecordQueryWrapper.eq(LifeLikeRecord::getDianzanId, phoneId).eq(LifeLikeRecord::getHuifuId, child.getId());
+                    childlikeRecordQueryWrapper.eq(LifeLikeRecord::getHuifuId, child.getId());
+                    lifeLikeIdentityHelper.applyLikerFilter(childlikeRecordQueryWrapper, childLikerScope);
                     if (lifeLikeRecordMapper.selectCount(childlikeRecordQueryWrapper) > 0) {
                     if (lifeLikeRecordMapper.selectCount(childlikeRecordQueryWrapper) > 0) {
                         child.setIsLike(1);
                         child.setIsLike(1);
                     } else {
                     } else {

+ 18 - 7
alien-store/src/main/java/shop/alien/store/service/impl/StoreMenuServiceImpl.java

@@ -22,6 +22,8 @@ import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.StoreMenuMapper;
 import shop.alien.mapper.StoreMenuMapper;
 import shop.alien.store.service.StoreImgService;
 import shop.alien.store.service.StoreImgService;
 import shop.alien.store.service.StoreMenuService;
 import shop.alien.store.service.StoreMenuService;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.util.Collections;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Comparator;
@@ -46,6 +48,8 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final StoreImgService storeImgService;
     private final StoreImgService storeImgService;
 
 
     private final LifeGroupBuyThaliMapper lifeGroupBuyThaliMapper;
     private final LifeGroupBuyThaliMapper lifeGroupBuyThaliMapper;
@@ -94,9 +98,10 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
                     .collect(Collectors.toSet());
                     .collect(Collectors.toSet());
 
 
             // 批量查询点赞记录
             // 批量查询点赞记录
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
             LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
-            likeQuery.eq(LifeLikeRecord::getDianzanId, phoneId)
-                    .in(LifeLikeRecord::getHuifuId, menuIdStrSet);
+            likeQuery.in(LifeLikeRecord::getHuifuId, menuIdStrSet);
+            lifeLikeIdentityHelper.applyLikerFilter(likeQuery, likerScope);
             List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeQuery);
             List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeQuery);
 
 
             // 构建已点赞的菜单ID集合
             // 构建已点赞的菜单ID集合
@@ -322,7 +327,11 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
      */
      */
     @Override
     @Override
     public boolean getMenuLikeStatus(String userId, Integer menuId) {
     public boolean getMenuLikeStatus(String userId, Integer menuId) {
-        return lifeLikeRecordMapper.selectCount(new QueryWrapper<LifeLikeRecord>().eq("dianzan_id", userId).eq("huifu_id", menuId).eq("delete_flag", 0)) > 0;
+        LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(userId);
+        LambdaQueryWrapper<LifeLikeRecord> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(LifeLikeRecord::getHuifuId, menuId).eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(wrapper, likerScope);
+        return lifeLikeRecordMapper.selectCount(wrapper) > 0;
     }
     }
 
 
 
 
@@ -482,10 +491,11 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         }
         }
 
 
         // 批量查询点赞记录
         // 批量查询点赞记录
+        LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
         LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
-        likeQuery.eq(LifeLikeRecord::getDianzanId, phoneId)
-                .eq(LifeLikeRecord::getDeleteFlag, 0)
+        likeQuery.eq(LifeLikeRecord::getDeleteFlag, 0)
                 .in(LifeLikeRecord::getHuifuId, menuIdStrSet);
                 .in(LifeLikeRecord::getHuifuId, menuIdStrSet);
+        lifeLikeIdentityHelper.applyLikerFilter(likeQuery, likerScope);
         List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeQuery);
         List<LifeLikeRecord> likeRecordList = lifeLikeRecordMapper.selectList(likeQuery);
 
 
         // 构建已点赞的菜单ID集合
         // 构建已点赞的菜单ID集合
@@ -524,10 +534,11 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
         StoreMenuVo storeMenuVo = storeMenuMapper.getClientMenuInfoById(id);
         StoreMenuVo storeMenuVo = storeMenuMapper.getClientMenuInfoById(id);
         if(StringUtils.isNotEmpty(phoneId)){
         if(StringUtils.isNotEmpty(phoneId)){
             // 批量查询点赞记录
             // 批量查询点赞记录
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(phoneId);
             LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> likeQuery = new LambdaQueryWrapper<>();
-            likeQuery.eq(LifeLikeRecord::getDianzanId, phoneId)
-                    .eq(LifeLikeRecord::getDeleteFlag, 0)
+            likeQuery.eq(LifeLikeRecord::getDeleteFlag, 0)
                     .eq(LifeLikeRecord::getHuifuId, storeMenuVo.getId());
                     .eq(LifeLikeRecord::getHuifuId, storeMenuVo.getId());
+            lifeLikeIdentityHelper.applyLikerFilter(likeQuery, likerScope);
             int likeCount = lifeLikeRecordMapper.selectCount(likeQuery);
             int likeCount = lifeLikeRecordMapper.selectCount(likeQuery);
             if(likeCount > 0){
             if(likeCount > 0){
                 storeMenuVo.setIsLike(1);
                 storeMenuVo.setIsLike(1);

+ 11 - 3
alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffCommentServiceImpl.java

@@ -21,6 +21,8 @@ import shop.alien.mapper.StoreStaffCommentMapper;
 import shop.alien.store.service.StoreStaffCommentService;
 import shop.alien.store.service.StoreStaffCommentService;
 import shop.alien.store.service.StoreStaffReviewService;
 import shop.alien.store.service.StoreStaffReviewService;
 import shop.alien.store.util.ai.AiContentModerationUtil;
 import shop.alien.store.util.ai.AiContentModerationUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -45,14 +47,17 @@ public class StoreStaffCommentServiceImpl extends ServiceImpl<StoreStaffCommentM
     private final StoreStaffReviewService storeStaffReviewService;
     private final StoreStaffReviewService storeStaffReviewService;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final AiContentModerationUtil aiContentModerationUtil;
     private final AiContentModerationUtil aiContentModerationUtil;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
 
 
     public StoreStaffCommentServiceImpl(StoreStaffCommentMapper storeStaffCommentMapper,
     public StoreStaffCommentServiceImpl(StoreStaffCommentMapper storeStaffCommentMapper,
                                         @Lazy StoreStaffReviewService storeStaffReviewService,
                                         @Lazy StoreStaffReviewService storeStaffReviewService,
-                                        LifeLikeRecordMapper lifeLikeRecordMapper, AiContentModerationUtil aiContentModerationUtil) {
+                                        LifeLikeRecordMapper lifeLikeRecordMapper, AiContentModerationUtil aiContentModerationUtil,
+                                        LifeLikeIdentityHelper lifeLikeIdentityHelper) {
         this.storeStaffCommentMapper = storeStaffCommentMapper;
         this.storeStaffCommentMapper = storeStaffCommentMapper;
         this.storeStaffReviewService = storeStaffReviewService;
         this.storeStaffReviewService = storeStaffReviewService;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.lifeLikeRecordMapper = lifeLikeRecordMapper;
         this.aiContentModerationUtil = aiContentModerationUtil;
         this.aiContentModerationUtil = aiContentModerationUtil;
+        this.lifeLikeIdentityHelper = lifeLikeIdentityHelper;
     }
     }
 
 
     @Override
     @Override
@@ -438,11 +443,12 @@ public class StoreStaffCommentServiceImpl extends ServiceImpl<StoreStaffCommentM
      * 检查是否已点赞
      * 检查是否已点赞
      */
      */
     private boolean isLiked(Integer commentId, Integer userId, String type) {
     private boolean isLiked(Integer commentId, Integer userId, String type) {
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, type)
         queryWrapper.eq(LifeLikeRecord::getType, type)
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         return !CollectionUtils.isEmpty(records);
         return !CollectionUtils.isEmpty(records);
     }
     }
@@ -455,6 +461,7 @@ public class StoreStaffCommentServiceImpl extends ServiceImpl<StoreStaffCommentM
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setHuifuId(String.valueOf(commentId));
             likeRecord.setType(LIKE_TYPE_COMMENT);
             likeRecord.setType(LIKE_TYPE_COMMENT);
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -485,11 +492,12 @@ public class StoreStaffCommentServiceImpl extends ServiceImpl<StoreStaffCommentM
     private R<Boolean> doCancelLikeComment(Integer commentId, Integer userId) {
     private R<Boolean> doCancelLikeComment(Integer commentId, Integer userId) {
         try {
         try {
             // 查询点赞记录
             // 查询点赞记录
+            LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(LifeLikeRecord::getType, LIKE_TYPE_COMMENT)
             queryWrapper.eq(LifeLikeRecord::getType, LIKE_TYPE_COMMENT)
-                    .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(commentId))
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
+            lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
             List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
             List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
             if (CollectionUtils.isEmpty(records)) {
             if (CollectionUtils.isEmpty(records)) {

+ 6 - 1
alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffConfigServiceImpl.java

@@ -38,6 +38,8 @@ import shop.alien.store.service.StoreStaffFitnessCertificationService;
 import shop.alien.store.service.StoreStaffFitnessCourseService;
 import shop.alien.store.service.StoreStaffFitnessCourseService;
 import shop.alien.store.service.StoreStaffFitnessExperienceService;
 import shop.alien.store.service.StoreStaffFitnessExperienceService;
 import shop.alien.store.util.CommonConstant;
 import shop.alien.store.util.CommonConstant;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.util.ali.AliOSSUtil;
 import shop.alien.util.ali.AliOSSUtil;
 
 
 import java.io.File;
 import java.io.File;
@@ -84,6 +86,8 @@ public class StoreStaffConfigServiceImpl implements StoreStaffConfigService {
 
 
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
 
 
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
+
     private final StoreStaffAuditAsyncService storeStaffAuditAsyncService;
     private final StoreStaffAuditAsyncService storeStaffAuditAsyncService;
 
 
     /**
     /**
@@ -1802,11 +1806,12 @@ public class StoreStaffConfigServiceImpl implements StoreStaffConfigService {
         }
         }
 
 
         try {
         try {
+            LikerScope likerScope = lifeLikeIdentityHelper.resolveFromDianzanId(userId);
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(LifeLikeRecord::getType, "8") // 8-点赞员工
             queryWrapper.eq(LifeLikeRecord::getType, "8") // 8-点赞员工
-                    .eq(LifeLikeRecord::getDianzanId, userId)
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(staffId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(staffId))
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
+            lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
             long count = lifeLikeRecordMapper.selectCount(queryWrapper);
             long count = lifeLikeRecordMapper.selectCount(queryWrapper);
             return count > 0;
             return count > 0;
         } catch (Exception e) {
         } catch (Exception e) {

+ 8 - 2
alien-store/src/main/java/shop/alien/store/service/impl/StoreStaffReviewServiceImpl.java

@@ -21,6 +21,8 @@ import shop.alien.mapper.*;
 import shop.alien.store.service.StoreStaffCommentService;
 import shop.alien.store.service.StoreStaffCommentService;
 import shop.alien.store.service.StoreStaffReviewService;
 import shop.alien.store.service.StoreStaffReviewService;
 import shop.alien.store.util.ai.AiContentModerationUtil;
 import shop.alien.store.util.ai.AiContentModerationUtil;
+import shop.alien.util.LifeLikeIdentityHelper;
+import shop.alien.util.LifeLikeIdentityHelper.LikerScope;
 import shop.alien.util.common.DistanceUtil;
 import shop.alien.util.common.DistanceUtil;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -45,6 +47,7 @@ public class StoreStaffReviewServiceImpl extends ServiceImpl<StoreStaffReviewMap
     private final StoreStaffCommentService storeStaffCommentService;
     private final StoreStaffCommentService storeStaffCommentService;
     private final StoreStaffCommentMapper storeStaffCommentMapper;
     private final StoreStaffCommentMapper storeStaffCommentMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
     private final LifeLikeRecordMapper lifeLikeRecordMapper;
+    private final LifeLikeIdentityHelper lifeLikeIdentityHelper;
     private final StoreStaffConfigMapper storeStaffConfigMapper;
     private final StoreStaffConfigMapper storeStaffConfigMapper;
     private final StoreInfoMapper storeInfoMapper;
     private final StoreInfoMapper storeInfoMapper;
     private final StoreUserMapper storeUserMapper;
     private final StoreUserMapper storeUserMapper;
@@ -389,11 +392,12 @@ public class StoreStaffReviewServiceImpl extends ServiceImpl<StoreStaffReviewMap
      * 检查是否已点赞
      * 检查是否已点赞
      */
      */
     private boolean isLiked(Integer targetId, Integer userId, String type) {
     private boolean isLiked(Integer targetId, Integer userId, String type) {
+        LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeLikeRecord::getType, type)
         queryWrapper.eq(LifeLikeRecord::getType, type)
-                .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(targetId))
                 .eq(LifeLikeRecord::getHuifuId, String.valueOf(targetId))
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
                 .eq(LifeLikeRecord::getDeleteFlag, 0);
+        lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
         return !CollectionUtils.isEmpty(records);
         return !CollectionUtils.isEmpty(records);
     }
     }
@@ -406,6 +410,7 @@ public class StoreStaffReviewServiceImpl extends ServiceImpl<StoreStaffReviewMap
             // 插入点赞记录
             // 插入点赞记录
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             LifeLikeRecord likeRecord = new LifeLikeRecord();
             likeRecord.setDianzanId(String.valueOf(userId));
             likeRecord.setDianzanId(String.valueOf(userId));
+            lifeLikeIdentityHelper.normalizeBeforeSave(likeRecord);
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setHuifuId(String.valueOf(reviewId));
             likeRecord.setType(type);
             likeRecord.setType(type);
             likeRecord.setCreatedTime(new Date());
             likeRecord.setCreatedTime(new Date());
@@ -436,11 +441,12 @@ public class StoreStaffReviewServiceImpl extends ServiceImpl<StoreStaffReviewMap
     private <T> R<Boolean> doCancelLike(Integer targetId, Integer userId, String type, Class<T> entityClass) {
     private <T> R<Boolean> doCancelLike(Integer targetId, Integer userId, String type, Class<T> entityClass) {
         try {
         try {
             // 查询点赞记录
             // 查询点赞记录
+            LikerScope likerScope = lifeLikeIdentityHelper.fromLifeUserId(userId);
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<LifeLikeRecord> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(LifeLikeRecord::getType, type)
             queryWrapper.eq(LifeLikeRecord::getType, type)
-                    .eq(LifeLikeRecord::getDianzanId, String.valueOf(userId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(targetId))
                     .eq(LifeLikeRecord::getHuifuId, String.valueOf(targetId))
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
                     .eq(LifeLikeRecord::getDeleteFlag, 0);
+            lifeLikeIdentityHelper.applyLikerFilter(queryWrapper, likerScope);
             List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
             List<LifeLikeRecord> records = lifeLikeRecordMapper.selectList(queryWrapper);
 
 
             if (CollectionUtils.isEmpty(records)) {
             if (CollectionUtils.isEmpty(records)) {