From b679ffa226d1cdd153a12076b60b95118be7c2c9 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Sat, 29 Jun 2024 11:59:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E5=90=88=E5=9B=9E=E8=B0=83=E6=89=A3?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E5=BE=97=E7=A4=BC=E5=93=81=E5=88=B8=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E5=8A=A0=E8=AE=B0=E5=BD=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logic/order/OrderLogic.php | 2 +- app/common/logic/PayNotifyLogic.php | 76 ++++++++++++++++++++++------- 2 files changed, 60 insertions(+), 18 deletions(-) diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 07844f967..c1e798d17 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -444,7 +444,7 @@ class OrderLogic extends BaseLogic if($order['uid'] && $order['pay_price'] >= 500){ $user_number = bcmul($order['pay_price'], '0.10', 2); User::where('id', $order['uid'])->inc('integral', $user_number)->update(); - //todo 核销加冻结礼品券 解冻礼品券 + // 核销加冻结礼品券 解冻礼品券 self::addUserSing($order,2,$user_number);//冻结 self::addUserSing($order,4,$user_number,1,1);//解冻 diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index 74ea6cc44..0ca0ac786 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -142,10 +142,12 @@ class PayNotifyLogic extends BaseLogic $sing[] = [ 'uid' => $order['uid'], 'order_id' => $order['order_id'], - 'title' => '订单扣除兑换券', +// 'title' => '订单扣除兑换券', + 'title' => 5, + 'financial_pm' => 0, 'store_id' => $order['store_id'], 'number' => $order['pay_price'], - 'financial_pm' => 0, + 'type' => 1, 'user_ship' => $user['user_ship'], ]; (new UserSign())->saveAll($sing); @@ -435,6 +437,10 @@ class PayNotifyLogic extends BaseLogic User::where('id',$orderRe['uid'])->dec('purchase_funds',$purchase_funds)->update(); $capitalFlowDao->userExpense('user_order_purchase_pay', 'order', $orderRe['id'], $purchase_funds, '', 1, $orderRe['store_id']); } + //退还 充值得兑换券 + self::addNewUserSing($orderRe,3,$orderRe->refund_price);//冻结 + + self::addNewUserSing($orderRe,6,$orderRe->refund_price,0,1);//解冻 self::descUserSing($orderRe); // d($purchase_funds,$orderRe['refund_price'],$orderRe); return true; @@ -469,12 +475,17 @@ 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::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::descUserSing($order); } //微信日志 user_order_refund @@ -485,28 +496,59 @@ class PayNotifyLogic extends BaseLogic return true; // self::afterPay($order,$extra['transaction_id']); } + //冻结券和礼品券得操作 + + /** + * 处理冻结和解冻 礼品券得记录 + * @param $order // 订单 + * @param $category // 分类 + * @param $number // 金额 + * @param int $pm //收支 0支出 1获得 + * @type $type //类型 0冻结 1解冻 + * @return true + */ + public static function addNewUserSing($order, $category, $number, int $pm=0, $type=0) + { + $user_sing = new UserSign(); + $sing = [ + 'uid' => $order['uid'], + 'order_id' => $order['order_id'], +// 'title' => '购买商品获得兑换券', +// 'title' => PayNotifyLogic::getTitle($category,$number), + 'title' => $category, + 'financial_pm' => $pm, + 'store_id' => $order['store_id'], + 'number' => $number, + 'type' => $type, + 'status' => 1, + ]; + $user_sing->save($sing); + return true; + } + //退积分-->订单 public static function descUserSing($order) { - $user_sing = new UserSign(); +// $user_sing = new UserSign(); if ($order['uid'] > 0) { $user_number = bcmul($order['refund_price'], '0.10', 2); - $sing = [ - 'uid' => $order['uid'], - 'order_id' => $order['order_id'], - 'title' => '退款扣除兑换券', - 'financial_pm' => 0, - 'store_id' => $order['store_id'], - 'number' => $user_number, - ]; - $user_sing->save($sing); - //删除之前获得的兑换券 - UserSign::where([ - 'order_id' => $order['order_id'], - 'financial_pm' => 1, - ])->update(['delete_time' => time()]); +// $sing = [ +// 'uid' => $order['uid'], +// 'order_id' => $order['order_id'], +// 'title' => '退款扣除兑换券', +// 'financial_pm' => 0, +// 'store_id' => $order['store_id'], +// 'number' => $user_number, +// ]; +// $user_sing->save($sing); +// //删除之前获得的兑换券 +// UserSign::where([ +// 'order_id' => $order['order_id'], +// 'financial_pm' => 1, +// ])->update(['delete_time' => time()]); + $now_int = User::where('id', $order['uid'])->withTrashed()->find(); if ($now_int) { if ($now_int['integral'] > $user_number) {