Procházet zdrojové kódy

fix 用户车票过期记录清除信息

zoujiajian před 3 roky
rodič
revize
c522f21439

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

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.UserTicketClearedRecord;
+
+/*
+ *项目名: netflix
+ *文件名: UserTicketClearedRecordMapper
+ *创建者: JavaZou
+ *创建时间:2023/2/2 16:51
+ */
+public interface UserTicketClearedRecordMapper extends BaseMapper<UserTicketClearedRecord> {
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserTicketClearedRecord.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: netflix
+ *文件名: UserTicketClearedRecord
+ *创建者: JavaZou
+ *创建时间:2023/2/2 16:50
+ */
+@Getter
+@Setter
+public class UserTicketClearedRecord extends BaseEntity{
+	private Long userId;
+
+	private Long goodsId;
+
+	private Long skuId;
+
+	private Long relationId;
+}

+ 20 - 0
netflix-service/src/main/java/com/cyksj/task/Scheduler.java

@@ -13,6 +13,7 @@ import com.cyksj.mapper.manage.distribute.DistributeWaitingSendPointsMapper;
 import com.cyksj.model.dto.WxMpTemplateData;
 import com.cyksj.model.dto.WxMpTemplateMessage;
 import com.cyksj.model.entity.*;
+import com.cyksj.model.manage.views.GroupsRelationView;
 import com.cyksj.model.views.WxAppTemplateView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.order.OrderDonService;
@@ -20,6 +21,8 @@ import com.cyksj.service.register.RegisterOrderDonService;
 import com.cyksj.service.register.SpotifyService;
 import com.cyksj.service.template.TemplateCommonService;
 import com.cyksj.service.wechat.WeChatService;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.dao.DuplicateKeyException;
@@ -71,6 +74,10 @@ public class Scheduler {
 
         private final TemplateCommonService templateCommonService;
 
+        private final UserTicketClearedRecordMapper userTicketClearedRecordMapper;
+
+        private final BeanSearcher beanSearcher;
+
 
     /**
      * 每5分钟清理过期账号
@@ -148,6 +155,8 @@ public class Scheduler {
     }
 
     private void delRelation(GroupsRelation relation) {
+        Long relationId = relation.getId();
+        Long userId = relation.getUserId();
         Date expireTime = relation.getExpiryTime();
         relation.setStartTime(null);
         relation.setExpiryTime(null);
@@ -164,6 +173,17 @@ public class Scheduler {
                 log.error("车位异常 groupId:{}", relation.getGroupsId());
                 throw new BusinessRuntimeException("车位异常");
             }
+            //记录用户被清除车票历史记录
+            GroupsRelationView groupsTrips = beanSearcher.searchFirst(GroupsRelationView.class,
+                    MapUtils.builder().field(GroupsRelationView::getId, relationId).build());
+            if (groupsTrips != null) {
+                UserTicketClearedRecord userTicketClearedRecord = new UserTicketClearedRecord();
+                userTicketClearedRecord.setRelationId(relationId);
+                userTicketClearedRecord.setUserId(userId);
+                userTicketClearedRecord.setGoodsId(groupsTrips.getGoodsId());
+                userTicketClearedRecord.setSkuId(groupsTrips.getSkuId());
+                userTicketClearedRecordMapper.insert(userTicketClearedRecord);
+            }
         }
     }