RD订单优化

This commit is contained in:
邓皓元 2019-01-21 18:07:23 +08:00
parent d3aa38903b
commit 23f2a1de9a
4 changed files with 43 additions and 26 deletions

View File

@ -39,6 +39,7 @@ class AddedOrderSync extends Command
foreach ($orderItems as $key => $value) {
$dataOrderCards[$value['type']][] = [
'type' => $value['type'],
'sim' => $value['sim'],
'company_id' => $value['company_id'],
'order_id' => $value['order_id'],

View File

@ -1,19 +1,13 @@
<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRealAddedOrderCardsTables extends Migration
{
protected $tables = [
'real_added_order_renewal_cards' => 'RD卡关联基础订单',
'real_added_order_renewal_package_cards' => 'RD卡关联续费包订单',
'real_added_order_flows_package_cards' => 'RD卡关联加油包订单',
'real_added_order_optional_package_cards' => 'RD卡关联可选包订单',
'real_added_order_additional_package_cards' => 'RD卡关联附加包订单',
];
/**
* Run the migrations.
*
@ -21,22 +15,11 @@ class CreateRealAddedOrderCardsTables extends Migration
*/
public function up()
{
foreach ($this->tables as $table_name => $table_comment) {
if (Schema::hasTable($table_name)) {
continue;
}
Schema::create($table_name, function (Blueprint $table) use ($table_comment) {
$table->integer('order_id')->unsigned()->default(0)->comment('订单ID');
$table->bigInteger('sim')->unsigned()->default(0)->comment('SIM卡号');
$table->integer('company_id')->unsigned()->default(0)->comment('企业ID');
$table->integer('package_id')->unsigned()->default(0)->comment('套餐ID');
$table->integer('counts')->unsigned()->default(1)->comment('数量');
$table->integer('unit_price')->unsigned()->default(0)->comment('单价');
$table->primary(['order_id', 'sim']);
$table->comment($table_comment);
});
if (Schema::hasTable('real_added_order_cards_table_partition')) {
return;
}
DB::unprepared(File::get(__DIR__ . '/create_real_added_order_cards_table.pgsql'));
}
/**
@ -46,8 +29,6 @@ class CreateRealAddedOrderCardsTables extends Migration
*/
public function down()
{
foreach ($this->tables as $table_name => $table_comment) {
Schema::dropIfExists($table_name);
}
Schema::dropIfExists('real_added_order_cards_table_partition');
}
}

View File

@ -0,0 +1,34 @@
CREATE TABLE "real_added_order_cards_table_partition" (
"type" int2 NOT NULL DEFAULT 0,
"sim" int8 NOT NULL DEFAULT 0,
"order_id" int4 NOT NULL DEFAULT 0,
"company_id" int4 NOT NULL DEFAULT 0,
"package_id" int4 NOT NULL DEFAULT 0,
"counts" int4 NOT NULL DEFAULT 1,
"unit_price" int4 NOT NULL DEFAULT 0,
"created_at" timestamp(0),
"updated_at" timestamp(0))
PARTITION BY
LIST (
"type"
);
COMMENT ON COLUMN "real_added_order_cards_table_partition"."type" IS '订单类型1:套餐续费 2续费包 3:加油包 4:可选包 5:附加包)';
COMMENT ON COLUMN "real_added_order_cards_table_partition"."sim" IS 'SIM卡号';
COMMENT ON COLUMN "real_added_order_cards_table_partition"."order_id" IS '订单ID';
COMMENT ON COLUMN "real_added_order_cards_table_partition"."company_id" IS '企业ID';
COMMENT ON COLUMN "real_added_order_cards_table_partition"."package_id" IS '套餐ID';
COMMENT ON COLUMN "real_added_order_cards_table_partition"."counts" IS '数量';
COMMENT ON TABLE "real_added_order_cards_table_partition" IS 'RD续费及增值包订单关联卡';
CREATE TABLE real_added_order_renewal_cards PARTITION OF real_added_order_cards_table_partition FOR VALUES IN (1);
CREATE TABLE real_added_order_renewal_package_cards PARTITION OF real_added_order_cards_table_partition FOR VALUES IN (2);
CREATE TABLE real_added_order_flows_package_cards PARTITION OF real_added_order_cards_table_partition FOR VALUES IN (3);
CREATE TABLE real_added_order_optional_package_cards PARTITION OF real_added_order_cards_table_partition FOR VALUES IN (4);
CREATE TABLE real_added_order_additional_package_cards PARTITION OF real_added_order_cards_table_partition FOR VALUES IN (5);
CREATE UNIQUE INDEX "real_added_order_renewal_cards_order_id_sim_deleted_at_unique" ON "real_added_order_renewal_cards" (order_id, sim);
CREATE UNIQUE INDEX "real_added_order_renewal_package_cards_order_id_sim_deleted_at_unique" ON "real_added_order_renewal_package_cards" (order_id, sim);
CREATE UNIQUE INDEX "real_added_order_flows_package_cards_order_id_sim_deleted_at_unique" ON "real_added_order_flows_package_cards" (order_id, sim);
CREATE UNIQUE INDEX "real_added_order_optional_package_cards_order_id_sim_deleted_at_unique" ON "real_added_order_optional_package_cards" (order_id, sim);
CREATE UNIQUE INDEX "real_added_order_additional_package_cards_order_id_sim_deleted_at_unique" ON "real_added_order_additional_package_cards" (order_id, sim);

View File

@ -23,6 +23,7 @@ PARTITION BY
ALTER SEQUENCE "virtual_order_cards_partition_id_seq" OWNED BY "virtual_order_cards_partition"."id";
COMMENT ON COLUMN "virtual_order_cards_partition"."id" IS '关联表ID';
COMMENT ON COLUMN "virtual_order_cards_partition"."type" IS '订单类型0:基础套餐 1:套餐续费 2续费包 3:加油包 4:可选包 5:附加包)';
COMMENT ON COLUMN "virtual_order_cards_partition"."sim" IS 'SIM卡号';
COMMENT ON COLUMN "virtual_order_cards_partition"."order_id" IS '订单ID';
COMMENT ON COLUMN "virtual_order_cards_partition"."company_id" IS '企业ID';