zoujiajian 1 yıl önce
ebeveyn
işleme
e266816de6

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/order/OrderDonService.java

@@ -111,4 +111,6 @@ public interface OrderDonService extends IService<OrderDon> {
     AliPayParams aliPaySpotifyUpgrade(AlipayOrderDonReq alipayOrderDonReq, String productCode, String qrPayMode) throws Exception;
 
     void aliPaySpotifyUpgradeNotify(Map<String, String> params) throws Exception;
+
+	void receiveGptMirrorDayCard(Long orderId) throws Exception;
 }

+ 19 - 10
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -2948,13 +2948,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				}
 			}
 		}
-
-		//GPT镜像天卡参与平台 赠送GPT天卡
-		try {
-			sendGptMirrorDayTicket(orderDon);
-		} catch (Exception e) {
-			log.error("赠送用户:{} gpt天卡错误:{}", orderDon.getUserId(), StringUtil.getErrorText(e));
-		}
 	}
 
 	private void handleUserMirrorSHopOrderDon(OrderDon orderDon) throws Exception {
@@ -4445,6 +4438,17 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		spotifyUserUpgradeOrderMapper.updateById(orderDon);
 	}
 
+	@Override
+	public void receiveGptMirrorDayCard(Long orderId) throws Exception {
+		OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
+				.eq(OrderDon::getId, orderId)
+				.notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
+				.last("limit 1"));
+		if (orderDon != null) {
+			sendGptMirrorDayTicket(orderDon);
+		}
+	}
+
 	private void checkUserBenefitsStatus(UserBenefits userBenefits, List<Long> userIdList) {
 		UserBenefits.Type type = userBenefits.getType();
 		int fhCount = 0;
@@ -4764,13 +4768,18 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			if (StrUtil.isNotBlank(buyGoodsIds)) {
 				List<Long> cyGoodsIds = Jsons.parseList(buyGoodsIds, Long.class);
 				if (cyGoodsIds.contains(goodsId)) {
-					Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, Constant.GPT_MIRROR_COMMON_SKU_ID, 2);
-					if (relationId != null) {
+					try {
 						GptMirrorDayCardActivityRecord gptMirrorDayCardActivityRecord = new GptMirrorDayCardActivityRecord();
 						gptMirrorDayCardActivityRecord.setOrderId(orderId);
 						gptMirrorDayCardActivityRecord.setUserId(userId);
-						gptMirrorDayCardActivityRecord.setRelationId(relationId);
 						gptMirrorDayCardActivityRecordMapper.insert(gptMirrorDayCardActivityRecord);
+
+						//发送GPT天卡
+						Long relationId = groupRelationFrontService.getTrialTicketByUserIdAndGoodsId(userId, Constant.GPT_MIRROR_COMMON_SKU_ID, 2);
+						gptMirrorDayCardActivityRecord.setRelationId(relationId);
+						gptMirrorDayCardActivityRecordMapper.updateById(gptMirrorDayCardActivityRecord);
+					} catch (DuplicateKeyException e) {
+
 					}
 				}
 			}

+ 9 - 0
netflix-web/src/main/java/com/cyksj/web/controller/payment/OrderController.java

@@ -975,4 +975,13 @@ public class OrderController {
         response.sendRedirect(paypalV2Service.successPayment(token,PayerID,paypalPayConfig));
     }
 
+    /**
+     * 领取GPT镜像天卡
+     */
+    @PostMapping("/receive/gptMirror/dayCard/{orderId}")
+    public Result<String> receiveGptMirrorDayCard(@PathVariable Long orderId) throws Exception {
+        orderDonService.receiveGptMirrorDayCard(orderId);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
+
 }