From b6b6b937f7f69b19288de11fa020698bb6fd1144 Mon Sep 17 00:00:00 2001 From: heshupeng <hsp@bronet.cn> Date: Wed, 3 Feb 2021 19:53:57 +0800 Subject: [PATCH] 经销商导出订单 --- application/admin/controller/shopro/order/Order.php | 69 +++++++++++++++++++++++++++++++++------------------------------------ application/admin/model/shopro/order/OrderItem.php | 6 ++++++ 2 files changed, 39 insertions(+), 36 deletions(-) diff --git a/application/admin/controller/shopro/order/Order.php b/application/admin/controller/shopro/order/Order.php index e021c2b..be3ae3c 100644 --- a/application/admin/controller/shopro/order/Order.php +++ b/application/admin/controller/shopro/order/Order.php @@ -111,78 +111,81 @@ class Order extends Base $list = $this->buildSearchOrder() ->where($where) - ->with(['user', 'item']) + ->with(['user', 'item' => ['goods_sku_sn']]) ->order($sort, $order) ->select(); + // 经销商 + $dealer = []; + $group_id_arr = array_column($this->auth->getGroups(), 'group_id'); + if(!in_array(1,$group_id_arr) && in_array(2,$group_id_arr)){ + $dealer = \app\admin\model\dealer\Dealer::where('admin_id',$this->auth->id)->find(); + } + $expCellName = [ 'order_id' => 'Id', 'order_sn' => '订单号', -// 'type_text' => '订单类型', 'status_text' => '订单状态', -// 'pay_type_text' => '支付类型', 'paytime_text' => '支付时间', -// 'platform_text' => '交易平台', 'user_info' => '用户信息', - 'total_amount' => '订单总金额', - 'discount_fee' => '优惠金额', + ]; + // 经销商不显示订单总金额和优惠金额 + if(!$dealer){ + $expCellName = array_merge($expCellName,[ + 'total_amount' => '订单总金额', + 'discount_fee' => '优惠金额', + ]); + } + $expCellName = array_merge($expCellName,[ 'pay_fee' => '实际支付金额', -// 'score_fee' => '积分支付数量', 'activity_type_text' => '营销类型', 'goods_title' => '商品名称', + 'goods_sku_sn' => '规格编号', 'goods_original_price' => '商品原价', 'goods_price' => '商品价格', 'goods_sku_text' => '商品规格', 'goods_num' => '购买数量', 'dispatch_status_text' => '发货状态', 'dispatch_fee' => '发货费用', -// 'dispatch_type_text' => '发货方式', -// 'aftersale_refund' => '售后/退款', -// 'comment_status_text' => '评价状态', 'refund_fee' => '退款金额', 'refund_msg' => '退款原因', 'express_name' => '快递公司', 'express_code' => '快递编码', 'express_no' => '快递单号', - ]; - - // 经销商 - $dealer = []; - $group_id_arr = array_column($this->auth->getGroups(), 'group_id'); - if(!in_array(1,$group_id_arr) && in_array(2,$group_id_arr)){ - $dealer = \app\admin\model\dealer\Dealer::where('admin_id',$this->auth->id)->find(); - } + ]); $newList = []; foreach ($list as $key => $order) { $data = [ 'order_id' => $order['id'], 'order_sn' => $order['order_sn'], -// 'type_text' => $order['type_text'], 'status_text' => $order['status_text'], -// 'pay_type_text' => $order['pay_type_text'], 'paytime_text' => $order['paytime_text'], -// 'platform_text' => $order['platform_text'], 'user_info' => $order['user'] ? ($order['user']['nickname'] . '-' . $order['user']['mobile']) : '', - 'total_amount' => $order['total_amount'], - 'discount_fee' => $order['discount_fee'], - 'pay_fee' => $order['pay_fee'], - 'score_fee' => $order['score_fee'], ]; + // 经销商不显示订单总金额和优惠金额 + if(!$dealer){ + $data = array_merge($data,[ + 'total_amount' => $order['total_amount'], + 'discount_fee' => $order['discount_fee'], + ]); + } + $data = array_merge($data,[ + 'pay_fee' => $order['pay_fee'], + ]); foreach ($order['item'] as $k => $item) { if(!$dealer || ($dealer && $item['dealer_id'] == $dealer['id'])){ + $goods_sku_sn = $item['goods_sku_sn'] ? $item['goods_sku_sn']['sn'] : ''; $itemData = [ 'activity_type_text' => $item['activity_type_text'], 'goods_title' => $item['goods_title'], + 'goods_sku_sn' => $goods_sku_sn, 'goods_original_price' => $item['goods_original_price'], 'goods_price' => $item['goods_price'], 'goods_sku_text' => $item['goods_sku_text'], 'goods_num' => $item['goods_num'], 'dispatch_status_text' => $item['dispatch_status_text'], 'dispatch_fee' => $item['dispatch_fee'], -// 'dispatch_type_text' => $item['dispatch_type_text'], -// 'aftersale_refund' => $item['aftersale_status_text'] . '/' . $item['refund_status_text'], -// 'comment_status_text' => $item['comment_status_text'], 'refund_fee' => $item['refund_fee'], 'refund_msg' => $item['refund_msg'], 'express_name' => $item['express_name'], @@ -195,9 +198,10 @@ class Order extends Base } } + $total_amount = !$dealer ? ";订单总金额:¥" . array_sum(array_column($list, 'total_amount')) . ";优惠总金额:¥" . array_sum(array_column($list, 'discount_fee')) : ''; // 增加合计 $newList[] = [ - 'order_id' => "订单总数:" . count($list) . ";订单总金额:¥" . array_sum(array_column($list, 'total_amount')) . ";优惠总金额:¥" . array_sum(array_column($list, 'discount_fee')) . ";实际支付总金额:¥" . array_sum(array_column($list, 'pay_fee')) + 'order_id' => "订单总数:" . count($list) . $total_amount . ";实际支付总金额:¥" . array_sum(array_column($list, 'pay_fee')) ]; $export->exportExcel('订单列表-' . date('Y-m-d H:i:s'), $expCellName, $newList); @@ -899,16 +903,12 @@ class Order extends Base $fieldArr = [ 'Id' => 'order_id', '订单号' => 'order_sn', -// '订单类型' => 'type_text', '订单状态' => 'status_text', -// '支付类型' => 'pay_type_text', '支付时间' => 'paytime_text', -// '交易平台' => 'platform_text', '用户信息' => 'user_info', '订单总金额' => 'total_amount', '优惠金额' => 'discount_fee', '实际支付金额' => 'pay_fee', -// '积分支付数量' => 'score_fee', '营销类型' => 'activity_type_text', '商品名称' => 'goods_title', '商品原价' => 'goods_original_price', @@ -917,9 +917,6 @@ class Order extends Base '购买数量' => 'goods_num', '发货状态' => 'dispatch_status_text', '发货费用' => 'dispatch_fee', -// '发货方式' => 'dispatch_type_text', -// '售后/退款' => 'aftersale_refund', -// '评价状态' => 'comment_status_text', '退款金额' => 'refund_fee', '退款原因' => 'refund_msg', '快递公司' => 'express_name', diff --git a/application/admin/model/shopro/order/OrderItem.php b/application/admin/model/shopro/order/OrderItem.php index 542cd3f..4ac91b1 100644 --- a/application/admin/model/shopro/order/OrderItem.php +++ b/application/admin/model/shopro/order/OrderItem.php @@ -268,4 +268,10 @@ class OrderItem extends Model { return $this->belongsTo(\app\admin\model\shopro\store\Store::class, 'store_id'); } + + // 规格编号 + public function goodsSkuSn() + { + return $this->belongsTo(\app\admin\model\shopro\goods\SkuPrice::class, 'goods_sku_price_id')->field('id,sn'); + } } -- libgit2 0.24.0