Browse Source

Merge branch 'master' of ssh://8.134.10.79:222/Leadfyy.co/hainan

master
lemon 4 years ago
parent
commit
109d800bae
  1. 14
      app/Http/Controllers/Api/OrderController.php
  2. 37
      app/Http/Controllers/Api/TestController.php
  3. 52
      app/Http/Controllers/Api/VerificationController.php
  4. 1
      resources/lang/zh_CN/agent-info.php
  5. 1
      resources/lang/zh_CN/agent-product.php
  6. 18
      resources/lang/zh_CN/waterfall-ad.php
  7. 2
      routes/api.php

14
app/Http/Controllers/Api/OrderController.php

@ -15,11 +15,11 @@ use App\Models\Product;
use App\Models\SystemSetting;
use App\Models\User;
use App\Models\Order;
use App\Service\OpenPlatform;
use EasyWeChat\Factory;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Common\OrderStatus as Status;
@ -429,16 +429,8 @@ class OrderController extends Controller
//如果有核销码,生成核销二维码
if ($order->verify_code) {
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
$config = [
'app_id' => $setting['service_appid'],
'secret' => $setting['service_appsecret'],
'token' => $setting['service_token'],
'aes_key' => $setting['service_aeskey'],
];
$app = Factory::openPlatform($config);
$refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null;
$app = new OpenPlatform();
$refreshToken = $app->refreshToken($order->agent->appid);
if (!$refreshToken) {
return $this->error('获取refresh_token失败');
}

37
app/Http/Controllers/Api/TestController.php

@ -2,6 +2,7 @@
namespace App\Http\Controllers\Api;
use App\Common\ProductStatus;
use App\Models\AdminSetting;
use App\Models\AgentProduct;
use App\Models\MiniProgramUploadLog;
@ -19,41 +20,7 @@ class TestController
{
public function index()
{
$appid = 'wx5bd5789ad8f89524';
$message = json_decode('{"ToUserName":"gh_f4ab40774bed","FromUserName":"o4seR5d-TVCImgh2aE6UtrQn6LIM","CreateTime":"1631670431","MsgType":"event","Event":"weapp_audit_success","SuccTime":"1631670431"}', true);
DB::table('mini_program_events')
->insert([
'type' => 1,
'response' => json_encode($message),
'event' => $message['MsgType'] ?? '',
'created_at' => now()
]);
$openPlatform = new OpenPlatform();
$refreshToken = $openPlatform->refreshToken($appid);
//审核结果通知
if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') {
$auditArr = [
'weapp_audit_success' => 0, //成功
'weapp_audit_fail' => 1, //拒绝
'weapp_audit_delay' => 4, //审核延后
];
//如果审核成功则发布
if ($message['Event'] == 'weapp_audit_success') {
$code = $openPlatform->code($appid, $refreshToken);
$res = $code->release();
dump($res);
}
$log = MiniProgramUploadLog::query()
->where('appid', $appid)
->orderBy('id', 'desc')
->first();
$log->is_success = $auditArr[$message['Event']] ?? -1;
$log->save();
}
return $this->login(12);
}
/**

52
app/Http/Controllers/Api/VerificationController.php

@ -7,35 +7,36 @@ use App\Common\StatementType;
use App\Http\Controllers\Controller;
use App\Models\Agent;
use App\Models\Guide;
use App\Models\IndustryOrder;
use App\Models\Order;
use App\Models\Supplier;
use App\Models\Product;
use App\Models\OrderProductItem;
use App\Models\User;
use App\Common\OrderStatus;
use App\Service\SmsService;
use App\Service\WithdrawalService;
use App\Traits\DemandTraits;
use App\Traits\SmsTraits;
use App\Traits\StatementTraits;
use EasyWeChat\Factory;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
/**
* 订单核销
* Class VerificationController
* @package App\Http\Controllers\Api
*/
class VerificationController extends Controller
{
//核销订单
//核销小程序订单
public function verify()
{
$input_verify_code = request()->input('verify_code'); //订单ID
$input_verify_code = request()->input('verify_code'); //核销码
$code_arr = explode('-', $input_verify_code);
if (count($code_arr) != 2) {
return $this->error('参数错误');
}
list($id, $verify_code) = $code_arr;
$order = Order::with(['agentProduct:id,verifier', 'user', 'agent', 'guide'])
->where(['verify_code' => $verify_code])
$order = Order::where(['verify_code' => $verify_code])
->whereIn('status', [OrderStatus::PAID, OrderStatus::PAID_RETAINAGE, OrderStatus::OFFLINE_PAID, OrderStatus::REFUSED_REFUND])
->find($id);
if (!$order) {
@ -62,6 +63,41 @@ class VerificationController extends Controller
return $this->success();
}
//行业产品订单核销
public function industry_verify()
{
$input_verify_code = request()->input('verify_code'); //核销码
$code_arr = explode('-', $input_verify_code);
if (count($code_arr) != 2) {
return $this->error('参数错误');
}
list($id, $verify_code) = $code_arr;
$order = IndustryOrder::with('industryProduct:id,verify_mobile')
->where(['status' => OrderStatus::OFFLINE_PAID, 'verify_code' => $verify_code])->find($id);
if (!$order) {
return $this->error('订单不存在或订单状态不允许核销');
}
$user = User::find($this->user_id);
if (!$user->mobile) {
return $this->error('获取手机号失败,请先授权获取手机号');
} else if ($user->mobile != $order->industryProduct->verify_mobile) {
return $this->error('对不起,你没有该订单的核销权限');
}
try {
//改变订单状态为已完成
$order->status = OrderStatus::SUCCESS;
$order->save();
return $this->success();
} catch (\Exception $e) {
return $this->error($e->getMessage());
}
}
public function fund($order)
{
$service = new WithdrawalService();

1
resources/lang/zh_CN/agent-info.php

@ -3,6 +3,7 @@ return [
'labels' => [
'AgentInfo' => '代理商信息',
'agent-info' => '代理商信息',
'agent_info' => '代理商信息',
],
'fields' => [
'about' => '关于我们',

1
resources/lang/zh_CN/agent-product.php

@ -3,6 +3,7 @@ return [
'labels' => [
'AgentProduct' => '产品',
'agent-product' => '产品',
'agent_product' => '产品',
],
'fields' => [
'agent_id' => '代理商ID',

18
resources/lang/zh_CN/waterfall-ad.php

@ -1,18 +0,0 @@
<?php
return [
'labels' => [
'WaterfallAd' => '产品列表内嵌广告',
'waterfall-ad' => '产品列表内嵌广告',
],
'fields' => [
'title' => '广告名称',
'agent_id' => '代理商ID',
'picture' => '广告图片',
'type' => '链接',
'url' => '链接地址',
'sort' => '排序',
'status' => '状态',
],
'options' => [
],
];

2
routes/api.php

@ -114,7 +114,7 @@ Route::namespace('App\Http\Controllers\Api')
# 核销订单
Route::prefix('verification')->group(function () {
Route::post('verify', 'VerificationController@verify');
Route::post('qrcode', 'VerificationController@qrcode');
Route::post('industry_verify', 'VerificationController@industry_verify'); //行业产品订单核销
});
# 短信息

Loading…
Cancel
Save