zoujiajian 3 年之前
父節點
當前提交
fb0d176b51

+ 10 - 9
netflix-service/src/main/java/com/cyksj/service/exchange/impl/ExchangeCodeServiceImpl.java

@@ -17,7 +17,6 @@ import com.cyksj.dto.RedisKey;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.*;
-import com.cyksj.mapper.channel.ChannelPopularizeMapper;
 import com.cyksj.mapper.manage.exchange.ExchangeCodeMapper;
 import com.cyksj.mapper.market.draw.LuckyDrawRecordMapper;
 import com.cyksj.model.entity.*;
@@ -28,7 +27,7 @@ import com.cyksj.model.request.ExchangeCodeTicket;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.exchange.ExchangeCodeService;
 import com.cyksj.service.relation.GroupRelationFrontService;
-import com.cyksj.service.template.TemplateCommonService;
+import com.cyksj.service.relation.GroupsRelationExpiryRecordService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
@@ -71,22 +70,18 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
 
 	private final OrderDonMapper orderDonMapper;
 
-	private static final GlobalThreadPoolTaskExecutor THREAD_POOL_TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
-
-	private final CustomerServiceMapper customerServiceMapper;
+	private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
 
 	private final LuckyDrawRecordMapper luckyDrawRecordMapper;
 
-	private final TemplateCommonService templateCommonService;
-
 	private final BeanSearcher beanSearcher;
 
 	private final GroupRelationFrontService groupRelationFrontService;
 
-	private final ChannelPopularizeMapper channelPopularizeMapper;
-
 	private final OrderDiscountPlusPurchaseSkuRelationMapper orderDiscountPlusPurchaseSkuRelationMapper;
 
+	private final GroupsRelationExpiryRecordService groupsRelationExpiryRecordService;
+
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public List<ExcelExchangeCodeData> createExchangeCode(ExchangeCodeReq exchangeCodeReq) {
@@ -316,6 +311,12 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
 			orderDonMapper.insert(orderDon);
 			log.info("用户{}兑换规格:{}车位成功", user.getId(), orderDon.getSkuId());
 		}
+		if (orderDonTye == OrderDon.Type.EX_CODE) {
+			//同步车票是否重购 记录
+			TASK_POOL.execute(() -> {
+				groupsRelationExpiryRecordService.syncGroupsRelationExpiryRecord(orderDon, goodsDon, sku);
+			});
+		}
 //		if (StrUtil.isNotEmpty(user.getOpenId())) {
 //			//发送模板消息
 //			THREAD_POOL_TASK_EXECUTOR.execute(() -> {

+ 1 - 33
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -2107,39 +2107,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		}
 		//同步车票是否重购 记录
 		TASK_POOL.execute(() -> {
-			List<Long> userIdList = userBindRelationService.getRelationUserIdList(orderDon.getUserId(), null);
-			GroupsRelationExpiryRecord groupsRelationExpiryRecord = groupsRelationExpiryRecordService.getOne(Wrappers.lambdaQuery(GroupsRelationExpiryRecord.class)
-					.in(GroupsRelationExpiryRecord::getUserId, userIdList)
-					.eq(GroupsRelationExpiryRecord::getIsReBuy, false)
-					.eq(GroupsRelationExpiryRecord::getRelationId, orderDon.getRelationId()).last("limit 1"));
-			if (groupsRelationExpiryRecord == null) {
-				List<GroupsRelationExpiryRecord> groupsRelationExpiryRecords = groupsRelationExpiryRecordService.list(Wrappers.lambdaQuery(GroupsRelationExpiryRecord.class)
-						.in(GroupsRelationExpiryRecord::getUserId, userIdList)
-						.eq(GroupsRelationExpiryRecord::getIsReBuy, false)
-						.eq(GroupsRelationExpiryRecord::getGoodsId, orderDon.getGoodsId()));
-				if (CollUtil.isNotEmpty(groupsRelationExpiryRecords)) {
-					groupsRelationExpiryRecords.forEach(data -> {
-						data.setReBuyGoodsId(goodsDon.getId());
-						data.setReBuyGoodsTitle(goodsDon.getTitle());
-						data.setReBuySkuId(sku.getId());
-						data.setReBuySpecVal(sku.getSpecVal());
-						data.setReBuyOrderId(orderDon.getId());
-						data.setReBuyTime(Optional.ofNullable(orderDon.getPayTime()).orElse(orderDon.getCreatedTime()));
-						data.setIsReBuy(true);
-					});
-					groupsRelationExpiryRecordService.saveOrUpdateBatch(groupsRelationExpiryRecords);
-				}
-			}
-			if (groupsRelationExpiryRecord != null) {
-				groupsRelationExpiryRecord.setReBuyGoodsId(goodsDon.getId());
-				groupsRelationExpiryRecord.setReBuyGoodsTitle(goodsDon.getTitle());
-				groupsRelationExpiryRecord.setReBuySkuId(sku.getId());
-				groupsRelationExpiryRecord.setReBuySpecVal(sku.getSpecVal());
-				groupsRelationExpiryRecord.setReBuyOrderId(orderDon.getId());
-				groupsRelationExpiryRecord.setReBuyTime(Optional.ofNullable(orderDon.getPayTime()).orElse(orderDon.getCreatedTime()));
-				groupsRelationExpiryRecord.setIsReBuy(true);
-				groupsRelationExpiryRecordService.saveOrUpdate(groupsRelationExpiryRecord);
-			}
+			groupsRelationExpiryRecordService.syncGroupsRelationExpiryRecord(orderDon, goodsDon, sku);
 		});
 	}
 

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

@@ -1,7 +1,10 @@
 package com.cyksj.service.relation;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cyksj.model.entity.GoodsDon;
+import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GroupsRelationExpiryRecord;
+import com.cyksj.model.entity.OrderDon;
 
 /*
  *项目名: netflix
@@ -10,4 +13,5 @@ import com.cyksj.model.entity.GroupsRelationExpiryRecord;
  *创建时间:2023/9/5 11:47
  */
 public interface GroupsRelationExpiryRecordService extends IService<GroupsRelationExpiryRecord> {
+	void syncGroupsRelationExpiryRecord(OrderDon orderDon, GoodsDon goodsDon, GoodsDonSku sku);
 }

+ 49 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupsRelationExpiryRecordServiceImpl.java

@@ -1,11 +1,21 @@
 package com.cyksj.service.relation.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cyksj.mapper.GroupsRelationExpiryRecordMapper;
+import com.cyksj.model.entity.GoodsDon;
+import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GroupsRelationExpiryRecord;
+import com.cyksj.model.entity.OrderDon;
 import com.cyksj.service.relation.GroupsRelationExpiryRecordService;
+import com.cyksj.service.user.UserBindRelationService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Optional;
+
 /*
  *项目名: netflix
  *文件名: GroupsRelationExpiryRecordServiceImpl
@@ -13,5 +23,44 @@ import org.springframework.stereotype.Service;
  *创建时间:2023/9/5 11:47
  */
 @Service
+@RequiredArgsConstructor
 public class GroupsRelationExpiryRecordServiceImpl extends ServiceImpl<GroupsRelationExpiryRecordMapper, GroupsRelationExpiryRecord> implements GroupsRelationExpiryRecordService {
+	private final UserBindRelationService userBindRelationService;
+
+	@Override
+	public void syncGroupsRelationExpiryRecord(OrderDon orderDon, GoodsDon goodsDon, GoodsDonSku sku) {
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(orderDon.getUserId(), null);
+		GroupsRelationExpiryRecord groupsRelationExpiryRecord = this.getOne(Wrappers.lambdaQuery(GroupsRelationExpiryRecord.class)
+				.in(GroupsRelationExpiryRecord::getUserId, userIdList)
+				.eq(GroupsRelationExpiryRecord::getIsReBuy, false)
+				.eq(GroupsRelationExpiryRecord::getRelationId, orderDon.getRelationId()).last("limit 1"));
+		if (groupsRelationExpiryRecord == null) {
+			List<GroupsRelationExpiryRecord> groupsRelationExpiryRecords = this.list(Wrappers.lambdaQuery(GroupsRelationExpiryRecord.class)
+					.in(GroupsRelationExpiryRecord::getUserId, userIdList)
+					.eq(GroupsRelationExpiryRecord::getIsReBuy, false)
+					.eq(GroupsRelationExpiryRecord::getGoodsId, orderDon.getGoodsId()));
+			if (CollUtil.isNotEmpty(groupsRelationExpiryRecords)) {
+				groupsRelationExpiryRecords.forEach(data -> {
+					data.setReBuyGoodsId(goodsDon.getId());
+					data.setReBuyGoodsTitle(goodsDon.getTitle());
+					data.setReBuySkuId(sku.getId());
+					data.setReBuySpecVal(sku.getSpecVal());
+					data.setReBuyOrderId(orderDon.getId());
+					data.setReBuyTime(Optional.ofNullable(orderDon.getPayTime()).orElse(orderDon.getCreatedTime()));
+					data.setIsReBuy(true);
+				});
+				this.saveOrUpdateBatch(groupsRelationExpiryRecords);
+			}
+		}
+		if (groupsRelationExpiryRecord != null) {
+			groupsRelationExpiryRecord.setReBuyGoodsId(goodsDon.getId());
+			groupsRelationExpiryRecord.setReBuyGoodsTitle(goodsDon.getTitle());
+			groupsRelationExpiryRecord.setReBuySkuId(sku.getId());
+			groupsRelationExpiryRecord.setReBuySpecVal(sku.getSpecVal());
+			groupsRelationExpiryRecord.setReBuyOrderId(orderDon.getId());
+			groupsRelationExpiryRecord.setReBuyTime(Optional.ofNullable(orderDon.getPayTime()).orElse(orderDon.getCreatedTime()));
+			groupsRelationExpiryRecord.setIsReBuy(true);
+			this.saveOrUpdate(groupsRelationExpiryRecord);
+		}
+	}
 }