Browse Source

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

master
lanzu_qsy 6 years ago
parent
commit
72b303e00d
  1. 22
      app/Admin/Common/Sms.php
  2. 28
      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\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();
}
}

28
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
{
@ -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
]);
}
}
}
});

14
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();
}

Loading…
Cancel
Save