feat: 修改订单逻辑增加订单总价和订单支付金额字段

This commit is contained in:
mkm 2024-06-11 13:43:57 +08:00
parent 0b8c373c79
commit 25ad3924a1

View File

@ -38,7 +38,8 @@ use Yansongda\Pay\Event\PayEnd;
*/ */
class OrderLogic extends BaseLogic class OrderLogic extends BaseLogic
{ {
public static $total; public static $total_price;
public static $pay_price;
public static $cost; public static $cost;
public static $profit; public static $profit;
public static $activity_price; public static $activity_price;
@ -58,7 +59,8 @@ class OrderLogic extends BaseLogic
return false; return false;
} }
try { try {
self::$total = 0; self::$total_price = 0;
self::$pay_price = 0;
self::$cost = 0; //成本 self::$cost = 0; //成本
self::$profit = 0; //利润 self::$profit = 0; //利润
self::$activity_price = 0; //活动减少 self::$activity_price = 0; //活动减少
@ -73,18 +75,18 @@ class OrderLogic extends BaseLogic
unset($cart_select[$k]['id']); unset($cart_select[$k]['id']);
$cart_select[$k]['price'] = $find['price']; $cart_select[$k]['price'] = $find['price'];
$cart_select[$k]['total_price'] = bcmul($v['cart_num'], $find['price'], 2); //订单总价
if (isset($check) && $check['status'] == 1) { if (isset($check) && $check['status'] == 1) {
//零售价*折扣率 //零售价*折扣率
$activity_price = bcmul($find['price'], 0.9, 2); $activity_price = bcmul($find['price'], 0.9, 2);
self::$activity_price = bcadd(self::$activity_price, bcsub($find['price'], $activity_price, 2), 2); self::$activity_price = bcadd(self::$activity_price, bcmul(bcsub($find['price'], $activity_price, 2),$v['cart_num'], 2), 2);
$find['price'] = $activity_price; $find['price'] = $activity_price;
} }
//利润 //利润
$onePrice = bcsub($find['price'], $find['cost'], 2); $onePrice = bcsub($find['price'], $find['cost'], 2);
$cart_select[$k]['profit'] = bcmul($v['cart_num'], $onePrice, 2); //利润 $cart_select[$k]['profit'] = bcmul($v['cart_num'], $onePrice, 2); //利润
$cart_select[$k]['cost'] = bcmul($v['cart_num'], $find['cost'], 2) ?? 0; $cart_select[$k]['cost'] = bcmul($v['cart_num'], $find['cost'], 2) ?? 0; //成本
$cart_select[$k]['total'] = bcmul($v['cart_num'], $find['price'], 2); //钱 $cart_select[$k]['pay_price'] = bcmul($v['cart_num'], $find['price'], 2); //订单支付金额
$cart_select[$k]['total_price'] = bcmul($v['cart_num'], $find['price'], 2); //钱
$cart_select[$k]['product_id'] = $find['product_id']; $cart_select[$k]['product_id'] = $find['product_id'];
$cart_select[$k]['old_cart_id'] = $v['id']; $cart_select[$k]['old_cart_id'] = $v['id'];
$cart_select[$k]['cart_num'] = $v['cart_num']; $cart_select[$k]['cart_num'] = $v['cart_num'];
@ -104,12 +106,13 @@ class OrderLogic extends BaseLogic
$cart_select[$k]['imgs'] = $find['image']; $cart_select[$k]['imgs'] = $find['image'];
$cart_select[$k]['store_id'] = $params['store_id'] ?? 0; $cart_select[$k]['store_id'] = $params['store_id'] ?? 0;
$cart_select[$k]['unit_name'] = StoreProductUnit::where(['id' => $find['unit']])->value('name'); $cart_select[$k]['unit_name'] = StoreProductUnit::where(['id' => $find['unit']])->value('name');
self::$total = bcadd(self::$total, $cart_select[$k]['total'], 2); self::$total_price = bcadd(self::$total_price, $cart_select[$k]['total_price'], 2);
self::$pay_price = bcadd(self::$pay_price, $cart_select[$k]['pay_price'], 2);
self::$cost = bcadd(self::$cost, $cart_select[$k]['cost'], 2); self::$cost = bcadd(self::$cost, $cart_select[$k]['cost'], 2);
self::$profit = bcadd(self::$profit, $cart_select[$k]['profit'], 2); self::$profit = bcadd(self::$profit, $cart_select[$k]['profit'], 2);
} }
//TODO 收单打9.9折 会员按照比例打折 等级按照充值去升级 //TODO 收单打9.9折 会员按照比例打折 等级按照充值去升级
$pay_price = self::$total; $pay_price = self::$pay_price;
// $check = StoreOrder::where('uid',\request()->userId)->count();//首单逻辑 // $check = StoreOrder::where('uid',\request()->userId)->count();//首单逻辑
$vipPrice = 0; $vipPrice = 0;
// if (isset($check) && $check['status'] == 1) { // if (isset($check) && $check['status'] == 1) {
@ -153,7 +156,7 @@ class OrderLogic extends BaseLogic
$order = [ $order = [
'create_time' => time(), 'create_time' => time(),
'order_id' => getNewOrderId('PF'), 'order_id' => getNewOrderId('PF'),
'total_price' => self::$total, //总价 'total_price' => self::$total_price, //总价
'cost' => self::$cost, //成本价 'cost' => self::$cost, //成本价
'profit' => self::$profit, //利润 'profit' => self::$profit, //利润
'pay_price' => $pay_price, //后期可能有降价抵扣 'pay_price' => $pay_price, //后期可能有降价抵扣
@ -167,6 +170,8 @@ class OrderLogic extends BaseLogic
'activity' => '减免', 'activity' => '减免',
'activity_price' => self::$activity_price, 'activity_price' => self::$activity_price,
'activities' => $check['status'], 'activities' => $check['status'],
'deduction_price' => self::$activity_price
]; ];
$order['default_delivery'] = 0; $order['default_delivery'] = 0;
if ($params['store_id']) { if ($params['store_id']) {
@ -192,7 +197,6 @@ class OrderLogic extends BaseLogic
return false; return false;
} }
$_order = $orderInfo['order']; $_order = $orderInfo['order'];
$_order['deduction_price'] = 0;
$_order['uid'] = request()->userId; $_order['uid'] = request()->userId;
$user = User::where('id', \request()->userId)->find(); $user = User::where('id', \request()->userId)->find();
$_order['real_name'] = $user['real_name']; $_order['real_name'] = $user['real_name'];