短信
This commit is contained in:
parent
bff82c1bb4
commit
eb2eae3d3b
@ -54,7 +54,7 @@ class MongoSync extends Command
|
||||
$values = [];
|
||||
|
||||
foreach ($res as $key => $value) {
|
||||
$activate_at = $value['saDate'] ? $value['saDate']->toDateTime()->format('Y-m-d H:i:s') : null;
|
||||
$activated_at = $value['saDate'] ? $value['saDate']->toDateTime()->format('Y-m-d H:i:s') : null;
|
||||
$sim = intval(preg_replace('/\D/', '', $value['cNo']));
|
||||
$values[$sim] = [
|
||||
'sim' => $sim,
|
||||
@ -62,7 +62,7 @@ class MongoSync extends Command
|
||||
'iccid' => $value['iccid'] ?? '',
|
||||
'bloc_id' => $blocs[$value['comId']] ?? 0,
|
||||
'carrier_operator' => self::$carrierOperators[$value['oType']] ?? 255,
|
||||
'activate_at' => $activate_at,
|
||||
'activated_at' => $activated_at,
|
||||
'created_at' => $value['sDate']->toDateTime()->format('Y-m-d H:i:s'),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
|
@ -73,10 +73,10 @@ class OrderCardRepository extends Repository
|
||||
$connection = $this->model->getConnection();
|
||||
|
||||
$arr = array_map(function ($value) {
|
||||
return sprintf("(%d, '%s'::timestamp)", $value['sim'], $value['activate_at']);
|
||||
return sprintf("(%d, '%s'::timestamp)", $value['sim'], $value['activated_at']);
|
||||
}, $data);
|
||||
|
||||
$sql = 'UPDATE real_cards SET activate_at = list.activate_at FROM (VALUES ' . implode(',', $arr) . ') AS list(sim, activate_at) WHERE real_cards.sim = list.sim AND real_cards.activate_at IS NULL';
|
||||
$sql = 'UPDATE real_cards SET activated_at = list.activated_at FROM (VALUES ' . implode(',', $arr) . ') AS list(sim, activated_at) WHERE real_cards.sim = list.sim AND real_cards.activated_at IS NULL';
|
||||
|
||||
return $connection->update($sql);
|
||||
}
|
||||
|
@ -4,6 +4,8 @@ namespace App\Domains\Virtual\Commands\Sync;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Card\Card;
|
||||
use App\Models\Virtual\Order;
|
||||
use App\Models\Virtual\OrderCard;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Domains\Virtual\Services\CommonService;
|
||||
use App\Domains\Virtual\Services\ProductService;
|
||||
@ -24,12 +26,12 @@ class CardSync extends Command
|
||||
|
||||
protected $blocs;
|
||||
protected $packages;
|
||||
protected $product;
|
||||
protected $products;
|
||||
|
||||
protected $limit = 1;
|
||||
|
||||
const FILENAME = 'app/command/sync-card.json';
|
||||
const INIT_ID = 0; // '2000-01-01 00:00:00'
|
||||
const INIT_ID = 0;
|
||||
|
||||
public function handle()
|
||||
{
|
||||
@ -40,7 +42,7 @@ class CardSync extends Command
|
||||
$this->saveFile(1, $maxId);
|
||||
|
||||
$query = DB::connection('vd_old')->table('ckb_custom')
|
||||
->select(['id', 'custom_no', 'imsi', 'carrieroperator', 'iccid', 'card_number', 'card_from', 'iccid', 'company', 'custom_state'])
|
||||
->select(['id', 'custom_no', 'imsi', 'carrieroperator', 'iccid', 'card_number', 'card_from', 'iccid', 'company', 'custom_state', 'create_time' ,'update_time'])
|
||||
->where('id', '>', $maxId);
|
||||
|
||||
$logQuery = DB::connection('vd_old')->table('ckb_custom_handle_log')
|
||||
@ -53,7 +55,7 @@ class CardSync extends Command
|
||||
if ($total) {
|
||||
$this->blocs = app(BlocRepository::class)->get()->pluck('id', 'shorthand')->toArray();
|
||||
$this->packages = app(PackageRepository::class)->get()->keyBy('sn');
|
||||
$this->product = app(ProductRepository::class)->get()->keyBy('sn');
|
||||
$this->products = app(ProductRepository::class)->get()->keyBy('sn');
|
||||
}
|
||||
|
||||
$page = 1;
|
||||
@ -69,15 +71,36 @@ class CardSync extends Command
|
||||
$value = (array)$value;
|
||||
|
||||
$logs = $logQuery->where('custom_no', $value['custom_no'])->get()->collect();
|
||||
$existedCard = Card::where('sim', $value['card_number'])->first();
|
||||
$existed = Card::where('sim', $value['card_number'])->first();
|
||||
|
||||
dd($logs);
|
||||
$card = $this->transformerCard($value, $logs, $existed);
|
||||
$order = $this->transformerOrder($value, $logs, $existed);
|
||||
$renewals = $this->transformerRenewals($value, $logs, $existed);
|
||||
$renewalPackages = $this->transformerRenewalPackages($value, $logs, $existed);
|
||||
$flows = $this->transformerFlows($value, $logs, $existed);
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
try {
|
||||
// 写入卡数据
|
||||
Card::upsert($card, 'sim');
|
||||
|
||||
// 写入订单数据
|
||||
Order::upsert($order, 'sn');
|
||||
|
||||
// 写入订单卡关系数据
|
||||
OrderCard::upsert([
|
||||
'sim' => $card['sim'],
|
||||
'order_id' => $order['id'],
|
||||
'company_id' => $order['company_id'],
|
||||
'package_id' => $order['package_id'],
|
||||
]);
|
||||
|
||||
// 增值包订单
|
||||
AddedOrder::upsert();
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
$card = $this->transformerCard($value, $logs, $existedCard);
|
||||
$order = $this->transformerOrder($value, $logs, $existedCard);
|
||||
$renewals = $this->transformerRenewals($value, $logs, $existedCard);
|
||||
$renewalPackages = $this->transformerRenewalPackages($value, $logs, $existedCard);
|
||||
$flows = $this->transformerFlows($value, $logs, $existedCard);
|
||||
|
||||
$nextId = $value['id'];
|
||||
|
||||
@ -94,14 +117,14 @@ class CardSync extends Command
|
||||
}
|
||||
|
||||
// 卡数据转换
|
||||
protected function transformerCard($value, $logs, $existedCard)
|
||||
protected function transformerCard($value, $logs, $existed)
|
||||
{
|
||||
// 判断卡类型
|
||||
$type = ($value['card_number'][3] >= 5) ? 1 : ($existedCard ? 0 : 2);
|
||||
$type = ($value['card_number'][3] >= 5) ? 1 : ($existed ? 0 : 2);
|
||||
|
||||
// 激活记录
|
||||
$activateLog = $logs->where('type', 10)->first();
|
||||
$activate_at = $activateLog ? date('Y-m-d H:i:s', $activateLog['valid_start_time']) : null;
|
||||
$activated_at = $activateLog ? date('Y-m-d H:i:s', $activateLog['valid_start_time']) : null;
|
||||
|
||||
return [
|
||||
'sim' => $value['card_number'],
|
||||
@ -109,37 +132,44 @@ class CardSync extends Command
|
||||
'iccid' => $value['iccid'],
|
||||
'bloc_id' => $this->blocs[$value['card_from']] ?? 0,
|
||||
'carrier_operator' => self::$carrierOperators[$value['carrieroperator']],
|
||||
'activate_at' => $existedCard ? $existedCard->activate_at : $activate_at,
|
||||
'virtual_activate_at' => $activate_at,
|
||||
'activated_at' => $existed['activated_at'] ?? $activated_at,
|
||||
'virtual_activated_at' => $activated_at,
|
||||
'type' => $type,
|
||||
'cancelled_at' => ($value['custom_state'] === 13) ? date('Y-m-d H:i:s', $value['update_time']) : null,
|
||||
'created_at' => date('Y-m-d H:i:s', $value['create_time']),
|
||||
'updated_at' => date('Y-m-d H:i:s', $value['update_time']),
|
||||
];
|
||||
}
|
||||
|
||||
// 销售记录
|
||||
protected function transformerOrder($value, $logs, $existedCard)
|
||||
protected function transformerOrder($value, $logs, $existed)
|
||||
{
|
||||
if (!$sellLog = $logs->where('type', 13)->first()) {
|
||||
if (!$res = $logs->where('type', 13)->first()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$package = $this->getPackage($sellLog['content']);
|
||||
$package = $this->getPackage($res['content']);
|
||||
|
||||
$unit_price = floatval($sellLog['sale_account']) * 100;
|
||||
$custom_price = floatval($sellLog['order_account']) * 100;
|
||||
$unit_price = floatval($res['sale_account']) * 100;
|
||||
$custom_price = floatval($res['order_account']) * 100;
|
||||
|
||||
$product = $this->getProduct($package, $sellLog['company'], $unit_price);
|
||||
$product = $this->getProduct($package, $res['company'], $unit_price);
|
||||
|
||||
// 按规则生成订单编号 (月+公司+产品)
|
||||
$sn = date('Ym', $res['create_time']) . sprintf('%08d', $custom_price) . sprintf('%04d', $product['id']);
|
||||
|
||||
$order = [
|
||||
'sn' => $sn,
|
||||
'type' => 1,
|
||||
'company_id' => $sellLog['company'],
|
||||
'company_id' => $res['company'],
|
||||
'package_id' => $package['id'],
|
||||
'product_id' => $product['id'],
|
||||
'pay_channel' => self::$payChannels[$sellLog['pay_type']],
|
||||
'pay_channel' => self::$payChannels[$res['pay_type']],
|
||||
'unit_price' => $unit_price,
|
||||
'counts' => DB::raw('counts + 1'),
|
||||
'total_price' => DB::raw("total_price + {$unit_price}"),
|
||||
'custom_price' => DB::raw("custom_price + {$custom_price}"),
|
||||
'order_at' => date('Y-m-d H:i:s'),
|
||||
'order_at' => date('Y-m-d H:i:s', $res['create_time']),
|
||||
'order_status' => 4,
|
||||
'transaction_status' => 1,
|
||||
];
|
||||
@ -148,35 +178,32 @@ class CardSync extends Command
|
||||
}
|
||||
|
||||
// 续费记录
|
||||
protected function transformerRenewals($value, $logs, $existedCard)
|
||||
protected function transformerRenewals($value, $logs, $existed)
|
||||
{
|
||||
$renewalLogs = $logs->where('type', 11)->get();
|
||||
$res = $logs->where('type', 11)->values()->all();
|
||||
|
||||
if (empty($renewalLog)) {
|
||||
if (empty($res)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$array = [];
|
||||
|
||||
foreach ($renewalLogs as $item) {
|
||||
$package = $this->getPackage($sellLog['content']);
|
||||
$unit_price = floatval($sellLog['sale_account']) * 100;
|
||||
$custom_price = floatval($sellLog['order_account']) * 100;
|
||||
foreach ($res as $item) {
|
||||
$package = $this->getPackage($item['content']);
|
||||
$unit_price = floatval($item['sale_account']) * 100;
|
||||
$custom_price = floatval($item['order_account']) * 100;
|
||||
|
||||
$sn = date('Ym', $item['create_time']) . sprintf('%04d', $item['company']) . sprintf('%04d', $package['id']) . sprintf('%04d', $custom_price);
|
||||
|
||||
$array[] = [
|
||||
'sn' => $sn,
|
||||
'type' => 1,
|
||||
'company_id' => $sellLog['company'],
|
||||
'package_id' => $package['id'],
|
||||
'product_id' => $product['id'],
|
||||
'pay_channel' => self::$payChannels[$sellLog['pay_type']],
|
||||
'company_id' => $item['company'],
|
||||
'unit_price' => $unit_price,
|
||||
'counts' => DB::raw('counts + 1'),
|
||||
'total_price' => DB::raw("total_price + {$unit_price}"),
|
||||
'custom_price' => DB::raw("custom_price + {$custom_price}"),
|
||||
'order_at' => date('Y-m-d H:i:s'),
|
||||
'order_status' => 4,
|
||||
'transaction_status' => 1,
|
||||
'order_at' => date('Y-m-d H:i:s', $item['create_time']),
|
||||
];
|
||||
}
|
||||
|
||||
@ -184,23 +211,69 @@ class CardSync extends Command
|
||||
}
|
||||
|
||||
// 续费包记录
|
||||
protected function transformerRenewalPackages($value, $logs, $existedCard)
|
||||
protected function transformerRenewalPackages($value, $logs, $existed)
|
||||
{
|
||||
$renewalLog = $logs->where('type', 14)->get();
|
||||
$res = $logs->where('type', 14)->values()->all();
|
||||
|
||||
if (empty($renewalLog)) {
|
||||
if (empty($res)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$array = [];
|
||||
|
||||
foreach ($res as $item) {
|
||||
$package = $this->getPackage($item['content']);
|
||||
$unit_price = floatval($item['sale_account']) * 100;
|
||||
$custom_price = floatval($item['order_account']) * 100;
|
||||
|
||||
$sn = date('Ym', $item['create_time']) . sprintf('%04d', $item['company']) . sprintf('%04d', $package['id']) . sprintf('%04d', $custom_price);
|
||||
|
||||
$array[] = [
|
||||
'sn' => $sn,
|
||||
'type' => 2,
|
||||
'company_id' => $item['company'],
|
||||
'unit_price' => $unit_price,
|
||||
'counts' => DB::raw('counts + 1'),
|
||||
'total_price' => DB::raw("total_price + {$unit_price}"),
|
||||
'custom_price' => DB::raw("custom_price + {$custom_price}"),
|
||||
'order_at' => date('Y-m-d H:i:s', $item['create_time']),
|
||||
];
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
// 加油包记录
|
||||
protected function transformerFlows($value, $logs, $existedCard)
|
||||
protected function transformerFlows($value, $logs, $existed)
|
||||
{
|
||||
$flowsLog = $logs->where('type', 15)->get();
|
||||
$res = $logs->where('type', 15)->values()->all();
|
||||
|
||||
if (empty($flowsLog)) {
|
||||
if (empty($res)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$array = [];
|
||||
|
||||
foreach ($res as $item) {
|
||||
$package = $this->getPackage($item['content']);
|
||||
$unit_price = floatval($item['sale_account']) * 100;
|
||||
$custom_price = floatval($item['order_account']) * 100;
|
||||
|
||||
$sn = date('Ym', $item['create_time']) . sprintf('%04d', $item['company']) . sprintf('%04d', $package['id']) . sprintf('%04d', $custom_price);
|
||||
|
||||
$array[] = [
|
||||
'sn' => $sn,
|
||||
'type' => 3,
|
||||
'company_id' => $item['company'],
|
||||
'unit_price' => $unit_price,
|
||||
'counts' => DB::raw('counts + 1'),
|
||||
'total_price' => DB::raw("total_price + {$unit_price}"),
|
||||
'custom_price' => DB::raw("custom_price + {$custom_price}"),
|
||||
'order_at' => date('Y-m-d H:i:s', $item['create_time']),
|
||||
];
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -197,7 +197,7 @@ class AddedOrderService extends Service
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成订单编号
|
||||
* 生成订单编号 20位
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
12
composer.lock
generated
12
composer.lock
generated
@ -711,17 +711,17 @@
|
||||
},
|
||||
{
|
||||
"name": "dipper/sms",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "ssh://gogs@git.fxft.net:2222/composer/sms.git",
|
||||
"reference": "6d1e67bf54b201fc07d0c83fb41f7c72cdb7fa84"
|
||||
"reference": "f6ce8e8fb944de4fd15ecddfe2391abd0735d5f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://composer.fxft.online/dist/dipper/sms/dipper-sms-1.0.0-43d071.tar",
|
||||
"reference": "6d1e67bf54b201fc07d0c83fb41f7c72cdb7fa84",
|
||||
"shasum": "c3f7557716e9020c06b3ea6fcab4558330fd28c4"
|
||||
"url": "https://composer.fxft.online/dist/dipper/sms/dipper-sms-1.0.1-ad7a10.tar",
|
||||
"reference": "f6ce8e8fb944de4fd15ecddfe2391abd0735d5f2",
|
||||
"shasum": "33e6c8bf293978e8c9e8deb19025523dcbf532bb"
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "~6.0",
|
||||
@ -744,7 +744,7 @@
|
||||
}
|
||||
],
|
||||
"description": "短信发送",
|
||||
"time": "2018-09-05T05:58:47+00:00"
|
||||
"time": "2018-12-25T02:38:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dnoegel/php-xdg-base-dir",
|
||||
|
@ -23,9 +23,10 @@ class CreateCardsTable extends Migration
|
||||
$table->string('iccid', 32)->default('')->comment('iccid号');
|
||||
$table->integer('bloc_id')->unsigned()->default(0)->comment('来源集团ID');
|
||||
$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->tinyInteger('type')->unsigned()->default(0)->comment('类型(0:真实卡 1:虚拟卡)');
|
||||
$table->timestamp('activated_at')->nullable()->comment('激活时间');
|
||||
$table->timestamp('virtual_activated_at')->nullable()->comment('虚拟激活时间');
|
||||
$table->tinyInteger('type')->unsigned()->default(0)->comment('类型(0:真实卡 1:虚拟卡 2:未知卡)');
|
||||
$table->timestamp('cancelled_at')->nullable()->comment('注销时间');
|
||||
$table->timestamps();
|
||||
|
||||
$table->primary('sim');
|
||||
|
@ -20,7 +20,8 @@ class CreateVirtualOrdersTable extends Migration
|
||||
Schema::create("virtual_orders", function (Blueprint $table) {
|
||||
$table->increments('id')->comment('订单ID');
|
||||
$table->string('sn', 32)->comment('订单编号');
|
||||
$table->tinyInteger('type')->unsigned()->default(0)->comment('订单类型(0:用户订单 1:后台订单)');
|
||||
$table->tinyInteger('source')->unsigned()->default(0)->comment('订单来源(0:用户订单 1:后台订单)');
|
||||
$table->tinyInteger('type')->unsigned()->default(0)->comment('订单类型(0:基础订单 1:套餐续费 2:续费包 3:加油包 4:可选包 5:附加包)');
|
||||
$table->integer('company_id')->unsigned()->default(0)->comment("企业ID");
|
||||
$table->integer('package_id')->unsigned()->default(0)->comment('套餐ID');
|
||||
$table->integer('product_id')->unsigned()->default(0)->comment('定价ID');
|
||||
|
1
vendor/composer/autoload_classmap.php
vendored
1
vendor/composer/autoload_classmap.php
vendored
@ -18,7 +18,6 @@ return array(
|
||||
'CreateRealCompaniesTable' => $baseDir . '/database/migrations/2018_12_24_164318_create_real_companies_table.php',
|
||||
'CreateRealOrderCardsTable' => $baseDir . '/database/migrations/2018_12_24_164434_create_real_order_cards_table.php',
|
||||
'CreateRealOrdersTable' => $baseDir . '/database/migrations/2018_12_24_164430_create_real_orders_table.php',
|
||||
'CreateRealPackageCardsTables' => $baseDir . '/database/migrations/2018_12_24_164462_create_real_package_cards_tables.php',
|
||||
'CreateRealPackagesTable' => $baseDir . '/database/migrations/2018_12_24_164423_create_real_packages_table.php',
|
||||
'CreateVirtualAddedOrderCardsTables' => $baseDir . '/database/migrations/2018_12_24_170946_create_virtual_added_order_cards_tables.php',
|
||||
'CreateVirtualAddedOrdersTable' => $baseDir . '/database/migrations/2018_12_24_170936_create_virtual_added_orders_table.php',
|
||||
|
1
vendor/composer/autoload_static.php
vendored
1
vendor/composer/autoload_static.php
vendored
@ -721,7 +721,6 @@ class ComposerStaticInite79258a3e34ad3e251999111d9f334d9
|
||||
'CreateRealCompaniesTable' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_164318_create_real_companies_table.php',
|
||||
'CreateRealOrderCardsTable' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_164434_create_real_order_cards_table.php',
|
||||
'CreateRealOrdersTable' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_164430_create_real_orders_table.php',
|
||||
'CreateRealPackageCardsTables' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_164462_create_real_package_cards_tables.php',
|
||||
'CreateRealPackagesTable' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_164423_create_real_packages_table.php',
|
||||
'CreateVirtualAddedOrderCardsTables' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_170946_create_virtual_added_order_cards_tables.php',
|
||||
'CreateVirtualAddedOrdersTable' => __DIR__ . '/../..' . '/database/migrations/2018_12_24_170936_create_virtual_added_orders_table.php',
|
||||
|
14
vendor/composer/installed.json
vendored
14
vendor/composer/installed.json
vendored
@ -730,25 +730,25 @@
|
||||
},
|
||||
{
|
||||
"name": "dipper/sms",
|
||||
"version": "1.0.0",
|
||||
"version_normalized": "1.0.0.0",
|
||||
"version": "1.0.1",
|
||||
"version_normalized": "1.0.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "ssh://gogs@git.fxft.net:2222/composer/sms.git",
|
||||
"reference": "6d1e67bf54b201fc07d0c83fb41f7c72cdb7fa84"
|
||||
"reference": "f6ce8e8fb944de4fd15ecddfe2391abd0735d5f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://composer.fxft.online/dist/dipper/sms/dipper-sms-1.0.0-43d071.tar",
|
||||
"reference": "6d1e67bf54b201fc07d0c83fb41f7c72cdb7fa84",
|
||||
"shasum": "c3f7557716e9020c06b3ea6fcab4558330fd28c4"
|
||||
"url": "https://composer.fxft.online/dist/dipper/sms/dipper-sms-1.0.1-ad7a10.tar",
|
||||
"reference": "f6ce8e8fb944de4fd15ecddfe2391abd0735d5f2",
|
||||
"shasum": "33e6c8bf293978e8c9e8deb19025523dcbf532bb"
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "~6.0",
|
||||
"illuminate/support": "5.5.*",
|
||||
"psr/http-message": "~1.0"
|
||||
},
|
||||
"time": "2018-09-05T05:58:47+00:00",
|
||||
"time": "2018-12-25T02:38:13+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
@ -7,7 +7,6 @@ use Dipper\Sms\Contracts\GatewayInterface;
|
||||
class InstalledMessage extends Message
|
||||
{
|
||||
protected $attributes;
|
||||
protected $gateways = ['aliyun'];
|
||||
|
||||
public function __construct(array $attributes)
|
||||
{
|
||||
|
@ -7,7 +7,6 @@ use Dipper\Sms\Contracts\GatewayInterface;
|
||||
class OrderMessage extends Message
|
||||
{
|
||||
protected $attributes;
|
||||
protected $gateways = ['aliyun'];
|
||||
|
||||
public function __construct(array $attributes)
|
||||
{
|
||||
|
@ -7,7 +7,6 @@ use Dipper\Sms\Contracts\GatewayInterface;
|
||||
class VcodeMessage extends Message
|
||||
{
|
||||
protected $attributes;
|
||||
protected $gateways = ['aliyun'];
|
||||
|
||||
public function __construct(array $attributes)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user