|
|
@@ -8,6 +8,7 @@ import com.izouma.nineth.enums.CollectionType;
|
|
|
import com.izouma.nineth.enums.OrderStatus;
|
|
|
import com.izouma.nineth.repo.CollectionRepo;
|
|
|
import com.izouma.nineth.repo.DomainOrderRepo;
|
|
|
+import com.izouma.nineth.repo.OrderRepo;
|
|
|
import com.izouma.nineth.utils.SecurityUtils;
|
|
|
import com.izouma.nineth.web.BaseController;
|
|
|
import com.izouma.nineth.domain.nftdomain.Cart;
|
|
|
@@ -39,6 +40,7 @@ public class CartController extends BaseController {
|
|
|
private CartRepo cartRepo;
|
|
|
private CollectionRepo collectionRepo;
|
|
|
private DomainOrderRepo domainOrderRepo;
|
|
|
+ private OrderRepo orderRepo;
|
|
|
|
|
|
@PreAuthorize("hasRole('ADMIN')")
|
|
|
@PostMapping("/save")
|
|
|
@@ -81,9 +83,14 @@ public class CartController extends BaseController {
|
|
|
Collection collection = collectionRepo.findById(cart.getCollectionId()).orElse(null);
|
|
|
if (collection != null) {
|
|
|
if (!collection.isSalable() || collection.getStock() < 0 || collection.isInPaying()) {
|
|
|
- cart.setEnabled(false);
|
|
|
if (!collection.isInPaying()) {
|
|
|
+ cart.setEnabled(false);
|
|
|
cartRepo.save(cart);
|
|
|
+ } else {
|
|
|
+ if (orderRepo.countByCollectionIdAndUserIdAndStatus(cart.getCollectionId(), cart
|
|
|
+ .getUserId(), OrderStatus.NOT_PAID) > 0) {
|
|
|
+ cart.setInPaying(true);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
if (collection.getType().equals(CollectionType.DOMAIN)) {
|