caipan_shop_admin/app/model/Order.php

67 lines
1.8 KiB
PHP
Raw Normal View History

2022-05-25 11:35:57 +00:00
<?php
namespace app\model;
use think\model\relation\HasMany;
use think\model\relation\HasOne;
class Order extends Base
{
public const STATUS_ORDER_PLACED = 'order_placed';//已下单 (已付款待发货)
public const STATUS_MAKEING = 'makeing';//制作中
public const STATUS_SHIPPED = 'shipped';//已发货
public const STATUS_ARRIVED = 'arrived';//已送达
public const STATUS_CANCEL = 'cancel';//已取消
public const CHECK_TYPE_FRONTEND = 'frontend';//核验类型 前端核验|线下核验
public const CHECK_TYPE_BACKEND = 'backend';//核验类型 后台核验|线上核验
public const PAY_TYPE_WECHAT = 'wechat';//微信
public const PAY_TYPE_SCORE = 'score';//积分
/**
* 核验方式列表
*
* @return string[]
*/
public static function checkTypeList(): array
{
return [self::CHECK_TYPE_FRONTEND, self::CHECK_TYPE_BACKEND];
}
/**
* 模型关联订单下的sku
* 一对多关系
*
* @return HasMany
*/
public function skus(): HasMany
{
return $this->hasMany(OrderSku::class, 'order_coding', 'coding')->whereNull('deleted_at');
}
/**
* 模型关联:下单会员
* @return HasOne
*/
public function account(): HasOne
{
return $this->hasOne(Account::class, 'id', 'account_id');
}
/**
* 订单状态描述
*/
public static function statusTextList(): array
{
return [
self::STATUS_ORDER_PLACED => '已下单',
self::STATUS_MAKEING => '制作中',
self::STATUS_SHIPPED => '已发货',
self::STATUS_ARRIVED => '已送达',
self::STATUS_CANCEL => '已取消',
];
}
}