From a9d20ab16034a23dbdb6f182429f13d7d92cdac8 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 19 九月 2025 18:02:59 +0800
Subject: [PATCH] 用户行为分析

---
 framework/src/main/java/cn/lili/modules/lmk/domain/form/ActionRecordForm.java         |   25 ++++++++++++++++++-------
 framework/src/main/java/cn/lili/modules/lmk/service/ActionRecordService.java          |    2 ++
 buyer-api/src/main/java/cn/lili/controller/lmk/ActionRecordBuyerController.java       |    5 +++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ActionRecordServiceImpl.java |   17 +++++++++++++++--
 4 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/ActionRecordBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/ActionRecordBuyerController.java
index 377ad4f..940b731 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/ActionRecordBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/ActionRecordBuyerController.java
@@ -37,6 +37,11 @@
     public Result add(@RequestBody @Validated(Add.class) ActionRecordForm form) {
         return actionRecordService.add(form);
     }
+    @GetMapping("/sessionId")
+    @ApiOperation(value = "鑾峰彇浼氳瘽id", notes = "鑾峰彇浼氳瘽id")
+    public Result grantSessionId() {
+        return actionRecordService.grantSessionId();
+    }
 
 
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActionRecordForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActionRecordForm.java
index 0206733..343feb8 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActionRecordForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActionRecordForm.java
@@ -4,6 +4,7 @@
 import cn.lili.group.Add;
 import cn.lili.base.AbsForm;
 import cn.lili.modules.lmk.domain.entity.ActionRecord;
+import cn.lili.modules.lmk.enums.general.*;
 import org.springframework.beans.BeanUtils;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -23,14 +24,16 @@
 @ApiModel(value = "ActionRecord琛ㄥ崟", description = "鐢ㄦ埛琛屼负璁板綍琛ㄥ崟")
 public class ActionRecordForm extends AbsForm {
 
-    @NotNull(message = "鐢ㄦ埛id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+    @NotNull(message = "鐢ㄦ埛id涓嶈兘涓虹┖", groups = {Update.class})
     @ApiModelProperty("鐢ㄦ埛id")
     private Long userId;
 
     @NotBlank(message = "椤甸潰浼氳瘽id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤甸潰浼氳瘽id")
     private String sessionId;
-
+    /**
+     * @see UserActionTypeEnum
+     */
     @NotBlank(message = "琛屼负绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("琛屼负绫诲瀷")
     private String actionType;
@@ -38,7 +41,9 @@
     @NotNull(message = "瑙﹀彂鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("瑙﹀彂鏃堕棿")
     private Date startTime;
-
+    /**
+     * @see UserActionJoinPageTypeEnum
+     */
     @NotBlank(message = "杩涘叆椤甸潰鏂瑰紡涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("杩涘叆椤甸潰鏂瑰紡")
     private String joinType;
@@ -47,10 +52,12 @@
     @ApiModelProperty("涓婁竴涓〉闈㈢殑浼氳瘽id")
     private String previousSessionId;
 
-    @NotNull(message = "鍒嗕韩id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+    @NotNull(message = "鍒嗕韩id涓嶈兘涓虹┖", groups = { Update.class})
     @ApiModelProperty("鍒嗕韩id")
     private Long shareId;
-
+    /**
+     * @see UserActionPageEnums
+     */
     @NotBlank(message = "椤甸潰缂栫爜涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤甸潰缂栫爜")
     private String pageCode;
@@ -58,11 +65,15 @@
     @NotBlank(message = "椤甸潰璇︽儏鍙傛暟(json鏍煎紡)涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤甸潰璇︽儏鍙傛暟(json鏍煎紡)")
     private String pageParams;
-
+    /**
+     * @see UserActionPageTypeEnum
+     */
     @NotBlank(message = "椤甸潰绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("椤甸潰绫诲瀷")
     private String pageType;
-
+    /**
+     * @see UserActionInPageStatusEnum
+     */
     @NotBlank(message = "鐢ㄦ埛鍦ㄩ〉闈㈢姸鎬佷笉鑳戒负绌�", groups = {Add.class, Update.class})
     @ApiModelProperty("鐢ㄦ埛鍦ㄩ〉闈㈢姸鎬�")
     private String pageStatus;
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/ActionRecordService.java b/framework/src/main/java/cn/lili/modules/lmk/service/ActionRecordService.java
index 3eabb20..671ffb5 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/ActionRecordService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/ActionRecordService.java
@@ -62,4 +62,6 @@
      * @return
      */
     Result all();
+
+    Result grantSessionId();
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActionRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActionRecordServiceImpl.java
index 63d2836..73c3139 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActionRecordServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActionRecordServiceImpl.java
@@ -1,16 +1,20 @@
 package cn.lili.modules.lmk.service.impl;
 
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import cn.lili.modules.lmk.domain.entity.ActionRecord;
 import cn.lili.modules.lmk.mapper.ActionRecordMapper;
 import cn.lili.modules.lmk.service.ActionRecordService;
 import cn.lili.base.Result;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.lili.modules.lmk.domain.form.ActionRecordForm;
 import cn.lili.modules.lmk.domain.vo.ActionRecordVO;
 import cn.lili.modules.lmk.domain.query.ActionRecordQuery;
-import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
 import cn.lili.utils.PageUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.util.Assert;
@@ -116,4 +120,13 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
-}
+
+    @Override
+    public Result grantSessionId() {
+        AuthUser currentUser = UserContext.getCurrentUser();
+        if (currentUser == null) {
+            return Result.ok();
+        }
+        return Result.ok().data(IdWorker.getIdStr());
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0