update order and order item db model

This commit is contained in:
2026-01-29 15:53:41 +08:00
parent 4e21ebfe5f
commit adc6ca4488
2 changed files with 25 additions and 13 deletions
+11 -5
View File
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Model; namespace App\Model;
use Hyperf\DbConnection\Model\Model; use App\Model\OrderItem;
/** /**
* @property int $id 主键 * @property int $id 主键
@@ -58,13 +58,19 @@ class Order extends Model
*/ */
protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_status_id' => 'integer', 'payment_method_id' => 'integer', 'presale' => 'boolean', 'order_type_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime']; protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_status_id' => 'integer', 'payment_method_id' => 'integer', 'presale' => 'boolean', 'order_type_id' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
/** /**
* Get the order items for the order. * 获取订单子项(基于 hypertable 分区键查询)
*
* @return \Hyperf\Database\Model\Collection
*/ */
public function items() public function getOrderItems()
{ {
return $this->hasMany(OrderItem::class, 'order_id', 'id'); return OrderItem::query()
->where('platform_id', $this->platform_id)
->where('store_id', $this->store_id)
->where('platform_order_id', $this->platform_order_id)
->where('created_date', $this->created_date)
->get();
} }
} }
+14 -8
View File
@@ -4,8 +4,6 @@ declare(strict_types=1);
namespace App\Model; namespace App\Model;
use Hyperf\DbConnection\Model\Model;
/** /**
* @property int $id 主键 * @property int $id 主键
* @property int $company_id 公司 ID 与 Tools 保持一致 * @property int $company_id 公司 ID 与 Tools 保持一致
@@ -23,9 +21,10 @@ use Hyperf\DbConnection\Model\Model;
* @property int $quantity 商品子项总数量 * @property int $quantity 商品子项总数量
* @property string $discount 订单子项总的折扣金额 * @property string $discount 订单子项总的折扣金额
* @property string $total 总金额 = 单价X数量 - 折扣 * @property string $total 总金额 = 单价X数量 - 折扣
* @property string $created_date 订单创建时间(与父订单 created_date 一致,hypertable 分区键)
* @property string $ext 扩展字段 * @property string $ext 扩展字段
* @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at * @property \Carbon\Carbon $updated_at
* @mixin \App_Model_OrderItem * @mixin \App_Model_OrderItem
*/ */
class OrderItem extends Model class OrderItem extends Model
@@ -38,7 +37,7 @@ class OrderItem extends Model
/** /**
* The attributes that are mass assignable. * The attributes that are mass assignable.
*/ */
protected array $fillable = ['id', 'company_id', 'platform_id', 'store_id', 'order_id', 'platform_order_id', 'sub_order_id', 'sub_order_type_id', 'product_id', 'platform_product_id', 'product_sku', 'product_barcode', 'unit_price', 'quantity', 'discount', 'total', 'ext', 'created_at', 'updated_at']; protected array $fillable = ['id', 'company_id', 'platform_id', 'store_id', 'order_id', 'platform_order_id', 'sub_order_id', 'sub_order_type_id', 'product_id', 'platform_product_id', 'product_sku', 'product_barcode', 'unit_price', 'quantity', 'discount', 'total', 'created_date', 'ext', 'created_at', 'updated_at'];
/** /**
* The attributes that should be cast to native types. * The attributes that should be cast to native types.
@@ -46,10 +45,17 @@ class OrderItem extends Model
protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_id' => 'integer', 'sub_order_type_id' => 'integer', 'product_id' => 'integer', 'quantity' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime']; protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'order_id' => 'integer', 'sub_order_type_id' => 'integer', 'product_id' => 'integer', 'quantity' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
/** /**
* Get the order that owns the order item. * 获取父订单(基于 hypertable 分区键查询)
*
* @return Order|null
*/ */
public function order() public function getParentOrder(): ?Order
{ {
return $this->belongsTo(Order::class, 'order_id', 'id'); return Order::query()
->where('platform_id', $this->platform_id)
->where('store_id', $this->store_id)
->where('platform_order_id', $this->platform_order_id)
->where('created_date', $this->created_date)
->first();
} }
} }