Browse Source

小程序分发修改

develop
李可松 4 years ago
parent
commit
ea1ef062bd
  1. 10
      app/Admin/Controllers/AgentController.php
  2. 11
      app/Admin/Extensions/Grid/MiniProgramAuditStatus.php
  3. 23
      app/Http/Controllers/Api/MiniProgramController.php
  4. 5
      app/Models/Agent.php

10
app/Admin/Controllers/AgentController.php

@ -3,6 +3,7 @@
namespace App\Admin\Controllers;
use App\Admin\Extensions\Grid\AuditAgent;
use App\Admin\Extensions\Grid\MiniProgramAuditStatus;
use App\Admin\Extensions\Grid\MiniProgramReg;
use App\Admin\Extensions\Grid\MiniProgramUpload;
use App\Admin\Repositories\Agent;
@ -25,7 +26,7 @@ class AgentController extends AdminController
*/
protected function grid()
{
return Grid::make(new Agent(), function (Grid $grid) {
return Grid::make(new Agent(['miniUpload']), function (Grid $grid) {
$grid->disableDeleteButton();
//如果是审核页面,多加where条件判断
@ -47,6 +48,7 @@ class AgentController extends AdminController
$grid->column('created_at');
$grid->column('status', '状态')
->style('min-width:7em;')
->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,再上传小程序即可')
->using(UserStatus::array())
->dot([
@ -67,8 +69,12 @@ class AgentController extends AdminController
if (empty($this->appid)) { //注册小程序
$column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' ');
$column->append((new MiniProgramReg(null, 2))->setKey($this->id));
} else {
} else if (empty($this->miniUpload)) {
$column->append((new MiniProgramUpload(null, 1))->setKey($this->id));
} else if ($this->miniUpload->is_success == 0) {
$column->append("已发布{$this->miniUpload->template_id}");
} else {
$column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id));
}
});

11
app/Admin/Extensions/Grid/MiniProgramAuditStatus.php

@ -1,20 +1,16 @@
<?php
namespace App\Admin\Extensions\Grid;
use App\Common\UserStatus;
use App\Models\AdminSetting;
use App\Models\Agent;
use App\Models\MiniProgramTemplate;
use App\Models\MiniProgramUploadLog;
use App\Models\Supplier;
use Dcat\Admin\Admin;
use Dcat\Admin\Grid\RowAction;
use EasyWeChat\Factory;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
use EasyWeChat\OpenPlatform\Authorizer\MiniProgram\Code\Client;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
/**
* 查询小程序发布后某个版本的审核状态
@ -52,6 +48,8 @@ class MiniProgramAuditStatus extends RowAction
$log = MiniProgramUploadLog::where(['agent_id' => $agent->id, 'template_id' => $template_id])->orderBy('id', 'desc')->first();
if (!$log) {
return $this->response()->error('该代理商未上传及发布过最新版本的小程序');
} else if (!$log->audit_id){
return $this->response()->error('未找到审核记录audit_id');
}
try {
@ -76,7 +74,10 @@ class MiniProgramAuditStatus extends RowAction
$res = $code->getAuditStatus($log->audit_id);
if (isset($res['errcode'], $res['errmsg'], $res['status']) && $res['errcode'] == 0 && $res['errmsg'] == 'ok') {
$statusArr = ['审核成功', '审核被拒绝', '审核中', '已撤回', '审核延后'];
$statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后'];
//保存审核状态
$log->is_success = $res['status'];
$log->save();
if (isset($statusArr[$res['status']])) {
return $this->response()->success($statusArr[$res['status']])->refresh();
} else {

23
app/Http/Controllers/Api/MiniProgramController.php

@ -18,7 +18,13 @@ class MiniProgramController extends Controller
// 第三方平台授权事件通知
public function authEvent(Request $request)
{
DB::table('mini_program_events')->insert(['response' => json_encode($request->all()), 'created_at' => now()]);
DB::table('mini_program_events')
->insert([
'type' => 0,
'response' => json_encode($request->all()),
'event' => 'all',
'created_at' => now(),
]);
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
$config = [ // 第三方平台信息
@ -35,7 +41,9 @@ class MiniProgramController extends Controller
// 处理授权更新事件:Guard::EVENT_UPDATE_AUTHORIZED
// 处理授权取消事件:Guard::EVENT_UNAUTHORIZED
$server->push(function ($message) {
DB::table('mini_program_events')->insert([
DB::table('mini_program_events')
->insert([
'type' => 0,
'response' => json_encode($message),
'event' => $message['InfoType'] ?? '',
'created_at' => now()
@ -55,8 +63,15 @@ class MiniProgramController extends Controller
public function msgEvent(Request $request)
{
$appid = $request->route('appid');
DB::table('mini_program_events')->insert(['appid' => $appid, 'response' => json_encode($request->all()), 'created_at' => now()]);
$appid = $request->route('appid', '');
DB::table('mini_program_events')
->insert([
'type' => 1,
'response' => json_encode($request->all()),
'appid' => $appid,
'event' => 'all',
'created_at' => now(),
]);
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
$config = [

5
app/Models/Agent.php

@ -29,6 +29,11 @@ class Agent extends BaseModel
return $this->hasMany(AgentProduct::class);
}
public function miniUpload()
{
return $this->hasOne(MiniProgramUploadLog::class)->orderBy('id', 'desc');
}
public function demand()
{
return $this->morphOne('App\Models\Demand', 'publisher');

Loading…
Cancel
Save