From ee04c6d8e2fe059962c13d8971050f1c9c559377 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Fri, 24 Jul 2026 18:46:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=8E=E7=AB=AF=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E6=B5=8F=E8=A7=88=E6=B1=82=E8=81=8C=E8=80=85=E7=AE=80?= =?UTF-8?q?=E5=8E=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CmsHrUserBehaviorRecordController.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsHrUserBehaviorRecordController.java diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsHrUserBehaviorRecordController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsHrUserBehaviorRecordController.java new file mode 100644 index 0000000..097ce26 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsHrUserBehaviorRecordController.java @@ -0,0 +1,74 @@ +package com.ruoyi.cms.controller.cms; + +import com.ruoyi.cms.domain.msg.HrUserBehaviorRecord; +import com.ruoyi.cms.service.msg.HrUserBehaviorRecordService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SiteSecurityUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/cms/behavior") +@Api(tags = "后台:行为记录") +public class CmsHrUserBehaviorRecordController extends BaseController { + + @Autowired + private HrUserBehaviorRecordService hrUserBehaviorRecordService; + + /** + * 查询行为记录列表 + */ + @GetMapping("/list") + @PreAuthorize("@ss.hasPermi('cms:behavior:list')") + @ApiOperation("查询行为记录列表") + public TableDataInfo list(HrUserBehaviorRecord hrUserBehaviorRecord) { + if (!SiteSecurityUtils.isLogin()) { + throw new ServiceException("用户未登录"); + } + Long userId = SiteSecurityUtils.getUserId(); + boolean admin = SiteSecurityUtils.isAdmin(userId); + if (!admin) { + hrUserBehaviorRecord.setActorId(userId); + } else { + hrUserBehaviorRecord.setActorId(null); + } + startPage(); + List list = hrUserBehaviorRecordService.selectBehaviorRecordList(hrUserBehaviorRecord); + return getDataTable(list); + } + + /** + * 上报浏览行为/投递行为 + */ + @ApiOperation("上报浏览行为/投递行为") + @PreAuthorize("@ss.hasPermi('cms:behavior:report')") + @Log(title = "用户培训经历", businessType = BusinessType.INSERT) + @PostMapping("/report") + public AjaxResult reportBehavior(@RequestBody HrUserBehaviorRecord record) { + HrUserBehaviorRecord exist = hrUserBehaviorRecordService.getExistViewRecord( + record.getActorType(), + record.getActorId(), + record.getTargetType(), + record.getTargetId() + ); + if (exist == null) { + record.setViewNum(1); + hrUserBehaviorRecordService.save(record); + } else { + exist.setViewNum(exist.getViewNum() + 1); + exist.setViewDuration(exist.getViewDuration() + record.getViewDuration()); + hrUserBehaviorRecordService.updateById(exist); + } + return success(); + } +} \ No newline at end of file