// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\service\order\source\checkout; use app\common\enum\order\PayType as OrderPayTypeEnum; /** * 订单结算台-普通商品扩展类 * Class Main * @package app\api\service\order\source\checkout */ class Main extends Basics { /** * 验证商品列表 * @return bool */ public function validateGoodsList() { $order = $this->orderData; foreach ($this->goodsList as $goods) { // 判断商品是否下架 if ($goods['status'] != 10) { $this->error = "很抱歉,商品 [{$goods['goods_name']}] 已下架"; return false; } // 判断商品库存 if ($goods['total_num'] > $goods['skuInfo']['stock_num']) { $this->error = "很抱歉,商品 [{$goods['goods_name']}] 库存不足"; return false; } // 判断购买优惠券不能使用 余额支付 if (isset($order['payType']) && $order['payType'] == OrderPayTypeEnum::BALANCE && $goods['oilCardType'] == 'coupon'){ $this->error = "本商品不可使用余额支付"; return false; } } return true; } }