'临时停车', self::STATUS_RIDE_BIKE => '骑行中', self::STATUS_CLOSE_BIKE => '待支付', self::STATUS_COMPLETE_ORDER => '已完成', self::STATUS_CLOSE_ORDER => '订单关闭' ]; const ADMIN_SETTLE_ORDER_AUTO_CLOSE = 2; const ADMIN_SETTLE_ORDER_ADMIN = 1; const ADMIN_SETTLE_ORDER_USER = 0; public static $adminSettleOrderMaps = [ self::ADMIN_SETTLE_ORDER_USER => '正常结算', self::ADMIN_SETTLE_ORDER_ADMIN => '管理员结算', self::ADMIN_SETTLE_ORDER_AUTO_CLOSE => '系统自动结算', ]; const PAY_STATUS_OK = 1; const PAY_STATUS_NO = 0; public static $payStatusMaps = [ self::PAY_STATUS_NO => '已支付', self::PAY_STATUS_OK => '未支付' ]; const REFUND_MONEY_OK = 1; const REFUND_MONEY_NO = 0; public static $refundMoneyMaps = [ self::REFUND_MONEY_NO => '未返还', self::REFUND_MONEY_OK => '已返还' ]; const PAY_TYPE_NO = 0; const PAY_TYPE_WECHAT = 1; const PAY_TYPE_ACCOUNT = 2; public static $payTypeMaps = [ self::PAY_TYPE_NO => '待支付', self::PAY_TYPE_WECHAT => '微信支付', self::PAY_TYPE_ACCOUNT => '余额支付' ]; const PREFERENTIAL_NO = 0; const PREFERENTIAL_CARD_RIDING = 1; public static $preferentialTypeMaps = [ self::PREFERENTIAL_NO => '无优惠', self::PREFERENTIAL_CARD_RIDING => '骑行卡优惠', ]; public function users() { return $this->belongsTo(User::class, 'user_id', 'id'); } public function bikes() { return $this->belongsTo(Bike::class, 'bike_id', 'id'); } public function order_bike_operates() { return $this->hasMany(OrderBikeOperate::class, 'order_id', 'id'); } public function area() { return $this->belongsTo(Area::class, 'area_id', 'id'); } public function locationsLog() { return $this->hasMany(LocationsLog::class, 'order_id', 'id'); } public function walletLogs() { return $this->morphMany(WalletLog::class, 'log'); } public function getOrderTypeAttribute(){ return self::ORDER_TYPE; } /** * 生成订单号 * @return bool|string * User: Mead */ public static function makeNo() { // 订单流水号前缀 $prefix = self::NO_TAG . date('YmdHis'); for ($i = 0; $i < 10; $i++) { // 随机生成 6 位的数字 $no = $prefix . str_pad(random_int(0, 999999), 6, '0', STR_PAD_LEFT); // 判断是否已经存在 if (!static::query()->where('no', $no)->exists()) { return $no; } } Log::warning('find order no failed'); return false; } /** * 根据用户id 查询今日订单次数 * @param $user_id * * */ public static function getTodayOrderNum($user_id){ return self::query()->where('created_at','>',Carbon::today())->where('user_id',$user_id)->count(); } }