|
|
@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@@ -60,6 +61,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
@Override
|
|
|
public Boolean pay(Integer orderId,Integer couponId) {
|
|
|
+ User user=securityUtil.getCurrentUser();
|
|
|
Order order = orderRepository.findById(orderId).orElse(null);
|
|
|
if(order == null){
|
|
|
throw BlueWhaleException.orderNotExists();
|
|
|
@@ -69,7 +71,10 @@ public class OrderServiceImpl implements OrderService {
|
|
|
}
|
|
|
if (couponId!=0){
|
|
|
Coupon coupon = couponRepository.findById(couponId).get();
|
|
|
- if (coupon.getUsed()){
|
|
|
+ CouponGroup couponGroup=couponGroupRepository.findById(coupon.getGroupId()).get();
|
|
|
+ Product product=productRepository.findById(order.getProductId()).get();
|
|
|
+ if (coupon.getUsed() || !coupon.getUserId().equals(user.getId()) ||
|
|
|
+ couponGroup.getStoreId()>0 && !couponGroup.getStoreId().equals(product.getStoreId())){
|
|
|
throw BlueWhaleException.couponNotAllowed();
|
|
|
}
|
|
|
coupon.setUsed(true);
|