zoujiajian 1 рік тому
батько
коміт
7658163efa

+ 24 - 11
netflix-service/src/main/java/com/cyksj/service/mange/impl/MirrorUserCleatServiceImpl.java

@@ -139,6 +139,12 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(orderDon.getUserId(), null);
 		//claude code user
 		if (goodsId == Constant.CLAUDE_CODE_GOODS_ID) {
+			ClaudeCodeUserRenewExpiryRecord renewExpiryRecord = claudeCodeUserRenewExpiryRecordMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUserRenewExpiryRecord.class).eq(ClaudeCodeUserRenewExpiryRecord::getOrderId, orderId).eq(ClaudeCodeUserRenewExpiryRecord::getIsValid, Boolean.FALSE).last("limit 1"));
+			if (renewExpiryRecord != null) {
+				//将续费有效置为过期
+				renewExpiryRecord.setIsValid(true);
+				claudeCodeUserRenewExpiryRecordMapper.updateById(renewExpiryRecord);
+			}
 			ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class)
 					.eq(ClaudeCodeUser::getRelationId, orderDon.getRelationId())
 					.last("limit 1"));
@@ -152,7 +158,6 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			GroupsRelation relation = groupsRelationMapper.selectById(orderDon.getRelationId());
 			GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
 			GoodsDonSku finalSku = skuMapper.selectById(groupsTrips.getSkuId());
-			ClaudeCodeUserRenewExpiryRecord renewExpiryRecord = claudeCodeUserRenewExpiryRecordMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUserRenewExpiryRecord.class).eq(ClaudeCodeUserRenewExpiryRecord::getOrderId, orderId).eq(ClaudeCodeUserRenewExpiryRecord::getIsValid, Boolean.FALSE).last("limit 1"));
 			Date renewExpiryTime = null;
 			Integer oriCodePoints = claudeCodeUser.getCodePoints();
 			claudeCodeUser.setOriCodePoints(oriCodePoints);
@@ -183,9 +188,11 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 					claudeCodeUser.setRenewOrderId(otherRenewRecord.getOrderId());
 					claudeCodeUser.setRenewSkuId(otherRenewRecord.getRenewSkuId());
 				}
-				//将续费有效置为过期
-				renewExpiryRecord.setIsValid(true);
-				claudeCodeUserRenewExpiryRecordMapper.updateById(renewExpiryRecord);
+			}
+			//非当前套餐续费订单id 不修改claudeCode
+			Long presentUserCodePackageOrderId = claudeCodeUser.getRenewOrderId();
+			if (!ObjectUtil.equal(presentUserCodePackageOrderId, orderId)) {
+				return;
 			}
 			//还原镜像user
 			claudeCodeUser.setCodePoints(finalSku.getCodePoints());
@@ -206,6 +213,9 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 		if (orderDonRenewRecord == null) {
 			return;
 		}
+		//将续费有效置为过期
+		orderDonRenewRecord.setIsValid(true);
+		orderDonRenewRecordMapper.updateById(orderDonRenewRecord);
 		//Claude pro
 		if (orderDon.getGoodsId() == 75) {
 			ClaudeUser claudeUser = claudeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeUser.class)
@@ -245,15 +255,17 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 				claudeUser.setRenewOrderId(otherRenewOrderDon.getId());
 				claudeUser.setRenewSkuId(otherRenewOrderDon.getSkuId());
 			}
+			//非当前套餐续费订单id 不修改user
+			Long presentUserCodePackageOrderId = claudeUser.getRenewOrderId();
+			if (!ObjectUtil.equal(presentUserCodePackageOrderId, orderId)) {
+				return;
+			}
 			//还原镜像user
 			claudeUser.setLimitTime(finalSku.getGptLimitTime());
 			claudeUser.setLimitNum(finalSku.getGptLimitNum());
 			claudeUser.setRenewExpiryTime(renewExpiryTime);
 			claudeUserMapper.updateById(claudeUser);
 			log.info("还原镜像claude user套餐成功");
-			//将续费有效置为过期
-			orderDonRenewRecord.setIsValid(true);
-			orderDonRenewRecordMapper.updateById(orderDonRenewRecord);
 			return;
 		}
 
@@ -315,6 +327,11 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 				chatgptUser.setRenewOrderId(otherRenewOrderDon.getId());
 				chatgptUser.setRenewSkuId(otherRenewOrderDon.getSkuId());
 			}
+			//非当前套餐续费订单id 不修改user
+			Long presentUserCodePackageOrderId = chatgptUser.getRenewOrderId();
+			if (!ObjectUtil.equal(presentUserCodePackageOrderId, orderId)) {
+				return;
+			}
 			//还原镜像user
 			chatgptUser.setLimitTime(finalSku.getGptLimitTime());
 			chatgptUser.setLimitNum(finalSku.getGptLimitNum());
@@ -326,10 +343,6 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			chatgptUserMapper.updateById(chatgptUser);
 			log.info("还原镜像gptuser套餐成功");
 
-			//将续费有效置为过期
-			orderDonRenewRecord.setIsValid(true);
-			orderDonRenewRecordMapper.updateById(orderDonRenewRecord);
-
 			if (orderDon.getOrderType() == 2) {
 				//退款续费 套餐升级订单
 				handleGptMirrorRenewOrderRefund(orderDon, sku);