Files
liche/api/controllers/wxapp/liche/Protocol.php
T
2022-08-10 17:31:52 +08:00

302 lines
20 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
defined('WXAPP_APP') OR exit('No direct script access allowed');
require_once APPPATH.'controllers/wxapp/Wxapp.php';
/**
* Created by Vim
* User: lcc
* Date: 2021.06.23
* Time: 14:08 */ class Protocol extends Wxapp{
function __construct($inputs, $app_key){
parent::__construct($inputs, $app_key);
$this->login_white = ['get'];//登录白名单
$this->load->model('receiver/order/receiver_orders_v2_model');
$this->load->model('receiver/receiver_services_model','services_model');
$this->load->model('receiver/order/receiver_order_contracts_model');
$this->load->model('receiver/order/receiver_order_deliverys_model','deliverys_model');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_attr_model');
$this->load->model("items/items_model");
$this->load->model('app/liche/app_liche_orders_model');
$this->load->library('receiver/orders_v2_entity');
$this->load->library('receiver/orders_status_entity');
$this->load->library('pdftk');
$this->load->library('entity/deal_entity',['app_id'=>1]);
}
/**
* 获取协议
*/
protected function get(){
$type = intval($this->input_param('type'));
switch($type){
case 1:
$content = "协议1";
break;
case 2:
$content = "协议2";
break;
default:
$content = "默认协议";
}
$data['content'] = $content;
return $data;
}
/**
* 获取支付同意html内容
*/
protected function get_html(){
$oid = $this->input_param('oid');
$type = $this->input_param('type');
if($type==1){
return $this->ck_html($oid);
}
$row = $this->receiver_orders_v2_model->get(['id'=>$oid]);
if(!$row ){
throw new Exception('参数错误', API_CODE_INVILD_PARAM);
}
$fill_info = $this->orders_v2_entity->pdf_data($row);
$sa_div = '';
if($fill_info['sa']){
$sa_div = "<div style=\"margin-top:20px;text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"margin-top:10px;\"><b>附件二 补充信息</b></div>
<div>经充分协商,双方约定:</div>
<div>{$fill_info['sa']}</div>";
}
$show_car_pro = true;
if($this->order_row['brand_id'] == 4) { //除宁德哪吒需要购车合同
$this->load->model("biz/biz_model");
$biz = $this->biz_model->get(['id'=>$this->$row['biz_id']],'city_id');
$show_car_pro = $biz['city_id'] == '350900' ? true : false;
}
if($show_car_pro) {
$car_html = "<div style=\"margin-top:20px;text-align:center;font-weight:bold;font-size:4.266vw;\"><b>汽车购买协议</b></div>
<div style=\"background-color:#f8f8f8;border:#ebebeb 1px solid;box-sizing:border-box;margin-top:4vw;padding:4vw;border-radius:1.333vw;line-height:2;word-break:break-all;word-wrap:break-word;font-size:3.2vw;color:#666;overflow-x:hidden;\">
<div style=\"text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"text-indent:6.4vw;\">本《汽车购买协议》(“本协议”),由您(“狸车用户”)与下述签署本协议的狸车销售公司或其关联公司 (以下统称“狸车公司”),于本协议附件一所载明的协议签署日签署。</div>
<div style=\"text-indent:6.4vw;\">依据《中华人民共和国民法典》及有关法律的规定,就您购买车辆所涉事宜,双方在诚实守信、平等自愿的基础上,经充分协商,达成交易文件,供双方予以遵守。</div>
<div style=\"margin-top:10px;\"><b>价格支付</b></div>
<div style=\"text-indent:6.4vw;\">您需在签署本协议时向狸车公司支付所定车辆应付的定金。如您在本协议签署前已就购买汽车事宜向狸车公司支付了意向金,则您已支付意向金将按本条前述约定自动转为定金,超出定金金额的剩余意向金(如有)自动构成尾款的一部分。如您拒绝向狸车公司支付剩余汽车价款或在接到狸车公司通知后在指定时间内未支付剩余汽车价款,狸车公司无需另行通知您且已收取的认购定金将不予返还。</div>
<div style=\"text-indent:6.4vw;\">虽有前述规定,双方均同意,汽车交付前,若因非主观过错出现了无法预见的重大变故,直接导致无法继续履行本协议,经您与狸车公司协商一致后,可解除本协议且已收取的定金及意向金中超出定金金额的款项(如有)将进行退还。</div>
<div style=\"margin-top:10px;\"><b>配置变更</b></div>
<div style=\"text-indent:6.4vw;\">定金支付后,车型配置方案将不可更改,同时您确认狸车公司可以立即配车。但经双方协商一致且狸车公司书面同意后,您可以变更本协议附件中的相关内容,双方将按变更后的约定继续履行本协议。</div>
<div style=\"margin-top:10px;\"><b>车辆交付</b></div>
<div style=\"text-indent:6.4vw;\">狸车公司预计将于定金支付后的 {$fill_info['give_time']} 日向您交付汽车。(该时间仅供参考,实际交付时间可能根据车辆配置、提车城市等因素提前或延后)。狸车公司收到尾款后向您交付汽车,并随同汽车一并向您交付与汽车相关的《保修保养手册》、《用户手册》等文件(“随车文件”)以及车辆钥匙、充电枪等物品(“随车工具”)。
<br>厂家车源短缺导致延期交车,您可以解除合同,狸车公司应将您已支付的定金或预付款不计息一次性退还,双方互不承担违约责任。交车时如遇厂家提价,您须按官方公布的最新价格补足差价,如您无法接受新的价格,您可以解除合同,狸车公司应将您已支付的定金或预付款不计息一次性退还,双方互不承担违约责任。
</div>
<div style=\"margin-top:10px;\"><b>补贴约定</b></div>
<div style=\"text-indent:6.4vw;\">鉴于新能源汽车购车补贴在您购车时已作扣除,为便于狸车公司能够从相关主管部门获得该等补贴或保障狸车公司在无法获得该等补贴时权益不受损害,您应按照狸车公司不时要求的必要行动以及提供狸车公司不时要求的信息和文件。另外,鉴于国家和地方关于新能源汽车购车补贴的法律法规及政策可能不时发生变化,狸车公司会在其发生变化的同时相应调整实际购车总价、尾款;因此,您最终需支付的实际购车总价、尾款应以交付通知中列明的金额为准。</div>
<div style=\"text-indent:6.4vw;\">若您所购车辆为公户车,需确保购买车辆自行驶证注册日期起1年之内行驶2万公里,且自车辆注册之日起2年内不得过户,如因违反此条约使狸车公司在申领国补过程中造成的损失,一切责任及后果由您承担。</div>
<div style=\"margin-top:10px;\"><b>适用法律</b></div>
<div style=\"text-indent:6.4vw;\">本协议应受中华人民共和国法律管辖并据其进行解释。因本协议引起的以及与本协议有关的一切争议,首先应由双方通过友好协商解决。如果双方未能通过协商解决该等争议,则任何一方有权向狸车公司所在地有管辖权的人民法院提起诉讼。如需仲裁,双方另行协商签订相关补充条款。</div>
<div style=\"margin-top:10px;\"><b>协议生效</b></div>
<div style=\"text-indent:6.4vw;\">本协议的所有附件构成本协议不可分割的一部分。本协议自您点击确认“我已阅读并同意”或双方签字、盖章且狸车公司收到您支付的定金后立即生效。</div>
<div style=\"margin-top:10px;\">狸车用户:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['name']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:10px;\">狸车公司:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['companys']['company']['title']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:20px;text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"margin-top:10px;\"><b>附件一 订单信息</b></div>
<div>车主姓名:{$fill_info['owner_name']}</div>
<div>联系电话:{$fill_info['owner_mobile']}</div>
<div>证件类型:{$fill_info['identify_type']}</div>
<div>证件号码:{$fill_info['identify']}</div>
<div>联系地址:{$fill_info['address']}</div>
<div>车辆型号:{$fill_info['version']}</div>
<div>车身颜色:{$fill_info['color']}</div>
<div>内饰颜色:{$fill_info['incolor']}</div>
<div style=\"margin-top:10px;\"><b>车辆价格</b></div>
<div>售价(元):{$fill_info['price_car']}</div>
<div>折扣(元):{$fill_info['price_discount']}</div>
<div>实际支付(元):{$fill_info['recevable_price']}</div>
<div><b>其中,</b></div>
<div>1.定金(元):{$fill_info['price_book']}</div>
<div>2.整车尾款(元):{$fill_info['last_price']}</div>
{$sa_div}
</div>";
$list[] = [
'title' => '购车协议',
'url' => '',
'content' => $car_html
];
}
if($row['srv_ids']){
$service_str = implode('<br>',$fill_info['services']);
$agent_html = " <div style=\"margin-top:20px;text-align:center;font-weight:bold;font-size:4.266vw;\"><b>委托服务协议</b></div>
<div style=\"background-color:#f8f8f8;border:#ebebeb 1px solid;box-sizing:border-box;margin-top:4vw;padding:4vw;border-radius:1.333vw;line-height:2;word-break:break-all;word-wrap:break-word;font-size:3.2vw;color:#666;overflow-x:hidden;\">
<div style=\"text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"text-indent:6.4vw;\">本《委托服务协议》(“本协议”),由您(“狸车用户”)与下述签署本协议的狸车服务公司或其关联公司 (以下统称“狸车公司”),于本协议附件一所载明的协议签署日签署。</div>
<div style=\"text-indent:6.4vw;\"><b>依据《中华人民共和国民法典》及有关法律的规定,您为节省时间和精力,就甲乙双方《汽车购买协议》标的的车辆,自愿委托狸车公司办理下列委托事项,并达成如下协议:</b></div>
<div style=\"margin-top:10px;\"><b>价格支付</b></div>
<div style=\"text-indent:6.4vw;\">您需在签署本协议后车辆交付前向狸车公司支付所委托事项应付的金额。其中,保险费用由您直接支付给保险公司。</div>
<div style=\"margin-top:10px;\"><b>委托事项变更</b></div>
<div style=\"text-indent:6.4vw;\">经双方协商一致且狸车公司书面同意后,您可以变更本协议附件中的相关内容,双方将按变更后的约定继续履行本协议。</div>
<div style=\"margin-top:10px;\"><b>适用法律</b></div>
<div style=\"text-indent:6.4vw;\">本协议应受中华人民共和国法律管辖并据其进行解释。因本协议引起的以及与本协议有关的一切争议,首先应由双方通过友好协商解决。如果双方未能通过协商解决该等争议,则任何一方有权向狸车公司所在地有管辖权的人民法院提起诉讼。如需仲裁,双方另行协商签订相关补充条款。</div>
<div style=\"margin-top:10px;\"><b>协议生效</b></div>
<div style=\"text-indent:6.4vw;\">本协议的所有附件构成本协议不可分割的一部分。本协议自您点击确认“我已阅读并同意”或双方签字、盖章且狸车公司收到您支付的定金后立即生效。</div>
<div style=\"margin-top:10px;\">狸车用户:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['name']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:10px;\">狸车公司:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['companys']['srv_company']['title']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:20px;text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"margin-top:10px;\"><b>附件一 委托上牌约定</b></div>
<div style=\"text-indent:6.4vw;\">车牌选号时,均由狸车公司电话通知您,因您未能及时选号等其它原因,狸车公司有权代理决定并不对最终选号结果负责;若为自选号牌,狸车公司可配合您上牌,但不对最终选号结果负责。</div>
<div style=\"text-indent:6.4vw;\">您委托狸车公司代办车辆挂牌服务时,您应事先办妥机动车车辆保险,投保险种包括但不限于车辆损失险和第三者责任险。狸车公司在代办服务过程中造成车辆毁损、灭失的,您应当先向保险公司索赔,保险条款及费用以保险公司合同为准,赔付不足部分由狸车公司予以修复或赔偿。</div>
<div style=\"margin-top:20px;text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"margin-top:10px;\"><b>附件二 委托服务信息</b></div>
<div>委托人姓名:{$fill_info['owner_name']}</div>
<div>联系电话:{$fill_info['owner_mobile']}</div>
<div>委托项目(元)</div>
<div>{$service_str}</div>
</div>";
$list[] = [
'title' => '服务协议',
'url' => '',
'content' => $agent_html
];
}
$data = [
'list' => $list
];
return $data;
}
/**
* 同意条款
*/
protected function post(){
$oid = $this->input_param('oid');
$row = $this->receiver_orders_v2_model->get(['id'=>$oid]);
if(!$row ){
throw new Exception('参数错误', API_CODE_INVILD_PARAM);
}
$res = $this->orders_v2_entity->create_pdf($row['id']);
if($res['code']){
$deal_res = $this->deal_entity->deal_log($row['id']);
if($row['order_time']!='0000-00-00 00:00:00'){
$int_row = $this->app_liche_orders_model->get(['o_id'=>$row['id'],'type'=>4,'status'=>1]);
$dep_row = $this->app_liche_orders_model->get(['o_id'=>$row['id'],'type'=>1,'status'=>1]);
if($dep_row['pay_price'] > 0 && $int_row['pay_price']==$dep_row['pay_price']){ //意向金等于定金更新下单时间
$this->receiver_orders_v2_model->update(['order_time'=>date('Y-m-d H:i:s')],['id'=>$row['id']]);
}
}
throw new Exception('操作成功', API_CODE_SUCCESS);
}else{
throw new Exception($res['msg'], API_CODE_FAIL);
}
}
protected function post_ckcar(){
$oid = $this->input_param('oid');
$row = $this->receiver_orders_v2_model->get(['id'=>$oid]);
if(!$row ){
throw new Exception('参数错误', API_CODE_INVILD_PARAM);
}
if($this->receiver_order_contracts_model->count(['o_id'=>$oid,'status'=>1,'type'=>3])){
throw new Exception('操作成功', API_CODE_SUCCESS);
}
$fill_info = $this->orders_v2_entity->pdf_data($row,1);
$fill_data = [
'sid' => $row['sid'],
'date' => $fill_info['now_day'],
'company' => $fill_info['companys']['company']['title'],
'name' => $fill_info['name'],
'version' => $fill_info['version'],
'color' => $fill_info['color'],
'incolor' => $fill_info['incolor'],
'vin' => $fill_info['vin'],
'info' => $fill_info['delivery']['info'],
'tool' => $fill_info['delivery']['tool'],
];
$pdf_path = 'pdf/ck_tpl.pdf';
$save_path = "pdf/{$row['sid']}/ck.pdf";
$req = $this->pdftk->esign_fill_pdf($pdf_path,$save_path,$fill_data);
if(!$req['code']){
throw new Exception($req['msg'], API_CODE_FAIL);
}
$add_data = [
'o_id' => $row['id'],
'cid' => 0,
'file' => $req['data']['file_path'] ? $req['data']['file_path'] : '',
'type' => 3,
'status' => 1,
'c_time' => time()
];
$res = $this->receiver_order_contracts_model->add($add_data);
if($res){
$this->orders_status_entity->set_status($row['id'],4,2);
$this->orders_status_entity->set_status($row['id'],5,1);
$this->receiver_orders_v2_model->update(['status'=>1,'ck_time'=>date('Y-m-d H:i:s')],['id'=>$row['id']]);
//完成分销
$this->deal_entity->deal_log_finish($row['id']);
throw new Exception('操作成功', API_CODE_SUCCESS);
}else{
throw new Exception('保存失败', API_CODE_FAIL);
}
}
private function ck_html($oid){
$row = $this->receiver_orders_v2_model->get(['id'=>$oid]);
if(!$row ){
throw new Exception('参数错误', API_CODE_INVILD_PARAM);
}
$fill_info = $this->orders_v2_entity->pdf_data($row,1);
$car_html = " <div style=\"margin-top:20px;text-align:center;font-weight:bold;font-size:4.266vw;\"><b>汽车交付确认单</b></div>
<div style=\"background-color:#f8f8f8;border:#ebebeb 1px solid;box-sizing:border-box;margin-top:4vw;padding:4vw;border-radius:1.333vw;line-height:2;word-break:break-all;word-wrap:break-word;font-size:3.2vw;color:#666;overflow-x:hidden;\">
<div style=\"text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"text-indent:6.4vw;\">本《汽车交付确认单》(“本确认单”),由您(“狸车用户”)与下述签署本协议的狸车销售公司或其关联公司 (以下统称“狸车公司”),于本协议附件一所载明的协议签署日签署。</div>
<div style=\"text-indent:6.4vw;\">狸车公司已向您做了详细的车辆介绍,介绍的内容包含但不限于车辆外部、行李箱、发动机舱、座椅、驾驶位置及各类仪表及显示屏介绍。</div>
<div style=\"text-indent:6.4vw;\">您经过验收,确认附件所述所有事项,所购车辆符合购车合同约定并已于交付日期收到该车辆。</div>
<div style=\"margin-top:10px;\">狸车用户:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['name']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:10px;\">狸车公司:</div>
<div>
<div style=\"text-indent:6.4vw;\">签署:{$fill_info['companys']['company']['title']}</div>
<div style=\"text-indent:6.4vw;\">日期:{$fill_info['now_day']}</div>
</div>
<div style=\"margin-top:20px;text-align:right;\">编号【{$row['sid']}】</div>
<div style=\"margin-top:10px;\"><b>附件一 交付信息</b></div>
<div>车辆型号:{$fill_info['version']}</div>
<div>车身颜色:{$fill_info['color']}</div>
<div>内饰颜色:{$fill_info['incolor']}</div>
<div>车架号:{$fill_info['vim']}</div>
<div>随车资料:{$fill_info['delivery']['info']}</div>
<div>随车工具:{$fill_info['delivery']['tool']}</div>
</div>";
$list[] = [
'title' => '购车协议',
'url' => '',
'content' => $car_html
];
$data = [
'list' => $list
];
return $data;
}
}