|
@@ -1,7 +1,9 @@
|
|
|
package com.zhentao.controller;
|
|
package com.zhentao.controller;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.zhentao.common.Result;
|
|
import com.zhentao.common.Result;
|
|
|
import com.zhentao.entity.User;
|
|
import com.zhentao.entity.User;
|
|
|
|
|
+import com.zhentao.service.UserBrowseUserService;
|
|
|
import com.zhentao.service.UserService;
|
|
import com.zhentao.service.UserService;
|
|
|
import com.zhentao.vo.UserInfoVO;
|
|
import com.zhentao.vo.UserInfoVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -17,15 +19,21 @@ public class UserController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private UserService userService;
|
|
private UserService userService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private UserBrowseUserService userBrowseUserService;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 获取用户信息
|
|
* 获取用户信息
|
|
|
* @param userId 用户ID(必传)
|
|
* @param userId 用户ID(必传)
|
|
|
|
|
+ * @param currentUserId 当前登录用户ID(可选,用于添加浏览记录)
|
|
|
* @return 用户信息
|
|
* @return 用户信息
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/info")
|
|
@GetMapping("/info")
|
|
|
- public Result<UserInfoVO> getUserInfo(@RequestParam Long userId) {
|
|
|
|
|
|
|
+ public Result<UserInfoVO> getUserInfo(@RequestParam Long userId,
|
|
|
|
|
+ @RequestParam(required = false) Long currentUserId) {
|
|
|
System.out.println("=== UserController.getUserInfo 接收请求 ===");
|
|
System.out.println("=== UserController.getUserInfo 接收请求 ===");
|
|
|
System.out.println("接收到的用户ID: " + userId + " (类型: " + userId.getClass().getSimpleName() + ")");
|
|
System.out.println("接收到的用户ID: " + userId + " (类型: " + userId.getClass().getSimpleName() + ")");
|
|
|
|
|
+ System.out.println("当前登录用户ID: " + currentUserId);
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
// 验证用户ID
|
|
// 验证用户ID
|
|
@@ -39,6 +47,25 @@ public class UserController {
|
|
|
|
|
|
|
|
if (vo != null) {
|
|
if (vo != null) {
|
|
|
System.out.println("✅ 查询成功,用户: " + vo.getNickname() + " (ID: " + vo.getUserId() + ")");
|
|
System.out.println("✅ 查询成功,用户: " + vo.getNickname() + " (ID: " + vo.getUserId() + ")");
|
|
|
|
|
+
|
|
|
|
|
+ // 如果当前有登录用户,且不是查看自己的信息,则添加浏览记录
|
|
|
|
|
+ if (currentUserId != null && currentUserId > 0 && !currentUserId.equals(userId)) {
|
|
|
|
|
+ System.out.println("📝 添加浏览记录: " + currentUserId + " -> " + userId);
|
|
|
|
|
+
|
|
|
|
|
+ // 异步添加浏览记录,不影响主流程
|
|
|
|
|
+ new Thread(() -> {
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 转换为Integer类型
|
|
|
|
|
+ Integer visitorId = currentUserId.intValue();
|
|
|
|
|
+ Integer visitedUserId = userId.intValue();
|
|
|
|
|
+ userBrowseUserService.addBrowseHistory(visitorId, visitedUserId);
|
|
|
|
|
+ System.out.println("✅ 浏览记录添加成功: " + visitorId + " -> " + visitedUserId);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ System.err.println("❌ 浏览记录添加失败: " + e.getMessage());
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }).start();
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
System.out.println("❌ 查询结果为null");
|
|
System.out.println("❌ 查询结果为null");
|
|
|
}
|
|
}
|
|
@@ -55,6 +82,102 @@ public class UserController {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取用户的浏览记录列表
|
|
|
|
|
+ * @param userId 用户ID(必传)
|
|
|
|
|
+ * @param pageNum 页码(可选,默认1)
|
|
|
|
|
+ * @param pageSize 每页条数(可选,默认20)
|
|
|
|
|
+ * @return 浏览记录分页列表
|
|
|
|
|
+ */
|
|
|
|
|
+ @GetMapping("/browse-history")
|
|
|
|
|
+ public Result<Page<UserInfoVO>> getBrowseHistory(@RequestParam Long userId,
|
|
|
|
|
+ @RequestParam(required = false, defaultValue = "1") Integer pageNum,
|
|
|
|
|
+ @RequestParam(required = false, defaultValue = "20") Integer pageSize) {
|
|
|
|
|
+ System.out.println("=== UserController.getBrowseHistory 接收请求 ===");
|
|
|
|
|
+ System.out.println("用户ID: " + userId + ", 页码: " + pageNum + ", 每页条数: " + pageSize);
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 验证用户ID
|
|
|
|
|
+ if (userId == null || userId <= 0) {
|
|
|
|
|
+ System.out.println("❌ 用户ID无效: " + userId);
|
|
|
|
|
+ return Result.error("用户ID无效");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 转换为Integer类型
|
|
|
|
|
+ Integer visitorId = userId.intValue();
|
|
|
|
|
+ Page<UserInfoVO> page = userBrowseUserService.getBrowseHistory(visitorId, pageNum, pageSize);
|
|
|
|
|
+ System.out.println("✅ 浏览记录查询成功,共" + page.getTotal() + "条记录");
|
|
|
|
|
+
|
|
|
|
|
+ return Result.success(page);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ System.err.println("❌ 浏览记录查询失败: " + e.getMessage());
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ return Result.error("获取浏览记录失败: " + e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 清空用户的所有浏览记录
|
|
|
|
|
+ * @param userId 用户ID(必传)
|
|
|
|
|
+ * @return 操作结果
|
|
|
|
|
+ */
|
|
|
|
|
+ @DeleteMapping("/browse-history")
|
|
|
|
|
+ public Result<String> clearBrowseHistory(@RequestParam Long userId) {
|
|
|
|
|
+ System.out.println("=== UserController.clearBrowseHistory 接收请求 ===");
|
|
|
|
|
+ System.out.println("用户ID: " + userId);
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 验证用户ID
|
|
|
|
|
+ if (userId == null || userId <= 0) {
|
|
|
|
|
+ System.out.println("❌ 用户ID无效: " + userId);
|
|
|
|
|
+ return Result.error("用户ID无效");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 转换为Integer类型
|
|
|
|
|
+ Integer visitorId = userId.intValue();
|
|
|
|
|
+ userBrowseUserService.clearBrowseHistory(visitorId);
|
|
|
|
|
+ System.out.println("✅ 浏览记录清空成功");
|
|
|
|
|
+
|
|
|
|
|
+ return Result.success("浏览记录清空成功");
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ System.err.println("❌ 浏览记录清空失败: " + e.getMessage());
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ return Result.error("清空浏览记录失败: " + e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 删除用户对某个特定用户的浏览记录
|
|
|
|
|
+ * @param userId 用户ID(必传)
|
|
|
|
|
+ * @param visitedUserId 被浏览者ID(必传)
|
|
|
|
|
+ * @return 操作结果
|
|
|
|
|
+ */
|
|
|
|
|
+ @DeleteMapping("/browse-history/one")
|
|
|
|
|
+ public Result<String> deleteBrowseHistory(@RequestParam Long userId, @RequestParam Long visitedUserId) {
|
|
|
|
|
+ System.out.println("=== UserController.deleteBrowseHistory 接收请求 ===");
|
|
|
|
|
+ System.out.println("用户ID: " + userId + ", 被浏览者ID: " + visitedUserId);
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 验证用户ID
|
|
|
|
|
+ if (userId == null || userId <= 0 || visitedUserId == null || visitedUserId <= 0) {
|
|
|
|
|
+ System.out.println("❌ 用户ID或被浏览者ID无效");
|
|
|
|
|
+ return Result.error("用户ID或被浏览者ID无效");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 转换为Integer类型
|
|
|
|
|
+ Integer visitorId = userId.intValue();
|
|
|
|
|
+ Integer lookUserId = visitedUserId.intValue();
|
|
|
|
|
+ userBrowseUserService.deleteBrowseHistory(visitorId, lookUserId);
|
|
|
|
|
+ System.out.println("✅ 浏览记录删除成功");
|
|
|
|
|
+
|
|
|
|
|
+ return Result.success("浏览记录删除成功");
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ System.err.println("❌ 浏览记录删除失败: " + e.getMessage());
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ return Result.error("删除浏览记录失败: " + e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询用户是否为红娘
|
|
* 查询用户是否为红娘
|
|
|
* @param userId 用户ID
|
|
* @param userId 用户ID
|