Browse Source

增加服务商提现申请短信通知

master
lanzu_qsy 6 years ago
parent
commit
72b303e00d
  1. 22
      app/Admin/Common/Sms.php
  2. 32
      app/Admin/Controllers/LanzuMpWithdrawController.php
  3. 14
      app/Admin/Controllers/Test.php

22
app/Admin/Common/Sms.php

@ -8,6 +8,7 @@ use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException; use AlibabaCloud\Client\Exception\ServerException;
use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Controllers\AdminController;
use Graze\GuzzleHttp\JsonRpc\Client;
class Sms extends AdminController class Sms extends AdminController
{ {
@ -38,4 +39,25 @@ class Sms extends AdminController
echo $e->getErrorMessage() . PHP_EOL; 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();
}
} }

32
app/Admin/Controllers/LanzuMpWithdrawController.php

@ -14,6 +14,7 @@ use Dcat\Admin\Show;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Controllers\AdminController;
use App\Models\MpBalance; use App\Models\MpBalance;
use Illuminate\Support\Facades\Log;
class LanzuMpWithdrawController extends AdminController class LanzuMpWithdrawController extends AdminController
{ {
@ -33,7 +34,7 @@ class LanzuMpWithdrawController extends AdminController
} }
return Grid::make($buider, function (Grid $grid) use ($current_user) { 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->id->sortable();
$grid->column('mpInfo.name', '服务商名字'); $grid->column('mpInfo.name', '服务商名字');
$grid->money; $grid->money;
@ -55,7 +56,7 @@ class LanzuMpWithdrawController extends AdminController
}); });
if ($current_user->isRole('lanzu_mp')) { if ($current_user->isRole('lanzu_mp')) {
$grid->disableEditButton(); $grid->disableEditButton();
}else{
} else {
$grid->disableCreateButton(); $grid->disableCreateButton();
} }
}); });
@ -205,21 +206,28 @@ class LanzuMpWithdrawController extends AdminController
$form->number('money', '提现金额')->required()->min(0); $form->number('money', '提现金额')->required()->min(0);
$form->ignore(['balance']); $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 ($form->isCreating()) {
if ($result) {
if ($id) {
$mpb->balance = $mpb->balance - $form->money; $mpb->balance = $mpb->balance - $form->money;
$mpb->save(); $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
]);
}
} }
} }
}); });

14
app/Admin/Controllers/Test.php

@ -9,6 +9,7 @@ use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException; use AlibabaCloud\Client\Exception\ServerException;
use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Controllers\AdminController;
use Graze\GuzzleHttp\JsonRpc\Client; use Graze\GuzzleHttp\JsonRpc\Client;
use Illuminate\Support\Facades\Log;
class Test extends AdminController class Test extends AdminController
{ {
@ -48,9 +49,18 @@ class Test extends AdminController
public function testRpc() 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); $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(); return $response->getBody()->getContents();
} }

Loading…
Cancel
Save