|
|
@@ -13,6 +13,7 @@ import com.etotem.cfc.service.UserService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import javax.annotation.Resource;
|
|
|
+import org.springframework.web.bind.annotation.RequestAttribute;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.Date;
|
|
|
@@ -37,42 +38,25 @@ public class FamilyUserController {
|
|
|
@Resource
|
|
|
private FamilyMemberMapper familyMemberMapper;
|
|
|
|
|
|
- private Long getUserId(javax.servlet.http.HttpServletRequest request) {
|
|
|
- // 从请求属性中获取用户ID(由拦截器设置)
|
|
|
- Object userIdObj = request.getAttribute("userId");
|
|
|
- if (userIdObj != null) {
|
|
|
- return (Long) userIdObj;
|
|
|
- }
|
|
|
- // 兼容从请求头获取
|
|
|
- String userIdHeader = request.getHeader("X-User-Id");
|
|
|
- if (userIdHeader != null) {
|
|
|
- return Long.parseLong(userIdHeader);
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
@Operation(summary = "获取用户信息")
|
|
|
@PostMapping("/info")
|
|
|
- public Result<User> getUserInfo(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<User> getUserInfo(@RequestAttribute("userId") Long userId) {
|
|
|
User user = userService.getUserInfo(userId);
|
|
|
return Result.success(user);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "更新用户信息")
|
|
|
@PostMapping("/update")
|
|
|
- public Result<Boolean> updateUserInfo(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody UpdateUserDTO dto) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> updateUserInfo(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody UpdateUserDTO dto) {
|
|
|
boolean success = userService.updateUserInfo(userId, dto);
|
|
|
return Result.success(success);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "加入家庭(通过邀请码)")
|
|
|
@PostMapping("/join-family")
|
|
|
- public Result<Boolean> joinFamily(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, String> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> joinFamily(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, String> body) {
|
|
|
String inviteCode = body.get("inviteCode");
|
|
|
boolean success = userService.joinFamily(userId, inviteCode);
|
|
|
return Result.success(success);
|
|
|
@@ -80,9 +64,8 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "创建新家庭")
|
|
|
@PostMapping("/create-family")
|
|
|
- public Result<Long> createFamily(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, String> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Long> createFamily(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, String> body) {
|
|
|
String familyName = body.getOrDefault("name", "我的家庭");
|
|
|
Long familyId = userService.createFamilyForUser(userId, familyName);
|
|
|
return Result.success(familyId);
|
|
|
@@ -90,16 +73,15 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "切换家长/孩子模式(已废弃,使用 /api/family/member/switch)")
|
|
|
@PostMapping("/switch-mode")
|
|
|
- public Result<String> switchMode(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, String> body) {
|
|
|
+ public Result<String> switchMode(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, String> body) {
|
|
|
return Result.error(410, "该接口已废弃,请使用 /api/family/member/switch");
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "切换用户角色 (支持 parent/child/teacher)")
|
|
|
@PostMapping("/switch-role")
|
|
|
- public Result<String> switchRole(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, String> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<String> switchRole(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, String> body) {
|
|
|
String role = body.get("role");
|
|
|
String result = userService.switchRole(userId, role);
|
|
|
if (result == null) {
|
|
|
@@ -110,32 +92,29 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "获取用户所有角色列表")
|
|
|
@PostMapping("/roles")
|
|
|
- public Result<List<String>> getUserRoles(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<List<String>> getUserRoles(@RequestAttribute("userId") Long userId) {
|
|
|
List<String> roles = userService.getUserRoles(userId);
|
|
|
return Result.success(roles);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "家长切换到指定孩子身份(已废弃,使用 /api/family/member/switch)")
|
|
|
@PostMapping("/switch-to-child")
|
|
|
- public Result<Long> switchToFamilyMember(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, Long> body) {
|
|
|
+ public Result<Long> switchToFamilyMember(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, Long> body) {
|
|
|
return Result.error(410, "该接口已废弃,请使用 /api/family/member/switch");
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "孩子切换回家长身份")
|
|
|
@PostMapping("/switch-back-to-parent")
|
|
|
- public Result<Boolean> switchBackToParent(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> switchBackToParent(@RequestAttribute("userId") Long userId) {
|
|
|
boolean result = userService.switchBackToParent(userId);
|
|
|
return Result.success(result);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "带密码校验切换回家长视角")
|
|
|
@PostMapping("/switch-back-verify")
|
|
|
- public Result<Boolean> switchBackVerify(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, String> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> switchBackVerify(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, String> body) {
|
|
|
if (userId == null) {
|
|
|
return Result.error("请先登录");
|
|
|
}
|
|
|
@@ -152,26 +131,23 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "创建孩子")
|
|
|
@PostMapping("/children")
|
|
|
- public Result<FamilyMemberInfoDTO> createFamilyMember(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody CreateFamilyMemberDTO dto) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<FamilyMemberInfoDTO> createFamilyMember(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody CreateFamilyMemberDTO dto) {
|
|
|
FamilyMemberInfoDTO child = userService.createFamilyMember(userId, dto);
|
|
|
return Result.success(child);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "获取孩子列表")
|
|
|
@PostMapping("/children/list")
|
|
|
- public Result<List<FamilyMemberInfoDTO>> getFamilyMemberren(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<List<FamilyMemberInfoDTO>> getFamilyMemberren(@RequestAttribute("userId") Long userId) {
|
|
|
List<FamilyMemberInfoDTO> children = userService.getFamilyMemberren(userId);
|
|
|
return Result.success(children);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "更新孩子信息")
|
|
|
@PostMapping("/children/update")
|
|
|
- public Result<Boolean> updateFamilyMember(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody UpdateFamilyMemberDTO dto) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> updateFamilyMember(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody UpdateFamilyMemberDTO dto) {
|
|
|
Long childId = dto.getFamilyMemberId();
|
|
|
boolean success = userService.updateFamilyMember(userId, childId, dto);
|
|
|
return Result.success(success);
|
|
|
@@ -179,8 +155,7 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "获取家庭成员列表")
|
|
|
@PostMapping("/family-members")
|
|
|
- public Result<Map<String, Object>> getFamilyMembers(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Map<String, Object>> getFamilyMembers(@RequestAttribute("userId") Long userId) {
|
|
|
User user = userMapper.selectById(userId);
|
|
|
|
|
|
if (user == null) {
|
|
|
@@ -224,17 +199,15 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "获取对家庭成员可见的成员列表")
|
|
|
@PostMapping("/members/visible")
|
|
|
- public Result<List<FamilyMemberVO>> getVisibleMembers(javax.servlet.http.HttpServletRequest request) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<List<FamilyMemberVO>> getVisibleMembers(@RequestAttribute("userId") Long userId) {
|
|
|
List<FamilyMemberVO> members = userService.getVisibleMembers(userId);
|
|
|
return Result.success(members);
|
|
|
}
|
|
|
|
|
|
@Operation(summary = "更新成员可见性")
|
|
|
@PostMapping("/members/update-visibility")
|
|
|
- public Result<Boolean> updateVisibility(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, Object> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> updateVisibility(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, Object> body) {
|
|
|
Long memberId = Long.valueOf(body.get("memberId").toString());
|
|
|
String memberType = (String) body.get("memberType");
|
|
|
Integer showToFamily = Integer.valueOf(body.get("showToFamily").toString());
|
|
|
@@ -244,9 +217,8 @@ public class FamilyUserController {
|
|
|
|
|
|
@Operation(summary = "踢出家庭成员(仅管理员可操作)")
|
|
|
@PostMapping("/kick")
|
|
|
- public Result<Boolean> kickMember(javax.servlet.http.HttpServletRequest request,
|
|
|
- @RequestBody Map<String, Long> body) {
|
|
|
- Long userId = getUserId(request);
|
|
|
+ public Result<Boolean> kickMember(@RequestAttribute("userId") Long userId,
|
|
|
+ @RequestBody Map<String, Long> body) {
|
|
|
Long targetUserId = body.get("targetUserId");
|
|
|
if (targetUserId == null) {
|
|
|
return Result.error("缺少目标用户ID");
|