From f095eef1f5c405b06a3580a63a8a0ae5450c14bb Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sun, 21 Jan 2024 09:47:24 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/StoreOrderCreateRepository.php | 19 ++++++++++++------- app/controller/api/store/order/StoreOrder.php | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index d7216176..07d78de1 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -33,7 +33,7 @@ use think\facade\Queue; class StoreOrderCreateRepository extends StoreOrderRepository { - public function v2CartIdByOrderInfo($user, array $cartId, array $takes = null, array $useCoupon = null, bool $useIntegral = false, int $addressId = null, $createOrder = false) + public function v2CartIdByOrderInfo($user, array $cartId, array $takes = null, array $useCoupon = null, bool $useIntegral = false, int $addressId = null, $createOrder = false,$consumption_id=0) { $uid = $user->uid; $userIntegral = $user->integral; @@ -484,7 +484,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository $StoreCouponUser = app()->make(StoreCouponUserRepository::class); $platformCoupon = $StoreCouponUser->validUserPlatformCoupon($uid); $platformConsumption=[]; - $consumption=[]; //消费金 if ($source == 103) { $ConsumptionWhere = [ @@ -494,7 +493,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository ]; $platformConsumption = Db::name('store_consumption_user')->where($ConsumptionWhere)->limit(100)->order('create_time', 'desc') - ->field('uid,coupon_title,coupon_price,start_time,end_time') + ->field('coupon_user_id,uid,coupon_title,coupon_price,start_time,end_time') ->select()->each(function($item){ $item['describe']='仅限平台指定商家商品可使用'; return $item; @@ -561,9 +560,13 @@ class StoreOrderCreateRepository extends StoreOrderRepository $pay_price = $org_price; } - // if($consumption){ - // $pay_price = bcsub($pay_price, $consumption['coupon_price'], 2); - // } + $consumption_money=0; + if($consumption_id){ + $consumption_money=Db::name('store_consumption_user')->where('coupon_user_id',$consumption_id)->where('uid',$uid)->value('balance'); + if($consumption_money){ + $pay_price = bcsub($pay_price, $consumption_money, 2); + } + } $giveIntegralFlag = $sysIntegralConfig['integral_status'] && $sysIntegralConfig['integral_order_rate'] > 0; $total_give_integral = 0; @@ -632,7 +635,9 @@ class StoreOrderCreateRepository extends StoreOrderRepository 'openIntegral', 'useIntegral', 'key', - 'platformConsumption' + 'platformConsumption', + 'consumption_money', + 'consumption_id' ) + ['allow_address' => !$allow_no_address, 'order_delivery_status' => $orderDeliveryStatus]; } diff --git a/app/controller/api/store/order/StoreOrder.php b/app/controller/api/store/order/StoreOrder.php index 52052cfd..efc72d9f 100644 --- a/app/controller/api/store/order/StoreOrder.php +++ b/app/controller/api/store/order/StoreOrder.php @@ -60,6 +60,7 @@ class StoreOrder extends BaseController public function v2CheckOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository) { $cartId = (array)$this->request->param('cart_id', []); + $consumption_id = (array)$this->request->param('consumption_id',0); $addressId = (int)$this->request->param('address_id'); $couponIds = (array)$this->request->param('use_coupon', []); $takes = (array)$this->request->param('takes', []); @@ -68,7 +69,7 @@ class StoreOrder extends BaseController $uid = $user->uid; if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid))) return app('json')->fail('数据无效'); - $orderInfo = $orderCreateRepository->v2CartIdByOrderInfo($user, $cartId, $takes, $couponIds, $useIntegral, $addressId); + $orderInfo = $orderCreateRepository->v2CartIdByOrderInfo($user, $cartId, $takes, $couponIds, $useIntegral, $addressId,false,$consumption_id); return app('json')->success($orderInfo); } From 7126d108e6222cf988077089c98add105aa6a08d Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sun, 21 Jan 2024 09:52:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repositories/store/order/StoreOrderCreateRepository.php | 2 +- app/controller/api/store/order/StoreOrder.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index 07d78de1..061c676b 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -561,7 +561,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository } $consumption_money=0; - if($consumption_id){ + if($consumption_id>0){ $consumption_money=Db::name('store_consumption_user')->where('coupon_user_id',$consumption_id)->where('uid',$uid)->value('balance'); if($consumption_money){ $pay_price = bcsub($pay_price, $consumption_money, 2); diff --git a/app/controller/api/store/order/StoreOrder.php b/app/controller/api/store/order/StoreOrder.php index efc72d9f..96ffc90b 100644 --- a/app/controller/api/store/order/StoreOrder.php +++ b/app/controller/api/store/order/StoreOrder.php @@ -60,7 +60,7 @@ class StoreOrder extends BaseController public function v2CheckOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository) { $cartId = (array)$this->request->param('cart_id', []); - $consumption_id = (array)$this->request->param('consumption_id',0); + $consumption_id = (int)$this->request->param('consumption_id',0); $addressId = (int)$this->request->param('address_id'); $couponIds = (array)$this->request->param('use_coupon', []); $takes = (array)$this->request->param('takes', []); From 344e2c67ba63724394b515a1184b517ec31f4fe5 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sun, 21 Jan 2024 10:11:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/order/StoreOrderCreateRepository.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index 061c676b..0712ce7b 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -562,9 +562,18 @@ class StoreOrderCreateRepository extends StoreOrderRepository $consumption_money=0; if($consumption_id>0){ - $consumption_money=Db::name('store_consumption_user')->where('coupon_user_id',$consumption_id)->where('uid',$uid)->value('balance'); - if($consumption_money){ - $pay_price = bcsub($pay_price, $consumption_money, 2); + $store_consumption_user=Db::name('store_consumption_user')->where('coupon_user_id',$consumption_id)->where('uid',$uid)->find(); + if($store_consumption_user){ + if($store_consumption_user['type']==2){ + $a=bcdiv($pay_price,4); + if($store_consumption_user['balance']>$a){ + $pay_price = bcsub($pay_price, $a, 2); + $consumption_money=$a; + }else{ + $pay_price = bcsub($pay_price, $store_consumption_user['balance'], 2); + $consumption_money=$store_consumption_user['balance']; + } + } } } From 7895d82ce49cae5a01989726608f153ebadd1f40 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sun, 21 Jan 2024 10:13:25 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repositories/store/order/StoreOrderCreateRepository.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index 0712ce7b..8a151546 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -574,6 +574,11 @@ class StoreOrderCreateRepository extends StoreOrderRepository $consumption_money=$store_consumption_user['balance']; } } + if($store_consumption_user['type']==1){ + $pay_price = bcsub($pay_price, $store_consumption_user['balance'], 2); + $consumption_money=$store_consumption_user['balance']; + } + } } }