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