From ea1ef062bdc27c52c93dda15142f2e7e2abb4c7d Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 10:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=88=86=E5=8F=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 10 ++++-- .../Grid/MiniProgramAuditStatus.php | 11 ++++--- .../Controllers/Api/MiniProgramController.php | 31 ++++++++++++++----- app/Models/Agent.php | 5 +++ 4 files changed, 42 insertions(+), 15 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 03103a9..865dfca 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/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)); } }); diff --git a/app/Admin/Extensions/Grid/MiniProgramAuditStatus.php b/app/Admin/Extensions/Grid/MiniProgramAuditStatus.php index 2de218e..48cabe2 100644 --- a/app/Admin/Extensions/Grid/MiniProgramAuditStatus.php +++ b/app/Admin/Extensions/Grid/MiniProgramAuditStatus.php @@ -1,20 +1,16 @@ $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 { diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php index 40a47e7..cd1893e 100644 --- a/app/Http/Controllers/Api/MiniProgramController.php +++ b/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,11 +41,13 @@ class MiniProgramController extends Controller // 处理授权更新事件:Guard::EVENT_UPDATE_AUTHORIZED // 处理授权取消事件:Guard::EVENT_UNAUTHORIZED $server->push(function ($message) { - DB::table('mini_program_events')->insert([ - 'response' => json_encode($message), - 'event' => $message['InfoType'] ?? '', - 'created_at' => now() - ]); + DB::table('mini_program_events') + ->insert([ + 'type' => 0, + 'response' => json_encode($message), + 'event' => $message['InfoType'] ?? '', + 'created_at' => now() + ]); if (isset($message['InfoType'], $message['status'], $message['msg'], $message['info']) && $message['status'] == 0 && $message['msg'] == 'OK') { //注册成功授权通知 @@ -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 = [ diff --git a/app/Models/Agent.php b/app/Models/Agent.php index 457873d..0756652 100644 --- a/app/Models/Agent.php +++ b/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');