调试交互
Change-Id: Ib9d7b8432cb622c7e28c842ab4dc4e156fcd6414
diff --git a/src/main/java/com/example/myproject/controller/UserController.java b/src/main/java/com/example/myproject/controller/UserController.java
index 6b3d793..41a3350 100644
--- a/src/main/java/com/example/myproject/controller/UserController.java
+++ b/src/main/java/com/example/myproject/controller/UserController.java
@@ -1,21 +1,180 @@
+// package com.example.myproject.controller;
+
+// import com.example.myproject.entity.Users;
+// import com.example.myproject.repository.UserRepository;
+// import com.example.myproject.service.DynamicService;
+// import com.example.myproject.service.TaskService;
+// import com.example.myproject.service.UserService;
+// import org.springframework.beans.factory.annotation.Autowired;
+// import org.springframework.http.ResponseEntity;
+// import org.springframework.web.bind.annotation.*;
+// import org.springframework.web.multipart.MultipartFile;
+
+// import javax.servlet.http.HttpServletRequest;
+// import java.util.Map;
+// import java.util.Optional;
+
+// import java.util.List;
+// import java.util.ArrayList;
+
+
+// @RestController
+// @RequestMapping("/echo/user")
+// public class UserController {
+
+// @Autowired
+// private UserService userService;
+
+// @Autowired
+// private UserRepository userRepository;
+
+// @Autowired
+// private DynamicService dynamicService;
+
+// // 接口:生成邀请码
+// @PostMapping("/getInviteCode")
+// public Map<String, Object> generateInviteCode(@RequestBody Map<String, Object> request) {
+// Long userId = Long.parseLong(request.get("user_id").toString());
+// return userService.generateInviteCode(userId);
+// }
+
+// //注册
+// @PostMapping("/register")
+// public Map<String, Object> register(@RequestBody Map<String, Object> request) {
+// String username = (String) request.get("username");
+// String email = (String) request.get("email");
+// String password = (String) request.get("password");
+// String role = (String) request.get("role");
+// String inviteCode = (String) request.get("inviteCode");
+
+// // 调用服务层的注册方法
+// String resultMessage = userService.registerUser(username, email, password, role, inviteCode);
+
+// // 返回注册结果
+// return Map.of("msg", resultMessage);
+// }
+
+// //登录
+// @PostMapping("/login")
+// public Map<String, Object> login(@RequestBody Map<String, Object> request) {
+// String username = (String) request.get("username");
+// String password = (String) request.get("password");
+
+// // 调用服务层的登录方法
+// String resultMessage = userService.loginUser(username, password);
+
+// // 根据登录结果返回不同的响应
+// if (resultMessage.equals("登录成功")) {
+// // 查询用户信息
+// Optional<Users> user = userRepository.findByUsername(username);
+// if (user.isPresent()) {
+// // 将用户的所有信息作为返回值
+// return Map.of("msg", resultMessage, "user", user.get());
+// } else {
+// return Map.of("msg", "用户信息查询失败");
+// }
+// } else {
+// return Map.of("msg", resultMessage);
+// }
+// }
+
+// //修改密码
+// @PostMapping("/password")
+// public Map<String, Object> changePassword(@RequestBody Map<String, Object> request) {
+// Long userId = Long.parseLong(request.get("user_id").toString());
+// String oldPassword = (String) request.get("old_password");
+// String newPassword = (String) request.get("new_password");
+// String confirmPassword = (String) request.get("confirm_password");
+
+// // 调用服务层的修改密码方法
+// String resultMessage = userService.changePassword(userId, oldPassword, newPassword, confirmPassword);
+
+// // 返回修改结果
+// return Map.of("message", resultMessage, "status", resultMessage.equals("密码修改成功") ? "success" : "error");
+// }
+
+// // 获取用户个人资料
+// @GetMapping("/{userId}/getProfile")
+// public Map<String, Object> getProfile(@PathVariable("userId") Long userId) {
+// return userService.getProfile(userId);
+// }
+
+// // 修改用户个人资料
+// @PutMapping("/{userId}/editProfile")
+// public Map<String, String> editProfile(
+// @PathVariable("userId") Long userId,
+// @RequestBody Map<String, Object> profileData) {
+
+// // 获取请求体中的修改数据
+// String nickname = (String) profileData.get("nickname");
+// String gender = (String) profileData.get("gender");
+// String description = (String) profileData.get("description");
+// String hobbies = (String) profileData.get("hobbies");
+
+// // 调用服务层方法进行修改
+// boolean updated = userService.editProfile(userId, nickname, gender, description, hobbies);
+
+// // 返回操作结果消息
+// if (updated) {
+// return Map.of("message", "用户资料更新成功");
+// } else {
+// return Map.of("message", "用户不存在");
+// }
+// }
+
+// // 计算分享率
+// @GetMapping("/{user_id}/calculate-share-rate")
+// public Map<String, Object> calculateShareRate(@PathVariable("user_id") Long userId) {
+// return userService.calculateShareRate(userId);
+// }
+
+// // 获取用户所有好友的基本信息
+// @GetMapping("/{userId}/friends")
+// public List<Map<String, Object>> getUserFriends(@PathVariable("userId") Long userId) {
+// List<Long> friendIds = dynamicService.getAllFriendIds(userId); // 注意这里用的是实例对象
+// List<Map<String, Object>> friends = new ArrayList<>();
+
+// for (Long friendId : friendIds) {
+// Optional<Users> userOpt = userRepository.findById(friendId);
+// if (userOpt.isPresent()) {
+// Users user = userOpt.get();
+// Map<String, Object> friendInfo = Map.of(
+// "id", user.getUserId(),
+// "avatar", user.getAvatarUrl() != null ? user.getAvatarUrl() : "https://example.com/default-avatar.jpg",
+// "nickname", user.getUsername() != null ? user.getUsername() : "未知用户",
+// "email", user.getEmail() != null ? user.getEmail() : "未填写"
+// );
+// friends.add(friendInfo);
+// }
+// }
+
+// return friends;
+// }
+
+// @PostMapping("/{userId}/uploadAvatar")
+// public Map<String, Object> uploadAvatar(
+// @PathVariable Long userId,
+// @RequestParam("file") MultipartFile file) {
+// return userService.uploadUserAvatar(userId, file);
+// }
+
+
+
+// }
+
package com.example.myproject.controller;
+import com.example.myproject.entity.FriendRelation;
import com.example.myproject.entity.Users;
+import com.example.myproject.repository.FriendRelationRepository;
import com.example.myproject.repository.UserRepository;
import com.example.myproject.service.DynamicService;
-import com.example.myproject.service.TaskService;
import com.example.myproject.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletRequest;
-import java.util.Map;
-import java.util.Optional;
-
-import java.util.List;
-import java.util.ArrayList;
+import java.util.*;
@RestController
@@ -31,6 +190,41 @@
@Autowired
private DynamicService dynamicService;
+ @Autowired
+ private FriendRelationRepository friendRelationRepository;
+
+
+ @PostMapping ("/addFriend")
+ public Map<String, Object> addFriend(@RequestBody Map<String, Object> request) {
+ //邮箱查用户
+ Optional<Users> userOptional = userRepository.findByEmail(request.get("email").toString());
+ // 如果用户不存在,返回null或者可以抛出异常
+ if (userOptional.isEmpty()) {
+ return Map.of("msg", "没有找到该用户"); // 可以返回 null 或者根据需要返回错误信息
+ }
+ Long userId = Long.parseLong(request.get("userid").toString()); //id查用户
+ Map<String, Object> users = userService.getProfile(userId);
+ // 如果用户不存在,返回null或者可以抛出异常
+ if (users.isEmpty()) {
+ return Map.of("msg", "当前登录账号异常"); // 可以返回 null 或者根据需要返回错误信息
+ }
+
+ FriendRelation newFriendRelation = new FriendRelation();
+ newFriendRelation.setUserId(userId);
+ newFriendRelation.setCreateTime(new Date());
+ newFriendRelation.setFriendId(userOptional.get().getUserId());
+
+ FriendRelation newFriendRelations = new FriendRelation();
+ newFriendRelations.setCreateTime(new Date());
+ newFriendRelations.setUserId(userOptional.get().getUserId());
+ newFriendRelations.setFriendId(userId);
+
+ friendRelationRepository.save(newFriendRelation);
+ friendRelationRepository.save(newFriendRelations);
+
+ return Map.of("msg", "添加成功");
+ }
+
// 接口:生成邀请码
@PostMapping("/getInviteCode")
public Map<String, Object> generateInviteCode(@RequestBody Map<String, Object> request) {
@@ -163,3 +357,7 @@
}
+
+
+
+