Pārlūkot izejas kodu

用户每日活跃记录

zoujiajian 2 gadi atpakaļ
vecāks
revīzija
dce7ce307c

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/UserLoginRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.UserLoginRecord;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserLoginRecordMapper
+ * 创建者: JavaZou
+ * 创建时间:2023/12/13 18:01
+ */
+public interface UserLoginRecordMapper extends BaseMapper<UserLoginRecord> {
+}

+ 16 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserLoginRecord.java

@@ -0,0 +1,16 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserLoginRecord
+ * 创建者: JavaZou
+ * 创建时间:2023/12/13 18:01
+ */
+@Getter
+@Setter
+public class UserLoginRecord extends BaseEntity{
+	private Long userId;
+}

+ 4 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -28,6 +28,7 @@ import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.relation.GroupRelationFrontService;
 import com.cyksj.service.shop.YhShopFrontService;
 import com.cyksj.service.user.UserBindRelationService;
+import com.cyksj.service.user.UserLoginRecordService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.param.Operator;
 import com.ejlchina.searcher.util.MapBuilder;
@@ -93,6 +94,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
 
+	private final UserLoginRecordService userLoginRecordService;
+
 	private final static String VERIFY_CODE_SECRET = "q1w2e3";
 
 	@Override
@@ -213,6 +216,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				ticket.setCodeNum(codeNum);
 			}
 		});
+		userLoginRecordService.saveUserLoginDayRecord(userId);
 		return list;
 	}
 

+ 12 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserLoginRecordService.java

@@ -0,0 +1,12 @@
+package com.cyksj.service.user;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserLoginRecordService
+ * 创建者: JavaZou
+ * 创建时间:2023/12/13 18:15
+ */
+public interface UserLoginRecordService {
+
+	void saveUserLoginDayRecord(Long userId);
+}

+ 38 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserLoginRecordServiceImpl.java

@@ -0,0 +1,38 @@
+package com.cyksj.service.user.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.mapper.UserLoginRecordMapper;
+import com.cyksj.model.entity.UserLoginRecord;
+import com.cyksj.service.user.UserLoginRecordService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserLoginRecordServiceImpl
+ * 创建者: JavaZou
+ * 创建时间:2023/12/13 18:15
+ */
+@Service
+@RequiredArgsConstructor
+public class UserLoginRecordServiceImpl implements UserLoginRecordService {
+	private final UserLoginRecordMapper userLoginRecordMapper;
+
+	/**
+	 * 用户每日活跃记录
+	 */
+	public void saveUserLoginDayRecord(Long userId) {
+		//今日是否记录活跃登录
+		Integer count = userLoginRecordMapper.selectCount(Wrappers.lambdaQuery(UserLoginRecord.class)
+				.eq(UserLoginRecord::getUserId, userId)
+				.ge(UserLoginRecord::getCreatedTime, DateUtil.beginOfDay(DateTime.now())));
+
+		if (count == 0) {
+			UserLoginRecord userLoginRecord = new UserLoginRecord();
+			userLoginRecord.setUserId(userId);
+			userLoginRecordMapper.insert(userLoginRecord);
+		}
+	}
+}

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -38,6 +38,7 @@ import com.cyksj.service.market.task.BindTaskService;
 import com.cyksj.service.shop.YhShopDistributeService;
 import com.cyksj.service.sys.SysConfigService;
 import com.cyksj.service.user.UserBindRelationService;
+import com.cyksj.service.user.UserLoginRecordService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.service.wechat.WeChatService;
 import com.ejlchina.searcher.BeanSearcher;
@@ -111,6 +112,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
 	private final CorpWelcomeTemplateMapper corpWelcomeTemplateMapper;
 
+	private final UserLoginRecordService userLoginRecordService;
 	private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
 
 	@Override
@@ -207,6 +209,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		if (sharedId != null && dsType != null && dsType == 2) {
 			equipDistributeService.saveDistributionInvitation(sharedId, isNewUser, user.getId());
 		}
+		//每日活跃记录
+		userLoginRecordService.saveUserLoginDayRecord(user.getId());
 		return user;
 	}
 
@@ -515,6 +519,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		if (sharedId != null && dsType != null && dsType == 2) {
 			equipDistributeService.saveDistributionInvitation(sharedId, isNewUser, user.getId());
 		}
+		//每日活跃记录
+		userLoginRecordService.saveUserLoginDayRecord(user.getId());
 		return user;
 	}