From c6bdc354d0108be8284c4351a16e9c598718a974 Mon Sep 17 00:00:00 2001 From: liapples Date: Thu, 30 Sep 2021 17:05:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=8B=AC=E7=AB=8B=E7=AE=A1=E7=90=86=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 34 +------- .../Controllers/MiniProgramController.php | 82 +++++++++++++++++++ app/Admin/routes.php | 1 + app/Jobs/UploadMiniProgramQueue.php | 2 +- app/Service/UploadMiniProgram.php | 2 +- resources/lang/zh_CN/agent.php | 2 + 6 files changed, 88 insertions(+), 35 deletions(-) create mode 100644 app/Admin/Controllers/MiniProgramController.php diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 7775137..fdb11ae 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -3,14 +3,9 @@ namespace App\Admin\Controllers; use App\Admin\Extensions\Grid\AuditAgent; -use App\Admin\Extensions\Grid\MiniProgramAuditStatus; -use App\Admin\Extensions\Grid\MiniProgramPull; -use App\Admin\Extensions\Grid\MiniProgramReg; -use App\Admin\Extensions\Grid\MiniProgramUpload; use App\Admin\Repositories\Agent; use App\Common\AgentType; use App\Common\UserStatus; -use App\Models\MiniProgramTemplate; use App\Models\Supplier; use Dcat\Admin\Form; use Dcat\Admin\Grid; @@ -32,8 +27,6 @@ class AgentController extends AdminController $grid->disableDeleteButton(); $grid->disableRowSelector(); - $grid->tools(new MiniProgramPull('更新小程序模板')); - //如果是审核页面,多加where条件判断 if (strpos(Route::current()->uri, 'audit')) { $grid->model()->where('status', UserStatus::UNAUDITED); @@ -53,10 +46,7 @@ class AgentController extends AdminController //$grid->column('rate')->editable()->help('分成百分比,如10%,则输入10'); $grid->column('created_at'); - $last_template_id = MiniProgramTemplate::max('template_id'); $grid->column('status', '状态') - ->style('min-width:7em;') - ->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,再上传小程序即可') ->using(UserStatus::array()) ->dot([ UserStatus::NORMAL => 'success', @@ -69,31 +59,9 @@ class AgentController extends AdminController ->then(function ($column) { $column->append((new AuditAgent(null, 1))->setKey($this->id))->append(' '); $column->append((new AuditAgent(null, 2))->setKey($this->id)); - }) - ->if(fn() => $this->status == UserStatus::NORMAL && in_array($this->type, [AgentType::OPERATOR, AgentType::SUPPLIER])) - ->display('') - ->then(function ($column) use ($last_template_id) { - $is_success = $this->miniUpload->is_success ?? null; - $template_id = $this->miniUpload->template_id ?? null; - - if (empty($this->appid)) { //注册小程序 - $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); - $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if ($is_success === 0 && $template_id === $last_template_id) { - $column->append("已发布(模板:{$template_id})"); - } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 - $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id))->append(' '); - $column->append((new MiniProgramAuditStatus(null, 2))->setKey($this->id)); - } else { - $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); - $statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; - if (isset($is_success, $statusArr[$is_success])) { - $column->append('
(模板' . $template_id . $statusArr[$is_success] . ')'); - } - } }); - $grid->filter(function ($filter) { + $grid->filter(function (Grid\Filter $filter) { $filter->panel(); $filter->equal('id')->width(2); diff --git a/app/Admin/Controllers/MiniProgramController.php b/app/Admin/Controllers/MiniProgramController.php new file mode 100644 index 0000000..804824f --- /dev/null +++ b/app/Admin/Controllers/MiniProgramController.php @@ -0,0 +1,82 @@ +disableRowSelector(); + $grid->disableCreateButton(); + $grid->disableActions(); + + $grid->model() + ->whereIn('type', [AgentType::OPERATOR, AgentType::SUPPLIER]) + ->where([['status', '=', UserStatus::NORMAL], ['id', '>', 1]]); //隐藏ID=1的领峰云管理员 + + $grid->tools(new MiniProgramPull('更新小程序模板')); + + $grid->column('id')->sortable(); + $grid->column('username'); + $grid->column('appid'); + $grid->column('name'); + $grid->column('company_name'); + $grid->column('created_at'); + + $last_template_id = MiniProgramTemplate::max('template_id'); + $grid->column('op', '操作') + ->style('min-width:7em;') + ->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,并设置邮箱、头像、昵称等,再上传小程序即可') + ->if(fn() => true) + ->display('') + ->then(function ($column) use ($last_template_id) { + $is_success = $this->miniUpload->is_success ?? null; + $template_id = $this->miniUpload->template_id ?? null; + + if (empty($this->appid)) { //注册小程序 + $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); + $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); + } else if ($is_success === 0 && $template_id === $last_template_id) { + $column->append("已发布(模板:{$template_id})"); + } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 + $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id))->append(' '); + $column->append((new MiniProgramAuditStatus(null, 2))->setKey($this->id)); + } else { + $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); + $statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; + if (isset($is_success, $statusArr[$is_success])) { + $column->append('
(模板' . $template_id . $statusArr[$is_success] . ')'); + } + } + }); + + $grid->filter(function (Grid\Filter $filter) { + $filter->panel(); + + $filter->equal('id')->width(2); + $filter->like('name')->width(3); + $filter->like('company_name')->width(3); + }); + }); + } +} diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 07b275f..df3838f 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -45,6 +45,7 @@ Route::group([ $router->resource('mini_program/draft', 'MiniProgramDraftController'); $router->resource('mini_program/template', 'MiniProgramTemplateController'); $router->resource('mini_program/list', 'MiniProgramListController'); + $router->resource('mini_program/upload', 'MiniProgramController'); $router->resource('industry_order/list', 'IndustryOrderController'); $router->resource('withdrawal', 'WithdrawalController'); $router->resource('system', 'SystemSettingController'); diff --git a/app/Jobs/UploadMiniProgramQueue.php b/app/Jobs/UploadMiniProgramQueue.php index 78e7657..373e802 100644 --- a/app/Jobs/UploadMiniProgramQueue.php +++ b/app/Jobs/UploadMiniProgramQueue.php @@ -48,7 +48,7 @@ class UploadMiniProgramQueue implements ShouldQueue try { new UploadMiniProgram($agent, $template); } catch (GuzzleException | \Exception $e) { - throw new Exception($e->getMessage()); + throw new Exception($agent->id . '-' . $agent->appid . $e->getMessage()); } } } diff --git a/app/Service/UploadMiniProgram.php b/app/Service/UploadMiniProgram.php index 6e59380..71bc8ea 100644 --- a/app/Service/UploadMiniProgram.php +++ b/app/Service/UploadMiniProgram.php @@ -106,7 +106,7 @@ class UploadMiniProgram throw new Exception($res['errmsg'] ?? join(',', $res)); } } catch (Exception $e) { - throw new Exception($agent->id . '-' . $agent->appid . $e->getMessage()); + throw new Exception($e->getMessage()); } } diff --git a/resources/lang/zh_CN/agent.php b/resources/lang/zh_CN/agent.php index ae29c12..9a6759d 100644 --- a/resources/lang/zh_CN/agent.php +++ b/resources/lang/zh_CN/agent.php @@ -4,6 +4,8 @@ return [ 'Agent' => '代理商', 'agent' => '代理商', 'agent_info' => '代理商信息', + 'mini_program' => '小程序管理', + 'upload' => '上传', ], 'fields' => [ 'account' => '账号',