From 169a6ac86b48524dd275fcc758a67dece201ee47 Mon Sep 17 00:00:00 2001 From: denghy Date: Wed, 5 Dec 2018 16:24:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Real/Commands/Sync/ActivateSync.php | 9 +- .../Real/Commands/Sync/OrderBaseSync.php | 7 +- .../Real/Commands/Sync/OrderCustomSync.php | 9 +- .../Real/Commands/Sync/PackageSync.php | 56 ++-- .../Real/Repositories/CardRepository.php | 20 ++ .../2018_11_27_175137_create_base_tables.php | 9 +- .../2018_11_27_175146_create_order_tables.php | 2 + ...018_11_27_175152_create_package_tables.php | 2 + postgres.sql | 273 ++++++++++++++++++ public/index.php | 4 - 10 files changed, 357 insertions(+), 34 deletions(-) create mode 100644 postgres.sql diff --git a/app/Domains/Real/Commands/Sync/ActivateSync.php b/app/Domains/Real/Commands/Sync/ActivateSync.php index f0cf88ab..ac0346b1 100644 --- a/app/Domains/Real/Commands/Sync/ActivateSync.php +++ b/app/Domains/Real/Commands/Sync/ActivateSync.php @@ -6,6 +6,7 @@ use Carbon\Carbon; use App\Models\Real\Card; use MongoDB\BSON\UTCDateTime; use Illuminate\Support\Facades\DB; +use App\Domains\Real\Repositories\CardRepository; use App\Domains\Real\Repositories\PackageRepository; class ActivateSync extends Command @@ -14,6 +15,8 @@ class ActivateSync extends Command protected $description = '同步RD激活数据'; + protected $chunks = 1000; + public function handle() { $datetime = $this->getDateTime(); @@ -31,7 +34,7 @@ class ActivateSync extends Command $total = 0; $this->line('拼装更新数据:'.count($res)); - $chucks = array_chunk($res, 10000); + $chucks = array_chunk($res, $this->chunks); foreach ($chucks as $chuck) { echo '.'; $cards = Card::select(['sim', 'package_id'])->whereIn('sim', array_pluck($chuck, 'cNo'))->get()->keyBy('sim')->toArray(); @@ -62,9 +65,11 @@ class ActivateSync extends Command foreach (array_chunk($list, 3000) as $data) { echo '.'; - Card::upsert($data, 'sim'); + app(CardRepository::class)->updateActivateAt($data); } + app(CardRepository::class)->forgetCached(); + $this->line('更新数据成功'); } } diff --git a/app/Domains/Real/Commands/Sync/OrderBaseSync.php b/app/Domains/Real/Commands/Sync/OrderBaseSync.php index c15c3ec2..3829d82d 100644 --- a/app/Domains/Real/Commands/Sync/OrderBaseSync.php +++ b/app/Domains/Real/Commands/Sync/OrderBaseSync.php @@ -23,7 +23,7 @@ class OrderBaseSync extends Command protected static $carrierOperators = [1, 0, 2]; - protected $chunks = 5000; + protected $chunks = 1000; public function handle() { @@ -31,6 +31,7 @@ class OrderBaseSync extends Command $cards = $this->getCards(); + $this->chunks * $bar = $this->output->createProgressBar(count($cards)); $card_details = $this->getCardDetails($cards); @@ -137,7 +138,7 @@ class OrderBaseSync extends Command foreach ($cardChunks as $cardChunk) { echo '.'; - $res = DB::connection('mongo')->table('tblCard')->select(['cNo', 'bNo', 'sPCode', 'iccid', 'imsi', 'soDate', 'comId', 'oType', 'jBatchNo']) + $res = DB::connection('mongo')->table('tblCard')->select(['cNo', 'iccid', 'imsi', 'comId', 'oType']) ->where('isDel', '<>', 1) ->whereIn('cNo', array_pluck($cardChunk, 'sim'))->get()->toArray(); @@ -257,7 +258,7 @@ class OrderBaseSync extends Command 'updated_at' => date('Y-m-d H:i:s'), ]; - $dataOrderCards[] = [ + $dataOrderCards[$value['sim']] = [ 'sim' => $value['sim'], 'order_id' => $value['order_id'], 'counts' => 1, diff --git a/app/Domains/Real/Commands/Sync/OrderCustomSync.php b/app/Domains/Real/Commands/Sync/OrderCustomSync.php index 2f240912..e1576c1d 100644 --- a/app/Domains/Real/Commands/Sync/OrderCustomSync.php +++ b/app/Domains/Real/Commands/Sync/OrderCustomSync.php @@ -7,6 +7,7 @@ use Carbon\Carbon; use App\Models\Real\Order; use MongoDB\BSON\UTCDateTime; use Illuminate\Support\Facades\DB; +use App\Domains\Real\Services\CommonService; use App\Domains\Real\Repositories\OrderRepository; class OrderCustomSync extends Command @@ -15,7 +16,7 @@ class OrderCustomSync extends Command protected $description = '同步RD企业订单数据'; - protected $chunks = 5000; + protected $chunks = 1000; public function handle() { @@ -38,7 +39,7 @@ class OrderCustomSync extends Command $dataOrders[$value['order_id']] = [ 'id' => $value['order_id'], 'type' => $value['type'], - 'company_id' => $order['company_id'], + 'company_id' => CommonService::parseCompanyId($order['company_id']), 'transaction_no' => $order['transaction_no'], 'pay_channel' => $order['pay_channel'], 'unit_price' => $order['unit_price'], @@ -49,14 +50,14 @@ class OrderCustomSync extends Command 'updated_at' => date('Y-m-d H:i:s'), ]; - $dataOrderCards[$value['type']][] = [ + $dataOrderCards[$value['type']][$value['sim']] = [ 'sim' => $value['sim'], 'order_id' => $value['order_id'], 'counts' => $value['item_counts'], 'unit_price' => $value['item_unit_price'], ]; - $dataPackageCards[$value['type']][] = [ + $dataPackageCards[$value['type']][$value['sim']] = [ 'package_id' => $value['package_id'], 'sim' => $value['sim'], ]; diff --git a/app/Domains/Real/Commands/Sync/PackageSync.php b/app/Domains/Real/Commands/Sync/PackageSync.php index 3eeca864..d900f832 100644 --- a/app/Domains/Real/Commands/Sync/PackageSync.php +++ b/app/Domains/Real/Commands/Sync/PackageSync.php @@ -35,13 +35,19 @@ class PackageSync extends Command $renewalPackages = $this->getRenewalPackages(); foreach ($renewalPackages as &$item) { - $item['carrier_operator'] = $basePackages[$item['parent_id']]['carrier_operator']; - $item['flows'] = $basePackages[$item['parent_id']]['flows']; - $item['voices'] = $basePackages[$item['parent_id']]['voices']; - $item['messages'] = $basePackages[$item['parent_id']]['messages']; - $item['has_message_switch'] = $basePackages[$item['parent_id']]['has_message_switch']; - $item['has_lbs'] = $basePackages[$item['parent_id']]['has_lbs']; - $item['reset_months'] = $basePackages[$item['parent_id']]['reset_months']; + $basePackage = $basePackages[$item['parent_id']]; + + if (!$basePackage) { + throw new \App\Exceptions\InvalidArgumentException('续费包未找到对应基础套餐 #:'.$$item['id']); + } + + $item['carrier_operator'] = $basePackage['carrier_operator']; + $item['flows'] = $basePackage['flows']; + $item['voices'] = $basePackage['voices']; + $item['messages'] = $basePackage['messages']; + $item['has_message_switch'] = $basePackage['has_message_switch']; + $item['has_lbs'] = $basePackage['has_lbs']; + $item['reset_months'] = $basePackage['reset_months']; } $flowPackages = $this->getFlowPackages(); @@ -51,7 +57,7 @@ class PackageSync extends Command $packages = array_merge($basePackages, $renewalPackages, $flowPackages, $optionalPackages, $additionalPackages); Package::upsert($packages, 'id'); - + app(PackageRepository::class)->forgetCached(); } @@ -73,11 +79,13 @@ class PackageSync extends Command 'jxc_package.flow_cycle as reset_months', 'jxc_package.package_cycle as service_months', 'jxc_package.del as del', - 'jxc_package.description as description', DB::raw("FROM_UNIXTIME(jxc_package.create_time, '%Y-%m-%d %H:%i:%s') as created_at"), ]; - $packages = DB::connection('real')->table('jxc_package')->select($select)->where('type', 11)->get(); + $packages = DB::connection('real')->table('jxc_package')->join('jxc_package_custom_relation', function ($join) { + $join->on('jxc_package_custom_relation.package_sn', '=', 'jxc_package.package_sn') + ->whereIn('jxc_package_custom_relation.custom_no', $this->companies); + })->select($select)->where('type', 11)->get(); return $this->transform($packages); } @@ -95,10 +103,13 @@ class PackageSync extends Command 'jxc_package_renewal.service_cycle as service_months', 'jxc_package_renewal.create_time as created_at', 'jxc_package_renewal.del', - 'jxc_package_renewal.remark as description', ]; - $packages = DB::connection('real')->table('jxc_package_renewal')->select($select)->get(); + $packages = DB::connection('real')->table('jxc_package_renewal')->join('jxc_package_value_add_relation', function ($join) { + $join->on('jxc_package_value_add_relation.value_add_number', '=', 'jxc_package_renewal.bag_number') + ->whereIn('jxc_package_value_add_relation.custom_no', $this->companies) + ->where('jxc_package_value_add_relation.type', 1); + })->select($select)->get(); return $this->transform($packages); } @@ -121,10 +132,13 @@ class PackageSync extends Command 'jxc_package_flows.service_cycle as service_months', 'jxc_package_flows.create_time as created_at', 'jxc_package_flows.del', - 'jxc_package_flows.remark as description', ]; - $packages = DB::connection('real')->table('jxc_package_flows')->select($select)->get(); + $packages = DB::connection('real')->table('jxc_package_flows')->join('jxc_package_value_add_relation', function ($join) { + $join->on('jxc_package_value_add_relation.value_add_number', '=', 'jxc_package_flows.bag_number') + ->whereIn('jxc_package_value_add_relation.custom_no', $this->companies) + ->where('jxc_package_value_add_relation.type', 2); + })->select($select)->get(); return $this->transform($packages); } @@ -147,10 +161,13 @@ class PackageSync extends Command 'jxc_package_optional.service_cycle as service_months', 'jxc_package_optional.create_time as created_at', 'jxc_package_optional.del', - 'jxc_package_optional.remark as description', ]; - $packages = DB::connection('real')->table('jxc_package_optional')->select($select)->get(); + $packages = DB::connection('real')->table('jxc_package_optional')->join('jxc_package_value_add_relation', function ($join) { + $join->on('jxc_package_value_add_relation.value_add_number', '=', 'jxc_package_optional.bag_number') + ->whereIn('jxc_package_value_add_relation.custom_no', $this->companies) + ->where('jxc_package_value_add_relation.type', 3); + })->select($select)->get(); return $this->transform($packages); } @@ -171,10 +188,13 @@ class PackageSync extends Command 'jxc_package_addoptional.service_cycle as service_months', 'jxc_package_addoptional.create_time as created_at', 'jxc_package_addoptional.del', - 'jxc_package_addoptional.package_remark as description', ]; - $packages = DB::connection('real')->table('jxc_package_addoptional')->select($select)->where('jxc_package_addoptional.tid', 1)->get(); + $packages = DB::connection('real')->table('jxc_package_addoptional')->join('jxc_package_value_add_relation', function ($join) { + $join->on('jxc_package_value_add_relation.value_add_number', '=', 'jxc_package_addoptional.bag_number') + ->whereIn('jxc_package_value_add_relation.custom_no', $this->companies) + ->where('jxc_package_value_add_relation.type', 4); + })->select($select)->where('jxc_package_addoptional.tid', 1)->get(); return $this->transform($packages); } diff --git a/app/Domains/Real/Repositories/CardRepository.php b/app/Domains/Real/Repositories/CardRepository.php index 7e5430a9..fea991e0 100644 --- a/app/Domains/Real/Repositories/CardRepository.php +++ b/app/Domains/Real/Repositories/CardRepository.php @@ -4,6 +4,7 @@ namespace App\Domains\Real\Repositories; use App\Core\Repository; use App\Models\Real\Card as Model; +use Illuminate\Support\Facades\DB; class CardRepository extends Repository { @@ -60,4 +61,23 @@ class CardRepository extends Repository return $this; } + + + /** + * 批量更新激活时间 + * + * @return void + */ + public function updateActivateAt(array $data) + { + $connection = $this->model->getConnection(); + + $arr = array_map(function ($value) { + return sprintf("('%s', '%s')", $value['sim'], $value['activate_at']); + }, $data); + + $sql = 'UPDATE real_cards SET activate_at = list.activate_at::timestamp FROM (VALUES ' . implode(',', $arr) . ') AS list(sim, activate_at) WHERE real_cards.sim = list.sim AND real_cards.activate_at IS NULL'; + + return $connection->update($sql); + } } diff --git a/database/migrations/2018_11_27_175137_create_base_tables.php b/database/migrations/2018_11_27_175137_create_base_tables.php index 70ced087..3c909003 100644 --- a/database/migrations/2018_11_27_175137_create_base_tables.php +++ b/database/migrations/2018_11_27_175137_create_base_tables.php @@ -32,7 +32,10 @@ class CreateBaseTables extends Migration foreach (app(Dicts::class)->get('tables') as $prefix => $type) { Schema::create("{$prefix}_companies", function (Blueprint $table) { $table->increments('id')->comment('企业编号'); - $table->string('name', 32)->comment('企业名称'); + $table->string('name', 32)->default('')->comment('企业名称'); + $table->string('phone', 20)->default('')->comment('手机号'); + $table->string('username', 32)->default('')->comment('登录名'); + $table->string('password', 32)->default('')->comment('密码'); $table->timestamps(); $table->softDeletes(); }); @@ -79,12 +82,12 @@ class CreateBaseTables extends Migration $table->string('price', 20)->comment('单价'); $table->tinyInteger('carrier_operator')->unsigned()->default(255)->comment('运营商(0:联通 1:移动 2:电信)'); $table->timestamp('activate_at')->nullable()->comment('激活时间'); + $table->timestamp('virtual_activate_at')->nullable()->comment('虚拟激活时间'); $table->timestamps(); $table->primary('sim'); $table->index('imsi'); $table->index('iccid'); - $table->index('activate_at'); }); db_alter("{$prefix}_cards", "{$type}卡基础信息表"); @@ -95,7 +98,7 @@ class CreateBaseTables extends Migration $table->string('id', 32)->comment('订单编号'); $table->tinyInteger('type')->unsigned()->default(255)->comment('订单类型(0:基础套餐 1:套餐续费 2:续费包 3:加油包 4:可选包 5:附加包)'); $table->integer('company_id')->unsigned()->default(0)->comment("{$type}企业编号"); - $table->string('transaction_no', 20)->comment('交易流水号'); + $table->string('transaction_no', 64)->comment('交易流水号'); $table->tinyInteger('pay_channel')->unsigned()->default(0)->comment('支付方式(0:银行转账 1:账户余额 2:微信支付 3:支付宝 4:天猫续费)'); $table->integer('unit_price')->unsigned()->default(0)->comment('单价'); $table->integer('counts')->unsigned()->default(0)->comment('数量'); diff --git a/database/migrations/2018_11_27_175146_create_order_tables.php b/database/migrations/2018_11_27_175146_create_order_tables.php index 7d65de5c..1a449b3a 100644 --- a/database/migrations/2018_11_27_175146_create_order_tables.php +++ b/database/migrations/2018_11_27_175146_create_order_tables.php @@ -39,6 +39,8 @@ class CreateOrderTables extends Migration $table->integer('counts')->unsigned()->default(1)->comment('数量'); $table->integer('unit_price')->unsigned()->default(0)->comment('单价'); $table->primary(['order_id', 'sim']); + + $table->unique('sim'); }); db_alter($table_name, $table_comment); diff --git a/database/migrations/2018_11_27_175152_create_package_tables.php b/database/migrations/2018_11_27_175152_create_package_tables.php index 7b540beb..75ca02de 100644 --- a/database/migrations/2018_11_27_175152_create_package_tables.php +++ b/database/migrations/2018_11_27_175152_create_package_tables.php @@ -27,6 +27,8 @@ class CreatePackageTables extends Migration $table->string('package_id', 20)->comment('套餐编号'); $table->string('sim', 20)->comment('sim卡号'); $table->primary(['package_id', 'sim']); + + $table->unique('sim'); }); db_alter($table_name, $table_comment); diff --git a/postgres.sql b/postgres.sql new file mode 100644 index 00000000..e760c644 --- /dev/null +++ b/postgres.sql @@ -0,0 +1,273 @@ +CREATE SERVER IF NOT EXISTS "mysql_real" FOREIGN DATA WRAPPER "mysql_fdw" OPTIONS ( host 'rm-bp13y52rav2jc6952o.mysql.rds.aliyuncs.com', port '3306'); +CREATE USER MAPPING IF NOT EXISTS FOR "root" SERVER "mysql_real" OPTIONS (username 'fdw_readonly', password 'Fxft123456'); + +-- ---------------------------- +-- Table structure for jxc_custom +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_custom" ( + "custom_no" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "status" int2 NOT NULL, + "del" int2 NOT NULL, + "create_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL, + "update_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_custom'); + +-- ---------------------------- +-- Table structure for jxc_custom_order +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_custom_order" ( + "sn" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "custom_no" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "pay_no" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "transaction_no" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "sim_count" int4 NOT NULL, + "amount_money" float8 NOT NULL, + "paytype" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "status" int2 NOT NULL, + "pay_time" varchar(19) NOT NULL, + "create_date" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, + "create_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL, + "update_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_custom_order'); + +-- ---------------------------- +-- Table structure for jxc_custom_order_item +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_custom_order_item" ( + "sn" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "sim" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "goods_no" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "goods_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL, + "goods_type" int2 NOT NULL, + "unit_price" float8 NOT NULL, + "amount_price" float8 NOT NULL, + "quantity" int4 NOT NULL, + "custom_no" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "create_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_custom_order_item'); + +-- ---------------------------- +-- Table structure for jxc_order +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_order" ( + "o_number" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "o_card_use" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, + "o_customer_number" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "o_customer_relation_id" int4 NOT NULL, + "o_customer_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "o_p_number" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "o_p_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "o_price" float8 NOT NULL, + "o_hastest" int2 NOT NULL, + "o_has_empty" int2 NOT NULL, + "o_testing_period_type" int2 NOT NULL, + "o_test_time" int4 NOT NULL, + "o_testing_period_start" date NOT NULL, + "o_testing_period_end" date NOT NULL, + "o_test_flows_type" varchar(10) COLLATE "pg_catalog"."default", + "o_test_flows" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "o_test_msg" int4 NOT NULL, + "o_silent_period_type" int2, + "o_silent_time" int4 NOT NULL, + "o_silent_period_start" date NOT NULL, + "o_silent_period_end" date NOT NULL, + "o_renewal_price" float8 NOT NULL, + "o_number_type" int2 NOT NULL, + "o_card_counts" int4 NOT NULL, + "o_amount" float8 NOT NULL, + "o_create_date" date NOT NULL, + "o_remark" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "o_status" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, + "o_delivery_man" int4 NOT NULL, + "o_delivery_time" varchar(19) NOT NULL, + "o_is_del" int2 NOT NULL, + "o_create_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL, + "o_update_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_order'); + +-- ---------------------------- +-- Table structure for jxc_order_single_row +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_order_single_row" ( + "s_id" int4 NOT NULL, + "s_number" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "o_number" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "s_card_counts" int4 NOT NULL, + "s_status" int2 NOT NULL, + "s_remark" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "s_create_time" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, + "s_update_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_order_single_row'); + +-- ---------------------------- +-- Table structure for jxc_order_single_row_item +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_order_single_row_item" ( + "i_id" int4 NOT NULL, + "s_number" varchar(20) COLLATE "pg_catalog"."default" NOT NULL, + "s_out_number" int4 NOT NULL, + "s_batch_number" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "s_section_number" text COLLATE "pg_catalog"."default" NOT NULL, + "s_sim_start" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "s_is_serial" int2 NOT NULL, + "i_status" int2 NOT NULL, + "i_remark" varchar(255) COLLATE "pg_catalog"."default" NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_order_single_row_item'); + +-- ---------------------------- +-- Table structure for jxc_package +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package" ( + "package_sn" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "type" int2 NOT NULL, + "carrieroperator" varchar(2) COLLATE "pg_catalog"."default" NOT NULL, + "price" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, + "guide_price" varchar(10) COLLATE "pg_catalog"."default", + "flows" varchar(255) COLLATE "pg_catalog"."default", + "voices" int4, + "short_msg" int4, + "short_msg_on" int2, + "lbs" int2, + "flow_cycle" int4, + "package_cycle" int4, + "status" int2 NOT NULL, + "del" int2 NOT NULL, + "create_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL, + "update_time" varchar(11) COLLATE "pg_catalog"."default" NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package'); + +-- ---------------------------- +-- Table structure for jxc_package_addoptional +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_addoptional" ( + "bag_number" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "type_content" varchar(50) COLLATE "pg_catalog"."default", + "content_count" varchar(100) COLLATE "pg_catalog"."default", + "content_unit" varchar(20) COLLATE "pg_catalog"."default", + "service_cycle" int4, + "reset_cycle" int4, + "guide_price" numeric, + "effect_immediate" int2, + "package_remark" varchar(100) COLLATE "pg_catalog"."default", + "status" "real"."status_t", + "del" "real"."del_t", + "create_time" varchar(19), + "update_time" varchar(19) +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_addoptional'); + +-- ---------------------------- +-- Table structure for jxc_package_custom_relation +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_custom_relation" ( + "custom_no" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "package_sn" varchar(30) COLLATE "pg_catalog"."default" NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_custom_relation'); + +-- ---------------------------- +-- Table structure for jxc_package_flows +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_flows" ( + "bag_number" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL, + "carrieroperator" char(2) COLLATE "pg_catalog"."default", + "flows" int4, + "short_msg" int4, + "voices" int4, + "lbs" int2, + "flows_cycle" int4, + "service_cycle" int4 NOT NULL, + "price" numeric NOT NULL, + "guide_price" numeric, + "effect_immediate" int2, + "operator" int4 NOT NULL, + "status" "real"."status_t" NOT NULL, + "del" "real"."del_t" NOT NULL, + "create_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_flows'); + +-- ---------------------------- +-- Table structure for jxc_package_optional +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_optional" ( + "bag_number" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL, + "carrieroperator" char(2) COLLATE "pg_catalog"."default", + "flows" int4, + "short_msg" int4, + "voices" int4, + "lbs" int2, + "flows_cycle" int4, + "service_cycle" int4 NOT NULL, + "price" numeric NOT NULL, + "guide_price" numeric, + "effect_immediate" int2, + "base_service_cycle_extend" int2, + "remark" text COLLATE "pg_catalog"."default", + "status" "real"."status_t" NOT NULL, + "del" "real"."del_t" NOT NULL, + "create_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_optional'); + +-- ---------------------------- +-- Table structure for jxc_package_renewal +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_renewal" ( + "bag_number" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "package_sn" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL, + "service_cycle" int4 NOT NULL, + "price" numeric NOT NULL, + "guide_price" numeric, + "effect_immediate" int2, + "remark" text COLLATE "pg_catalog"."default", + "status" "real"."status_t" NOT NULL, + "del" "real"."del_t" NOT NULL, + "create_time" varchar(19) NOT NULL +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_renewal'); + +-- ---------------------------- +-- Table structure for jxc_package_value_add_relation +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_package_value_add_relation" ( + "id" int4 NOT NULL, + "type" int2 NOT NULL, + "custom_no" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "package_sn" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "package_name" varchar(100) COLLATE "pg_catalog"."default", + "value_add_id" int4 NOT NULL, + "value_add_number" varchar(30) COLLATE "pg_catalog"."default" NOT NULL, + "value_add_name" varchar(100) COLLATE "pg_catalog"."default", + "wx_package_show" int2, + "del" "real"."del_t", + "create_time" varchar(19) +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_package_value_add_relation'); + +-- ---------------------------- +-- Table structure for jxc_user +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_user" ( + "id" int4 NOT NULL, + "username" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, + "nickname" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "last_login_time" int4, + "last_login_ip" varchar(40) COLLATE "pg_catalog"."default", + "email" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, + "phone" varchar(20) COLLATE "pg_catalog"."default", + "parent_user" int4, + "role_tag" varchar(10) COLLATE "pg_catalog"."default", + "status" int2, + "del" int2 NOT NULL, + "create_time" int4, + "update_time" int4 +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_user'); + +-- ---------------------------- +-- Table structure for jxc_user_custom_relation +-- ---------------------------- +CREATE FOREIGN TABLE IF NOT EXISTS "real"."jxc_user_custom_relation" ( + "uid" int4, + "custom_no" varchar(20) COLLATE "pg_catalog"."default" +) SERVER "mysql_real" OPTIONS ("dbname" 'ckb_jxc', "table_name" 'jxc_user_custom_relation'); \ No newline at end of file diff --git a/public/index.php b/public/index.php index ff77eeda..620e2e78 100644 --- a/public/index.php +++ b/public/index.php @@ -1,9 +1,5 @@