Merge pull request 'mkm' (#40) from mkm into dev

Reviewed-on: #40
This commit is contained in:
mkm 2023-09-09 11:47:15 +08:00
commit 569998ef8d
4 changed files with 126 additions and 89 deletions

View File

@ -114,14 +114,14 @@ class ContractController extends BaseAdminController
{ {
$params = Request::param(); $params = Request::param();
$file = $params['file']; $file = $params['file'];
$res = Contract::where('id', $params['id'])->update(['file' => $file,'check_status'=>2]); $res = Contract::where('id', $params['id'])->update(['file' => $file, 'check_status' => 2]);
if ($res) { if ($res) {
$find=Contract::where('id', $params['id'])->with(['party_a_info'])->field('type,party_b,party_a') $find = Contract::where('id', $params['id'])->with(['party_a_info'])->field('type,party_b,party_a')
->find()->toArray(); ->find()->toArray();
if($find['type']==1){ if ($find['type'] == 1) {
$find['party_b_info'] =Company::where('id', $find['party_b'])->field('company_name name,master_phone phone')->find()->toArray(); $find['party_b_info'] = Company::where('id', $find['party_b'])->field('company_name name,master_phone phone')->find()->toArray();
}else{ } else {
$find['party_b_info'] =User::where('id', $find['party_b'])->field('nickname name,mobile phone')->find()->toArray(); $find['party_b_info'] = User::where('id', $find['party_b'])->field('nickname name,mobile phone')->find()->toArray();
} }
$a = [ $a = [
'mobile' => $find['party_a_info']['master_phone'], 'mobile' => $find['party_a_info']['master_phone'],
@ -137,7 +137,7 @@ class ContractController extends BaseAdminController
SmsLogic::contractUrl($b); SmsLogic::contractUrl($b);
return $this->success('上传成功', [], 1, 1); return $this->success('上传成功', [], 1, 1);
} else { } else {
if($res==0){ if ($res == 0) {
return $this->success('没有更新', [], 1, 1); return $this->success('没有更新', [], 1, 1);
} }
return $this->fail('上传失败'); return $this->fail('上传失败');
@ -154,9 +154,9 @@ class ContractController extends BaseAdminController
return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); return Db::name('dict_data')->where('id', $data['contract_type'])->value('name');
}) })
->withAttr('user_info', function ($value, $data) { ->withAttr('user_info', function ($value, $data) {
if($data['type']==1){ if ($data['type'] == 1) {
return Db::name('admin')->where('id', $data['party_b'])->field('name,phone')->find(); return Db::name('admin')->where('id', $data['party_b'])->field('name,phone')->find();
}else{ } else {
return Db::name('user')->where('id', $data['party_b'])->field('nickname name,mobile phone')->find(); return Db::name('user')->where('id', $data['party_b'])->field('nickname name,mobile phone')->find();
} }
}) })
@ -178,4 +178,17 @@ class ContractController extends BaseAdminController
} }
} }
} }
public function evidence()
{
$parms = Request::param();
$detail=ContractLogic::detail($parms);
$request = array(
"applyNo" => $detail['contract_no'],
"fullName" => $detail['party_a_info']['company_name'],
"identityCard" => $detail['party_a_info']['organization_code'],
"identityType" => 12,
);
return app(JunziqianController::class)->EvidenceDownload($request);
}
} }

View File

@ -78,14 +78,14 @@ class JunziqianController extends BaseApiController
$request->organizationRegNo = $data['organization_code']; $request->organizationRegNo = $data['organization_code'];
$request->organizationRegImg = $data['business_license']; //new CURLFile('D:/tmp/test.png',null,"test.png"); $request->organizationRegImg = $data['business_license']; //new CURLFile('D:/tmp/test.png',null,"test.png");
$request->legalName = $data["master_name"]; //法人 $request->legalName = $data["master_name"]; //法人
// $request->legalIdentityCard = $data["master_id_card"]; // 法人身份证 签约时人脸识别需要 // $request->legalIdentityCard = $data["master_id_card"]; // 法人身份证 签约时人脸识别需要
// $request->legalMobile = $data["master_phone"]; // 法人手机号 预留 签约时短信验证需要 // $request->legalMobile = $data["master_phone"]; // 法人手机号 预留 签约时短信验证需要
if (isset($data['master_email'])) { if (isset($data['master_email'])) {
$request->emailOrMobile = $data['master_email']; //邮箱 $request->emailOrMobile = $data['master_email']; //邮箱
} }
// $request->notifyUrl = env('url.url_prefix').'/notifyAuthentication?ids=22222'; // $request->notifyUrl = env('url.url_prefix').'/notifyAuthentication?ids=22222';
$request->notifyUrl = env('url.url_prefix').'/notifyAuthentication?id='.$data['id']; $request->notifyUrl = env('url.url_prefix') . '/notifyAuthentication?id=' . $data['id'];
// halt($request); // halt($request);
//发起创建企业请求 //发起创建企业请求
$response = $requestUtils->doPost("/v2/user/organizationCreate", $request); $response = $requestUtils->doPost("/v2/user/organizationCreate", $request);
@ -103,8 +103,8 @@ class JunziqianController extends BaseApiController
$request->organizationRegNo = $data['organization_code']; $request->organizationRegNo = $data['organization_code'];
$request->organizationRegImg = $data['business_license']; //new CURLFile('D:/tmp/test.png',null,"test.png"); $request->organizationRegImg = $data['business_license']; //new CURLFile('D:/tmp/test.png',null,"test.png");
$request->legalName = $data["master_name"]; //法人 $request->legalName = $data["master_name"]; //法人
// $request->legalIdentityCard = $data["master_id_card"]; // 法人身份证 签约时人脸识别需要 // $request->legalIdentityCard = $data["master_id_card"]; // 法人身份证 签约时人脸识别需要
// $request->legalMobile = $data["master_phone"]; // 法人手机号 预留 短信验证需要 // $request->legalMobile = $data["master_phone"]; // 法人手机号 预留 短信验证需要
$request->emailOrMobile = $data['master_email']; //邮箱 $request->emailOrMobile = $data['master_email']; //邮箱
//发起创建企业请求 //发起创建企业请求
$response = $requestUtils->doPost("/v2/user/organizationReapply", $request); $response = $requestUtils->doPost("/v2/user/organizationReapply", $request);
@ -142,18 +142,18 @@ class JunziqianController extends BaseApiController
//签约 //签约
public function Signing($data, $id, $notify = '') public function Signing($data, $id, $notify = '')
{ {
if($notify==''){ if ($notify == '') {
$notify=env('url.url_prefix').'/notify_url'; $notify = env('url.url_prefix') . '/notify_url';
} }
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
$request = new ApplySignReq(); $request = new ApplySignReq();
$request->contractName = $data['name']; $request->contractName = $data['name'];
$request->signatories = $data['signatories']; //签约方 $request->signatories = $data['signatories']; //签约方
// $request->faceThreshold = 79; // 人脸识别阀值:默认等级(1-100之间整数),建议范围(60-79) // $request->faceThreshold = 79; // 人脸识别阀值:默认等级(1-100之间整数),建议范围(60-79)
$request->serverCa = 1; //是否需要服务端云证书 $request->serverCa = 1; //是否需要服务端云证书
$request->fileType = 1; //合同上传方式 url $request->fileType = 1; //合同上传方式 url
$request->url = $data['url']; $request->url = $data['url'];
$request->notifyUrl = $notify.'?id='.$id; $request->notifyUrl = $notify . '?id=' . $id;
$request->needQifengSign = 1; $request->needQifengSign = 1;
//发起PING请求 //发起PING请求
// halt($request); // halt($request);
@ -165,19 +165,19 @@ class JunziqianController extends BaseApiController
public function OrganizationFaceCreate($data) public function OrganizationFaceCreate($data)
{ {
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
$request=new OrganizationFaceCreateReq(); $request = new OrganizationFaceCreateReq();
$request-> orderNo = $data['id']; $request->orderNo = $data['id'];
$request-> email = $data['master_email']; $request->email = $data['master_email'];
$request-> enterpriseName = $data['company_name']; $request->enterpriseName = $data['company_name'];
$request-> identityNo = $data['organization_code']; $request->identityNo = $data['organization_code'];
// $request-> facePerType = 0; // $request-> facePerType = 0;
$request-> legalPersonName = $data['master_name']; $request->legalPersonName = $data['master_name'];
$request-> legalIdentityCard = $data['master_id_card'];//法人证件号 $request->legalIdentityCard = $data['master_id_card']; //法人证件号
$request-> legalMobile = $data['master_phone']; $request->legalMobile = $data['master_phone'];
$request-> faceAgantIdenName = $data['master_name']; $request->faceAgantIdenName = $data['master_name'];
$request-> faceAgantIdenCard = $data['master_id_card']; $request->faceAgantIdenCard = $data['master_id_card'];
$request-> backUrl = env('url.url_prefix').'/api/Hetong/notifyOrganizationFaceCreate'; $request->backUrl = env('url.url_prefix') . '/api/Hetong/notifyOrganizationFaceCreate';
$response = $requestUtils->doPost("/v2/user/organizationFaceCreate",$request); $response = $requestUtils->doPost("/v2/user/organizationFaceCreate", $request);
return $response; return $response;
} }
@ -190,7 +190,7 @@ class JunziqianController extends BaseApiController
$request->serverCa = 1; //是否需要服务端云证书 $request->serverCa = 1; //是否需要服务端云证书
$request->fileType = 1; //合同上传方式 url $request->fileType = 1; //合同上传方式 url
$request->url = $data['url']; $request->url = $data['url'];
$request->notifyUrl = $notify.'?id='.$id; $request->notifyUrl = $notify . '?id=' . $id;
$request->needQifengSign = 1; $request->needQifengSign = 1;
//发起PING请求 //发起PING请求
@ -199,7 +199,8 @@ class JunziqianController extends BaseApiController
return $response; return $response;
} }
public function downloadVehicleContractFile($applyNo) { public function downloadVehicleContractFile($applyNo)
{
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
$contract_url = VehicleContract::where('contract_no', $applyNo)->value('contract_url'); $contract_url = VehicleContract::where('contract_no', $applyNo)->value('contract_url');
if ($contract_url && !empty($contract_url)) { if ($contract_url && !empty($contract_url)) {
@ -212,28 +213,29 @@ class JunziqianController extends BaseApiController
$response = $requestUtils->doPost("/v2/sign/linkFile", $request); $response = $requestUtils->doPost("/v2/sign/linkFile", $request);
if ($response->success) { if ($response->success) {
$this->getDownload($response->data, root_path() . 'public/uploads/vehicle_contract/' . $applyNo . '.pdf'); $this->getDownload($response->data, root_path() . 'public/uploads/vehicle_contract/' . $applyNo . '.pdf');
return env('project.website_domain').'/uploads/vehicle_contract/' . $applyNo . '.pdf'; return env('project.website_domain') . '/uploads/vehicle_contract/' . $applyNo . '.pdf';
} else { } else {
return false; return false;
} }
} }
public function downloadVehicleContractEvidence($applyNo,$companyName,$companyCode) { public function downloadVehicleContractEvidence($applyNo, $companyName, $companyCode)
{
//构建请求工具 //构建请求工具
$requestUtils=new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
//初始化合同参数 //初始化合同参数
$request=array( $request = array(
"applyNo" => $applyNo, "applyNo" => $applyNo,
"fullName" => $companyName, //签约人名称(合同发起接口中传入的签署人姓名) "fullName" => $companyName, //签约人名称(合同发起接口中传入的签署人姓名)
"identityCard" => $companyCode, //统一社会信用代码 "identityCard" => $companyCode, //统一社会信用代码
"identityType" => 12, //证件类型 1身份证, 2护照, 3台胞证, 4港澳居民来往内地通行证, 11营业执照, 12统一社会信用代码, 20子账号, 99其他 "identityType" => 12, //证件类型 1身份证, 2护照, 3台胞证, 4港澳居民来往内地通行证, 11营业执照, 12统一社会信用代码, 20子账号, 99其他
"evidenceType" => 0 //证据类型,0图片,1视频,2人脸证据 "evidenceType" => 0 //证据类型,0图片,1视频,2人脸证据
); );
$response = $requestUtils->doPost("/v2/sign/evidenceLinkFile",$request); $response = $requestUtils->doPost("/v2/sign/evidenceLinkFile", $request);
if ($response->success) { if ($response->success) {
$resData = (array)$response->data; $resData = (array)$response->data;
$this->getDownload($resData['link'], root_path() . 'public/uploads/vehicle_contract/' . $applyNo . '.png'); $this->getDownload($resData['link'], root_path() . 'public/uploads/vehicle_contract/' . $applyNo . '.png');
return env('project.website_domain').'/uploads/vehicle_contract/' . $applyNo . '.png'; return env('project.website_domain') . '/uploads/vehicle_contract/' . $applyNo . '.png';
} else { } else {
return false; return false;
} }
@ -276,7 +278,7 @@ class JunziqianController extends BaseApiController
$request->serverCa = 1; //是否需要服务端云证书 $request->serverCa = 1; //是否需要服务端云证书
$request->fileType = 3; $request->fileType = 3;
$request->htmlContent = $data['content']; $request->htmlContent = $data['content'];
$request->notifyUrl = env('url.url_prefix').'/notify_url?id=' . $id; $request->notifyUrl = env('url.url_prefix') . '/notify_url?id=' . $id;
$request->needQifengSign = 1; $request->needQifengSign = 1;
//发起PING请求 //发起PING请求
@ -284,6 +286,9 @@ class JunziqianController extends BaseApiController
return $response; return $response;
} }
/**
* 下载合同
*/
public function download_file($applyNo) public function download_file($applyNo)
{ {
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
@ -299,7 +304,31 @@ class JunziqianController extends BaseApiController
if ($response->success == true) { if ($response->success == true) {
$this->getDownload($response->data, root_path() . 'public/uploads/contract/' . $applyNo . '.pdf'); $this->getDownload($response->data, root_path() . 'public/uploads/contract/' . $applyNo . '.pdf');
Db::name('contract')->where('contract_no', $applyNo)->update(['contract_url' => '/uploads/contract/' . $applyNo . '.pdf']); Db::name('contract')->where('contract_no', $applyNo)->update(['contract_url' => '/uploads/contract/' . $applyNo . '.pdf']);
return $this->success('获取成功', ['url' => env('url.url_prefix').'/uploads/contract/' . $applyNo . '.pdf']); return $this->success('获取成功', ['url' => env('url.url_prefix') . '/uploads/contract/' . $applyNo . '.pdf']);
} else {
return $this->fail('获取失败');
}
}
/**
* 保全后合同文件及证据包下载
*/
public function EvidenceDownload($param)
{
//初始化请求参数
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
$request = array(
"applyNo" => $param['applyNo'],
"fullName" => $param['fullName'],
"identityCard" => $param['identityCard'],
"identityType" => 12,
"dealType" => 1,
);
$response = $requestUtils->doPost("/v2/sign/presLinkFile", $request);
if ($response->success == true) {
$this->getDownload($response->data, root_path() . 'public/uploads/evidence/' . $param['applyNo'] . '.zip');
Db::name('contract')->where('contract_no', $param['applyNo'])->update(['contract_url' => '/uploads/evidence/' . $param['applyNo'] . '.pdf']);
return $this->success('获取成功', ['url' => env('url.url_prefix') . '/uploads/evidence/' . $param['applyNo'] . '.zip']);
} else { } else {
return $this->fail('获取失败'); return $this->fail('获取失败');
} }

View File

@ -18,6 +18,7 @@ class TaskController extends BaseApiController
{ {
$param = Request()->param(); $param = Request()->param();
[$page, $limit] = $this->getPage(); [$page, $limit] = $this->getPage();
$time = strtotime(date('Y-m-d'));
if ($this->userInfo['admin_id'] != 0) { if ($this->userInfo['admin_id'] != 0) {
$where[] = ['company_id', '=', $this->userInfo['company_id']]; $where[] = ['company_id', '=', $this->userInfo['company_id']];
} else { } else {

View File

@ -51,25 +51,19 @@ class TaskInformationJob
return false; return false;
} }
$transaction_pool=$data['template_info']['transaction_pool'];//交易金额剩余池 $transaction_pool=$data['template_info']['transaction_pool'];//交易金额剩余池
if(bcadd($shang_date_total_price['arr']['total_price'],$transaction_pool,2)>$shang_date_total_price['arr']['day_money']){ $count_money=bcadd($shang_date_total_price['arr']['total_price'],$transaction_pool,2);
if($shang_date_total_price['arr']['total_price']>$shang_date_total_price['arr']['day_money']){ if($count_money>$shang_date_total_price['arr']['day_money']){
$day_money=bcsub($shang_date_total_price['arr']['total_price'],$shang_date_total_price['arr']['day_money'],2);//当天还剩多少 $day_money=bcsub($count_money,$shang_date_total_price['arr']['day_money'],2);//当计算剩余池before_transaction_pool
$shang_date_total_price['arr']['supplement']=$day_money; $shang_date_total_price['arr']['before_transaction_pool']=$transaction_pool;//变化前
$transaction_pool=bcadd($transaction_pool,$day_money,2); $shang_date_total_price['arr']['after_transaction_pool']=$day_money;//变化后
}else{
$shang_date_total_price['arr']['supplement']=0; Task::where('id', $data['task_id'])->update(['status' => 3,'extend'=>json_encode(['transaction'=>$shang_date_total_price])]);
$shang_date_total_price['arr']['after_transaction_pool']=0; TaskTemplate::where('id',$data['template_info']['id'])->update(['transaction_pool'=>$day_money]);
$day_money=0;
$transaction_pool=bcadd($transaction_pool,$shang_date_total_price['arr']['total_price'],2);
$transaction_pool=bcsub($transaction_pool,$shang_date_total_price['arr']['day_money'],2);
if($transaction_pool<0){
$transaction_pool=0;
}
}
$shang_date_total_price['arr']['before_transaction_pool']=$day_money;
Task::where('id', $data['task_id'])->update(['status' => 3,'extend'=>json_encode($shang_date_total_price)]);
TaskTemplate::where('id',$data['template_info']['id'])->update(['transaction_pool'=>$transaction_pool]);
$shang_date_total_price['arr']['status']=1; $shang_date_total_price['arr']['status']=1;
}else{
Log::info('交易金额任务,交易金额小于今日金额:' . json_encode($data));
Task::where('id', $data['task_id'])->update(['status' => 5]);
return false;
} }
$name = $shang_date_total_price['name']; $name = $shang_date_total_price['name'];
$arr['status'] = $shang_date_total_price['arr']['status']; $arr['status'] = $shang_date_total_price['arr']['status'];
@ -100,7 +94,7 @@ class TaskInformationJob
$arr['company_account_type'] = 2; $arr['company_account_type'] = 2;
}else{ }else{
if($data['template_info']['day_count']<=$day){ if($data['template_info']['day_count']<=$day){
TaskSchedulingPlan::where('id', $data['id'])->update(['is_pay' => 0]);
try{ try{
Task::where('id', $data['task_id'])->update(['create_time' => $task_35['start_time']+86400,'update_time' =>time(),'start_time'=>$task_35['start_time']+86400,'end_time'=>$task_35['start_time']+86400+86399]); Task::where('id', $data['task_id'])->update(['create_time' => $task_35['start_time']+86400,'update_time' =>time(),'start_time'=>$task_35['start_time']+86400,'end_time'=>$task_35['start_time']+86400+86399]);
}catch(\Exception $e){ }catch(\Exception $e){