49 lines
1.9 KiB
PHP
49 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\common\model\auth\Admin;
|
|
use app\common\model\Company;
|
|
use app\common\model\contract\Contract;
|
|
|
|
/**
|
|
* Class CompanyController
|
|
* @package app\api\controller
|
|
*/
|
|
class CompanyController extends BaseApiController
|
|
{
|
|
|
|
public function index()
|
|
{
|
|
$page = $this->request->get('page', 1);
|
|
$limit = $this->request->get('limit', 15);
|
|
$admin = Admin::findOrEmpty($this->userInfo['admin_id']);
|
|
$myCompany = Company::findOrEmpty($admin['company_id'])->toArray();
|
|
$companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b');
|
|
$query = Company::whereIn('id', $companyIds);
|
|
$count = $query->count();
|
|
$companies = $query->page($page)->limit($limit)->select()->each(function ($company) {
|
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
|
$company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
|
|
})->toArray();
|
|
return $this->success('', ['count' => $count, 'data' => $companies]);
|
|
}
|
|
|
|
public function view($id)
|
|
{
|
|
$company = Company::findOrEmpty($id)->toArray();
|
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
|
$company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
|
|
return $this->success('', $company);
|
|
}
|
|
|
|
public function mine()
|
|
{
|
|
$admin = Admin::findOrEmpty($this->userInfo['admin_id']);
|
|
$company = Company::findOrEmpty($admin['company_id'])->toArray();
|
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
|
$company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
|
|
return $this->success('', $company);
|
|
}
|
|
|
|
} |