diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php index abc75975..d59c5aaa 100644 --- a/app/Admin/Controllers/OrderController.php +++ b/app/Admin/Controllers/OrderController.php @@ -152,6 +152,9 @@ class OrderController extends AdminController {$phone} HTML; }); + $grid->column('order_total_amount')->display(function () { + return bcdiv($this->point_discount_amount + $this->total_amount, 100, 2); + })->prepend('¥'); $grid->column('point_discount_amount')->display(function ($value) { return bcdiv($value, 100, 2); })->prepend('¥'); @@ -296,19 +299,21 @@ class OrderController extends AdminController $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); $count = $query->count(); - $total_amount = number_format($query->sum('total_amount') / 100, 2); + $payment_amount = bcdiv($query->sum('total_amount'), 100, 2); $market_price = number_format($query->sum('market_price') / 100, 2); $cost_price = number_format($query->sum('cost_price') / 100, 2); $sales_value = number_format($query->sum('sales_value')); $point_discount_amount = bcdiv($query->sum('point_discount_amount'), 100, 2); + $total_amount = bcadd($payment_amount, $point_discount_amount, 2); return << 统计 订单数: $count - 积分: $point_discount_amount 订单总额: $total_amount + 积分抵扣: $point_discount_amount + 实付金额: $payment_amount 市场价: $market_price 成本价: $cost_price 成长值: $sales_value @@ -395,13 +400,16 @@ class OrderController extends AdminController $show->field('reduced_amount')->as(function ($v) { return bcdiv($v, 100, 2); })->prepend('- ¥'); + $show->field('order_total_amount')->as(function ($v) { + return bcdiv($this->point_discount_amount + $this->total_amount, 100, 2); + })->prepend('- ¥'); $show->field('point_discount_amount')->as(function ($v) { return bcdiv($v, 100, 2); })->prepend('- ¥'); - $show->field('profit'); $show->field('total_amount')->as(function ($v) { return bcdiv($v, 100, 2); })->prepend('¥'); + $show->field('profit'); }); $show->row(function (Show\Row $show) use ($userCouponId) { $show->width(6)->field('sales_value'); diff --git a/app/Admin/Controllers/Store/OrderController.php b/app/Admin/Controllers/Store/OrderController.php index 77ffdd2d..ccf3e4cc 100644 --- a/app/Admin/Controllers/Store/OrderController.php +++ b/app/Admin/Controllers/Store/OrderController.php @@ -2,14 +2,14 @@ namespace App\Admin\Controllers\Store; -use Dcat\Admin\{Form, Grid, Admin, Show}; -use Dcat\Admin\Http\Controllers\AdminController; -use App\Models\{Order, OrderProduct, OrderPackage}; +use App\Constants\OrderStatus; use App\Enums\PayWay; +use App\Models\Store\{Store, Desk}; +use App\Models\{Order, OrderProduct, OrderPackage}; +use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Layout\Row; use Dcat\Admin\Widgets\{Box, Tab, Card}; -use App\Constants\OrderStatus; -use App\Models\Store\{Store, Desk}; +use Dcat\Admin\{Form, Grid, Admin, Show}; class OrderController extends AdminController { @@ -66,10 +66,12 @@ class OrderController extends AdminController {$phone} HTML; }); - $grid->column('total_amount')->display(fn ($value) => bcdiv($value, 100, 2))->prepend('¥'); + $grid->column('order_total_amount')->display(fn ($v) => bcdiv($this->point_discount_amount + $this->total_amount, 100, 2))->prepend('¥'); + $grid->column('point_discount_amount')->display(fn ($v) => bcdiv($v, 100, 2))->prepend('¥'); + $grid->column('total_amount')->display(fn ($v) => bcdiv($v, 100, 2))->prepend('¥'); $grid->column('market_price')->display(fn ($value) => bcdiv($value, 100, 2))->prepend('¥'); $grid->column('cost_price')->display(fn ($value) => bcdiv($value, 100, 2))->prepend('¥'); - $grid->column('profit_price')->display(fn () => round(($this->total_amount - $this->cost_price) / 100, 2, PHP_ROUND_HALF_DOWN)); + $grid->column('profit_price')->display(fn () => bcdiv($this->total_amount + $this->point_discount_amount - $this->cost_price, 100, 2)); $grid->column('user_coupon_id')->display(fn ($value) => $value ? data_get($this->userCoupon, 'coupon_name') . '(¥'.round($this->coupon_discount_amount/100, 2, PHP_ROUND_HALF_DOWN).')' : ''); $grid->column('sales_value'); $grid->column('order_status')->using($this->statusMap)->dot($this->statusColor); @@ -154,18 +156,21 @@ class OrderController extends AdminController $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); $count = $query->count(); - $total_amount = round($query->sum('total_amount') / 100, 2, PHP_ROUND_HALF_DOWN); - $market_price = round($query->sum('market_price') / 100, 2, PHP_ROUND_HALF_DOWN); - $cost_price = round($query->sum('cost_price') / 100, 2, PHP_ROUND_HALF_DOWN); + $paymentAmount = bcdiv($query->sum('total_amount'), 100, 2); + $pointDiscountAmount = bcdiv($query->sum('point_discount_amount'), 100, 2); + $totalAmount = bcadd($paymentAmount, $pointDiscountAmount, 2); + $cost_price = bcdiv($query->sum('cost_price'), 100, 2); $sales_value = round($query->sum('sales_value'), 2, PHP_ROUND_HALF_DOWN); - $profit_price = round($total_amount - $cost_price, 2, PHP_ROUND_HALF_DOWN); + $profit_price = bcsub($totalAmount, $cost_price, 2); return << 统计 订单数: $count - 订单总额: $total_amount + 订单总额: $totalAmount + 积分抵扣: $pointDiscountAmount + 实付金额: $paymentAmount 总毛利: $profit_price 成长值: $sales_value @@ -187,7 +192,7 @@ class OrderController extends AdminController $show->field('products_total_amount')->as(fn($value) => bcdiv($value, 100, 2))->prepend('¥'); $show->field('market_price')->as(fn ($value) => bcdiv($value, 100, 2)); $show->field('cost_price')->as(fn ($value) => bcdiv($value, 100, 2)); - $show->field('profit_price')->as(fn () => round(($this->total_amount - $this->cost_price) / 100, 2, PHP_ROUND_HALF_DOWN)); + $show->field('profit_price')->as(fn () => round(($this->total_amount + $this->point_discount_amount - $this->cost_price) / 100, 2, PHP_ROUND_HALF_DOWN)); $show->field('vip_discount_amount')->as(fn ($v) => bcdiv($v, 100, 2))->prepend('- ¥'); // 优惠券 @@ -196,6 +201,8 @@ class OrderController extends AdminController $show->field('shipping_fee')->as(fn ($v) => bcdiv($v, 100, 2))->prepend('+ ¥'); $show->field('reduced_amount')->as(fn($value) => bcdiv($value, 100, 2))->prepend('- ¥'); + $show->field('order_total_amount')->as(fn($value) => bcdiv($this->point_discount_amount + $this->total_amount, 100, 2))->prepend('¥'); + $show->field('point_discount_amount')->as(fn($value) => bcdiv($value, 100, 2))->prepend('¥'); $show->field('total_amount')->as(fn($value) => bcdiv($value, 100, 2))->prepend('¥'); $show->field('sales_value'); $show->field('order_status')->as(fn() => $this->order_status)->using($this->statusMap)->dot($this->statusColor); diff --git a/resources/lang/zh_CN/order.php b/resources/lang/zh_CN/order.php index 41c8a6a7..3a584942 100644 --- a/resources/lang/zh_CN/order.php +++ b/resources/lang/zh_CN/order.php @@ -23,7 +23,8 @@ return [ 'bargain_amount' => '砍价金额', 'shipping_fee' => '运费', 'products_total_amount' => '商品总额', - 'total_amount' => '订单总额', + 'order_total_amount' => '订单总额', + 'total_amount' => '实付金额', 'weight' => '订单重量', 'note' => '客户备注', 'remark' => '订单备注', @@ -58,7 +59,7 @@ return [ 'market_price' => '市场价', 'cost_price' => '成本价', 'out_trade_no' => '支付流水号', - 'point_discount_amount' => '积分', + 'point_discount_amount' => '积分抵扣', ], 'options' => [ ], diff --git a/resources/lang/zh_CN/store-order.php b/resources/lang/zh_CN/store-order.php index 4a707d55..76e1ec8f 100644 --- a/resources/lang/zh_CN/store-order.php +++ b/resources/lang/zh_CN/store-order.php @@ -27,7 +27,7 @@ return [ 'shipping_fee' => '运费', 'products_total_amount' => '商品总额', 'product_total_amount'=>'商品总额', - 'total_amount' => '订单总额', + 'total_amount' => '实付金额', 'weight' => '订单重量', 'note' => '客户备注', 'remark' => '订单备注', @@ -62,6 +62,8 @@ return [ 'cost_price' => '成本价', 'profit_price' => '毛利', 'desk_id' => '桌号', + 'order_total_amount' => '订单总额', + 'point_discount_amount' => '积分抵扣', ], 'options' => [ ],