zoujiajian 2 лет назад
Родитель
Сommit
37093f835b

+ 2 - 1
netflix-service/src/main/java/com/cyksj/service/mange/MirrorUserCleatService.java

@@ -1,5 +1,6 @@
 package com.cyksj.service.mange;
 
+import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.OrderDon;
 
 /**
@@ -15,5 +16,5 @@ public interface MirrorUserCleatService {
 	 * 处理续费升级订单,将镜像车票还原
 	 * @param orderDon
 	 */
-	void handleRenewUpgradeOrders(OrderDon orderDon);
+	void handleRenewUpgradeOrders(OrderDon orderDon, GoodsDonSku sku);
 }

+ 1 - 45
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -380,7 +380,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
         orderDonMapper.updateById(orderDon);
         //续费升级订单
         if (orderDon.getOrderType() == 2 && sku.getIsMirror()) {
-            mirrorUserCleatService.handleRenewUpgradeOrders(orderDon);
+            mirrorUserCleatService.handleRenewUpgradeOrders(orderDon, sku);
         }
         //提交过工单的订单
         //将用户异常订单关闭
@@ -1112,10 +1112,6 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
             //是否是分销订单
             //处理下级渠道分销提成
             handleSubRewards(orderDon);
-            //退款续费 镜像订单
-            if (orderDon.getGoodsId() == 18 && orderDon.getOrderType() == 2 && sku.getIsMirror()) {
-                handleGptMirrorRenewOrderRefund(orderDon, sku);
-            }
         });
     }
 
@@ -1410,44 +1406,4 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
             }
         }
     }
-
-    /**
-     * 镜像续费订单退款 清除user额外功能时间
-     */
-    private void handleGptMirrorRenewOrderRefund(OrderDon orderDon, GoodsDonSku sku) {
-        Long id = orderDon.getId();
-        OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
-                .eq(OrderDonRenewRecord::getOrderId, id)
-                .last("limit 1"));
-        OrderDonUpgradeRenewRecord orderDonUpgradeRenewRecord = null;
-        if (orderDonRenewRecord == null) {
-            orderDonUpgradeRenewRecord = orderDonUpgradeRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonUpgradeRenewRecord.class)
-                    .eq(OrderDonUpgradeRenewRecord::getOrderId, id)
-                    .last("limit 1"));
-        }
-        if (orderDonRenewRecord == null && orderDonUpgradeRenewRecord == null) {
-            return;
-        }
-        ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
-                .eq(ChatgptUser::getRelationId, orderDon.getRelationId())
-                .last("limit 1"));
-        if (chatgptUser == null) {
-            return;
-        }
-        if (orderDonRenewRecord != null) {
-            Date renewExpiryTime = chatgptUser.getRenewExpiryTime();
-            renewExpiryTime = DateUtil.offsetMonth(renewExpiryTime, -sku.getMonths());
-            log.info("GPT镜像续费订单退款,user清除续费升级过期时间:{} ---> {}", chatgptUser.getRenewExpiryTime(), renewExpiryTime);
-            chatgptUser.setRenewExpiryTime(renewExpiryTime);
-        }
-
-        if (orderDonUpgradeRenewRecord != null) {
-            Date clearPackageTime = chatgptUser.getClearPackageTime();
-            clearPackageTime = DateUtil.offsetMonth(clearPackageTime, -sku.getMonths());
-            log.info("GPT镜像续费订单退款,user清除套餐升级过期时间:{} ---> {}", chatgptUser.getClearPackageTime(), clearPackageTime);
-            chatgptUser.setClearPackageTime(clearPackageTime);
-        }
-        chatgptUserMapper.updateById(chatgptUser);
-    }
-
 }

+ 48 - 2
netflix-service/src/main/java/com/cyksj/service/mange/impl/MirrorUserCleatServiceImpl.java

@@ -48,6 +48,8 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 
 	private final LumaUserMapper lumaUserMapper;
 
+	private final OrderDonUpgradeRenewRecordMapper orderDonUpgradeRenewRecordMapper;
+
 	@Override
 	public void delMirrorUser(Long goodsId, Long relationId) {
 		//gpt镜像
@@ -92,13 +94,13 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 	}
 
 	@Override
-	public void handleRenewUpgradeOrders(OrderDon orderDon) {
+	public void handleRenewUpgradeOrders(OrderDon orderDon, GoodsDonSku sku) {
 		Long orderId = orderDon.getId();
 		OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
 				.eq(OrderDonRenewRecord::getOrderId, orderId)
 				.last("limit 1"));
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(orderDon.getUserId(), null);
-		if (orderDonRenewRecord != null) {
+		if (orderDonRenewRecord != null && orderDonRenewRecord.getOrderType() == 1) {
 			ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
 					.eq(ChatgptUser::getRelationId, orderDon.getRelationId())
 					.last("limit 1"));
@@ -158,5 +160,49 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			orderDonRenewRecord.setIsValid(true);
 			orderDonRenewRecordMapper.updateById(orderDonRenewRecord);
 		}
+
+		//退款续费 镜像订单
+		if (orderDon.getGoodsId() == 18 && orderDon.getOrderType() == 2 && sku.getIsMirror()) {
+			handleGptMirrorRenewOrderRefund(orderDon, sku);
+		}
+	}
+
+	/**
+	 * 镜像续费订单退款 清除user额外功能时间
+	 */
+	private void handleGptMirrorRenewOrderRefund(OrderDon orderDon, GoodsDonSku sku) {
+		Long id = orderDon.getId();
+		OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
+				.eq(OrderDonRenewRecord::getOrderId, id)
+				.last("limit 1"));
+		OrderDonUpgradeRenewRecord orderDonUpgradeRenewRecord = null;
+		if (orderDonRenewRecord == null) {
+			orderDonUpgradeRenewRecord = orderDonUpgradeRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonUpgradeRenewRecord.class)
+					.eq(OrderDonUpgradeRenewRecord::getOrderId, id)
+					.last("limit 1"));
+		}
+		if (orderDonRenewRecord == null && orderDonUpgradeRenewRecord == null) {
+			return;
+		}
+		ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
+				.eq(ChatgptUser::getRelationId, orderDon.getRelationId())
+				.last("limit 1"));
+		if (chatgptUser == null) {
+			return;
+		}
+		if (orderDonRenewRecord != null) {
+			Date renewExpiryTime = chatgptUser.getRenewExpiryTime();
+			renewExpiryTime = DateUtil.offsetMonth(renewExpiryTime, -sku.getMonths());
+			log.info("GPT镜像续费订单退款,user清除续费升级过期时间:{} ---> {}", chatgptUser.getRenewExpiryTime(), renewExpiryTime);
+			chatgptUser.setRenewExpiryTime(renewExpiryTime);
+		}
+
+		if (orderDonUpgradeRenewRecord != null) {
+			Date clearPackageTime = chatgptUser.getClearPackageTime();
+			clearPackageTime = DateUtil.offsetMonth(clearPackageTime, -sku.getMonths());
+			log.info("GPT镜像续费订单退款,user清除套餐升级过期时间:{} ---> {}", chatgptUser.getClearPackageTime(), clearPackageTime);
+			chatgptUser.setClearPackageTime(clearPackageTime);
+		}
+		chatgptUserMapper.updateById(chatgptUser);
 	}
 }

+ 29 - 47
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1570,8 +1570,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 					} catch (Exception e) {
 					}
 				}
-				//gpt镜像续费订单
-				handleGptMirrorRenewOrder(order, sku);
 			}
 		}
 	}
@@ -3888,74 +3886,47 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	//镜像续费升级
 	private void handleMirrorRenew(GoodsDonSku sku, OrderDon order, GroupsTrips groupsTrips, Long relationId, Date newDate) {
-		if (sku.getIsMirror() && order.getOrderType() == 2) {
+		if (sku.getGoodsId() == 18 && sku.getIsMirror() && order.getOrderType() == 2) {
 			OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
 					.eq(OrderDonRenewRecord::getOrderId, order.getId())
 					.last("limit 1"));
+			//升级gptUser次数
+			ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
+					.eq(ChatgptUser::getRelationId, relationId)
+					.last("limit 1"));
+			if (chatgptUser == null) {
+				return;
+			}
 			if (orderDonRenewRecord != null) {
 				//同规格续费无需更新
 				if (!ObjectUtil.equal(groupsTrips.getSkuId(), order.getSkuId())) {
 					log.info("用户续费升级订单skuId:{}将用户车票relationId:{}套餐续费升级", order.getSkuId(), relationId);
-					//升级gptUser次数
-					ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
-							.eq(ChatgptUser::getRelationId, relationId)
-							.last("limit 1"));
-					if (chatgptUser != null) {
+					if (chatgptUser.getRenewSkuId() != null && chatgptUser.getRenewSkuId().intValue() == order.getSkuId().intValue()) {
+						Date renewExpiryTime = chatgptUser.getRenewExpiryTime();
+						renewExpiryTime = DateUtil.offsetMonth(renewExpiryTime, sku.getMonths());
+						log.info("GPT镜像续费,user续费升级过期时间:{} ---> {}", chatgptUser.getRenewExpiryTime(), renewExpiryTime);
+						chatgptUser.setRenewExpiryTime(renewExpiryTime);
+						//时间增加 直接失效
+						orderDonRenewRecord.setIsValid(true);
+						orderDonRenewRecordMapper.updateById(orderDonRenewRecord);
+					} else {
 						chatgptUser.setLimitTime(sku.getGptLimitTime());
 						chatgptUser.setLimitNum(sku.getGptLimitNum());
 						//记录续费升级过期的时间
 						chatgptUser.setRenewExpiryTime(newDate);
 						chatgptUser.setRenewOrderId(order.getId());
 						chatgptUser.setRenewSkuId(order.getSkuId());
-						chatgptUserMapper.updateById(chatgptUser);
 					}
 				}
 			}
-		}
-	}
 
-	/**
-	 * 用户通过海报下单记录
-	 */
-	private void recordPosterUserOrder(Long orderId, Long rid) {
-		if (rid != null) {
-			OrderDonPosterRelate orderDonPosterRelate = new OrderDonPosterRelate();
-			orderDonPosterRelate.setOrderId(orderId);
-			orderDonPosterRelate.setRecordId(rid);
-			orderDonPosterRelateMapper.insert(orderDonPosterRelate);
-		}
-	}
-
-	/**
-	 * gpt镜像续费订单
-	 */
-	private void handleGptMirrorRenewOrder(OrderDon order, GoodsDonSku sku) {
-		//GPT镜像续费 升级后的规格
-		if (order.getGoodsId() == 18 && order.getOrderType() == 2 && sku.getIsMirror()) {
-			OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
-					.eq(OrderDonRenewRecord::getOrderId, order.getId())
-					.last("limit 1"));
+			//套餐升级 续费订单
 			OrderDonUpgradeRenewRecord orderDonUpgradeRenewRecord = null;
 			if (orderDonRenewRecord == null) {
 				orderDonUpgradeRenewRecord = orderDonUpgradeRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonUpgradeRenewRecord.class)
 						.eq(OrderDonUpgradeRenewRecord::getOrderId, order.getId())
 						.last("limit 1"));
 			}
-			if (orderDonRenewRecord == null && orderDonUpgradeRenewRecord == null) {
-				return;
-			}
-			ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
-					.eq(ChatgptUser::getRelationId, order.getRelationId())
-					.last("limit 1"));
-			if (chatgptUser == null) {
-				return;
-			}
-			if (orderDonRenewRecord != null) {
-				Date renewExpiryTime = chatgptUser.getRenewExpiryTime();
-				renewExpiryTime = DateUtil.offsetMonth(renewExpiryTime, sku.getMonths());
-				log.info("GPT镜像续费,user续费升级过期时间:{} ---> {}", chatgptUser.getRenewExpiryTime(), renewExpiryTime);
-				chatgptUser.setRenewExpiryTime(renewExpiryTime);
-			}
 			if (orderDonUpgradeRenewRecord != null) {
 				Date clearPackageTime = chatgptUser.getClearPackageTime();
 				clearPackageTime = DateUtil.offsetMonth(clearPackageTime, sku.getMonths());
@@ -3966,4 +3937,15 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		}
 	}
 
+	/**
+	 * 用户通过海报下单记录
+	 */
+	private void recordPosterUserOrder(Long orderId, Long rid) {
+		if (rid != null) {
+			OrderDonPosterRelate orderDonPosterRelate = new OrderDonPosterRelate();
+			orderDonPosterRelate.setOrderId(orderId);
+			orderDonPosterRelate.setRecordId(rid);
+			orderDonPosterRelateMapper.insert(orderDonPosterRelate);
+		}
+	}
 }