From 6a87e5870568173110bf0484141a6d3f91e70e56 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Mon, 1 Jul 2024 09:42:49 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=BA=97=E9=93=BA?= =?UTF-8?q?=E6=97=A0=E5=95=86=E5=93=81=E5=BE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logic/order/OrderLogic.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index d68fbee8..56b8d647 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -292,6 +292,9 @@ class OrderLogic extends BaseLogic 'store_id'=>$params['store_id'], 'product_id'=>$v['product_id'], ])->field('id,store_name,stock')->withTrashed()->find(); + if(empty($store)){ + $store['stock'] =0; + } if($store['stock'] < $v['cart_num']){ //缺失 $newArr[] = [ From 0838dba50746ec79f740c9499c92691901f6fe57 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Mon, 1 Jul 2024 10:00:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=80=BB=E5=90=8E=E5=8F=B0=E9=99=90?= =?UTF-8?q?=E5=88=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/lists/store_product/StoreProductLists.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/admin/lists/store_product/StoreProductLists.php b/app/admin/lists/store_product/StoreProductLists.php index cdaa4ba6..338ab151 100644 --- a/app/admin/lists/store_product/StoreProductLists.php +++ b/app/admin/lists/store_product/StoreProductLists.php @@ -29,7 +29,8 @@ class StoreProductLists extends BaseAdminDataLists implements ListsSearchInterfa public function setSearch(): array { return [ - '=' => ['cate_id'], + '=' => ['cate_id','is_show'], + '<='=> ['stock'], '%like%' => ['store_name'], ]; } From 229725c4499241ab2c50103165c8b3112d2b1de2 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Mon, 1 Jul 2024 10:47:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=8C=89=E7=85=A7=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E9=A2=84=E8=AE=BE=E9=80=80=E5=85=91=E6=8D=A2=E5=88=B8=E5=92=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=91=E6=8D=A2=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logic/order/OrderLogic.php | 4 +- app/common/logic/PayNotifyLogic.php | 65 +++++++++++++++++++++++------ 2 files changed, 55 insertions(+), 14 deletions(-) diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 56b8d647..f3ced188 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -514,7 +514,9 @@ class OrderLogic extends BaseLogic } } if($order['uid'] && $order['pay_price'] >= 500){ - $user_number = bcmul($order['pay_price'], '0.10', 2); + $level = User::where('id',$order['uid'])->value('user_ship'); + $discount = PayNotifyLogic::getDiscount($level); + $user_number = bcmul($order['pay_price'], $discount, 2); User::where('id', $order['uid'])->inc('integral', $user_number)->update(); // 核销加冻结礼品券 解冻礼品券 self::addUserSing($order,2,$user_number);//冻结 diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index 20fb69e4..f5582aeb 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -97,7 +97,9 @@ class PayNotifyLogic extends BaseLogic if ($order['shipping_type'] == 3) { //预留收银台余额支付得兑换券逻辑 if ($order->uid >0) { - $total_vip = bcmul($order['pay_price'], 0.1, 2); + $level = User::where('id',$order->uid)->value('user_ship'); + $discount = self::getDiscount($level); + $total_vip = bcmul($order['pay_price'], $discount, 2); self::addNewUserSing($order,8,$total_vip,1,1); User::where('id', $order->uid)->inc('integral', $total_vip)->update(); } @@ -434,7 +436,9 @@ class PayNotifyLogic extends BaseLogic self::descStock($order['id']); //直接加对应兑换券 if ($order->uid >0) { - $total_vip = bcmul($order['pay_price'], 0.1, 2); + $level = User::where('id',$order->uid)->value('user_ship'); + $discount = self::getDiscount($level); + $total_vip = bcmul($order['pay_price'], $discount, 2); self::addNewUserSing($order,8,$total_vip,1,1); User::where('id', $order->uid)->inc('integral', $total_vip)->update(); } @@ -473,9 +477,12 @@ class PayNotifyLogic extends BaseLogic $capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $orderRe['id'], $purchase_funds, '', 1, $orderRe['store_id']); } //退还 充值得兑换券 - self::addNewUserSing($orderRe, 3, $orderRe->refund_price); //冻结 + $level = User::where('id',$order->uid)->value('user_ship'); + $discount = self::getDiscount($level); + $total_price = bcmul($orderRe->refund_price, $discount, 2); + self::addNewUserSing($orderRe, 3,$total_price); //冻结 - self::addNewUserSing($orderRe, 6, $orderRe->refund_price, 0, 1); //解冻 + self::addNewUserSing($orderRe, 6, $total_price, 0, 1); //解冻 self::descUserSing($orderRe); // d($purchase_funds,$orderRe['refund_price'],$orderRe); return true; @@ -492,6 +499,9 @@ class PayNotifyLogic extends BaseLogic $capitalFlowDao = new CapitalFlowLogic($user); $deal_money = bcdiv($extra['amount']['refund'], 100, 2); $check_user_sing = UserSign::where('order_id', $order['order_id'])->count(); + //对应比例得退礼品券逻辑 + $discount = self::getDiscount($user->user_ship); + $total_price = bcmul($order->refund_price, $discount, 2); if (in_array($order['pay_type'], [PayEnum::BALANCE_PAY, PayEnum::PURCHASE_FUNDS])) { if ($order['pay_type'] == PayEnum::BALANCE_PAY) { //用户余额支付 $user->now_money = bcadd($user->now_money, $deal_money, 2); @@ -509,18 +519,19 @@ class PayNotifyLogic extends BaseLogic //退款 $capitalFlowDao->userIncome('system_purchase_back', 'system_back', $order['id'], $deal_money); } + if ($check_user_sing) { //退还 兑换券 - self::addNewUserSing($order, 3, $order->refund_price); //冻结 - self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻 + self::addNewUserSing($order, 3, $total_price); //冻结 + self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻 self::descUserSing($order); } return true; } //积分 if ($check_user_sing) { - self::addNewUserSing($order, 3, $order->refund_price); //冻结 - self::addNewUserSing($order, 6, $order->refund_price, 0, 1); //解冻 + self::addNewUserSing($order, 3, $total_price); //冻结 + self::addNewUserSing($order, 6, $total_price, 0, 1); //解冻 self::descUserSing($order); } //微信日志 user_order_refund @@ -568,7 +579,9 @@ class PayNotifyLogic extends BaseLogic { // $user_sing = new UserSign(); if ($order['uid'] > 0) { - $user_number = bcmul($order['refund_price'], '0.10', 2); + $level = User::where('id',$order['uid'])->value('user_ship'); + $discount = self::getDiscount($level); + $user_number = bcmul($order['refund_price'], $discount, 2); // $sing = [ // 'uid' => $order['uid'], // 'order_id' => $order['order_id'], @@ -794,7 +807,9 @@ class PayNotifyLogic extends BaseLogic self::descStock($order['id']); //直接加到礼品券中 $user_sing = new UserSign(); - $total_vip = bcmul($order['pay_price'], 0.1, 2); + $level = User::where('id',$order['uid'])->value('user_ship'); + $discount = self::getDiscount($level); + $total_vip = bcmul($order['pay_price'], $discount, 2); $sing[] = [ 'uid' => $order['uid'], 'order_id' => $order['order_id'], @@ -848,7 +863,9 @@ class PayNotifyLogic extends BaseLogic self::descStock($order['id']); //直接加兑换券到对应得账户 if ($order->uid >0) { - $total_vip = bcmul($order['pay_price'], 0.1, 2); + $level = User::where('id',$order['uid'])->value('user_ship'); + $discount = self::getDiscount($level); + $total_vip = bcmul($order['pay_price'], $discount, 2); self::addNewUserSing($order,8,$total_vip,1,1); User::where('id', $order->uid)->inc('integral', $total_vip)->update(); } @@ -892,7 +909,9 @@ class PayNotifyLogic extends BaseLogic $order['uid'] > 0 && $order['total_price'] >= 500 && $order['pay_type'] != PayEnum::PURCHASE_FUNDS && $user_ship != 1 && $order['shipping_type'] !=3 ) { - $user_number = bcmul($order['pay_price'], '0.10', 2); + $level = User::where('id',$order['uid'])->value('user_ship'); + $discount = self::getDiscount($level); + $user_number = bcmul($order['pay_price'], $discount, 2); $sing = [ 'uid' => $order['uid'], 'order_id' => $order['order_id'], @@ -915,7 +934,8 @@ class PayNotifyLogic extends BaseLogic $user_ship = $user['user_ship']; if($order['total_price'] >= 500 && $order['pay_type'] !=PayEnum::PURCHASE_FUNDS && $user_ship !=1 && $order['shipping_type'] !=3){ - $user_number = bcmul($order['pay_price'], '0.10', 2); + $discount = self::getDiscount($user_ship); + $user_number = bcmul($order['pay_price'], $discount, 2); $sing = [ 'uid' => $order['uid'], 'order_id' => $order['order_id'], @@ -1214,6 +1234,25 @@ class PayNotifyLogic extends BaseLogic + /** + * 会员等级对应得折扣比例 + * @param $level + * @return float|mixed + */ + public static function getDiscount($level) + { + switch ($level) { + case 0://普通 + return Config::where('name','ordinary_member')->value('value')??0.1; + case 1://vip + return Config::where('name','vip_member')->value('value')??0.1; + case 4://商户 + return Config::where('name','merchant')->value('value')??0.1; + default: + return 0.1; + } + } + //礼品券相关对应文本