Merge pull request 'update' (#88) from zhangwei into master
Reviewed-on: http://git.excellentkk.cn/mkm/TaskSystem/pulls/88
This commit is contained in:
commit
5c56fa4a51
@ -11,10 +11,8 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | author: likeadminTeam
|
// | author: likeadminTeam
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
namespace app\api\controller;
|
namespace app\api\controller;
|
||||||
|
|
||||||
|
|
||||||
use app\api\logic\IndexLogic;
|
use app\api\logic\IndexLogic;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use app\common\model\company\CompanyProperty;
|
use app\common\model\company\CompanyProperty;
|
||||||
@ -32,9 +30,7 @@ use think\response\Json;
|
|||||||
*/
|
*/
|
||||||
class IndexController extends BaseApiController
|
class IndexController extends BaseApiController
|
||||||
{
|
{
|
||||||
|
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl','notifyProperty','notifyAuthentication','notifyVehicleContractUpdate','systemCarRent','cancelContract'];
|
||||||
|
|
||||||
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl','notifyProperty','notifyAuthentication','notifyVehicleContractUpdate','notifyVillageCarRent'];
|
|
||||||
|
|
||||||
private $domain = 'https://logistics.lihaink.cn';
|
private $domain = 'https://logistics.lihaink.cn';
|
||||||
// private $domain = 'http://www.lst.local';
|
// private $domain = 'http://www.lst.local';
|
||||||
@ -124,6 +120,85 @@ class IndexController extends BaseApiController
|
|||||||
return json(['success' => true, 'msg' => '成功']);
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//系统车辆租赁回来
|
||||||
|
public function systemCarRent() {
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if(empty($id)){
|
||||||
|
return json(['success' => false, 'msg' => '缺少参数']);
|
||||||
|
}
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return json(['success' => false, 'msg' => '参数错误']);
|
||||||
|
}
|
||||||
|
if($contract['type'] != 0){
|
||||||
|
return json(['success' => false, 'msg' => '合同类型错误']);
|
||||||
|
}
|
||||||
|
if($contract['status'] != 2){
|
||||||
|
return json(['success' => false, 'msg' => '合同状态错误']);
|
||||||
|
}
|
||||||
|
//判断签约方
|
||||||
|
if ($contract['signing_timer'] == 0) {
|
||||||
|
//更新合同的签约次数
|
||||||
|
$res = VehicleContract::where('id',$id)->update(['signing_timer'=>1]);
|
||||||
|
if(!$res){
|
||||||
|
return json(['success' => false, 'msg' => '更新失败']);
|
||||||
|
}
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}else if($contract['signing_timer'] == 1) {
|
||||||
|
//更改合同状态
|
||||||
|
VehicleContract::where('id',$id)->update(['signing_timer'=>2,'status'=>3]);
|
||||||
|
//添加车辆到租赁列表
|
||||||
|
$vehicle = json_decode($contract['cars_info'],true);
|
||||||
|
VehicleRent::where('car_id',$vehicle['id'])->update([
|
||||||
|
'status' => 2,
|
||||||
|
'rent_time' => time(),
|
||||||
|
'rent_company_id' => $contract['company_b_id'],
|
||||||
|
]);
|
||||||
|
$car_id = $vehicle['id'];
|
||||||
|
$party_b = Company::where('id',$contract['company_b_id'])->find();
|
||||||
|
//通知物流系统跟新
|
||||||
|
curl_post($this->domain.'/api/updateVehicleRent',[],[
|
||||||
|
'car_id' => $car_id,
|
||||||
|
'use_user_id' => $party_b['user_id'],
|
||||||
|
'use_user_name' => $party_b['master_name'],
|
||||||
|
'use_user_phone' => $party_b['master_phone']
|
||||||
|
]);
|
||||||
|
CompanyProperty::create([
|
||||||
|
'company_id' => $contract['company_b_id'],
|
||||||
|
'object_id' => $car_id,
|
||||||
|
'type' => 1
|
||||||
|
]);
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}else{
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//解除合同回调
|
||||||
|
public function cancelContract() {
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if(empty($id)){
|
||||||
|
return json(['success' => false, 'msg' => '缺少参数']);
|
||||||
|
}
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return json(['success' => false, 'msg' => '参数错误']);
|
||||||
|
}
|
||||||
|
if($contract['type'] != 2){
|
||||||
|
return json(['success' => false, 'msg' => '合同状态错误']);
|
||||||
|
}
|
||||||
|
if($contract['status'] != 2){
|
||||||
|
return json(['success' => false, 'msg' => '合同状态错误']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function notifyVillageCarRent(){
|
public function notifyVillageCarRent(){
|
||||||
//获取参数
|
//获取参数
|
||||||
$id = $this->request->get('id');
|
$id = $this->request->get('id');
|
||||||
@ -139,7 +214,11 @@ class IndexController extends BaseApiController
|
|||||||
return json(['success' => false, 'msg' => '合同状态错误']);
|
return json(['success' => false, 'msg' => '合同状态错误']);
|
||||||
}
|
}
|
||||||
if ($contract['signing_timer'] == 0) {
|
if ($contract['signing_timer'] == 0) {
|
||||||
VehicleContract::where('id',$id)->update(['signing_timer'=>1]);
|
$res = VehicleContract::where('id',$id)->update(['signing_timer'=>1]);
|
||||||
|
if(!$res){
|
||||||
|
return json(['success' => false, 'msg' => '更新失败']);
|
||||||
|
}
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
}else if($contract['signing_timer'] == 1) {
|
}else if($contract['signing_timer'] == 1) {
|
||||||
//更改合同状态
|
//更改合同状态
|
||||||
VehicleContract::where('id',$id)->update(['signing_timer'=>2,'status'=>3]);
|
VehicleContract::where('id',$id)->update(['signing_timer'=>2,'status'=>3]);
|
||||||
@ -190,8 +269,10 @@ class IndexController extends BaseApiController
|
|||||||
'object_id' => $car_id,
|
'object_id' => $car_id,
|
||||||
'type' => 1
|
'type' => 1
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
return json(['success' => true, 'msg' => '成功']);
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}else{
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//车辆租赁签约合同状态更改
|
//车辆租赁签约合同状态更改
|
||||||
@ -245,9 +326,10 @@ class IndexController extends BaseApiController
|
|||||||
$data[$k]['type']=1;
|
$data[$k]['type']=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (count($data)>0){
|
if (count($data)<=0){
|
||||||
$res = CompanyProperty::insertAll($data);
|
return json(['success' => false, 'msg' => '失败']);
|
||||||
}
|
}
|
||||||
|
$res = CompanyProperty::insertAll($data);
|
||||||
if ($res) {
|
if ($res) {
|
||||||
return json(['success' => true, 'msg' => '成功']);
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
} else {
|
} else {
|
||||||
|
@ -144,14 +144,27 @@ class VehicleController extends BaseApiController
|
|||||||
],
|
],
|
||||||
'url' => $contract['file']
|
'url' => $contract['file']
|
||||||
];
|
];
|
||||||
$signRes = app(JunziqianController::class)->Signing($signData, $params['id'],'https://worker-task.lihaink.cn/api/index/notifyVillageCarRent');
|
$notify_url = '';
|
||||||
|
if($contract['type'] == 0){
|
||||||
|
$notify_url = 'https://worker-task.lihaink.cn/api/index/systemCarRent';
|
||||||
|
}elseif($contract['type'] == 1){
|
||||||
|
$notify_url = 'https://worker-task.lihaink.cn/api/index/selfCarRent';
|
||||||
|
}elseif($contract['type'] == 2){
|
||||||
|
$notify_url = 'https://worker-task.lihaink.cn/api/index/cancelRent';
|
||||||
|
}
|
||||||
|
$signRes = app(JunziqianController::class)->Signing($signData, $params['id'],$notify_url);
|
||||||
if ($signRes->success) {
|
if ($signRes->success) {
|
||||||
$contract->save([
|
$contract->save([
|
||||||
'id' => $contract['id'],
|
'id' => $contract['id'],
|
||||||
'contract_no' => $signRes->data,
|
'contract_no' => $signRes->data,
|
||||||
'status' => 2
|
'status' => 2
|
||||||
]);
|
]);
|
||||||
$this->sendSms($params['id']);
|
if($contract['type'] == 2){
|
||||||
|
$smsTitle = '《解约合同》';
|
||||||
|
}else{
|
||||||
|
$smsTitle = '《租赁合同》';
|
||||||
|
}
|
||||||
|
$this->sendSms($params['id'],$smsTitle);
|
||||||
return $this->success('合同发送成功');
|
return $this->success('合同发送成功');
|
||||||
} else {
|
} else {
|
||||||
return $this->fail($signRes->msg);
|
return $this->fail($signRes->msg);
|
||||||
@ -164,7 +177,17 @@ class VehicleController extends BaseApiController
|
|||||||
if(empty($id)){
|
if(empty($id)){
|
||||||
return $this->fail('参数错误');
|
return $this->fail('参数错误');
|
||||||
}
|
}
|
||||||
$this->sendSms($id);
|
//获取数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return $this->fail('数据错误');
|
||||||
|
}
|
||||||
|
if($contract['type'] == 2){
|
||||||
|
$smsTitle = '《解约合同》';
|
||||||
|
}else{
|
||||||
|
$smsTitle = '《租赁合同》';
|
||||||
|
}
|
||||||
|
$this->sendSms($id,$smsTitle);
|
||||||
return $this->success('发送成功');
|
return $this->success('发送成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -416,10 +439,77 @@ class VehicleController extends BaseApiController
|
|||||||
//获取轨迹
|
//获取轨迹
|
||||||
$url = $this->url.'/api/getCarHistory?car_id='.$params['car_id'].'&start_time='.$params['start_time'].'&end_time='.$params['end_time'];
|
$url = $this->url.'/api/getCarHistory?car_id='.$params['car_id'].'&start_time='.$params['start_time'].'&end_time='.$params['end_time'];
|
||||||
$result = curl_get($url);
|
$result = curl_get($url);
|
||||||
|
$data = [];
|
||||||
|
foreach($result['data'] as $k => $v){
|
||||||
|
$data[$k]['latitude'] = $v['lat'];
|
||||||
|
$data[$k]['longitude'] = $v['lon'];
|
||||||
|
}
|
||||||
return $this->success('success',$result['data']);
|
return $this->success('success',$result['data']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function sendSms($id) {
|
public function cancelContract() {
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['car_id']);
|
||||||
|
if(empty($params['car_id'])){
|
||||||
|
return $this->fail('参数错误');
|
||||||
|
}
|
||||||
|
$this->userInfo['company_id'] = 188;
|
||||||
|
//获取车辆信息
|
||||||
|
$carInfo = VehicleRent::where('car_id',$params['car_id'])->where('type',1)->find();
|
||||||
|
if(empty($carInfo)){
|
||||||
|
return $this->fail('车辆信息错误');
|
||||||
|
}
|
||||||
|
if($carInfo['rent_company_id'] != $this->userInfo['company_id']){
|
||||||
|
return $this->fail('当前公司与车辆信息不匹配');
|
||||||
|
}
|
||||||
|
//获取甲方公司信息
|
||||||
|
$party_a = Company::where('id',$carInfo['company_id'])->find();
|
||||||
|
if(empty($party_a)){
|
||||||
|
return $this->fail('甲方公司信息错误');
|
||||||
|
}
|
||||||
|
//获取乙方公司信息
|
||||||
|
$party_b = Company::where('id',$this->userInfo['company_id'])->find();
|
||||||
|
if(empty($party_b)){
|
||||||
|
return $this->fail('乙方公司信息错误');
|
||||||
|
}
|
||||||
|
//判断是否申请过
|
||||||
|
$vehicleContract = VehicleContract::where('company_b_id',$this->userInfo['company_id'])->where('type',3)->where('status','<>',4)->find();
|
||||||
|
if(!empty($vehicleContract)){
|
||||||
|
return $this->fail('请勿重复申请');
|
||||||
|
}
|
||||||
|
//设置数据
|
||||||
|
$data = [
|
||||||
|
'contract_logistic_id' => 0,
|
||||||
|
'contract_no' => time(),
|
||||||
|
'company_a_id' => $party_a['id'],
|
||||||
|
'company_a_name' => $party_a['company_name'],
|
||||||
|
'company_a_code' => $party_a['organization_code'],
|
||||||
|
'company_a_user' => $party_a['master_name'],
|
||||||
|
'company_a_phone' => $party_a['master_phone'],
|
||||||
|
'company_a_email' => $party_a['master_email'],
|
||||||
|
'company_b_id' => $party_b['id'],
|
||||||
|
'company_b_name' => $party_b['company_name'],
|
||||||
|
'company_b_code' => $party_b['organization_code'],
|
||||||
|
'company_b_user' => $party_b['master_name'],
|
||||||
|
'company_b_phone' => $party_b['master_phone'],
|
||||||
|
'company_b_email' => $party_b['master_email'],
|
||||||
|
'cars_info' => json_encode(['id'=>$carInfo['car_id'],'license'=>$carInfo['car_license']]),
|
||||||
|
'num' => 1,
|
||||||
|
'type' => 2,
|
||||||
|
'status' => -1,
|
||||||
|
'create_time' => time(),
|
||||||
|
'update_time' => time()
|
||||||
|
];
|
||||||
|
//写入数据
|
||||||
|
$result = VehicleContract::create($data);
|
||||||
|
if($result){
|
||||||
|
return $this->success('申请成功,待镇街公司审核');
|
||||||
|
}else{
|
||||||
|
return $this->fail('申请失败,请稍后重试');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sendSms($id,$title) {
|
||||||
//获取合同数据
|
//获取合同数据
|
||||||
$contract = VehicleContract::where('id',$id)->find();
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
if ($contract && !$contract->isEmpty() && $contract['file'] != '') {
|
if ($contract && !$contract->isEmpty() && $contract['file'] != '') {
|
||||||
@ -461,7 +551,7 @@ class VehicleController extends BaseApiController
|
|||||||
$sms = [
|
$sms = [
|
||||||
'mobile' => $v['master_phone'],
|
'mobile' => $v['master_phone'],
|
||||||
'name' => $v['fullName'],
|
'name' => $v['fullName'],
|
||||||
'type' => '《租赁合同》',
|
'type' => $title,
|
||||||
'code' => 'api/Hetong/info?id='.$id.'&type='.$v['type'],
|
'code' => 'api/Hetong/info?id='.$id.'&type='.$v['type'],
|
||||||
'scene' => 'WQ'
|
'scene' => 'WQ'
|
||||||
];
|
];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user