From e48202a6d97f62a5f5b54834a5e311c155415576 Mon Sep 17 00:00:00 2001 From: lqmac Date: Fri, 27 Oct 2023 22:18:45 +0800 Subject: [PATCH] 1 --- application/admin/view/order/edit.html | 30 +++++++++---- application/api/controller/Order.php | 4 +- application/common/service/OrderService.php | 50 +++++++++++++++------ public/assets/js/backend/order.js | 10 ++--- 4 files changed, 65 insertions(+), 29 deletions(-) diff --git a/application/admin/view/order/edit.html b/application/admin/view/order/edit.html index c30e969..ba1bc9f 100755 --- a/application/admin/view/order/edit.html +++ b/application/admin/view/order/edit.html @@ -6,6 +6,12 @@
+ +
+ +
+
+ + + @@ -67,13 +73,19 @@
- + -->
- {:build_radios('row[status]', $statusList, $row.status)} + {:build_radios('row[status]', ['2'=>__('隐藏'), '3'=>__('正常'),'6'=>'已完成'], $row['status'])}
+ -
+ + --> +
diff --git a/application/api/controller/Order.php b/application/api/controller/Order.php index 7bc24b7..cb1ab77 100755 --- a/application/api/controller/Order.php +++ b/application/api/controller/Order.php @@ -660,7 +660,7 @@ class Order extends Api //修改用户可用佣金 User::where('id', $user_id)->update(['available_commission_amount' => $user['available_commission_amount'] - $pay_amount,"profit_amount" => $user['profit_amount'] + $profit, "updatetime" => time()]); //更新订单信息 - OrderModel::where("id", $order_id)->update(['status' => 6]); + OrderModel::where("id", $order_id)->update(['status' => 6,'updatetime' => time()]); Detail::where("order_id", $order_id)->update(['commission_price' => $goods_price, "fee" => $fee, "dikou_price" => $pay_amount]); //使用优惠卷 if ($coupon_id) { @@ -791,7 +791,7 @@ class Order extends Api //修改用户可用佣金 User::where('id', $user_id)->update(['available_commission_amount' => $user['available_commission_amount'] - $goods['dikou_price'],"profit_amount" => $user['profit_amount'] + $profit, "updatetime" => time()]); //更新订单状态 - OrderModel::where("id", $order_id)->update(['status' => 6]); + OrderModel::where("id", $order_id)->update(['status' => 6,'updatetime' => time()]); //使用优惠卷 if ($order_info['coupon_id']) { UserCouponModel::where('id', $order_info['coupon_id'])->update(['use_order_id'=>$order_id, "use_time"=>time()]); diff --git a/application/common/service/OrderService.php b/application/common/service/OrderService.php index 4ef66e9..6327afc 100755 --- a/application/common/service/OrderService.php +++ b/application/common/service/OrderService.php @@ -27,17 +27,36 @@ class OrderService public function productPayRecord($warehouse_id, $time = 0){ $time = $time ? $time : time(); - $order = Db::name('order') - ->field('user_id,sum(actual_amount) as pay_amount') + $buyer_order = Db::name('order') + ->field('user_id,actual_amount as pay_amount,sell_order_id') ->whereTime('createtime', 'today') ->where('warehouse_id', $warehouse_id) - ->whereIn('status', [0,3]) - ->group('user_id') + ->whereIn('status', 0) + ->whereIn('order_type', 0) ->select(); - + if (!$buyer_order) { + return false; + } + $seller_order = Db::name('order') + ->field('user_id,actual_amount as pay_amount,sell_order_id') + ->whereIn('id', array_column($buyer_order, "sell_order_id")) + ->select(); + if (!$seller_order) { + return false; + } + $order = array_merge($buyer_order, $seller_order); + $order_new = []; + foreach ($order as $value) { + if (!isset($order_new[$value['user_id']])) { + $order_new[$value['user_id']] = $value; + } else { + $order_new[$value['user_id']]['pay_amount'] += $value['pay_amount']; + } + } + $buyer_order = []; $seller_order = []; - foreach ($order as $key => $value) { + foreach ($order_new as $key => $value) { if ($value['pay_amount'] > 0) { $seller_order[] = $value; } elseif ($value['pay_amount'] < 0) { @@ -45,9 +64,10 @@ class OrderService } } // echo "
";
+		// //print_r($order);
 		// print_r($buyer_order);
 		// print_r($seller_order);
-		//exit();
+		// exit();
 		$pay_record = [];
 		foreach ($seller_order as $seq => &$seller) {
 			if ($seller['pay_amount'] <= 0) {
@@ -59,6 +79,7 @@ class OrderService
             		unset($buyer_order[$key]);
 	                continue;
 	            }
+
             	if ($seller['pay_amount'] >= abs($buyer['pay_amount'])) {
 	                $pay_record[] = [
 	                       'payer_id' => $buyer['user_id'],
@@ -80,21 +101,24 @@ class OrderService
 	                       'date' => date("Y-m-d", $time),
 	               ];
 	               $buyer['pay_amount'] = $buyer['pay_amount'] + $seller['pay_amount'];
+	               unset($seller_order[$seq]);
 	               $seller['pay_amount'] = 0;
+	               break;
 	            }
 	            // echo "
";
 				// print_r($buyer);
             }
 		}
-		foreach ($pay_record as $key => $value) {
-			if ($value['amount'] == 0) {
-				unset($pay_record[$key]);
-			}
-		}
+		unset($seller);
+		// foreach ($pay_record as $key => $value) {
+		// 	if ($value['amount'] == 0) {
+		// 		unset($pay_record[$key]);
+		// 	}
+		// }
 		// echo "
";
 		// print_r($pay_record);
 		// exit();
-		unset($seller);
+		
 		$ret = Db::name('income_expend')->insertAll($pay_record);
 		return $ret;
 
diff --git a/public/assets/js/backend/order.js b/public/assets/js/backend/order.js
index b71fc81..e62d180 100755
--- a/public/assets/js/backend/order.js
+++ b/public/assets/js/backend/order.js
@@ -34,7 +34,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: Config.statusList},
                         {field: 'pay_amount', title: __('实付金额'), operate:'BETWEEN'},
                         {field: 'pay_time', title: __('Pay_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'createtime', title: __('下单时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime环境},
+                        {field: 'createtime', title: __('下单时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'user.nickname', title: __('昵称'),operate: 'LIKE'},
                         {field: 'user.mobile', title: __('手机号'),operate: 'LIKE'},
                         {field: 'detail.goods_id', title: __('商品id'),operate: 'LIKE'},
@@ -45,7 +45,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                     name:'cancel',
                                     text:'取消订单',
                                     title:'取消订单',
-                                    confirm: '确定汇算确认吗?',
+                                    confirm: '确定取消订单吗?',
                                     classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
                                     icon: 'fa fa-check',
                                     url: 'order/cancel',
@@ -119,9 +119,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                 // operate-edit编辑  perate-del删除
                                 //判断什么时候显示什么时候不显示
                                
-                                if (row.status == 1) {
-                                    //$(table).data("operate-edit", null); // 列表页面隐藏 .编辑operate-edit  - 删除按钮operate-del
-                                    //$(table).data("operate-del", null); // 列表页面隐藏 .编辑operate-edit  - 删除按钮operate-del
+                                if (row.status == 6) {
+                                    $(table).data("operate-edit", null); // 列表页面隐藏 .编辑operate-edit  - 删除按钮operate-del
+                                    $(table).data("operate-del", null); // 列表页面隐藏 .编辑operate-edit  - 删除按钮operate-del
                                 }
                                 that.table = table;
                                 return Table.api.formatter.operate.call(that, value, row, index);