Kaynağa Gözat

fix 车票过期弹窗用户记录

zoujiajian 2 yıl önce
ebeveyn
işleme
9245f7d1f4

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GroupsRelationExpiryNotifyRecordMapper.java

@@ -0,0 +1,18 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GroupsRelationExpiryNotifyRecord;
+import com.cyksj.model.views.RenewalView;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GroupsRelationExpiryNotifyRecordMapper
+ * 创建者: JavaZou
+ * 创建时间:2024/5/24 14:56
+ */
+public interface GroupsRelationExpiryNotifyRecordMapper extends BaseMapper<GroupsRelationExpiryNotifyRecord> {
+	void batchInsert(@Param("userId") Long userId, @Param("list") List<RenewalView> expiryTickets);
+}

+ 24 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GroupsRelationExpiryNotifyRecord.java

@@ -0,0 +1,24 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: GroupsRelationExpiryNotifyRecord
+ * 创建者: JavaZou
+ * 创建时间:2024/5/24 14:55
+ */
+@Getter
+@Setter
+public class GroupsRelationExpiryNotifyRecord extends BaseEntity{
+	private Long userId;
+
+	private Long relationId;
+
+	private Long skuId;
+
+	private Date expiryTime;
+}

+ 14 - 0
netflix-dao/src/main/resources/mapper/GroupsRelationExpiryNotifyRecordMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.cyksj.mapper.GroupsRelationExpiryNotifyRecordMapper">
+
+
+    <insert id="batchInsert">
+        insert into
+        groups_relation_expiry_notify_record(`user_id`,`relation_id`,`sku_id`,`expiry_time`,`created_time`,`update_time`)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{userId},#{item.relationId},#{item.skuId},#{item.expiryTimeStr},now(),now())
+        </foreach>
+    </insert>
+</mapper>

+ 6 - 3
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -1,5 +1,6 @@
 package com.cyksj.service.relation.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.BetweenFormater;
 import cn.hutool.core.date.DateTime;
@@ -30,7 +31,6 @@ import com.cyksj.service.mail.CuiQiuMailService;
 import com.cyksj.service.mail.MailService;
 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;
@@ -83,7 +83,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final OrderDonMapper orderDonMapper;
 
-	private final YhShopFrontService yhShopFrontService;
+	private final GroupsRelationExpiryNotifyRecordMapper groupsRelationExpiryNotifyRecordMapper;
 
 	private final HttpServletRequest request;
 
@@ -653,7 +653,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		List<RenewalView> list = beanSearcher.searchAll(RenewalView.class, builder
 				.field(RenewalView::getUserId, 0).op(Operator.GreaterThan)
 				.field(RenewalView::getUserId, userIds).op(Operator.InList)
-				.field("condition", String.format("(gr.expiry_time is null or gr.expiry_time > '%s')", now))
+				.field(RenewalView::getExpiryTime, now).op(Operator.GreaterThan)
 				.field(RenewalView::getStatus, List.of("validity", "overdue", "outside")).op(Operator.InList)
 				.orderBy(RenewalView::getExpiryTime).asc()
 				.onlySelect(RenewalView::getMonths, RenewalView::getExpiryTime, RenewalView::getRelationId, RenewalView::getAccount, RenewalView::getGoodsId, RenewalView::getTitle, RenewalView::getLogo, RenewalView::getImg, RenewalView::getGroupId, RenewalView::getSkuId, RenewalView::getSpecVal, RenewalView::getGoodsStatus, RenewalView::getSkuStatus)
@@ -685,6 +685,9 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			return false;
 		}).collect(Collectors.toList());
 		redisService.setNx(RedisService.key.TICKET_EXPIRY_NOTIFY_DAY.getNameFormat(thisDate, userId), userId, RedisService.key.TICKET_EXPIRY_NOTIFY_DAY.getTimeout());
+		if (CollUtil.isNotEmpty(expiryTickets)) {
+			groupsRelationExpiryNotifyRecordMapper.batchInsert(userId, expiryTickets);
+		}
 		return expiryTickets;
 	}