Jelajahi Sumber

feat(family): 家庭命名规则工具 buildFamilyName

Xiaogang Liao 1 Minggu lalu
induk
melakukan
0dee1761ff

+ 15 - 0
cfc-backend/src/main/java/com/etotem/cfc/util/FamilyNamingSupport.java

@@ -0,0 +1,15 @@
+package com.etotem.cfc.util;
+
+import com.etotem.cfc.entity.User;
+
+/** 家庭命名规则:真实姓名优先 → 昵称 → 兜底 */
+public final class FamilyNamingSupport {
+    private FamilyNamingSupport() {}
+    public static String buildFamilyName(User user) {
+        if (user.getRealName() != null && !user.getRealName().trim().isEmpty()) {
+            return user.getRealName().trim() + "家庭";
+        }
+        String nickname = user.getNickname();
+        return (nickname != null && !nickname.isEmpty()) ? nickname + "的家庭" : "我的家庭";
+    }
+}

+ 19 - 0
cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java

@@ -0,0 +1,19 @@
+package com.etotem.cfc.unit;
+
+import com.etotem.cfc.entity.User;
+import com.etotem.cfc.util.FamilyNamingSupport;
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class FamilyNamingSupportTest {
+    private User user(String realName, String nickname) {
+        User u = new User();
+        u.setRealName(realName);
+        u.setNickname(nickname);
+        return u;
+    }
+    @Test void realName_优先() { assertEquals("张三家庭", FamilyNamingSupport.buildFamilyName(user("张三", "昵称"))); }
+    @Test void realName空_回退昵称() { assertEquals("昵称的家庭", FamilyNamingSupport.buildFamilyName(user("", "昵称"))); }
+    @Test void realName全空格_回退昵称() { assertEquals("昵称的家庭", FamilyNamingSupport.buildFamilyName(user("   ", "昵称"))); }
+    @Test void 都空_我的家庭() { assertEquals("我的家庭", FamilyNamingSupport.buildFamilyName(user(null, null))); }
+}