123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- /*
- * This file is part of ibrand/order.
- *
- * (c) iBrand <https://www.ibrand.cc>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- use Illuminate\Support\Facades\Schema;
- use Illuminate\Database\Schema\Blueprint;
- use Illuminate\Database\Migrations\Migration;
- class CreateOrderTables extends Migration
- {
- /**
- * Run the migrations.
- *
- * @return void
- */
- public function up()
- {
- $prefix = config('ibrand.app.database.prefix') ?? 'ibrand_';
- Schema::create($prefix . 'order', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('user_id')->unsigned();
- $table->string('order_no'); //订单编号
- //状态类信息
- $table->integer('status')->unsigned()->default(0); //订单状态:1生成订单,2支付订单,3取消订单,4作废订单,5完成订单,6退款
- $table->tinyInteger('pay_status')->unsigned()->default(0); //支付状态:0未支付,1已支付
- $table->integer('distribution_status')->unsigned()->default(0); //发货状态:0未发货,1已发货
- //商品金额类信息
- $table->integer('count')->unsigned()->default(0); //商品总数
- $table->integer('items_total'); //商品总金额
- $table->integer('adjustments_total')->default(0); //优惠金额,负数,包含了促销和优惠券以及其他优惠的总金额,默认为零因为可能没有优惠活动
- $table->integer('payable_freight')->default(0); //应付运费金额
- $table->integer('real_freight')->default(0); //实付运费金额
- $table->integer('total'); //订单总金额: items_total+adjustments_total+real_freight
- //收货人信息
- $table->string('accept_name')->nullable(); //收货人姓名
- $table->string('mobile')->nullable(); //电话号码
- $table->string('address')->nullable();
- $table->string('address_name')->nullable(); //备用:收货地//详细地址址省市区名称
- //时间类信息
- $table->timestamp('submit_time')->nullable(); //付款时间
- $table->timestamp('pay_time')->nullable(); //付款时间
- $table->timestamp('send_time')->nullable(); //发货时间
- $table->timestamp('completion_time')->nullable(); //订单完成时间
- $table->timestamp('accept_time')->nullable(); //客户收货时间
- $table->string('message')->nullable(); //用户留言
- $table->integer('type')->default(0); //各种订单类型,拼团订单,秒杀订单,折扣订单等
- $table->string('channel')->default('ec'); //ec 电商,shop 代表门店
- $table->unsignedInteger('channel_id')->default(0); //channel=ec channel_id=0, 否则 channel_id= shopid
- $table->string('cancel_reason')->nullable(); //取消原因
- $table->string('note')->nullable(); //管理员备注
- $table->timestamps();
- $table->softDeletes();
- });
- Schema::create($prefix . 'order_item', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('order_id')->unsigned();
- $table->integer('item_id')->unsigned();
- $table->string('item_name');
- $table->string('type');
- $table->text('item_meta')->nullable()->default(null);
- $table->integer('quantity')->unsigned(); //商品数量
- $table->integer('unit_price'); //商品单价
- $table->integer('units_total')->unsigned(); //商品总价 = unit_price * quantity
- $table->integer('adjustments_total')->default(0)->nullable(); //总的优惠金额,负数
- $table->integer('total'); //unitPrice * quantity + adjustmentsTotal
- $table->timestamps();
- $table->softDeletes();
- });
- Schema::create($prefix . 'order_adjustment', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('order_id')->unsigned()->nullable();
- $table->integer('order_item_id')->unsigned()->nullable();
- $table->integer('order_item_unit_id')->unsigned()->nullable();
- $table->string('type'); //优惠对象,订单, 商品,运费等
- $table->string('label')->nullable(); // 文案描述:"9折"
- $table->integer('amount')->default(0); //优惠金额,统一用分来表示
- $table->string('origin_type')->nullable(); //优惠类型 discount, coupon ,membership,vip
- $table->integer('origin_id')->default(0); //优惠券ID或者discount ID,或者用户组group id
- $table->timestamps();
- $table->softDeletes();
- });
- Schema::create($prefix . 'order_comment', function (Blueprint $table) {
- $table->increments('id');
- $table->integer('order_id')->unsigned()->default(0);
- $table->integer('order_item_id')->unsigned()->default(0);
- $table->integer('item_id')->unsigned()->default(0); //评价的商品,应该使用goods_id
- $table->text('item_meta')->nullable();
- $table->integer('user_id')->unsigned();
- $table->text('user_meta')->nullable();
- $table->text('contents')->nullable();
- $table->integer('point')->nullable()->defalut(0); //评价分数
- $table->string('status')->nullable(); //评价状态
- $table->text('pic_list')->nullable();//评价的图片
- $table->tinyInteger('recommend')->default(0);//是否推荐
- $table->timestamp('recommend_at')->nullable(); //推荐时间
- $table->timestamps();
- $table->softDeletes();
- });
- }
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- $prefix = config('ibrand.app.database.prefix') ?? 'ibrand_';
- Schema::dropIfExists($prefix . 'order_comment');
- Schema::dropIfExists($prefix . 'order_adjustment');
- Schema::dropIfExists($prefix . 'order_item');
- Schema::dropIfExists($prefix . 'order');
- }
- }
|