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

View File

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

View File

@ -17,6 +17,8 @@ namespace app\adminapi\logic;
use app\common\model\Company; use app\common\model\Company;
use app\common\logic\BaseLogic; use app\common\logic\BaseLogic;
use app\common\model\contract\Contract;
use think\exception\ValidateException;
use think\facade\Db; use think\facade\Db;
@ -40,6 +42,10 @@ class CompanyLogic extends BaseLogic
{ {
Db::startTrans(); Db::startTrans();
try { try {
$exist = Company::where('admin_id', $params['admin_id'])->find();
if (!empty($exist)) {
throw new ValidateException('该账号已经注册过企业');
}
$data=Company::create([ $data=Company::create([
// 'level_two' => $params['level_two'], // 'level_two' => $params['level_two'],
// 'level_one' => $params['level_one'], // 'level_one' => $params['level_one'],
@ -63,22 +69,10 @@ class CompanyLogic extends BaseLogic
// 'deposit' => $params['deposit'], // 'deposit' => $params['deposit'],
// 'deposit_time' => $params['deposit_time'], // 'deposit_time' => $params['deposit_time'],
'qualification' => $params['qualification'], 'qualification' => $params['qualification'],
'admin_id' => $params['admin_id'] ?? 0,
// 'status' => $params['status'] // 'status' => $params['status']
]); ]);
$contract=$params['contract']; self::contract($data['id'], $params);
$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]);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
@ -125,17 +119,7 @@ class CompanyLogic extends BaseLogic
'qualification' => $params['qualification'], 'qualification' => $params['qualification'],
// 'status' => $params['status'] // 'status' => $params['status']
]); ]);
$contract=$params['contract']; self::contract($params['id'], $params);
$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);
Db::commit(); Db::commit();
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
@ -184,4 +168,20 @@ class CompanyLogic extends BaseLogic
} }
return $data; 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();
}
} }

View File

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

View File

@ -23,8 +23,11 @@ class ContractController extends BaseApiController
if (empty($admin)) { if (empty($admin)) {
return $this->success(); return $this->success();
} }
$where = empty($admin['company_id']) ? ['admin_id' => $admin['id']] : ['company_id' => $admin['company_id']]; if (!empty($admin['company_id'])) {
$query = Contract::where($where); $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(); $count = $query->count();
$contract = $query->page($page)->limit($limit)->select(); $contract = $query->page($page)->limit($limit)->select();
return $this->success('success', ['count' => $count, 'data' => $contract], 1, 1); return $this->success('success', ['count' => $count, 'data' => $contract], 1, 1);