zoujiajian пре 2 година
родитељ
комит
90ebc11a3b

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

@@ -3204,16 +3204,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 	public UpgradeOrderDon submitUpgrade(OrderPayRequest payRequest) {
 		User user = null;
 		Long userId = payRequest.getUserId();
-		if (userId != null) {
-			List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
-			int noPayCount = upgradeOrderDonMapper.selectCount(Wrappers.lambdaQuery(UpgradeOrderDon.class)
-					.in(UpgradeOrderDon::getUserId, userIdList)
-					.eq(UpgradeOrderDon::getRelationId, payRequest.getRelationId())
-					.eq(UpgradeOrderDon::getStatus, UpgradeOrderDon.Status.noPayment.toString()));
-			if (noPayCount > 0) {
-				throw new BusinessRuntimeException("您有未支付订单.");
-			}
-		}
 		String orderPhone = payRequest.getPhone();
 		if (StrUtil.isNotBlank(orderPhone)) {
 			user = saveOrGetOrderPhoneUser(payRequest);
@@ -3228,6 +3218,14 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			if (user == null) throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
 			if (user.getIsBlack()) throw BusinessRuntimeException.getInstance("系统检测操作异常,请稍后再试");
 		}
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, user);
+		int noPayCount = upgradeOrderDonMapper.selectCount(Wrappers.lambdaQuery(UpgradeOrderDon.class)
+				.in(UpgradeOrderDon::getUserId, userIdList)
+				.eq(UpgradeOrderDon::getRelationId, payRequest.getRelationId())
+				.eq(UpgradeOrderDon::getStatus, UpgradeOrderDon.Status.noPayment.toString()));
+		if (noPayCount > 0) {
+			throw new BusinessRuntimeException("您有未支付订单.");
+		}
 		GroupsRelation groupsRelation = getGroupsRelation(payRequest.getUserId(), payRequest.getRelationId());
 		GroupsTrips groupsTrips = getGroupsTrips(groupsRelation);
 		GoodsDonSku goodsDonSku = goodsDonSkuMapper.selectById(groupsTrips.getSkuId());
@@ -3255,8 +3253,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				Long upgradeSkuId = upgradePackage.getUpgradeSkuId();
 				GoodsDonSku upgradeSku = goodsDonSkuMapper.selectById(upgradeSkuId);
 				Integer upgradeSkuGptLimitNum = upgradeSku.getGptLimitNum();
-				if (upgradeSkuGptLimitNum < chatgptUser.getLimitNum()) {
-					throw BusinessRuntimeException.getInstance("您已升级车票套餐");
+				if (upgradeSkuGptLimitNum <= chatgptUser.getLimitNum()) {
+					throw BusinessRuntimeException.getInstance("您已升级套餐");
 				}
 				//两者之间的差价
 				BigDecimal differPrice = upgradeSku.getPrice().subtract(goodsDonSku.getPrice());

+ 2 - 1
netflix-web/src/main/java/com/cyksj/web/controller/payment/OrderController.java

@@ -183,7 +183,8 @@ public class OrderController {
     @PostMapping("/post/upgrade/submit")
     public Result<UpgradeOrderDon> submitUpgrade(@Validated @RequestBody OrderPayRequest payRequest) throws Exception {
         final String methodName = "套餐吊起支付";
-        Long userId = StpUserUtil.getUserIdAfterLogin();
+        //无需免登录
+        Long userId = StpUserUtil.getLoginIdAsLong();
         payRequest.setUserId(userId);
         log.info("{}[start] params:{}", methodName, payRequest);