mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 13:31:04 +00:00
- 订单详情按查看者裁剪:购买者隐藏收货信息、物流轨迹及确认收货/申请退款/查看物流;领取人展示收货信息、物流轨迹与确认收货/查看物流 - 领取人订单列表纳入礼物订单并只读展示,统计计数含礼物、金额仅计本人支付 - 收礼人可确认收货;修复领取成功页订单号传递与领取页礼物详情查询 - 新增 eb_order_center.gift_uid 实体列与索引并同步安装 SQL - 详情接口物流轨迹改为缓存读取 + 前端异步补齐,空轨迹短缓存 120 秒,修复送礼订单物流接口收货地址取值
97 lines
3.4 KiB
PHP
97 lines
3.4 KiB
PHP
<?php
|
||
declare(strict_types=1);
|
||
|
||
namespace app\model\order;
|
||
|
||
use crmeb\basic\BaseModel;
|
||
use crmeb\trade\order\type\OrderTypeAdapterInterface;
|
||
use crmeb\traits\ModelTrait;
|
||
|
||
/**
|
||
* 订单中台模型
|
||
* 统一管理所有类型订单的元数据
|
||
*
|
||
* 状态常量已委托给 crmeb\trade\order\type\OrderTypeAdapterInterface
|
||
* 本模型保留常量别名以兼容已有代码,新代码请直接引用接口常量或从 Adapter 继承
|
||
*
|
||
* @method static $this where($field, $operator = null, $value = null)
|
||
* @property int $gift_uid 礼品领取人UID(0=未领取;领取后用于领取人订单列表/详情权限)
|
||
* @property int $pay_counted 购买次数已记账标记,与用户计数同事务提交
|
||
* @property int $take_rewards_given 收货奖励已记账标记,防止重复发奖
|
||
* @property array|string|null $refund_reward_accounted 退款奖励累计已处理目标,含已核对短缺
|
||
*/
|
||
class OrderCenter extends BaseModel
|
||
{
|
||
use ModelTrait;
|
||
|
||
/**
|
||
* 表名
|
||
* @var string
|
||
*/
|
||
protected $name = 'order_center';
|
||
|
||
/**
|
||
* 主键
|
||
* @var string
|
||
*/
|
||
protected $pk = 'id';
|
||
|
||
/**
|
||
* 统一状态码常量(委托给 OrderTypeAdapterInterface)
|
||
* 数据库字段 status_code
|
||
*/
|
||
const STATUS_PENDING_PAYMENT = OrderTypeAdapterInterface::STATUS_PENDING_PAYMENT;
|
||
const STATUS_PROCESSING = OrderTypeAdapterInterface::STATUS_PROCESSING;
|
||
const STATUS_PENDING_REVIEW = OrderTypeAdapterInterface::STATUS_PENDING_REVIEW;
|
||
const STATUS_COMPLETED = OrderTypeAdapterInterface::STATUS_COMPLETED;
|
||
const STATUS_CANCELED = OrderTypeAdapterInterface::STATUS_CANCELED;
|
||
const STATUS_AFTER_SALE = OrderTypeAdapterInterface::STATUS_AFTER_SALE;
|
||
const STATUS_REFUNDING = OrderTypeAdapterInterface::STATUS_REFUNDING;
|
||
const STATUS_REFUNDED = OrderTypeAdapterInterface::STATUS_REFUNDED;
|
||
const STATUS_DELETED = OrderTypeAdapterInterface::STATUS_DELETED;
|
||
|
||
/**
|
||
* 支付状态常量(委托给 OrderTypeAdapterInterface)
|
||
* 数据库字段 pay_status
|
||
*/
|
||
const PAY_UNPAID = OrderTypeAdapterInterface::PAY_UNPAID;
|
||
const PAY_PAID = OrderTypeAdapterInterface::PAY_PAID;
|
||
const PAY_PARTIAL_REFUND = OrderTypeAdapterInterface::PAY_PARTIAL_REFUND;
|
||
const PAY_FULL_REFUND = OrderTypeAdapterInterface::PAY_FULL_REFUND;
|
||
|
||
/**
|
||
* 退款状态常量(委托给 OrderTypeAdapterInterface)
|
||
* 数据库字段 refund_status
|
||
*/
|
||
const REFUND_NONE = OrderTypeAdapterInterface::REFUND_NONE;
|
||
const REFUND_APPLYING = OrderTypeAdapterInterface::REFUND_APPLYING;
|
||
const REFUND_SUCCESS = OrderTypeAdapterInterface::REFUND_SUCCESS;
|
||
|
||
/**
|
||
* 状态码映射表
|
||
* @var array<string, string>
|
||
*/
|
||
public static array $statusMap = OrderTypeAdapterInterface::STATUS_MAP;
|
||
|
||
/**
|
||
* 支付状态映射表
|
||
* @var array<int, string>
|
||
*/
|
||
public static array $payStatusMap = [
|
||
self::PAY_UNPAID => '未支付',
|
||
self::PAY_PAID => '已支付',
|
||
self::PAY_PARTIAL_REFUND => '部分退款',
|
||
self::PAY_FULL_REFUND => '全额退款',
|
||
];
|
||
|
||
/**
|
||
* 退款状态映射表
|
||
* @var array<int, string>
|
||
*/
|
||
public static array $refundStatusMap = [
|
||
self::REFUND_NONE => '无退款',
|
||
self::REFUND_APPLYING => '退款中',
|
||
self::REFUND_SUCCESS => '已退款',
|
||
];
|
||
}
|