From 22e9c99d16c4646ca6bd05056db44f06c49c9a42 Mon Sep 17 00:00:00 2001 From: weiz Date: Tue, 14 Nov 2023 10:00:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=95=86=E6=88=B7=E5=90=88?= =?UTF-8?q?=E5=90=8C=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=AF=B9=E5=A4=96?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ShopContractController.php | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 app/middleapi/controller/ShopContractController.php diff --git a/app/middleapi/controller/ShopContractController.php b/app/middleapi/controller/ShopContractController.php new file mode 100644 index 000000000..71c98aa7b --- /dev/null +++ b/app/middleapi/controller/ShopContractController.php @@ -0,0 +1,180 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['page_no','page_size','contract_no','party_a','party_b','status']); + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $where = []; + if(!empty($params['contract_no'])){ + $where[] = ['contract_no','like','%'.$params['contract_no'].'%']; + } + if(isset($params['party_a']) && $params['party_a']!=''){ + $arr= ShopMerchant::where('company_name','like','%'.$params['party_a'].'%')->column('id'); + if($arr){ + $where[]=['party_a','in',$arr]; + } + } + if(isset($params['party_b']) && $params['party_b']!=''){ + $arr= ShopMerchant::where('company_name','like','%'.$params['party_b'].'%')->column('id'); + if($arr){ + $where[]=['party_b','in',$arr]; + } + } + if(isset($params['status']) && in_array($params['status'],[0,1])){ + $where[] = ['status','=',$params['status']]; + } + + $data = ShopContract::where($where) + ->field(['id', 'contract_no', 'party_a', 'party_b', 'area_manager', 'type', 'evidence_url', 'check_status', 'status', 'notes']) + ->page($pageNo, $pageSize)->order(['id' => 'desc']) + ->with(['partyA', 'partyB'])->select()->toArray(); + $count = ShopContract::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + //商户合同详情 + public function detail(): Json + { + $params = (new ShopContractValidate())->post()->goCheck('detail'); + $result = ShopContractLogic::detail($params); + return $this->data($result); + } + + //商户合同审核后 + public function check(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id','file']); + if(empty($params['id']) || empty($params['file'])){ + return $this->fail('参数错误'); + } + $res = ShopContract::where('id', $params['id'])->update(['file' => $params['file'], 'check_status' => 2]); + if ($res) { + $find = ShopContract::where('id', $params['id'])->field('type,party_b,party_a')->find()->toArray(); + $find['party_a_info'] = ShopMerchant::where('id', $find['party_a'])->field('company_name name,master_phone phone')->find()->toArray(); + $find['party_b_info'] = ShopMerchant::where('id', $find['party_b'])->field('company_name name,master_phone phone')->find()->toArray(); + $a = [ + 'mobile' => $find['party_a_info']['phone'], + 'name' => $find['party_a_info']['name'], + 'scene' => 'WQTZ' + ]; + SmsLogic::contractUrl($a); + $b = [ + 'mobile' => $find['party_b_info']['phone'], + 'name' => $find['party_b_info']['name'], + 'scene' => 'WQTZ' + ]; + SmsLogic::contractUrl($b); + return $this->success('上传成功', [], 1, 1); + } else { + if ($res == 0) { + return $this->success('没有更新', [], 1, 1); + } + return $this->fail('上传失败'); + } + } + + //商户合同备注 + public function note(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id','notes']); + if(empty($params['id']) || empty($params['notes'])){ + return $this->fail('参数错误'); + } + $shopContract = ShopContract::where('id', $params['id'])->find(); + if (empty($shopContract)) { + return $this->fail('合同不存在'); + } + $shopContract->notes = $params['notes']; + $shopContract->save(); + return $this->success('成功'); + } + + //发送合同 + public function draftContract(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $result = ShopContractLogic::Draftingcontracts($params); + if ($result) { + return $this->success('生成合同成功', [], 1, 1); + } + return $this->fail(ContractLogic::getError()); + } + + //发送短信 + public function sendSms(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $re = ShopContractLogic::postsms($params); + if (!$re) { + return $this->fail(ShopContractLogic::getError()); + } + return $this->success('成功'); + } + + //下载证据包 + public function evidence() + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $detail=ShopContract::where('id',$params['id'])->find(); + if(!empty($detail['evidence_url'])){ + return $this->success('获取成功', ['url' => env('url.url_prefix').$detail['evidence_url']]); + } + $company=ShopMerchant::where('id',$detail['party_a'])->find(); + $request = array( + "applyNo" => $detail['contract_no'], + "fullName" => $company['company_name'], + "identityCard" => $company['organization_code'], + "identityType" => 12, + ); + return app(JunziqianController::class)->EvidenceShopDownload($request); + } + } \ No newline at end of file