Browse Source

feat(family-member): 新增主动退出与回收箱回收接口

Sisyphus 1 week ago
parent
commit
ce087215b9

+ 37 - 0
cfc-backend/src/main/java/com/etotem/cfc/controller/family/FamilyMembersController.java

@@ -118,6 +118,43 @@ public Result<String> kickMember(@RequestBody Map<String, Long> body,
  }
 }
 
+@Operation(summary = "主动退出家庭")
+@PostMapping("/leave")
+public Result<String> leaveFamily(@RequestAttribute("userId") Long userId) {
+ if (userId == null) {
+   return Result.error("请先登录");
+ }
+ try {
+   familyMemberService.leaveFamily(userId);
+   return Result.success("退出成功");
+ } catch (RuntimeException e) {
+   return Result.error(e.getMessage());
+ }
+}
+
+@Operation(summary = "从回收箱回收成员")
+@PostMapping("/recycle")
+public Result<String> recycleMember(@RequestBody Map<String, Long> body,
+ @RequestAttribute("userId") Long userId) {
+ if (userId == null) {
+   return Result.error("请先登录");
+ }
+ Long memberId = body.get("memberId");
+ Long targetFamilyId = body.get("targetFamilyId");
+ if (memberId == null) {
+   return Result.error("缺少成员ID");
+ }
+ if (targetFamilyId == null) {
+   return Result.error("缺少目标家庭ID");
+ }
+ try {
+   familyMemberService.recycleMember(userId, memberId, targetFamilyId);
+   return Result.success("回收成功");
+ } catch (RuntimeException e) {
+   return Result.error(e.getMessage());
+ }
+}
+
 @Operation(summary = "更新成员信息")
 @PostMapping("/update")
 public Result<FamilyMemberVO> updateMember(@RequestBody Map<String, Object> body,