Authored by LUOXC

限制购买自己销售的商品

... ... @@ -54,6 +54,7 @@ import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator;
import com.yohoufo.order.utils.AddressHelper;
import com.yohoufo.order.utils.LoggerUtils;
import com.yohoufo.order.utils.MathUtils;
import com.yohoufo.order.utils.ServiceExceptions;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
... ... @@ -138,7 +139,7 @@ public class ShoppingServiceImpl implements IShoppingService {
}
shoppingRiskWatchDog.checkWaitingPayCnt(uid);
// 检查 商品sku是否可售
SellerOrderGoods skupGood = checkSkupSellOrNot(request.getSkup());
SellerOrderGoods skupGood = checkSkupSellOrNot(uid, request.getSkup());
checkSkupIsChangePrice(uid, skup);
//活动价格
... ... @@ -171,18 +172,24 @@ public class ShoppingServiceImpl implements IShoppingService {
return response;
}
private SellerOrderGoods checkSkupSellOrNot(int skup) {
private SellerOrderGoods checkSkupSellOrNot(int uid,int skup) {
// skup是否是可售状态
SellerOrderGoods skupGood = sellerOrderGoodsMapper.selectByPrimaryKey(skup);
if (skupGood == null){
logger.warn("payment skup not exist, skup is {}", skup);
logger.warn("{} payment skup not exist, skup is {}", uid, skup);
throw new ServiceException(ServiceError.ORDER_SKUP_CANNOT_SELL);
}
// 不可售
if (skupGood.getUid() == uid){
logger.warn("{} payment skup status {}, skup is {}", uid, skupGood.getStatus(), skup);
ServiceExceptions.throwServiceException("请不要购买自己销售的商品");
}
// 不可售
if (skupGood.getStatus() == null
|| skupGood.getStatus().intValue() != SkupStatus.CAN_SELL.getCode()){
logger.warn("payment skup status {}, skup is {}", skupGood.getStatus(), skup);
logger.warn("{} payment skup status {}, skup is {}", uid, skupGood.getStatus(), skup);
throw new ServiceException(ServiceError.ORDER_SKUP_CANNOT_SELL);
}
return skupGood;
... ... @@ -248,7 +255,7 @@ public class ShoppingServiceImpl implements IShoppingService {
}
// 检查 商品sku是否可售
SellerOrderGoods skupGood = checkSkupSellOrNot(request.getSkup());
SellerOrderGoods skupGood = checkSkupSellOrNot(request.getUid(),request.getSkup());
//活动价格
ActivityPrice activityPrice = checkAndGetActivityPrice(request, skupGood);
... ... @@ -284,9 +291,9 @@ public class ShoppingServiceImpl implements IShoppingService {
logger.warn("compute uid or skup is null");
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
}
int skup;
int skup = request.getSkup();
// 检查 商品sku是否可售
SellerOrderGoods skupGood = checkSkupSellOrNot(skup=request.getSkup());
SellerOrderGoods skupGood = checkSkupSellOrNot(request.getUid(), request.getSkup());
// 检查
checkSkupIsChangePrice(uid, skup);
//活动价格
... ... @@ -331,7 +338,7 @@ public class ShoppingServiceImpl implements IShoppingService {
Pair<AddressInfo, AddressInfo> userAddressPair = getAndCheckAddressInfo(shoppingRequest);
// 检查skup是否可售
SellerOrderGoods psog = checkSkupSellOrNot(shoppingRequest.getSkup());
SellerOrderGoods psog = checkSkupSellOrNot(shoppingRequest.getUid(), shoppingRequest.getSkup());
checkSkupIsChangePrice(uid, skup);
... ...