This commit is contained in:
mkm 2023-07-20 18:07:54 +08:00
commit 0197552395
4 changed files with 51 additions and 41 deletions

@ -22,6 +22,8 @@ use app\adminapi\logic\CompanyLogic;
use app\adminapi\validate\CompanyValidate;
use app\api\controller\JunziqianController;
use app\api\logic\SmsLogic;
use app\common\model\auth\Admin;
use app\common\model\Company;
use think\facade\Db;
use think\view\driver\Think;
@ -245,4 +247,13 @@ class CompanyController extends BaseAdminController
}
}
}
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, 1, 1);
}
}

@ -17,6 +17,8 @@ namespace app\adminapi\logic;
use app\common\model\Company;
use app\common\logic\BaseLogic;
use app\common\model\contract\Contract;
use think\exception\ValidateException;
use think\facade\Db;
@ -40,6 +42,10 @@ class CompanyLogic extends BaseLogic
{
Db::startTrans();
try {
$exist = Company::where('admin_id', $params['admin_id'])->find();
if (!empty($exist)) {
throw new ValidateException('该账号已经注册过企业');
}
$data=Company::create([
// 'level_two' => $params['level_two'],
// 'level_one' => $params['level_one'],
@ -63,22 +69,10 @@ class CompanyLogic extends BaseLogic
// 'deposit' => $params['deposit'],
// 'deposit_time' => $params['deposit_time'],
'qualification' => $params['qualification'],
'admin_id' => $params['admin_id'] ?? 0,
// 'status' => $params['status']
]);
$contract=$params['contract'];
$datas=[
'company_id'=>$data['id'],
'contract_type'=>$contract['contract_type'],
'contract_no'=>time(),
'file'=>$contract['file'],
'create_time'=>time(),
'update_time'=>time(),
'party_a'=>$contract['party_a'],
'party_b'=>$data['id'],
'type'=>1
];
$ids=Db::name('contract')->insertGetId($datas);
Company::where('id',$data['id'])->update(['contract_id'=>$ids]);
self::contract($data['id'], $params);
Db::commit();
return true;
} catch (\Exception $e) {
@ -125,17 +119,7 @@ class CompanyLogic extends BaseLogic
'qualification' => $params['qualification'],
// 'status' => $params['status']
]);
$contract=$params['contract'];
$datas=[
'company_id'=>$params['id'],
'contract_type'=>$contract['contract_type'],
'contract_no'=>time(),
'file'=>$contract['file'],
'update_time'=>time(),
'party_a'=>$contract['party_a'],
'party_b'=>$params['id'],
];
Db::name('contract')->insert($datas);
self::contract($params['id'], $params);
Db::commit();
return true;
} catch (\Exception $e) {
@ -184,4 +168,20 @@ class CompanyLogic extends BaseLogic
}
return $data;
}
public static function contract($companyId, $params)
{
$model = Contract::where(['party_b', $companyId])->find();
if (empty($model)) {
$model = new Contract();
$model->party_b = $companyId;
$model->contract_no = time();
$model->create_time = time();
$model->type = 1;
}
$model->update_time = time();
$model->setAttrs($params);
$model->save();
}
}

@ -355,21 +355,17 @@ class AdminLogic extends BaseLogic
public static function contract($adminId, $data)
{
if (!empty($data['file'])) {
$admin = Admin::find($adminId);
$where = empty($admin['company_id']) ? ['admin_id' => $adminId] : ['company_id' => $admin['company_id']];
$model = Contract::where($where)->find();
if (empty($model)) {
$model = new Contract();
$model->admin_id = $admin['id'];
$model->company_id = $admin['company_id'];
$model->contract_no = time();
$model->create_time = time();
$model->update_time = time();
$model->type = 2;
}
$model->save($data);
$model = Contract::where(['party_b', $adminId])->find();
if (empty($model)) {
$model = new Contract();
$model->party_b = $adminId;
$model->contract_no = time();
$model->create_time = time();
$model->type = 2;
}
$model->update_time = time();
$model->setAttrs($data);
$model->save();
}
}

@ -23,8 +23,11 @@ class ContractController extends BaseApiController
if (empty($admin)) {
return $this->success();
}
$where = empty($admin['company_id']) ? ['admin_id' => $admin['id']] : ['company_id' => $admin['company_id']];
$query = Contract::where($where);
if (!empty($admin['company_id'])) {
$query = Contract::whereRaw("(type=1 and party_b={$admin['company_id']}) or (type=2 and party_b={$admin['id']})");
} else {
$query = Contract::where('party_b', $admin['id']);
}
$count = $query->count();
$contract = $query->page($page)->limit($limit)->select();
return $this->success('success', ['count' => $count, 'data' => $contract], 1, 1);