diff --git a/app/Admin/Common/Sms.php b/app/Admin/Common/Sms.php index 0309edf..70df640 100644 --- a/app/Admin/Common/Sms.php +++ b/app/Admin/Common/Sms.php @@ -8,6 +8,7 @@ use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; use Dcat\Admin\Controllers\AdminController; +use Graze\GuzzleHttp\JsonRpc\Client; class Sms extends AdminController { @@ -38,4 +39,25 @@ class Sms extends AdminController echo $e->getErrorMessage() . PHP_EOL; } } + + /** + * 远程RPC调用 + * @param $phone + * @param $template + * @param $templateParams + * @param string $signName + * @return string + */ + public static function rpcSent($phone, $template, $templateParams, $signName='懒族生活') + { + $client = Client::factory(env('RPC_SITE_HOST')); + $request = $client->request(uniqid(),'/alisms/sent', [ + 'phone' => $phone, + 'template'=>$template, + 'templateParams'=> json_encode($templateParams), + 'signName'=>$signName, + ]); + $response = $client->send($request); + return $response->getBody()->getContents(); + } } diff --git a/app/Admin/Controllers/LanzuMpWithdrawController.php b/app/Admin/Controllers/LanzuMpWithdrawController.php index 30a4d99..5f7b499 100755 --- a/app/Admin/Controllers/LanzuMpWithdrawController.php +++ b/app/Admin/Controllers/LanzuMpWithdrawController.php @@ -14,6 +14,7 @@ use Dcat\Admin\Show; use Dcat\Admin\Admin; use Dcat\Admin\Controllers\AdminController; use App\Models\MpBalance; +use Illuminate\Support\Facades\Log; class LanzuMpWithdrawController extends AdminController { @@ -33,7 +34,7 @@ class LanzuMpWithdrawController extends AdminController } return Grid::make($buider, function (Grid $grid) use ($current_user) { - $grid->model()->orderBy('created_at','desc'); + $grid->model()->orderBy('created_at', 'desc'); $grid->id->sortable(); $grid->column('mpInfo.name', '服务商名字'); $grid->money; @@ -55,7 +56,7 @@ class LanzuMpWithdrawController extends AdminController }); if ($current_user->isRole('lanzu_mp')) { $grid->disableEditButton(); - }else{ + } else { $grid->disableCreateButton(); } }); @@ -205,21 +206,28 @@ class LanzuMpWithdrawController extends AdminController $form->number('money', '提现金额')->required()->min(0); $form->ignore(['balance']); //添加成功之后,扣减掉可提现金额 - $form->saved(function (Form $form, $result) use ($mpb,$mp) { + $form->saved(function (Form $form, $id) use ($mpb, $mp) { if ($form->isCreating()) { - if ($result) { + if ($id) { $mpb->balance = $mpb->balance - $form->money; $mpb->save(); //发送短信通知 - $params = [ - 'RegionId' => "cn-shenzhen", - 'PhoneNumbers' => env('SMS_MM_TEL'), - 'SignName' => "懒族生活", - 'TemplateCode' => "SMS_201680806", - 'TemplateParam' => json_encode(['name'=>"[{$mp->name}]",'money'=>$form->money.'元']), - ]; - Sms::sent($params); + $phone = env('SMS_MP_TEL'); + $template = env('SMS_MP_TEMPLATE'); + $templateParams = ['name' => "({$mp->name})", 'money' => $form->money . '元']; + $signName = env('SMS_MP_SIGN_NAME'); + $result = Sms::rpcSent($phone, $template, $templateParams, $signName); + $result = json_decode($result); + if ($result->result->Code != 'OK') { + $msg = $result->result->Message; + Log::error('发送短信失败', [ + 'Message'=>$msg, + 'name'=>$mp->name, + 'money'=>$form->money, + 'id'=>$id + ]); + } } } }); diff --git a/app/Admin/Controllers/Test.php b/app/Admin/Controllers/Test.php index 456f503..d527dc2 100644 --- a/app/Admin/Controllers/Test.php +++ b/app/Admin/Controllers/Test.php @@ -9,6 +9,7 @@ use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; use Dcat\Admin\Controllers\AdminController; use Graze\GuzzleHttp\JsonRpc\Client; +use Illuminate\Support\Facades\Log; class Test extends AdminController { @@ -48,9 +49,18 @@ class Test extends AdminController public function testRpc() { - $client = Client::factory('http://store.api.lanzulive.com:9505'); - $request = $client->request(uniqid(),'/myrpc/mymethod', ['args' => null]); + $client = Client::factory(env('RPC_SITE_HOST')); + $request = $client->request(uniqid(),'/alisms/sent', [ + 'phone' => 13481194554, + 'template'=>'SMS_201720790', + 'templateParams'=> json_encode(['name'=>"[DESION]",'money'=>'200元']), + ]); $response = $client->send($request); + $result = json_decode($response->getBody()->getContents()); + if ($result->result->Code != 'OK') { + $msg = $result->result->Message; + Log::error('发送短信失败', ['Message'=>$msg]); + } return $response->getBody()->getContents(); }