This commit is contained in:
unknown 2023-10-11 17:41:19 +08:00
parent 60e42afaea
commit a9921963e0

View File

@ -69,8 +69,8 @@ class ContractController extends BaseApiController
if(!isset($params['id']) || empty($params['id'])) { if(!isset($params['id']) || empty($params['id'])) {
return $this->fail('缺少必要参数'); return $this->fail('缺少必要参数');
} }
$contract = Contract::where('id',$params['id'])->find(); $contract = Contract::where('id',$params['id'])->findOrEmpty();
if(empty($contract)) { if($contract->isEmpty()) {
return $this->fail('未找到相应数据'); return $this->fail('未找到相应数据');
} }
if(isset($params['signing_timer']) && isset($params['status']) && $params['signing_timer'] == 2 && $params['status'] == 3){ if(isset($params['signing_timer']) && isset($params['status']) && $params['signing_timer'] == 2 && $params['status'] == 3){
@ -80,9 +80,10 @@ class ContractController extends BaseApiController
//获取租赁车辆 //获取租赁车辆
$cars = json_decode($contract['cars_info'], true); $cars = json_decode($contract['cars_info'], true);
$data = []; $data = [];
foreach($cars as $v){ //更新合同状态
$hasCar = VehicleRent::where('car_id',$v['id'])->findOrEmpty(); $contract->where('id', $contract['id'])->save($params);
if($hasCar->isEmpty()){ if($contract['type'] == 0){
foreach($cars as $v){
$data[] = [ $data[] = [
'car_id' => $v['id'], 'car_id' => $v['id'],
'contract_id' => $contract['id'], 'contract_id' => $contract['id'],
@ -97,46 +98,38 @@ class ContractController extends BaseApiController
'use_user_phone' => '' 'use_user_phone' => ''
]; ];
} }
} $status = 2;
Db::startTrans(); }else if($contract['type'] == 1) {
try{ foreach($cars as $v){
//更新合同状态 $data[] = [
$update_result = $contract->where('id', $contract['id'])->save($params); 'car_id' => $v['id'],
//更新本地车辆状态 'contract_id' => $contract['id'],
$vehicle_result = Vehicle::where('id','in',array_column($cars,'id'))->update(['status'=>2]); 'company_id' => $contract['company_b_id'],
//添加车辆到租赁列表 'company_name' => $contract['company_b_name'],
$create_result = (new VehicleRent()) -> saveAll($data); 'company_user' => $contract['company_b_user'],
if($update_result && $vehicle_result && $create_result){ 'company_phone' => $contract['company_b_phone'],
Db::commit(); 'create_time' => time(),
return $this->success('更新成功1'); 'status' => 2,
}else{ 'use_user_id' => 0,
Db::rollback(); 'use_user_name' => $contract['company_b_user'],
return $this->fail('更新失败1'); 'use_user_phone' => $contract['company_b_phone']
];
} }
}catch (\Exception){ $status = 4;
Db::rollback();
return $this->fail('更新失败1.1');
} }
//更新本地车辆状态
Vehicle::where('id','in',array_column($cars,'id'))->update(['status'=>$status]);
//添加车辆到租赁列表
(new VehicleRent()) -> saveAll($data);
return $this->success('更新成功1');
} }
Db::startTrans(); $contract->where('id', $contract['id'])->save($params);
try{ if(isset($params['cars_info']) && !empty($params['cars_info'])){
$update_result = $contract->where('id', $contract['id'])->save($params); $cars = json_decode($params['cars_info'], true);
if(isset($params['cars_info']) && !empty($params['cars_info'])){ //更新本地车辆状态
$cars = json_decode($params['cars_info'], true); Vehicle::where('id','in',array_column($cars,'id'))->update(['status'=>1]);
//更新本地车辆状态
Vehicle::where('id','in',array_column($cars,'id'))->update(['status'=>1]);
}
if($update_result){
Db::commit();
return $this->success('更新成功2');
}else{
Db::rollback();
return $this->fail('更新失败2');
}
}catch (\Exception){
Db::rollback();
return $this->fail('更新失败2.1');
} }
return $this->success('更新成功2');
} }
public function checkCarNum() { public function checkCarNum() {