From 53b5e4c1ee0d5aeb7f36a71244712138ac0e81b0 Mon Sep 17 00:00:00 2001 From: weiz Date: Sat, 11 Nov 2023 10:58:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=95=86=E6=88=B7=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MerchantController.php | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 app/middleapi/controller/MerchantController.php diff --git a/app/middleapi/controller/MerchantController.php b/app/middleapi/controller/MerchantController.php new file mode 100644 index 000000000..a9d827b4f --- /dev/null +++ b/app/middleapi/controller/MerchantController.php @@ -0,0 +1,124 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['page_no','page_size','merchant_name','master_name','master_phone']); + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $where = []; + if(!empty($params['merchant_name'])){ + $where[] = ['company_name','like','%'.$params['merchant_name'].'%']; + } + if(!empty($params['master_name'])){ + $where[] = ['master_name','like','%'.$params['master_name'].'%']; + } + if(!empty($params['master_phone'])){ + $where[] = ['master_phone','like','%'.$params['master_phone'].'%']; + } + $data = ShopMerchant::where($where) + ->field(['id', 'company_name', 'organization_code', 'master_name', 'master_phone']) + ->page($pageNo, $pageSize) + ->order(['id' => 'desc']) + ->append(['notes'], true) + ->withAttr('notes',function($value,$data){ + return Db::name('company_authentication_fail_log')->where('company_id',$data['id'])->where('log_type', 3)->order(['id'=>'desc'])->limit(1)->value('fail_reason'); + })->select()->toArray(); + $count = ShopMerchant::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + //商户认证表格列表 + public function merchantAuthLists(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['page_no','page_size','merchant_name','organization_code','master_name']); + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $where = []; + if(!empty($params['merchant_name'])){ + $where[] = ['company_name','like','%'.$params['merchant_name'].'%']; + } + if(!empty($params['organization_code'])){ + $where[] = ['organization_code','like','%'.$params['organization_code'].'%']; + } + if(!empty($params['master_name'])){ + $where[] = ['master_name','like','%'.$params['master_name'].'%']; + } + $data = CompanyForm::where($where) + ->field(['id', 'company_name', 'organization_code', 'address', 'master_name', 'type', 'master_email', 'notes']) + ->page($pageNo, $pageSize)->order(['id' => 'desc'])->select()->toArray(); + $count = CompanyForm::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + //商户申请列表 + public function merchantApplyLists(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['page_no','page_size','check_status','type']); + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $where = []; + if(!empty($params['check_status']) && in_array($params['check_status'],[1,2,3])){ + $where[] = ['check_status','=', $params['check_status']]; + } + if(!empty($params['type']) && in_array($params['type'],[2,3])){ + $where[] = ['type','=',$params['type']]; + }else{ + $where[] = ['type','in','2,3']; + } + $data = Approve::where($where)->with('task')->append(['area_manager', 'company_name'], true) + ->page($pageNo, $pageSize)->order(['id' => 'desc'])->select() + ->withAttr('area_manager',function($value,$data){ + return Admin::where(['id' => $data['check_admin_ids']])->value('name'); + }) + ->withAttr('company_name',function($value,$data){ + $task = Task::where('id', $data['task_id'])->find(); + if(!empty($task)){ + return Company::where(['id' => $task['company_id']])->value('company_name'); + } + })->toArray(); + $count = Approve::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + } \ No newline at end of file