Files
ulthon_admin/app/admin/scheme/TestGoods.php
2026-01-09 21:38:25 +08:00

121 lines
4.8 KiB
PHP

<?php
namespace app\admin\scheme;
use app\common\scheme\BaseScheme;
use app\common\scheme\attribute\Table;
use app\common\scheme\attribute\Field;
use app\common\scheme\attribute\Component;
use app\common\scheme\attribute\Index;
#[Table(name: 'ul_test_goods', comment: '')]
#[Index(columns: ['uid'], name: 'uid', type: 'UNIQUE')]
#[Index(columns: ['cate_id'], name: 'cate_id', type: 'NORMAL')]
#[Index(columns: ['detail'], name: 'detail', type: 'FULLTEXT')]
class TestGoods extends BaseScheme
{
#[Field(type: 'int', length: 11, nullable: false, unsigned: true, autoIncrement: true, primary: true)]
public $id;
#[Field(type: 'bigint', length: 11, nullable: false, default: '0', comment: '分类ID', unsigned: true)]
#[Component(type: 'relation', options: ['table' => 'mall_cate', 'relationBindSelect' => 'title'])]
public $cate_id;
#[Field(type: 'char', length: 20, precision: 20, nullable: false, default: '', comment: '商品名称')]
public $title;
#[Field(type: 'char', length: 255, precision: 255, nullable: false, comment: '商品logo')]
#[Component(type: 'image', options: [])]
public $logo;
#[Field(type: 'text', nullable: false, comment: '商品图片')]
#[Component(type: 'images', options: [])]
public $images;
#[Field(type: 'text', nullable: false, comment: '商品描述')]
#[Component(type: 'editor', options: [])]
public $describe;
#[Field(type: 'int', length: 11, nullable: false, default: '0', comment: '总库存', unsigned: true)]
public $total_stock;
#[Field(type: 'int', length: 11, nullable: false, default: '0', comment: '排序', unsigned: true)]
public $sort;
#[Field(type: 'int', length: 11, nullable: false, default: '0', comment: '状态', unsigned: true)]
#[Component(type: 'radio', options: ['正常', '禁用'])]
public $status;
#[Field(length: 100, precision: 100, nullable: false, comment: '合格证')]
#[Component(type: 'file', options: [])]
public $cert_file;
#[Field(type: 'text', nullable: false, comment: '检测报告')]
#[Component(type: 'files', options: [])]
public $verfiy_file;
#[Field(type: 'char', length: 255, precision: 255, nullable: false, default: '', comment: '备注说明')]
public $remark;
#[Field(type: 'int', length: 11, nullable: false, default: '0', unsigned: true)]
public $create_time;
#[Field(type: 'int', length: 11, nullable: false, default: '0', unsigned: true)]
public $update_time;
#[Field(type: 'int', length: 11, nullable: false, default: '0', unsigned: true)]
public $delete_time;
#[Field(type: 'datetime', nullable: false, comment: '发布日期')]
#[Component(type: 'date', options: ['date'])]
public $publish_time;
#[Field(type: 'date', nullable: false, comment: '售卖日期')]
#[Component(type: 'date', options: ['datetime'])]
public $sale_time;
#[Field(length: 100, precision: 100, nullable: false, comment: '简介')]
#[Component(type: 'textarea', options: [])]
public $intro;
#[Field(type: 'int', length: 11, nullable: false, comment: '秒杀状态', unsigned: true)]
#[Component(type: 'select', options: [0 => '未参加', 1 => '已开始', 3 => '已结束'])]
public $time_status;
#[Field(type: 'int', length: 11, nullable: false, default: '0', comment: '是否推荐')]
#[Component(type: 'switch', options: ['不推荐', '推荐'])]
public $is_recommend;
#[Field(length: 100, precision: 100, nullable: false, default: '0', comment: '商品类型')]
#[Component(type: 'checkbox', options: ['taobao' => '淘宝', 'jd' => '京东'])]
public $shop_type;
#[Field(length: 100, precision: 100, nullable: false, comment: '商品标签')]
#[Component(type: 'table', options: ['table' => 'mall_tag', 'type' => 'checkbox', 'valueField' => 'id', 'fieldName' => 'title'])]
public $tag;
#[Field(length: 100, precision: 100, comment: '商品标签(单选)')]
#[Component(type: 'table', options: ['table' => 'mall_tag', 'type' => 'radio', 'valueField' => 'id', 'fieldName' => 'title'])]
public $tag_backup;
#[Field(length: 100, precision: 100, nullable: false, comment: '产地')]
#[Component(type: 'city', options: ['name-province' => '0', 'code' => '0'])]
public $from_area;
#[Field(length: 100, precision: 100, nullable: false, default: '山东省/临沂市', comment: '仓库')]
#[Component(type: 'city', options: ['level' => 'city'])]
public $store_city;
#[Field(length: 100, precision: 100, nullable: false, comment: '商品标签 (输入)')]
#[Component(type: 'tag', options: [])]
public $tag_input;
#[Field(length: 100, precision: 100, nullable: false, comment: '唯一id')]
public $uid;
#[Field(type: 'decimal', length: 10, precision: 10, comment: '价格')]
public $price;
#[Field(type: 'text', comment: '详情')]
public $detail;
}