zoujiajian 1 year ago
parent
commit
80e962fc3d

+ 8 - 6
netflix-service/src/main/java/com/cyksj/service/spotify/impl/SpotifyUserUpgradeOrderServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 项目名: yhlxj
@@ -118,15 +119,14 @@ public class SpotifyUserUpgradeOrderServiceImpl implements SpotifyUserUpgradeOrd
 			throw BusinessRuntimeException.getInstance("订单不存在");
 		}
 		Long orderId = order.getId();
-		Integer selectCount = spotifyUserUpgradeSubmitRecordMapper.selectCount(Wrappers.lambdaQuery(SpotifyUserUpgradeSubmitRecord.class)
+		SpotifyUserUpgradeSubmitRecord upgradeSubmitRecord = Optional.ofNullable(spotifyUserUpgradeSubmitRecordMapper.selectOne(Wrappers.lambdaQuery(SpotifyUserUpgradeSubmitRecord.class)
 				.ne(SpotifyUserUpgradeSubmitRecord::getStatus, SpotifyUserUpgradeSubmitRecord.Status.fail)
-				.eq(SpotifyUserUpgradeSubmitRecord::getOrderId, orderId));
-		if (selectCount > 0) {
+				.eq(SpotifyUserUpgradeSubmitRecord::getOrderId, orderId)
+				.last("limit 1"))).orElse(new SpotifyUserUpgradeSubmitRecord());
+		if (upgradeSubmitRecord != null && upgradeSubmitRecord.getStatus() != SpotifyUserUpgradeSubmitRecord.Status.fail) {
 			throw BusinessRuntimeException.getInstance("您已提交记录");
 		}
-
 		try {
-			SpotifyUserUpgradeSubmitRecord upgradeSubmitRecord = new SpotifyUserUpgradeSubmitRecord();
 			upgradeSubmitRecord.setUserId(order.getUserId());
 			upgradeSubmitRecord.setAccount(account);
 			upgradeSubmitRecord.setPassword(password);
@@ -134,7 +134,9 @@ public class SpotifyUserUpgradeOrderServiceImpl implements SpotifyUserUpgradeOrd
 			upgradeSubmitRecord.setStatus(SpotifyUserUpgradeSubmitRecord.Status.waiting);
 			upgradeSubmitRecord.setOrderId(orderId);
 			upgradeSubmitRecord.setRelationId(order.getRelationId());
-			spotifyUserUpgradeSubmitRecordMapper.insert(upgradeSubmitRecord);
+			if (upgradeSubmitRecord.getId() == null) {
+				spotifyUserUpgradeSubmitRecordMapper.insert(upgradeSubmitRecord);
+			} else spotifyUserUpgradeSubmitRecordMapper.updateById(upgradeSubmitRecord);
 		} catch (DuplicateKeyException e) {
 
 		}