339 lines
14 KiB
PHP
339 lines
14 KiB
PHP
<?php
|
||
/**
|
||
* Created by PhpStorm.
|
||
* User: lcc
|
||
* Date: 2022/1/18
|
||
* Time: 17:13
|
||
*/
|
||
require_once APPPATH.'controllers/wxapp/Wxapp.php';
|
||
class Cusorderdata extends Wxapp{
|
||
|
||
function __construct($inputs, $app_key){
|
||
parent::__construct($inputs, $app_key);
|
||
|
||
$this->login_white = array();//登录白名单
|
||
$this->check_status = array();//用户状态校验
|
||
$this->check_mobile = array();//需要手机号
|
||
$this->check_headimg =array();//授权微信信息
|
||
|
||
$this->load->model('receiver/order/receiver_orders_v2_model','orders_model');
|
||
$this->load->model('receiver/order/receiver_order_status_model');
|
||
$this->load->model('receiver/order/receiver_order_datas_model');
|
||
$this->load->model('app/liche/app_liche_orders_model');
|
||
|
||
$this->load->library('receiver/order_datas_entity');
|
||
$this->load->library('TcOrc');
|
||
}
|
||
|
||
protected function get(){
|
||
$id = $this->input_param('id');
|
||
//$row = $this->receiver_order_status_model->get(['o_id'=>$id,'status'=>1,'pid_status'=>0]);
|
||
$row = $this->orders_model->get(['id'=>$id]);
|
||
$is_pay = $this->app_liche_orders_model->count(['o_id'=>$id,'status'=>1]);
|
||
$data = [];
|
||
if($is_pay){
|
||
$data['img_status'] = 1;
|
||
$row_data = $this->receiver_order_datas_model->get(['o_id'=>$id]);
|
||
$cardidb = $cardida = $business_licence = $register_img = $car_img = [];
|
||
if($row_data['car_img']){
|
||
$car_img = [
|
||
'value' => $row_data['car_img'],
|
||
'img' => build_qiniu_image_url($row_data['car_img'])
|
||
];
|
||
}
|
||
if($row_data['register_img']){
|
||
$register_img = [
|
||
'value' => $row_data['register_img'],
|
||
'img' => build_qiniu_image_url($row_data['register_img'])
|
||
];
|
||
}
|
||
$destory_img = $mut_wx_img = $wx_img = $delivery_ck_img = $bill_ck_img = $business_img = $insurance_img = [];
|
||
$d_ins_info = json_decode($row_data['insurance_img'],true);
|
||
if($d_ins_info){
|
||
$insurance_img = [
|
||
'value' => $d_ins_info['img'],
|
||
'img' => build_qiniu_image_url($d_ins_info['img']),
|
||
'product' => $d_ins_info['product'] ? $d_ins_info['product'] : '',
|
||
'price' => $d_ins_info['price'] ? $d_ins_info['price'] : 0,
|
||
'date' => $d_ins_info['date'] ? $d_ins_info['date'] : '',
|
||
];
|
||
}
|
||
$d_ins_img = json_decode($row_data['business_img'],true);
|
||
if($d_ins_img){
|
||
$business_img = [
|
||
'value' => $d_ins_img['img'],
|
||
'img' => build_qiniu_image_url($d_ins_img['img']),
|
||
'product' => $d_ins_img['product'] ? $d_ins_img['product'] : '',
|
||
'price' => $d_ins_img['price'] ? $d_ins_img['price'] : 0,
|
||
'date' => $d_ins_img['date'] ? $d_ins_img['date'] : '',
|
||
];
|
||
}
|
||
$bill_img_json = json_decode($row_data['bill_ck_img'],true);
|
||
if($bill_img_json){
|
||
foreach ($bill_img_json as $item) {
|
||
$bill_ck_img[] = build_qiniu_image_url($item);
|
||
}
|
||
}
|
||
if($row_data['delivery_ck_img']){
|
||
$delivery_ck_img = [
|
||
'value' => $row_data['delivery_ck_img'],
|
||
'img' => build_qiniu_image_url($row_data['delivery_ck_img'])
|
||
];
|
||
}
|
||
if($row_data['wx_img']){
|
||
$wx_img = [
|
||
'value' => $row_data['wx_img'],
|
||
'img' => build_qiniu_image_url($row_data['wx_img'])
|
||
];
|
||
}
|
||
if($row_data['mut_wx_img']){
|
||
$mut_wx_img = [
|
||
'value' => $row_data['mut_wx_img'],
|
||
'img' => build_qiniu_image_url($row_data['mut_wx_img'])
|
||
];
|
||
}
|
||
if($row_data['destory_img']){
|
||
$destory_img = [
|
||
'value' => $row_data['destory_img'],
|
||
'img' => build_qiniu_image_url($row_data['destory_img'])
|
||
];
|
||
}
|
||
$imgs = [
|
||
'cardida' => [],
|
||
'cardidb' => [],
|
||
'business_licence' => [],
|
||
'car_img' => $car_img,
|
||
'register_img' => $register_img,
|
||
'ins_img' => [],
|
||
'other_img' => [],
|
||
'insurance_img' => $insurance_img,
|
||
'business_img' => $business_img,
|
||
'bill_ck_img' => $bill_ck_img,
|
||
'wx_img' => $wx_img,
|
||
'mut_wx_img' => $mut_wx_img,
|
||
'destory_img' => $destory_img,
|
||
];
|
||
if($row['s_id']==1 || $row['s_id']==33){ //(EX1 Pro和EX1需要上传交付确认书)
|
||
$imgs['delivery_ck_img'] = $delivery_ck_img;
|
||
}
|
||
$data['imgs'] = $imgs;
|
||
|
||
if($row['main_type']){
|
||
if($row_data['business_licence']){
|
||
$business_licence = [
|
||
'value' => $row_data['business_licence'],
|
||
'img' => build_qiniu_image_url($row_data['business_licence'])
|
||
];
|
||
}
|
||
$data['imgs']['business_licence'] = $business_licence;
|
||
}else{
|
||
if($row_data['cardida']){
|
||
$cardida = [
|
||
'value' => $row_data['cardida'],
|
||
'img' => build_qiniu_image_url($row_data['cardida'])
|
||
];
|
||
}
|
||
if($row_data['cardidb']){
|
||
$cardidb = [
|
||
'value' => $row_data['cardidb'],
|
||
'img' => build_qiniu_image_url($row_data['cardidb'])
|
||
];
|
||
}
|
||
$data['imgs']['cardida'] = $cardida;
|
||
$data['imgs']['cardidb'] = $cardidb;
|
||
}
|
||
if($row_data['ins_img']){
|
||
$ins_img = json_decode($row_data['ins_img'],true);
|
||
$imgs = [];
|
||
foreach ($ins_img as $item) {
|
||
$imgs[] = [
|
||
'value' => $item,
|
||
'img' => build_qiniu_image_url($item)
|
||
];
|
||
}
|
||
$data['imgs']['ins_img'] = $imgs;
|
||
}
|
||
if($row_data['other_img']){
|
||
$other_img = json_decode($row_data['other_img'],true);
|
||
$imgs = [];
|
||
foreach ($other_img as $item) {
|
||
$imgs[] = [
|
||
'value' => $item,
|
||
'img' => build_qiniu_image_url($item)
|
||
];
|
||
}
|
||
$data['imgs']['other_img'] = $imgs;
|
||
}
|
||
if($row_data['bill_img']){ //开票
|
||
$imgs = [];
|
||
$data['imgs']['bill_img'] = $imgs;
|
||
}
|
||
}else{
|
||
$data['img_status'] = 0;
|
||
|
||
}
|
||
return $data;
|
||
}
|
||
|
||
protected function put(){
|
||
$id = $this->input_param('id');
|
||
$row = $this->orders_model->get(['id'=>$id]);
|
||
if(!$row){
|
||
throw new Exception('参数错误', ERR_PARAMS_ERROR);
|
||
}
|
||
$info_json = json_decode($row['info_json'],true);
|
||
$data_row = $this->receiver_order_datas_model->get(['o_id'=>$id]);
|
||
$jsondata = json_decode($data_row['jsondata'],true);
|
||
if(!$data_row){
|
||
$this->receiver_order_datas_model->add(['o_id'=>$id]);
|
||
}
|
||
$cardida = $this->input_param('cardida');
|
||
$cardidb = $this->input_param('cardidb');
|
||
$car_img = $this->input_param('car_img');
|
||
$register_img = $this->input_param('register_img');
|
||
$business_licence = $this->input_param('business_licence');
|
||
$ins_imgs = $this->input_param('ins_imgs');
|
||
$other_imgs = $this->input_param('other_imgs');
|
||
$insurance_img = $this->input_param('insurance_img');
|
||
$business_img = $this->input_param('business_img');
|
||
$delivery_ck_img = $this->input_param('delivery_ck_img');
|
||
$wx_img = $this->input_param('wx_img');
|
||
$mut_wx_img = $this->input_param('mut_wx_img');
|
||
$destory_img = $this->input_param('destory_img');
|
||
$update = [];
|
||
if($cardida){
|
||
$full_cardida = build_qiniu_image_url($cardida);
|
||
$result = $this->tcorc->IdentityCard($full_cardida);
|
||
if(!$result['code']){
|
||
$res_data['code'] = API_CODE_ORC_FAIL;
|
||
$res_data['data'] = [
|
||
['caridA' => false,'errmsg'=>$result['msg']],
|
||
['caridB' => true,'errmsg'=>''],
|
||
];
|
||
return $res_data;
|
||
}
|
||
$userinfo = $result['data'];
|
||
|
||
//校验订单客户和身份证姓名
|
||
if($userinfo['Name'] != $row['owner_name']){
|
||
$res_data['code'] = API_CODE_ORC_FAIL;
|
||
$res_data['data'] = [
|
||
['caridA' => false,'errmsg'=>'身份证姓名与客户不一致'],
|
||
['caridB' => true,'errmsg'=>''],
|
||
];
|
||
return $res_data;
|
||
}
|
||
//个人核对身份证
|
||
if($userinfo['IdNum'] != $info_json['c_owner_cardid']){
|
||
$res_data['code'] = API_CODE_ORC_FAIL;
|
||
$res_data['data'] = [
|
||
['caridA' => false,'errmsg'=>'身份证号码与客户不一致'],
|
||
['caridB' => true,'errmsg'=>''],
|
||
];
|
||
return $res_data;
|
||
}
|
||
$update['cardida'] = $cardida;
|
||
}elseif ($business_licence){
|
||
$full_business_licence = build_qiniu_image_url($business_licence);
|
||
$result = $this->tcorc->BizLicense($full_business_licence);
|
||
if(!$result['code']){
|
||
$res_data['code'] = API_CODE_ORC_FAIL;
|
||
$res_data['data'] = [
|
||
['business_licence' => false,'errmsg'=>$result['msg']],
|
||
];
|
||
return $res_data;
|
||
}
|
||
$update['business_licence'] = $business_licence;
|
||
}elseif(is_array($ins_imgs)){
|
||
$update['ins_img'] = json_encode($ins_imgs,JSON_UNESCAPED_UNICODE);
|
||
} elseif($insurance_img){
|
||
$update['insurance_img'] = json_encode(['img'=>$insurance_img],JSON_UNESCAPED_UNICODE);
|
||
} elseif($business_img){
|
||
$update['business_img'] = json_encode(['img'=>$business_img],JSON_UNESCAPED_UNICODE);
|
||
}elseif(is_array($other_imgs)){
|
||
$update['other_img'] = json_encode($other_imgs,JSON_UNESCAPED_UNICODE);
|
||
}else{
|
||
if($cardidb){
|
||
$key = 'cardidb';
|
||
$img = $cardidb;
|
||
}
|
||
if($car_img){ //图片识别行驶证
|
||
$key = 'car_img';
|
||
$img = $car_img;
|
||
$result = $this->tcorc->VehicleLicense(build_qiniu_image_url($car_img));
|
||
if (!$result['code']) {
|
||
throw new Exception('行驶证识别失败,请重新上传', ERR_PARAMS_ERROR);
|
||
}
|
||
$jsondata['car_info'] = $result['data']['FrontInfo'];
|
||
$update['jsondata'] = json_encode($jsondata,JSON_UNESCAPED_UNICODE);
|
||
}
|
||
if($register_img){
|
||
$key = 'register_img';
|
||
$img = $register_img;
|
||
}
|
||
if($delivery_ck_img){
|
||
$key = 'delivery_ck_img';
|
||
$img = $delivery_ck_img;
|
||
}
|
||
if($wx_img){
|
||
$key = 'wx_img';
|
||
$img = $wx_img;
|
||
}
|
||
if($mut_wx_img){
|
||
$key = 'mut_wx_img';
|
||
$img = $mut_wx_img;
|
||
}
|
||
if($destory_img){
|
||
$key = 'destory_img';
|
||
$img = $destory_img;
|
||
}
|
||
$key && $update[$key] = $img;
|
||
}
|
||
$res = $this->receiver_order_datas_model->update($update,['o_id'=>$id]);
|
||
if($res){
|
||
if($insurance_img || $business_img){ //保单识别图片保存数据
|
||
$res = $this->order_datas_entity->orc_ins_img_2($id);
|
||
if(!$res){
|
||
throw new Exception('图片识别失败,请重新上传', ERR_PARAMS_ERROR);
|
||
}
|
||
}
|
||
if($update['car_img']){ //更新车牌号
|
||
$this->order_datas_entity->up_car_num($id);
|
||
}
|
||
throw new Exception('修改成功', API_CODE_SUCCESS);
|
||
}else{
|
||
throw new Exception('修改失败', ERR_PARAMS_ERROR);
|
||
}
|
||
}
|
||
|
||
public function put_info(){
|
||
$id = $this->input_param('id');
|
||
$type = $this->input_param('type');
|
||
$product = $this->input_param('product');
|
||
$price = $this->input_param('price');
|
||
$date = $this->input_param('date');
|
||
$data_row = $this->receiver_order_datas_model->get(['o_id'=>$id]);
|
||
if(!$data_row){
|
||
throw new Exception('数据不存在', ERR_PARAMS_ERROR);
|
||
}
|
||
if($type){ //交强险图片
|
||
$jsondata = json_decode($data_row['insurance_img'],true);
|
||
$jsondata['product'] = $product;
|
||
$jsondata['price'] = $price;
|
||
$jsondata['date'] = $date;
|
||
$update['insurance_img'] = json_encode($jsondata,JSON_UNESCAPED_UNICODE);
|
||
}else{ //商业险图片
|
||
if($price<1000){
|
||
throw new Exception('金额有误,请重新填写', ERR_PARAMS_ERROR);
|
||
}
|
||
$jsondata = json_decode($data_row['business_img'],true);
|
||
$jsondata['product'] = $product;
|
||
$jsondata['price'] = $price;
|
||
$jsondata['date'] = $date;
|
||
$update['business_img'] = json_encode($jsondata,JSON_UNESCAPED_UNICODE);
|
||
}
|
||
$res = $this->receiver_order_datas_model->update($update,['id'=>$data_row['id']]);
|
||
throw new Exception('修改成功', API_CODE_SUCCESS);
|
||
}
|
||
}
|