Procházet zdrojové kódy

feat(backend): FamilyMemberService 补 isCallerInSameFamily/isCallerInFamily 跨家庭校验方法

iwt před 1 měsícem
rodič
revize
1ef8d181ac

+ 23 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/FamilyMemberService.java

@@ -579,4 +579,27 @@ public class FamilyMemberService {
         List<FamilyMemberLog> logs = familyMemberLogMapper.selectList(query);
         return Result.success(logs);
     }
+
+    public boolean isCallerInSameFamily(Long familyMemberId, Long callerUserId) {
+        if (familyMemberId == null || callerUserId == null) return false;
+        FamilyMember member = familyMemberMapper.selectById(familyMemberId);
+        if (member == null) return false;
+        long familyId = member.getFamilyId();
+        long count = familyMemberMapper.selectCount(
+                new LambdaQueryWrapper<FamilyMember>()
+                        .eq(FamilyMember::getFamilyId, familyId)
+                        .eq(FamilyMember::getUserId, callerUserId)
+                        .last("LIMIT 1"));
+        return count > 0;
+    }
+
+    public boolean isCallerInFamily(Long familyId, Long callerUserId) {
+        if (familyId == null || callerUserId == null) return false;
+        long count = familyMemberMapper.selectCount(
+                new LambdaQueryWrapper<FamilyMember>()
+                        .eq(FamilyMember::getFamilyId, familyId)
+                        .eq(FamilyMember::getUserId, callerUserId)
+                        .last("LIMIT 1"));
+        return count > 0;
+    }
 }