Order.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace app\api\service\sharp;
  3. use app\api\service\Basics;
  4. use app\api\model\Order as OrderModel;
  5. use app\common\enum\order\Status as OrderStatusEnum;
  6. use app\common\enum\order\OrderSource as OrderSourceEnum;
  7. /**
  8. * 整点秒杀订单服务类
  9. * Class Order
  10. * @package app\api\service\sharp
  11. */
  12. class Order extends Basics
  13. {
  14. /**
  15. * 获取某商品的购买件数
  16. * @param $userId
  17. * @param $goodsId
  18. * @return float|int
  19. */
  20. public static function getAlreadyBuyNum($userId, $goodsId)
  21. {
  22. $model = new OrderModel;
  23. $totalNum = $model
  24. ->setBaseQuery('order', [
  25. ['order_goods', 'order_id'],
  26. ])
  27. ->where('order_goods.user_id', '=', $userId)
  28. ->where('order_goods.goods_id', '=', $goodsId)
  29. ->where('order.order_source', '=', OrderSourceEnum::SHARP)
  30. ->where('order.order_status', '<>', OrderStatusEnum::CANCELLED)
  31. ->where('order.is_delete', '=', 0)
  32. ->sum('order_goods.total_num');
  33. return $totalNum;
  34. }
  35. }