<?php // +---------------------------------------------------------------------- // | likeadmin快速开发前后端分离管理后台(PHP版) // +---------------------------------------------------------------------- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 // | 开源版本可自由商用,可去除界面版权logo // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin // | github下载:https://github.com/likeshop-github/likeadmin // | 访问官网:https://www.likeadmin.cn // | likeadmin团队 版权所有 拥有最终解释权 // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- namespace app\adminapi\controller; use app\adminapi\lists\CompanyLists; use app\common\logic\CompanyLogic; use app\adminapi\validate\CompanyValidate; use app\api\controller\JunziqianController; use app\common\model\auth\Admin; use app\common\model\Company; use think\facade\Db; use app\common\logic\contract\ContractLogic; use app\common\model\contract\Contract; /** * Company控制器 * Class CompanyController * @package app\adminapi\controller */ class CompanyController extends BaseAdminController { /** * @notes 获取列表 * @return \think\response\Json * @author likeadmin * @date 2023/07/15 14:43 */ public function lists() { return $this->dataLists(new CompanyLists()); } public function list_two(){ return $this->success('ok', (new CompanyLists())->list_two()); } /** * @notes 添加 * @return \think\response\Json * @author likeadmin * @date 2023/07/15 14:43 */ public function add() { $params = (new CompanyValidate())->post()->goCheck('add'); $params['other_contacts'] = json_encode($params['other_contacts']); $params['qualification'] = json_encode($params['qualification']); $params['area_manager']=$this->adminId; if(isset($params['responsible_area'])){ $params['responsible_area']=implode(',',$params['responsible_area']); } $result = CompanyLogic::add($params); if (true === $result) { return $this->success('添加成功', [], 1, 1); } return $this->fail(CompanyLogic::getError()); } /** * @notes 编辑 * @return \think\response\Json * @author likeadmin * @date 2023/07/15 14:43 */ public function edit() { $params = (new CompanyValidate())->post()->goCheck('edit'); $params['other_contacts'] = json_encode($params['other_contacts']); $params['qualification'] = json_encode($params['qualification']); if(isset($params['responsible_area'])){ $params['responsible_area']=implode(',',$params['responsible_area']); } $result = CompanyLogic::edit($params); if (true === $result) { return $this->success('编辑成功', [], 1, 1); } return $this->fail(CompanyLogic::getError()); } /** * @notes 删除 * @return \think\response\Json * @author likeadmin * @date 2023/07/15 14:43 */ public function delete() { $params = (new CompanyValidate())->post()->goCheck('delete'); CompanyLogic::delete($params); return $this->success('删除成功', [], 1, 1); } /** * @notes 获取详情 * @return \think\response\Json * @author likeadmin * @date 2023/07/15 14:43 */ public function detail() { $params = (new CompanyValidate())->goCheck('detail'); $result = CompanyLogic::detail($params); return $this->data($result); } //**发起合同 */ public function initiate_contract() { $params = $this->request->param(); if(isset($params['party_a']) && $params['party_a']>0){ $params['party_a'] = $params['party_a']; }else{ $params['party_a'] = $this->adminInfo['company_id']; } $params['type'] = 1; $params['party_b']=$params['id']; unset($params['id']); $result = ContractLogic::initiate_contract($params); if ($result == true) { return $this->success('发起成功,等待平台风控部上传合同', [], 1, 1); } return $this->fail(ContractLogic::getError()); } // /**生成合同 */ public function Draftingcontracts() { $params = $this->request->param(); $result = ContractLogic::Draftingcontracts($params); if ($result == true) { return $this->success('生成合同成功', [], 1, 1); } return $this->fail(ContractLogic::getError()); } //**发送短信 */ public function postsms() { $params = (new CompanyValidate())->goCheck('detail'); $id=Contract::where('party_b', $params['id'])->value('id'); $res = ContractLogic::postsms(['id'=>$id]); if ($res == true) { return $this->success('发送成功', [], 1, 1); } else { return $this->fail(ContractLogic::getError()); } } //企业认证 public function authentication() { $params = (new CompanyValidate())->goCheck('detail'); $company = Db::name('company')->where('id', $params['id'])->find(); $qualification = json_decode($company['qualification'], true); if ($company && $qualification['business_license']) { $data = [ 'name' => $company['company_name'], 'organization_code' => $company['organization_code'], 'business_license' => 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/561f8202305171526091317.png', //$qualification['business_license'], 'master_name' => $company['master_name'], 'master_email' => $company['master_email'], ]; $res = app(JunziqianController::class)->EnterpriseCertification($data); if ($res->success == true) { Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data, 'is_authentication' => 1]); return $this->success('认证成功', ['email' => $res->data], 1, 1); } else { return $this->fail($res->msg); } } } //重新认证 public function organizationReapply() { $params = (new CompanyValidate())->goCheck('detail'); $company = Db::name('company')->where('id', $params['id'])->find(); $qualification = json_decode($company['qualification'], true); if ($company && $qualification['business_license']) { $data = [ 'name' => $company['company_name'], 'organization_code' => $company['organization_code'], 'business_license' => 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/561f8202305171526091317.png', //$qualification['business_license'], 'master_name' => $company['master_name'], 'master_email' => $company['master_email'], ]; $res = app(JunziqianController::class)->organizationReapply($data); if ($res->success == true) { Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data]); return $this->success('重新认证成功', ['em'], 1, 1); } else { return $this->fail($res->msg); } } } public function userList() { $existUsers = Company::where('status', '<>', -1)->column('admin_id'); $existUsers = array_unique($existUsers); $users = Admin::whereNotIn('id', $existUsers)->field('id,name,avatar')->select()->toArray(); return $this->success('success', $users); } /** * 所有成员公司 * @param $id * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function subordinate($company_id) { $company = Company::findOrEmpty($company_id); $result = loopGetChild(Company::class, $company->id, 'level_one', 'company_name,id,company_type,area,area area_name,street,street street_name,is_contract,area_manager,area_manager area_manager_name,master_name,master_phone'); $data['lists'] = $result; return $this->success('success', $data); } }