From 7f23f93f0228a1e715d8df0085c33295c7060fde Mon Sep 17 00:00:00 2001 From: denghy Date: Wed, 12 Dec 2018 10:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/AddressController.php | 1 - .../Http/Controllers/BootstrapController.php | 47 +++++++++++++++++++ .../Http/Controllers/OrderController.php | 21 +++++++++ app/Domains/Company/PayType.php | 35 ++++++++++++++ app/Domains/Company/Routes/api.php | 3 ++ app/Domains/Real/Commands/Sync/MongoSync.php | 2 +- .../Virtual/Services/ProductService.php | 14 ++++-- 7 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 app/Domains/Company/Http/Controllers/BootstrapController.php create mode 100644 app/Domains/Company/Http/Controllers/OrderController.php create mode 100644 app/Domains/Company/PayType.php diff --git a/app/Domains/Company/Http/Controllers/AddressController.php b/app/Domains/Company/Http/Controllers/AddressController.php index aa7aeee5..7aec137d 100644 --- a/app/Domains/Company/Http/Controllers/AddressController.php +++ b/app/Domains/Company/Http/Controllers/AddressController.php @@ -4,7 +4,6 @@ namespace App\Domains\Company\Http\Controllers; use App\Core\Controller; use Illuminate\Http\Request; use App\Exceptions\NotAllowedException; -use App\Domains\Sms\Services\SmsService; use App\Domains\Virtual\Services\CompanyAddressService; class AddressController extends Controller diff --git a/app/Domains/Company/Http/Controllers/BootstrapController.php b/app/Domains/Company/Http/Controllers/BootstrapController.php new file mode 100644 index 00000000..e0437283 --- /dev/null +++ b/app/Domains/Company/Http/Controllers/BootstrapController.php @@ -0,0 +1,47 @@ +request = $request; + $this->account = $request->user('company'); + } + + /** + * 程序初始化 + */ + public function index(Dicts $dicts) + { + // 运营商列表 + $carrier_operator = $dicts->get('carrier_operator'); + $carrier_operator = json_decode(json_encode($carrier_operator, JSON_FORCE_OBJECT)); + + $pay_types = new PayType(); + + $res = compact('carrier_operator', 'pay_types'); + + return res($res, '程序初始化', 201); + } + + /** + * 获取企业套餐列表 + */ + public function products(ProductService $productService) + { + $res = $productService->getCompanyProducts($this->account->company_id, $this->request->get('carrier_operator')); + return res($res, '企业套餐列表', 201); + } +} diff --git a/app/Domains/Company/Http/Controllers/OrderController.php b/app/Domains/Company/Http/Controllers/OrderController.php new file mode 100644 index 00000000..e473ca2b --- /dev/null +++ b/app/Domains/Company/Http/Controllers/OrderController.php @@ -0,0 +1,21 @@ +request = $request; + $this->account = $request->user('company'); + } +} diff --git a/app/Domains/Company/PayType.php b/app/Domains/Company/PayType.php new file mode 100644 index 00000000..cd4328ec --- /dev/null +++ b/app/Domains/Company/PayType.php @@ -0,0 +1,35 @@ + 'yhzz', + 'name' => '银行转账', + 'extends' => [ + '企业名称' => '福建省福信富通网络科技股份有限公司', + '银行账号' => '100046142160010002', + '开户行' => '福建海峡银行福州科技支行', + ], + 'remark' => '请转账至该银行账号' + ], + [ + 'channel' => 'alipay', + 'name' => '支付宝支付', + 'extends' => [ + '用户名' => 'adviser@aliyun.com', + '真实姓名' => '福建省福信富通网络科技有限公司', + ], + 'remark' => '请到支付宝首页搜索该用户名进行转账', + ], + ]; + + parent::__construct($payTypes); + } +} diff --git a/app/Domains/Company/Routes/api.php b/app/Domains/Company/Routes/api.php index 8fb800c3..d97ab79d 100644 --- a/app/Domains/Company/Routes/api.php +++ b/app/Domains/Company/Routes/api.php @@ -21,5 +21,8 @@ $router->group(['prefix' => 'companies', 'as' => 'companies'], function ($router $router->post('/addresses/update/{id}', ['as' => 'addresses.update', 'uses' => 'AddressController@update']); $router->post('/addresses/destroy', ['as' => 'addresses.destroy', 'uses' => 'AddressController@destroy']); $router->post('/addresses/default/{id}', ['as' => 'addresses.default', 'uses' => 'AddressController@default']); + + $router->get('/bootstrap', ['as' => 'bootstrap', 'uses' => 'BootstrapController@index']); + $router->get('/products', ['as' => 'products', 'uses' => 'BootstrapController@products']); }); }); diff --git a/app/Domains/Real/Commands/Sync/MongoSync.php b/app/Domains/Real/Commands/Sync/MongoSync.php index 696d9e9d..41fed9e5 100644 --- a/app/Domains/Real/Commands/Sync/MongoSync.php +++ b/app/Domains/Real/Commands/Sync/MongoSync.php @@ -57,7 +57,7 @@ class MongoSync extends Command $activate_at = $value['saDate'] ? $value['saDate']->toDateTime()->format('Y-m-d H:i:s') : null; $values[] = [ - 'sim' => $value['cNo'], + 'sim' => intval($value['cNo']), 'imsi' => $value['imsi'] ?? '', 'iccid' => $value['iccid'] ?? '', 'bloc_id' => $blocs[$value['comId']] ?? 0, diff --git a/app/Domains/Virtual/Services/ProductService.php b/app/Domains/Virtual/Services/ProductService.php index 25b69038..51755ef4 100644 --- a/app/Domains/Virtual/Services/ProductService.php +++ b/app/Domains/Virtual/Services/ProductService.php @@ -27,10 +27,18 @@ class ProductService extends Service * @param int $companyId * @return Collection */ - public function getCompanyProducts($companyId) + public function getCompanyProducts($companyId, $carrierOperator = null) { - $list = $this->productRepository->with(['company:id,name', 'package:id,name']) - ->withConditions(['company_id' => $companyId])->get(); + $query = $this->productRepository->with(['company:id,name', 'package:id,name,carrier_operator']) + ->withConditions(['company_id' => $companyId]); + + if (!is_null($carrierOperator)) { + $query = $query->whereHas('package', function ($relation) use ($carrierOperator) { + $relation->where('carrier_operator', $carrierOperator); + }); + } + + $list = $query->get(); return $list; }