Merge pull request 'dev' (#7) from dev into main

Reviewed-on: #7
This commit is contained in:
mkm 2024-06-23 20:25:51 +08:00
commit f7c814d2ac
5 changed files with 169 additions and 155 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); //利润
@ -446,6 +446,7 @@ class OrderLogic extends BaseLogic
return true;
} catch (\Exception $e) {
Db::rollback();
d($e);
self::setError($e->getMessage());
return false;
}

View File

@ -82,15 +82,15 @@ class PayNotifyLogic extends BaseLogic
$user->save();
if ($order['spread_uid'] > 0 && $user['user_ship'] == 1) {
$oldUser = User::where('id',$order['spread_uid'])->value('purchase_funds');
$oldUser = User::where('id', $order['spread_uid'])->value('purchase_funds');
if ($oldUser < $order['pay_price']) {
$order['pay_price'] = $oldUser;
}
}
$capitalFlowDao = new CapitalFlowLogic($user);
$capitalFlowDao->userExpense('user_order_balance_pay', 'order', $order['id'], $order['pay_price'],'',0,$order['store_id']);
$capitalFlowDao->userExpense('user_order_balance_pay', 'order', $order['id'], $order['pay_price'], '', 0, $order['store_id']);
self::dealProductLog($order);
if($order['shipping_type'] == 3){
if ($order['shipping_type'] == 3) {
self::descStock($order['id']);
}
// self::afterPay($order);
@ -136,16 +136,15 @@ class PayNotifyLogic extends BaseLogic
];
(new UserSign())->saveAll($sing);
if($extra && $extra['store_id']){
if ($extra && $extra['store_id']) {
$params = [
'verify_code'=>$order['verify_code'],
'store_id'=>$extra['store_id'],
'staff_id'=>$extra['staff_id']
'verify_code' => $order['verify_code'],
'store_id' => $extra['store_id'],
'staff_id' => $extra['staff_id']
];
OrderLogic::lessWriteOff($params);
}
self::dealProductLog($order);
}
@ -176,23 +175,23 @@ class PayNotifyLogic extends BaseLogic
$user->save();
$capitalFlowDao = new CapitalFlowLogic($user);
$capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $order['id'], $order['pay_price'],'',1,$order['store_id']);
// if ($user['user_ship'] == 1) {
// self::dealVipAmount($order, PayEnum::PURCHASE_FUNDS);
// }
$capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $order['id'], $order['pay_price'], '', 1, $order['store_id']);
// if ($user['user_ship'] == 1) {
// self::dealVipAmount($order, PayEnum::PURCHASE_FUNDS);
// }
if($extra && $extra['store_id']){
if ($extra && $extra['store_id']) {
$params = [
'verify_code'=>$order['verify_code'],
'store_id'=>$extra['store_id'],
'staff_id'=>$extra['staff_id']
'verify_code' => $order['verify_code'],
'store_id' => $extra['store_id'],
'staff_id' => $extra['staff_id']
];
OrderLogic::writeOff($params);
}
self::dealProductLog($order);
// if($order['shipping_type'] == 3){
// self::descStock($order['id']);
// }
// if($order['shipping_type'] == 3){
// self::descStock($order['id']);
// }
// self::afterPay($order);
// Redis::send('push-platform-print', ['id' => $order['id']], 60);
@ -228,11 +227,11 @@ class PayNotifyLogic extends BaseLogic
} else {
$capitalFlowDao = new CapitalFlowLogic($user);
//微信支付和用户余额无关
$capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order->pay_price, '', 1,$order['store_id']);
$capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order->pay_price, '', 1, $order['store_id']);
}
self::dealProductLog($order);
if($order['shipping_type'] == 3){
if ($order['shipping_type'] == 3) {
self::descStock($order['id']);
}
@ -333,7 +332,7 @@ class PayNotifyLogic extends BaseLogic
$cashFlowLogic = new CashFlowLogic();
$cashFlowLogic->insert($order['store_id'], $order['pay_price']);
self::dealProductLog($order);
if($order['shipping_type'] == 3){
if ($order['shipping_type'] == 3) {
self::descStock($order['id']);
}
// Redis::send('push-platform-print', ['id' => $order['id']]);
@ -367,7 +366,7 @@ class PayNotifyLogic extends BaseLogic
self::afterPay($order);
}
self::dealProductLog($order);
if($order['shipping_type'] == 3){
if ($order['shipping_type'] == 3) {
self::descStock($order['id']);
}
@ -391,6 +390,25 @@ class PayNotifyLogic extends BaseLogic
{
$financeLogic = new StoreFinanceFlowLogic();
$user_sing = new UserSign();
//-----临时活动更改
$financeLogic->order = $order;
$financeLogic->user = ['uid' => $order['uid']];
$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']);
if ($order['uid'] > 0) {
$user_number = bcmul($order['pay_price'], '0.10', 2);
$sing = [
'uid' => $order['uid'],
'order_id' => $order['order_id'],
'title' => '购买商品获得兑换券',
'store_id' => $order['store_id'],
'number' => $user_number,
];
$user_sing->save($sing);
User::where('id', $order['uid'])->inc('integral', $user_number)->update();
}
return false;
$vipFen = 0;
if ($order['uid'] > 0) {
// 结算金额 要支付的钱减去冻结得钱去走后面得逻辑 发得兑换券也要去减去
@ -398,19 +416,18 @@ class PayNotifyLogic extends BaseLogic
$user = User::where('id', $order['uid'])->find();
//纯在分销关系的时候要去判断分销出来的用户的采购款的额度 (只有会员按照这个逻辑拆分,其余的还是按照正常的支付金额)
if ($order['spread_uid'] > 0) {
$oldUser = User::where('id',$order['spread_uid'])->field('purchase_funds,user_ship')->find();
if ($oldUser && $oldUser['user_ship'] == 1){
$oldUser = User::where('id', $order['spread_uid'])->field('purchase_funds,user_ship')->find();
if ($oldUser && $oldUser['user_ship'] == 1) {
if ($oldUser['purchase_funds'] < $order['pay_price']) {
$vipFen = $oldUser['purchase_funds'];
}
}
}
elseif ($user['user_ship'] == 1 && $order['pay_type'] != PayEnum::CASH_PAY){
} elseif ($user['user_ship'] == 1 && $order['pay_type'] != PayEnum::CASH_PAY) {
$vipFrozenAmount = self::dealFrozenPrice($order['id']);
//为1的时候要去减活动价
// $final_price = bcsub($order['pay_price'],$order['deduction_price'],2);
// d($final_price,$vipFrozenAmount);
$order['pay_price'] = bcsub($order['pay_price'],$vipFrozenAmount,2);
// $final_price = bcsub($order['pay_price'],$order['deduction_price'],2);
// d($final_price,$vipFrozenAmount);
$order['pay_price'] = bcsub($order['pay_price'], $vipFrozenAmount, 2);
self::dealVipAmount($order, $order['pay_type']);
}
@ -449,14 +466,14 @@ class PayNotifyLogic extends BaseLogic
if ($deposit > 0) {
if ($deposit > $store_profit) {
if ($store_profit > 0) {
SystemStore::where('id',$order['store_id'])->inc('paid_deposit',$store_profit)->update();
SystemStore::where('id', $order['store_id'])->inc('paid_deposit', $store_profit)->update();
$financeLogic->out($transaction_id, $store_profit, OrderEnum::ORDER_MARGIN, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
$financeLogic->in($transaction_id, 0, OrderEnum::MERCHANT_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']); //平台手续费
}
} else {
$money = bcsub($store_profit, $deposit, 2);
if ($deposit > 0) {
SystemStore::where('id',$order['store_id'])->inc('paid_deposit',$deposit)->update();
SystemStore::where('id', $order['store_id'])->inc('paid_deposit', $deposit)->update();
$financeLogic->out($transaction_id, $deposit, OrderEnum::ORDER_MARGIN, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
}
if ($money) {
@ -473,16 +490,16 @@ class PayNotifyLogic extends BaseLogic
// if ($order['is_vip'] >= 1) {
if ($order['spread_uid'] > 0) {
$financeLogic->other_arr['vip_uid'] = $order['spread_uid'];
if($vipFen){
if ($vipFen) {
$fees = bcdiv(bcmul($vipFen, '0.08', 2), 1, 2);
}else{
} else {
$fees = bcdiv(bcmul($order['pay_price'], '0.08', 2), 1, 2);
}
$count_frees = bcadd($count_frees, $fees, 2);
if ($fees > 0) {
User::where('id', $order['spread_uid'])->inc('now_money', $fees)->update();
//记录用户余额收入
$GiveUser = User::where('id',$order['spread_uid'])->find();
$GiveUser = User::where('id', $order['spread_uid'])->find();
$capitalFlowDao = new CapitalFlowLogic($GiveUser);
$capitalFlowDao->userIncome('system_balance_add', 'order', $order['id'], $fees);
@ -503,7 +520,7 @@ class PayNotifyLogic extends BaseLogic
$uid = User::where('id', 'in', $arr1)->where('user_ship', 2)->value('id');
if ($uid) {
User::where('id', $uid)->inc('integral', $fees)->update();
$village_uid=$uid;
$village_uid = $uid;
}
}
$arr2 = UserAddress::where(['village' => $address['village'], 'brigade' => $address['brigade'], 'is_default' => 1])->column('uid');
@ -511,63 +528,65 @@ class PayNotifyLogic extends BaseLogic
$uid = User::where('id', 'in', $arr1)->where('user_ship', 3)->value('id');
if ($uid) {
User::where('id', $uid)->inc('integral', $fees)->update();
$brigade_uid=$uid;
$brigade_uid = $uid;
}
}
}
}
if ($fees > 0) {
//村长获得
$sing = [];
// $sing = [];
$sing[] = [
'uid' => $village_uid,
'order_id' => $order['order_id'],
'title' => '村长订单获得兑换券',
'store_id' => $order['store_id'],
'number' => $fees,
'financial_pm' => 1,
'user_ship' => 2,
];
$sing[] = [
'uid' => $brigade_uid,
'order_id' => $order['order_id'],
'title' => '队长订单获得兑换券',
'store_id' => $order['store_id'],
'number' => $fees,
'financial_pm' => 1,
'user_ship' => 3,
];
$sing[] = [
'uid' => $village_uid,
'order_id' => $order['order_id'],
'title' => '订单扣除兑换券',
'store_id' => $order['store_id'],
'number' => $fees,
'financial_pm' => 0,
'user_ship' => 2,
];
$sing[] = [
'uid' => $brigade_uid,
'order_id' => $order['order_id'],
'title' => '订单扣除兑换券',
'store_id' => $order['store_id'],
'number' => $fees,
'financial_pm' => 0,
'user_ship' => 3,
];
// if ($village_uid > 0) {
// $financeLogic->other_arr['vip_uid'] = $village_uid;
// }
// $financeLogic->in($transaction_id, $fees, OrderEnum::VILLAGE_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
// $financeLogic->out($transaction_id, $fees, OrderEnum::VILLAGE_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
// $sing[] = [
// 'uid' => $village_uid,
// 'order_id' => $order['order_id'],
// 'title' => '村长订单获得兑换券',
// 'store_id' => $order['store_id'],
// 'number' => $fees,
// 'financial_pm' => 1,
// 'user_ship' => 2,
// ];
// $sing[] = [
// 'uid' => $brigade_uid,
// 'order_id' => $order['order_id'],
// 'title' => '队长订单获得兑换券',
// 'store_id' => $order['store_id'],
// 'number' => $fees,
// 'financial_pm' => 1,
// 'user_ship' => 3,
// ];
// $sing[] = [
// 'uid' => $village_uid,
// 'order_id' => $order['order_id'],
// 'title' => '订单扣除兑换券',
// 'store_id' => $order['store_id'],
// 'number' => $fees,
// 'financial_pm' => 0,
// 'user_ship' => 2,
// ];
// $sing[] = [
// 'uid' => $brigade_uid,
// 'order_id' => $order['order_id'],
// 'title' => '订单扣除兑换券',
// 'store_id' => $order['store_id'],
// 'number' => $fees,
// 'financial_pm' => 0,
// 'user_ship' => 3,
// ];
if ($village_uid > 0) {
SystemStore::where('id', $village_uid)->inc('store_money', $fees)->update();
$financeLogic->other_arr['vip_uid'] = $village_uid;
}
$financeLogic->in($transaction_id, $fees, OrderEnum::VILLAGE_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
$financeLogic->out($transaction_id, $fees, OrderEnum::VILLAGE_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
//队长获得
// if ($brigade_uid > 0) {
// $financeLogic->other_arr['vip_uid'] = $brigade_uid;
// }
// $financeLogic->in($transaction_id, $fees, OrderEnum::BRIGADE_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
// $financeLogic->out($transaction_id, $fees, OrderEnum::BRIGADE_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
$user_sing->saveAll($sing);
if ($brigade_uid > 0) {
SystemStore::where('id', $brigade_uid)->inc('store_money', $fees)->update();
$financeLogic->other_arr['vip_uid'] = $brigade_uid;
}
$financeLogic->in($transaction_id, $fees, OrderEnum::BRIGADE_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
$financeLogic->out($transaction_id, $fees, OrderEnum::BRIGADE_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
// $user_sing->saveAll($sing);
//其他获得
$financeLogic->other_arr['vip_uid'] = 0;
$financeLogic->in($transaction_id, $fees, OrderEnum::OTHER_ORDER_OBTAINS, $order['store_id'], 0, 0, $order['pay_type']);
@ -616,10 +635,10 @@ class PayNotifyLogic extends BaseLogic
public static function dealFrozenPrice($oid)
{
$detail = StoreOrderCartInfo::where('oid',$oid)->select()->toArray();
$detail = StoreOrderCartInfo::where('oid', $oid)->select()->toArray();
$total_vip = 0;
foreach ($detail as $value){
$total_vip +=$value['cart_info']['vip_frozen_price'];
foreach ($detail as $value) {
$total_vip += $value['cart_info']['vip_frozen_price'];
}
return $total_vip;
}
@ -635,20 +654,20 @@ class PayNotifyLogic extends BaseLogic
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public static function dealVipAmount($order,$pay_type =1,$transaction_id = 0)
public static function dealVipAmount($order, $pay_type = 1, $transaction_id = 0)
{
$total_vip = self::dealFrozenPrice($order['id']);
$data=[
$data = [
'order_id' => $order['id'],
'transaction_id' => $transaction_id??0,
'order_sn' =>$order['order_id'],
'transaction_id' => $transaction_id ?? 0,
'order_sn' => $order['order_id'],
'user_id' => $order['uid'],
'number' => $total_vip,
'pay_type' => $pay_type??1,
'pay_type' => $pay_type ?? 1,
'status' => 0,
'store_id' => $order['store_id'],
'staff_id' => $order['staff_id'],
'create_time'=>time()
'create_time' => time()
];
Db::name('vip_flow')->insert($data);
return true;
@ -667,55 +686,52 @@ class PayNotifyLogic extends BaseLogic
$store_id = $order['store_id'];
$cart_id = $order['cart_id'];
$uid = $order['uid'];
if($uid && $cart_id && $store_id){
$cart_id = explode(',',$cart_id);
if ($uid && $cart_id && $store_id) {
$cart_id = explode(',', $cart_id);
$productLog = StoreProductLog::where([
'uid'=>$uid
])->whereIn('cart_id',$cart_id)
'uid' => $uid
])->whereIn('cart_id', $cart_id)
->select()->toArray();
foreach ($productLog as &$value){
foreach ($productLog as &$value) {
$value['pay_uid'] = $uid;
$value['oid'] = $order['id'];
$cart_info = StoreOrderCartInfo::where([
'uid'=>$uid,'old_cart_id'=>$value['cart_id'],'store_id'=>$store_id
'uid' => $uid, 'old_cart_id' => $value['cart_id'], 'store_id' => $store_id
])->find();
$value['order_num'] = $cart_info['cart_num']??1;
$value['pay_num'] = $cart_info['cart_num']??1;
$value['pay_price'] = $cart_info['price']??0;
$value['cost_price'] = $cart_info['cart_info']['cost']??0;
$value['order_num'] = $cart_info['cart_num'] ?? 1;
$value['pay_num'] = $cart_info['cart_num'] ?? 1;
$value['pay_price'] = $cart_info['price'] ?? 0;
$value['cost_price'] = $cart_info['cart_info']['cost'] ?? 0;
$value['update_time'] = time();
unset($value['create_time'],$value['delete_time']);
unset($value['create_time'], $value['delete_time']);
}
(new StoreProductLog())->saveAll($productLog);
}
return true;
}
public static function descSwap($oid)
{
$updateData = [];
$goods_list = StoreOrderCartInfo::where('oid',$oid)->select()->toArray();
$goods_list = StoreOrderCartInfo::where('oid', $oid)->select()->toArray();
foreach ($goods_list as $v) {
$StoreBranchProduct =StoreBranchProduct::where(
$StoreBranchProduct = StoreBranchProduct::where(
[
'store_id'=>$v['store_id'],
'product_id'=>$v['product_id'],
'store_id' => $v['store_id'],
'product_id' => $v['product_id'],
]
)->withTrashed()->find();
$updateData[] = [
'id' => $StoreBranchProduct['id'],
'swap' => $StoreBranchProduct['swap']-$v['cart_num'],
'swap' => $StoreBranchProduct['swap'] - $v['cart_num'],
'sales' => ['inc', $v['cart_num']]
];
}
(new StoreBranchProduct())->saveAll($updateData);
}
@ -730,26 +746,23 @@ class PayNotifyLogic extends BaseLogic
public static function descStock($oid)
{
$updateData = [];
$goods_list = StoreOrderCartInfo::where('oid',$oid)->select()->toArray();
$goods_list = StoreOrderCartInfo::where('oid', $oid)->select()->toArray();
foreach ($goods_list as $v) {
$StoreBranchProduct =StoreBranchProduct::where(
$StoreBranchProduct = StoreBranchProduct::where(
[
'store_id'=>$v['store_id'],
'product_id'=>$v['product_id'],
'store_id' => $v['store_id'],
'product_id' => $v['product_id'],
]
)->withTrashed()->find();
$updateData[] = [
'id' => $StoreBranchProduct['id'],
'stock' => $StoreBranchProduct['stock']-$v['cart_num'],
'sales' => ['inc', $v['cart_num']]
];
if ($StoreBranchProduct) {
$updateData[] = [
'id' => $StoreBranchProduct['id'],
'stock' => $StoreBranchProduct['stock'] - $v['cart_num'],
'sales' => ['inc', $v['cart_num']]
];
}
}
(new StoreBranchProduct())->saveAll($updateData);
}
}