feat(store_order): 修改订单支付逻辑,修复了会员价和商户价格计算错误,并优化了相关代码。

This commit is contained in:
mkm 2024-06-23 19:37:34 +08:00
parent 3723c9c047
commit 51a44f8105
5 changed files with 33 additions and 29 deletions

View File

@ -80,7 +80,7 @@ class StoreController extends BaseApiController
'uid'=>$find['id'],
'staff_id'=>0,
'order_id'=>getNewOrderId('CZ'),
'price'=>0.01,
'price'=>1000,
'recharge_type'=>'INDUSTRYMEMBERS',
];
$order = UserRecharge::create($data);

View File

@ -65,22 +65,22 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
foreach ($list as $key => &$item) {
$find = StoreBranchProduct::where(['product_id' => $item['product_id'],'store_id' => $item['store_id']])
->field('product_id,image,price,cost,store_name,unit,delete_time,vip_price')
->field('product_id,image,cost price,cost,store_name,unit,delete_time,vip_price')
->withTrashed()
->find();
if ($find) {
if ($user && $user['user_ship'] == 1) {
//更新 会员为1的时候原价减去会员价
$deduction_price_count=bcmul(bcsub($find['price'], $find['vip_price'], 2),$item['cart_num'],2);
$this->activity_price = bcadd($this->activity_price, $deduction_price_count, 2);
}elseif ($user && $user['user_ship'] == 4) {
//更新 为4商户的时候减去商户价格
$deduction_price_count=bcmul(bcsub($find['price'], $find['cost'], 2),$item['cart_num'],2);
$this->activity_price = bcadd( $this->activity_price, $deduction_price_count, 2);
}else{
$this->activity_price =0;
}
// if ($user && $user['user_ship'] == 1) {
// //更新 会员为1的时候原价减去会员价
// $deduction_price_count=bcmul(bcsub($find['price'], $find['vip_price'], 2),$item['cart_num'],2);
// $this->activity_price = bcadd($this->activity_price, $deduction_price_count, 2);
// }elseif ($user && $user['user_ship'] == 4) {
// //更新 为4商户的时候减去商户价格
// $deduction_price_count=bcmul(bcsub($find['price'], $find['cost'], 2),$item['cart_num'],2);
// $this->activity_price = bcadd( $this->activity_price, $deduction_price_count, 2);
// }else{
// $this->activity_price =0;
// }
$item['goods_total_price'] = bcmul($item['cart_num'], $find['price'], 2);
$this->total_price = bcadd($this->total_price, $item['goods_total_price'], 2);
$item['imgs'] = $find['image'];

View File

@ -106,7 +106,7 @@ class ProductLists extends BaseAdminDataLists implements ListsSearchInterface, L
$this->searchWhere[] = ['status', '=', 1];
$this->searchWhere[] = ['stock', '>', 0];
return StoreBranchProduct::where($this->searchWhere)
->field(['id', 'product_id', 'cate_id', 'store_name', 'cost', 'store_id','vip_price','purchase', 'price', 'bar_code', 'image', 'sales', 'store_info', 'delete_time', 'unit', 'batch'])
->field(['id', 'product_id', 'cate_id', 'store_name', 'cost', 'store_id','vip_price','purchase', 'cost price', 'bar_code', 'image', 'sales', 'store_info', 'delete_time', 'unit', 'batch'])
->with(['className', 'unitName'])
->limit($this->limitOffset, $this->limitLength)
->order($this->sortOrder)

View File

@ -74,7 +74,7 @@ class OrderLogic extends BaseLogic
/** 计算价格 */
foreach ($cart_select as $k => $v) {
$find = StoreBranchProduct::where(['product_id' => $v['product_id'], 'store_id' => $params['store_id']])->field('id branch_product_id,store_name,image,unit,price,vip_price,cost,purchase,product_id')->withTrashed()->find();
$find = StoreBranchProduct::where(['product_id' => $v['product_id'], 'store_id' => $params['store_id']])->field('id branch_product_id,store_name,image,unit,cost price,vip_price,cost,purchase,product_id')->withTrashed()->find();
if (!$find) {
continue;
}
@ -85,19 +85,19 @@ class OrderLogic extends BaseLogic
$cart_select[$k]['total_price'] = bcmul($v['cart_num'], $find['price'], 2); //订单总价
$cart_select[$k]['deduction_price'] =self::$activity_price;//抵扣金额
$cart_select[$k]['vip'] = 0;
if ($user && $user['user_ship'] == 1) {
//更新 会员为1的时候原价减去会员价
$deduction_price_count=bcmul(bcsub($find['price'], $find['vip_price'], 2),$v['cart_num'],2);
$cart_select[$k]['deduction_price'] =$deduction_price_count;
self::$activity_price = bcadd(self::$activity_price, $deduction_price_count, 2);
$cart_select[$k]['vip'] =1;
}
if ($user && $user['user_ship'] == 4) {
//更新 为4商户的时候减去商户价格
$deduction_price_count=bcmul(bcsub($find['price'], $find['cost'], 2),$v['cart_num'],2);
$cart_select[$k]['deduction_price'] =$deduction_price_count;
self::$activity_price = bcadd(self::$activity_price, $deduction_price_count, 2);
}
// if ($user && $user['user_ship'] == 1) {
// //更新 会员为1的时候原价减去会员价
// $deduction_price_count=bcmul(bcsub($find['price'], $find['vip_price'], 2),$v['cart_num'],2);
// $cart_select[$k]['deduction_price'] =$deduction_price_count;
// self::$activity_price = bcadd(self::$activity_price, $deduction_price_count, 2);
// $cart_select[$k]['vip'] =1;
// }
// if ($user && $user['user_ship'] == 4) {
// //更新 为4商户的时候减去商户价格
// $deduction_price_count=bcmul(bcsub($find['price'], $find['cost'], 2),$v['cart_num'],2);
// $cart_select[$k]['deduction_price'] =$deduction_price_count;
// self::$activity_price = bcadd(self::$activity_price, $deduction_price_count, 2);
// }
//利润
// $cart_select[$k]['profit'] = bcmul($v['cart_num'], $onePrice, 2); //利润

View File

@ -389,7 +389,11 @@ class PayNotifyLogic extends BaseLogic
public static function afterPay($order, $transaction_id = 0)
{
$financeLogic = new StoreFinanceFlowLogic();
$user_sing = new UserSign();
// $user_sing = new UserSign();
$financeLogic->in($transaction_id, $order['pay_price'], OrderEnum::USER_ORDER_PAY, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); //用户订单支付
$financeLogic->in($transaction_id, $order['pay_price'], OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
$financeLogic->out($transaction_id,$order['pay_price'], OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
return false;
$vipFen = 0;
if ($order['uid'] > 0) {
// 结算金额 要支付的钱减去冻结得钱去走后面得逻辑 发得兑换券也要去减去