// +---------------------------------------------------------------------- namespace app\controller\api\admin\activity; use app\Request; use app\services\activity\coupon\StoreCouponIssueServices; use app\services\activity\coupon\StoreCouponUserServices; use think\annotation\Inject; /** * 优惠券类 * Class StoreCoupons * @package app\api\controller\store */ class StoreCoupons { /** * @var StoreCouponIssueServices */ #[Inject] protected StoreCouponIssueServices $services; /** * 下单获取用户可使用优惠券 * @param Request $request * @param StoreCouponIssueServices $service * @param int $uid * @param string $cartId * @param bool $new * @param int $shipping_type * @return \think\Response * @throws \Psr\SimpleCache\InvalidArgumentException * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function order(Request $request, StoreCouponIssueServices $service, int $uid) { [$cartId, $new, $shipping_type] = $request->getMore([ 'cartId', 'new', ['shipping_type', 1] ], true); $coupons = []; if ($uid) { $coupons = $service->beUseableCouponList($uid, $cartId, !!$new, (int)$shipping_type); } return app('json')->successful($coupons); } }