From 6b307e79c7db15f55e3e19e2a722aae57d8e4421 Mon Sep 17 00:00:00 2001
From: lccsw <1127794702@qq.com>
Date: Tue, 12 Oct 2021 16:27:49 +0800
Subject: [PATCH] edit-admin-order_detail
---
admin/controllers/receiver/Orders.php | 12 ++++++
admin/views/receiver/orders/oinfo.php | 34 +++++++++-------
api/controllers/wxapp/licheb/Cusorder.php | 13 ++++++-
api/controllers/wxapp/licheb/Services.php | 43 ++++++++++++++-------
common/libraries/receiver/Orders_entity.php | 17 +++++---
5 files changed, 86 insertions(+), 33 deletions(-)
diff --git a/admin/controllers/receiver/Orders.php b/admin/controllers/receiver/Orders.php
index c0faa039..7b5f0772 100644
--- a/admin/controllers/receiver/Orders.php
+++ b/admin/controllers/receiver/Orders.php
@@ -137,6 +137,18 @@ class Orders extends HD_Controller
}
$row['delry_time'] = $row['delry_time'] != '0000-00-00 00:00:00'
? str_replace(" 00:00:00", "", $row['delry_time']) : '';
+ //获取车辆服务费
+ $srv_info = $this->orders_entity->order_srv_money($row['id'],1);
+ $srv_info['total'] = number_format($srv_info['total'],2);
+ $srv_detail = "";
+ if($srv_info['list']){
+ foreach($srv_info['list'] as $key => $val){
+ $d = $srv_detail ? '':',';
+ $srv_detail .= $val['title'].":".number_format($val['money'],2).$d;
+ }
+ }
+ $srv_info['detail'] = $srv_detail;
+ $row['srv_info'] = $srv_info;
//获取贷款信息
if (!$row['payway'] && $row['status'] > 0) {
$auto_finance_row = $this->auto_finance_model->get(['id' => $row['finance_id']], 'fin_id,num');
diff --git a/admin/views/receiver/orders/oinfo.php b/admin/views/receiver/orders/oinfo.php
index 05838337..225166d8 100644
--- a/admin/views/receiver/orders/oinfo.php
+++ b/admin/views/receiver/orders/oinfo.php
@@ -21,7 +21,7 @@
+
-
-
-
+
diff --git a/api/controllers/wxapp/licheb/Cusorder.php b/api/controllers/wxapp/licheb/Cusorder.php
index 425b2a0b..5190b672 100644
--- a/api/controllers/wxapp/licheb/Cusorder.php
+++ b/api/controllers/wxapp/licheb/Cusorder.php
@@ -36,6 +36,7 @@ class Cusorder extends Wxapp{
$this->load->model('auto/auto_finance_model');
$this->load->model('apporder/order_purchase_model');
+ $this->load->model('app/liche/app_liche_orders_model');
$this->load->model("biz/biz_model");
$this->load->model('sys/sys_city_model');
@@ -220,7 +221,7 @@ class Cusorder extends Wxapp{
if(strlen($payway)|| $pack_id){
if(strlen($payway)){ //修改付款类型
- $pay_order = $this->order_purchase_model->count(['app_id'=>1,'status>'=>1,'item_id'=>$id]);
+ $pay_order = $this->app_liche_orders_model->count(['app_id'=>1,'status>'=>1,'o_id'=>$id]);
if($pay_order){
throw new Exception('修改失败,已付款', ERR_PARAMS_ERROR);
}
@@ -280,7 +281,6 @@ class Cusorder extends Wxapp{
}elseif($status == 10 ){ //进行中
$where['status>='] = 0;
$where['status!='] = 6;
- $p_row = $this->app_liche_orders_model->get(['o_id'=>$row['id'],'pid'=>0,'status>='=>0],'id');
}else{
strlen($status) && $where['status'] = $status;
}
@@ -387,6 +387,13 @@ class Cusorder extends Wxapp{
$finance_row = $this->sys_finance_model->get(['id'=>$row['finance_id']],'title');
$car_data['金融产品'] = $finance_row['title'];
}
+ //是否存在意向金订单
+ $inten_row = $this->app_liche_orders_model->get(['o_id'=>$row['id'],'type'=>4,'status>='=>0]);
+ $pay_status = 0;
+ $pay_img = 'https://img.liche.cn/liche/1634022931.png';
+ if($inten_row && $inten_row['status']==0){
+ $pay_status = 1;
+ }
//开票信息
$bill_status = 0;
$bill_data = [];
@@ -417,6 +424,8 @@ class Cusorder extends Wxapp{
'admin_img' => 'https://img.liche.cn/liche/2021/08/7725fc9ab0dc0ba1/f3c84cf3b805bac4.png',
'payway' => $row['payway'],
'car_data' => $car_data,
+ 'pay_status' => $pay_status,
+ 'pay_img' => $pay_img,
'loan_status' => $loan_status,
'loan_data' => $loan_data,
'bill_status' => $bill_status,
diff --git a/api/controllers/wxapp/licheb/Services.php b/api/controllers/wxapp/licheb/Services.php
index b124384d..568edb40 100644
--- a/api/controllers/wxapp/licheb/Services.php
+++ b/api/controllers/wxapp/licheb/Services.php
@@ -27,25 +27,42 @@ class Services extends Wxapp{
$where = [
'status' => 1
];
- $type==1 && $where['id!='] = 3; //全款
- $type==2 && $where['id'] = 3; //分期
+ $srv_id = 4; //金融服务
$count = $this->package_model->count($where);
$list = [];
if($count){
- $rows = $this->package_model->select($where,'id asc',$page,$size);
+ $rows = $this->package_model->select($where,'id desc',$page,$size,'id,srv_ids');
foreach($rows as $key=>$val){
$title = '';
- if($val['srv_ids']){
- $s_where = [
- "id in ({$val['srv_ids']})" => null
- ];
- $s_rows = $this->services_model->select($s_where,'','','','id,title');
- $s_rows && $title = implode('+',array_column($s_rows,'title'));
+ $srv_id_arr = explode(',',$val['srv_ids']);
+ if(!is_array($srv_id_arr)){
+ continue;
+ }
+ if($type==2){ //分期 必须包含金融包
+ if(in_array($srv_id,$srv_id_arr)){
+ $s_where = [
+ "id in ({$val['srv_ids']})" => null
+ ];
+ $s_rows = $this->services_model->select($s_where,'','','','id,title');
+ $s_rows && $title = implode('+',array_column($s_rows,'title'));
+ $list[] = [
+ 'id' => $val['id'],
+ 'title' => $title
+ ];
+ }
+ }else{ //全款 过滤包含金融包
+ if(!in_array($srv_id,$srv_id_arr)){
+ $s_where = [
+ "id in ({$val['srv_ids']})" => null
+ ];
+ $s_rows = $this->services_model->select($s_where,'','','','id,title');
+ $s_rows && $title = implode('+',array_column($s_rows,'title'));
+ $list[] = [
+ 'id' => $val['id'],
+ 'title' => $title
+ ];
+ }
}
- $list[] = [
- 'id' => $val['id'],
- 'title' => $title
- ];
}
}
$data = [
diff --git a/common/libraries/receiver/Orders_entity.php b/common/libraries/receiver/Orders_entity.php
index 155eae18..5778455f 100644
--- a/common/libraries/receiver/Orders_entity.php
+++ b/common/libraries/receiver/Orders_entity.php
@@ -466,10 +466,11 @@ class Orders_entity{
/**
* 获取订单服务费
- * @param $oid int 订单id
+ * @param $oid int 订单id
+ * @param $res_type int 返回数据格式
* return float
*/
- public function order_srv_money($oid){
+ public function order_srv_money($oid,$res_type = ''){
if(!$this->order_row){
$this->order_row = $this->ci->orders_model->get(['id'=>$oid]);
}
@@ -481,16 +482,22 @@ class Orders_entity{
$services = $this->ci->services_model->select(["id in ({$packs['srv_ids']})"=>null],'','','','title,field_name');
}
$srv_price = 0;
+ $list = [];//明细
if($services){
foreach($services as $key=>$val){
$field_arr = explode('.',$val['field_name']);
- if($money_json[$field_arr[1]]){
+ if($money_json[$field_arr[1]] && $field_arr[1]!='price_insure'){ //保险费不收
$srv_price += $money_json[$field_arr[1]];
+ $list[] = [
+ 'title' => $val['title'],
+ 'money' => $money_json[$field_arr[1]]
+ ];
}
}
- $srv_price = $srv_price - $money_json['price_insure']; //保险费用不收
}
- return $srv_price;
+ $result['total'] = $srv_price;
+ $result['list'] = $list;
+ return $res_type ? $result:$srv_price;
}
//确认车辆完成创建两个支付订单