From 92c566bf57d1e6e15e8940b1bb9825843d1d1376 Mon Sep 17 00:00:00 2001
From: cb <275647614@qq.com>
Date: Fri, 14 Nov 2025 17:57:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=82=B9=E5=87=BB=E6=AC=A1?=
=?UTF-8?q?=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/ClewMaterialController.java | 13 +++++++
.../templates/system/material/material.html | 4 +++
.../com/ruoyi/system/domain/ClewMaterial.java | 4 +++
.../system/mapper/ClewMaterialMapper.java | 8 +++++
.../system/service/IClewMaterialService.java | 8 +++++
.../service/impl/ClewMaterialServiceImpl.java | 35 +++++++++++++++++++
.../mapper/system/ClewMaterialMapper.xml | 7 +++-
7 files changed, 78 insertions(+), 1 deletion(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewMaterialController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewMaterialController.java
index 8c1f5307..3ac96909 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewMaterialController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewMaterialController.java
@@ -132,4 +132,17 @@ public class ClewMaterialController extends BaseController
{
return toAjax(clewMaterialService.deleteClewMaterialByIds(ids));
}
+
+ /**
+ * 素材点击统计(APP端调用,无需权限校验)
+ */
+ @PostMapping("/app/click/{id}")
+ @ResponseBody
+ public AjaxResult incrementClickCount(@PathVariable("id") Long id)
+ {
+ System.out.println("点击统计接口被调用,素材ID: " + id);
+ int result = clewMaterialService.incrementClickCount(id);
+ System.out.println("点击统计结果: " + result);
+ return toAjax(result);
+ }
}
diff --git a/ruoyi-admin/src/main/resources/templates/system/material/material.html b/ruoyi-admin/src/main/resources/templates/system/material/material.html
index 7586483c..ae65d53b 100644
--- a/ruoyi-admin/src/main/resources/templates/system/material/material.html
+++ b/ruoyi-admin/src/main/resources/templates/system/material/material.html
@@ -100,6 +100,10 @@
field: 'applyNum',
title: '报名人数'
},
+ {
+ field: 'clickCount',
+ title: '点击次数'
+ },
{
field: 'clewContent',
title: '线索提交内容'
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ClewMaterial.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ClewMaterial.java
index dc720427..1eead9ff 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ClewMaterial.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ClewMaterial.java
@@ -47,4 +47,8 @@ public class ClewMaterial extends BaseEntity
private Long sourceApp;
+ /** 点击次数 */
+ @Excel(name = "点击次数")
+ private Long clickCount;
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMaterialMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMaterialMapper.java
index 9bb3d213..331d22e4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMaterialMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMaterialMapper.java
@@ -58,4 +58,12 @@ public interface ClewMaterialMapper
* @return 结果
*/
public int deleteClewMaterialByIds(String[] ids);
+
+ /**
+ * 增加素材点击次数
+ *
+ * @param id 素材主键
+ * @return 结果
+ */
+ public int incrementClickCount(Long id);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewMaterialService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewMaterialService.java
index 62b18f97..ff0d566f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewMaterialService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewMaterialService.java
@@ -58,4 +58,12 @@ public interface IClewMaterialService
* @return 结果
*/
public int deleteClewMaterialById(Long id);
+
+ /**
+ * 增加素材点击次数
+ *
+ * @param id 素材主键
+ * @return 结果
+ */
+ public int incrementClickCount(Long id);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewMaterialServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewMaterialServiceImpl.java
index 62120821..03ee5c22 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewMaterialServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewMaterialServiceImpl.java
@@ -94,4 +94,39 @@ public class ClewMaterialServiceImpl implements IClewMaterialService
{
return clewMaterialMapper.deleteClewMaterialById(id);
}
+
+ /**
+ * 增加素材点击次数
+ *
+ * @param id 素材主键
+ * @return 结果
+ */
+ @Override
+ public int incrementClickCount(Long id)
+ {
+ System.out.println("服务层 - 增加素材点击次数,ID: " + id);
+ try {
+ // 先检查素材是否存在
+ ClewMaterial material = clewMaterialMapper.selectClewMaterialById(id);
+ if (material == null) {
+ System.out.println("服务层 - 素材不存在,ID: " + id);
+ return 0;
+ }
+
+ int result = clewMaterialMapper.incrementClickCount(id);
+ System.out.println("服务层 - 更新结果: " + result);
+
+ // 更新后查询确认
+ if (result > 0) {
+ ClewMaterial updatedMaterial = clewMaterialMapper.selectClewMaterialById(id);
+ System.out.println("服务层 - 更新后点击次数: " + (updatedMaterial != null ? updatedMaterial.getClickCount() : "null"));
+ }
+
+ return result;
+ } catch (Exception e) {
+ System.out.println("服务层 - 更新点击次数异常: " + e.getMessage());
+ e.printStackTrace();
+ return 0;
+ }
+ }
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/ClewMaterialMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ClewMaterialMapper.xml
index a36806a8..a45cfdfc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/ClewMaterialMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/ClewMaterialMapper.xml
@@ -14,6 +14,7 @@
+
@@ -21,7 +22,7 @@
- select id, title, img_url, video_img, labels, detail, apply_num, clew_content, source_app, create_by, create_time, update_by, update_time from clew_material
+ select id, title, img_url, video_img, labels, detail, apply_num, clew_content, source_app, click_count, create_by, create_time, update_by, update_time from clew_material