Browse Source

Merge branch 'qs_local_mp' into develop

# Conflicts:
#	app/Admin/routes.php
master
lanzu_qsy 5 years ago
parent
commit
eda476e7c2
  1. 63
      app/Admin/Common/Sms.php
  2. 28
      app/Admin/Controllers/LanzuMpWithdrawController.php
  3. 64
      app/Admin/Controllers/Test.php
  4. 1
      app/Admin/routes.php
  5. 1
      composer.json
  6. 67
      composer.lock

63
app/Admin/Common/Sms.php

@ -0,0 +1,63 @@
<?php
namespace App\Admin\Common;
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
{
/**
* 发送短信
* @throws ClientException
*/
public static function sent($params)
{
AlibabaCloud::accessKeyClient(env('ACCESS_KEY_ID'),env('ACCESS_SECRET'))
->regionId('cn-shenzhen')
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => $params,
])
->request();
dd($result);
}catch (ClientException $e){
echo $e->getErrorMessage() . PHP_EOL;
}catch (ServerException $e){
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

@ -3,6 +3,7 @@
namespace App\Admin\Controllers;
use App\Admin\Common\FinancialRecord;
use App\Admin\Common\Sms;
use App\Admin\Repositories\LanzuMpWithdraw;
use App\Models\ImsCjdcMarket;
use App\Models\LanzuMpWithdraw as modelMpInfo;
@ -13,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
{
@ -32,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;
@ -54,7 +56,7 @@ class LanzuMpWithdrawController extends AdminController
});
if ($current_user->isRole('lanzu_mp')) {
$grid->disableEditButton();
}else{
} else {
$grid->disableCreateButton();
}
});
@ -204,12 +206,28 @@ class LanzuMpWithdrawController extends AdminController
$form->number('money', '提现金额')->required()->min(0);
$form->ignore(['balance']);
//添加成功之后,扣减掉可提现金额
$form->saved(function (Form $form, $result) use ($mpb) {
$form->saved(function (Form $form, $id) use ($mpb, $mp) {
if ($form->isCreating()) {
if ($result) {
if ($id) {
$mpb->balance = $mpb->balance - $form->money;
$mpb->save();
//发送短信通知
$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
]);
}
}
}
});

64
app/Admin/Controllers/Test.php

@ -8,28 +8,33 @@ use AlibabaCloud\Client\AlibabaCloud;
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
{
public function sentSms()
{
AlibabaCloud::accessKeyClient('LTAI4GBjK1Ha8r8fvDdq9atk','ZbRGJT44SEE2GGGy29bPmBVY2e2D6l')
$params = [
'RegionId' => "cn-shenzhen",
'PhoneNumbers' => "13481194554",
'SignName' => "懒族生活",
'TemplateCode' => "SMS_201720790",
'TemplateParam' => json_encode(['name'=>'DESION','money'=>999]),
];
AlibabaCloud::accessKeyClient(env('OSS_ACCESS_ID'),env('OSS_ACCESS_SECRET'))
->regionId('cn-shenzhen')
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
->version('2020-09-4')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => "cn-shenzhen",
'PhoneNumbers' => "13481194554",
'SignName' => "懒族 ",
],
'query' => $params
])
->request();
dd($result);
@ -39,4 +44,49 @@ class Test extends AdminController
echo $e->getErrorMessage() . PHP_EOL;
}
}
public function testRpc()
{
$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();
}
}

1
app/Admin/routes.php

@ -44,6 +44,7 @@ Route::group([
//统计店铺新增用户
$router->resource('/storeUserReport', 'StoreUserReportController');
$router->any('/sentsms', 'Test@sentSms');
// 分类
$router->resource('/category', 'v3\CategoryController');
$router->get('/categoryTie', 'v3\CategoryController@CategoryTieForms');

1
composer.json

@ -13,6 +13,7 @@
"dcat/laravel-admin": "^1.6",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"graze/guzzle-jsonrpc": "^3.2",
"guzzlehttp/guzzle": "^6.3",
"iidestiny/laravel-filesystem-oss": "^2.0",
"intervention/image": "^2.5",

67
composer.lock

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5fc4493cba11b36fcbba5ca797e0355a",
"content-hash": "a9fe5983d07b33755016777d63217c0a",
"packages": [
{
"name": "adbario/php-dot-notation",
@ -1261,6 +1261,71 @@
],
"time": "2020-04-28T08:47:37+00:00"
},
{
"name": "graze/guzzle-jsonrpc",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/graze/guzzle-jsonrpc.git",
"reference": "c4513b7659534792b906723158a8388f54275a61"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/graze/guzzle-jsonrpc/zipball/c4513b7659534792b906723158a8388f54275a61",
"reference": "c4513b7659534792b906723158a8388f54275a61",
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
},
"require": {
"guzzlehttp/guzzle": "^6.0",
"guzzlehttp/promises": "^1.0",
"php": ">=5.5",
"psr/http-message": "^1.0"
},
"require-dev": {
"adlawson/timezone": "~1.0",
"fabpot/php-cs-fixer": "~0.5",
"mockery/mockery": "~0.9",
"phpunit/phpunit": "~4.3"
},
"type": "library",
"autoload": {
"files": [
"src/functions_include.php"
],
"psr-4": {
"Graze\\GuzzleHttp\\JsonRpc\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Graze tech team",
"homepage": "https://github.com/graze/guzzle-jsonrpc/graphs/contributors"
}
],
"description": "JSON-RPC 2.0 client for Guzzle",
"homepage": "https://github.com/graze/guzzle-jsonrpc",
"keywords": [
"Guzzle",
"guzzlehttp",
"http",
"json",
"json-rpc",
"jsonrpc",
"ring",
"rpc"
],
"time": "2016-02-16T15:18:21+00:00"
},
{
"name": "guzzlehttp/guzzle",
"version": "6.5.5",

Loading…
Cancel
Save