diff --git a/Zhibo/admin/src/api/userActivity.js b/Zhibo/admin/src/api/userActivity.js
new file mode 100644
index 00000000..c483bcff
--- /dev/null
+++ b/Zhibo/admin/src/api/userActivity.js
@@ -0,0 +1,65 @@
+/**
+ * 用户活动记录 API
+ * 包括观看历史、点赞记录、关注记录、收藏记录等
+ */
+import request from '@/utils/request';
+
+/**
+ * 获取用户关注记录
+ * @param {Object} params - { userId, page, limit }
+ */
+export function getFollowRecords(params) {
+ return request({
+ url: '/admin/user/follow/records',
+ method: 'get',
+ params
+ });
+}
+
+/**
+ * 获取用户点赞记录
+ * @param {Object} params - { userId, targetType, page, limit }
+ */
+export function getLikeRecords(params) {
+ return request({
+ url: '/admin/user/like/records',
+ method: 'get',
+ params
+ });
+}
+
+/**
+ * 获取用户查看历史
+ * @param {Object} params - { userId, targetType, page, limit }
+ */
+export function getViewHistory(params) {
+ return request({
+ url: '/admin/user/view/history',
+ method: 'get',
+ params
+ });
+}
+
+/**
+ * 获取用户收藏的作品
+ * @param {Object} params - { userId, page, limit }
+ */
+export function getCollectedWorks(params) {
+ return request({
+ url: '/admin/user/collect/works',
+ method: 'get',
+ params
+ });
+}
+
+/**
+ * 获取用户活动统计
+ * @param {Object} params - { userId }
+ */
+export function getUserActivityStats(params) {
+ return request({
+ url: '/admin/user/activity/stats',
+ method: 'get',
+ params
+ });
+}
diff --git a/Zhibo/admin/src/views/user/list/userDetails.vue b/Zhibo/admin/src/views/user/list/userDetails.vue
index 57ad253f..16bf198f 100644
--- a/Zhibo/admin/src/views/user/list/userDetails.vue
+++ b/Zhibo/admin/src/views/user/list/userDetails.vue
@@ -278,6 +278,17 @@
+
+
+
+
+
+
+
+
+
+
+
{
- this.tableData = res.data.list || [];
- this.paginationData.total = res.data.total || 0;
+ this.tableData = res.list || [];
+ this.paginationData.total = res.total || 0;
}).catch(() => {
this.tableData = [];
this.paginationData.total = 0;
@@ -421,17 +434,13 @@ export default {
},
// 获取点赞记录
getLikeRecords() {
- this.$http({
- url: '/admin/user/like/records',
- method: 'get',
- params: {
- userId: this.userNo,
- page: this.paginationData.page,
- limit: this.paginationData.limit,
- },
+ fetchLikeRecords({
+ userId: this.userNo,
+ page: this.paginationData.page,
+ limit: this.paginationData.limit,
}).then((res) => {
- this.tableData = res.data.list || [];
- this.paginationData.total = res.data.total || 0;
+ this.tableData = res.list || [];
+ this.paginationData.total = res.total || 0;
}).catch(() => {
this.tableData = [];
this.paginationData.total = 0;
@@ -439,17 +448,27 @@ export default {
},
// 获取查看历史
getViewHistory() {
- this.$http({
- url: '/admin/user/view/history',
- method: 'get',
- params: {
- userId: this.userNo,
- page: this.paginationData.page,
- limit: this.paginationData.limit,
- },
+ fetchViewHistory({
+ userId: this.userNo,
+ page: this.paginationData.page,
+ limit: this.paginationData.limit,
}).then((res) => {
- this.tableData = res.data.list || [];
- this.paginationData.total = res.data.total || 0;
+ this.tableData = res.list || [];
+ this.paginationData.total = res.total || 0;
+ }).catch(() => {
+ this.tableData = [];
+ this.paginationData.total = 0;
+ });
+ },
+ // 获取收藏记录
+ getCollectedWorks() {
+ fetchCollectedWorks({
+ userId: this.userNo,
+ page: this.paginationData.page,
+ limit: this.paginationData.limit,
+ }).then((res) => {
+ this.tableData = res.list || [];
+ this.paginationData.total = res.total || 0;
}).catch(() => {
this.tableData = [];
this.paginationData.total = 0;
diff --git a/Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/UserActivityController.java b/Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/UserActivityController.java
index 9f6d639a..57745fc0 100644
--- a/Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/UserActivityController.java
+++ b/Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/UserActivityController.java
@@ -2,8 +2,10 @@ package com.zbkj.admin.controller;
import com.zbkj.common.page.CommonPage;
import com.zbkj.common.result.CommonResult;
+import com.zbkj.service.service.UserActivityRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -15,7 +17,7 @@ import java.util.List;
import java.util.Map;
/**
- * 用户活动记录控制器
+ * 用户活动记录控制器(管理后台)
* 包括关注记录、点赞记录、查看历史等
*/
@Slf4j
@@ -28,6 +30,9 @@ public class UserActivityController {
@Autowired
private JdbcTemplate jdbcTemplate;
+ @Autowired
+ private UserActivityRecordService userActivityRecordService;
+
/**
* 获取用户的关注记录
*/
@@ -38,38 +43,7 @@ public class UserActivityController {
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer limit) {
try {
- // 计算偏移量
- int offset = (page - 1) * limit;
-
- // 查询总数
- String countSql = "SELECT COUNT(*) FROM eb_follow_record WHERE follower_id = ?";
- Integer total = jdbcTemplate.queryForObject(countSql, Integer.class, userId);
-
- // 查询列表
- String sql = "SELECT " +
- "fr.id, " +
- "fr.follower_id as followerId, " +
- "fr.follower_nickname as followerNickname, " +
- "fr.followed_id as followedId, " +
- "fr.followed_nickname as followedNickname, " +
- "fr.follow_status as followStatus, " +
- "fr.is_deleted as isDeleted, " +
- "fr.create_time as createTime " +
- "FROM eb_follow_record fr " +
- "WHERE fr.follower_id = ? " +
- "ORDER BY fr.create_time DESC " +
- "LIMIT ? OFFSET ?";
-
- List