调整抵扣红包使用

This commit is contained in:
luofei 2024-02-04 17:32:58 +08:00
parent 439dd21d81
commit d87820109a
3 changed files with 7 additions and 15 deletions

View File

@ -323,7 +323,10 @@ class StoreConsumptionUserDao extends BaseDao
throw new \Exception('红包余额不足');
}
$balance = bcsub($storeConsumptionUser->balance, $amount, 2);
$storeConsumptionUser->balance = max($balance, 0);
$storeConsumptionUser->balance = $balance;
if ($balance <= 0 && $storeConsumptionUser->type == StoreConsumptionUser::TYPE_ONE) {
$storeConsumptionUser->status = StoreConsumptionUser::STATUS_USED;
}
if (!$storeConsumptionUser->save()) {
throw new \Exception('红包余额更新出错');
}

View File

@ -1012,19 +1012,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository
'balance'=>0,'use_min_price'=>0,'order_id_set'=>'','create_time'=>date('Y-m-d H:i:s'),'start_time'=>date('Y-m-d H:i:s'),
'end_time'=>date('Y-m-d H:i:s'),'use_time'=>date('Y-m-d H:i:s'),'type'=>1,'send_id'=>0,'status'=>1]);
}else{
$store_consumption_user = Db::name('store_consumption_user')->where('uid', $uid)->where('coupon_user_id', $groupOrder['consumption_id'])->where('status', 0)->find();
if ($store_consumption_user) {
if ($store_consumption_user['type'] == 1) {
if ($store_consumption_user['balance'] > $groupOrder['consumption_money']) {
$balance = bcsub($store_consumption_user['balance'], $groupOrder['consumption_money'], 2);
$balanceArr = ['balance' => $balance];
Db::name('store_consumption_user')->where('coupon_user_id', $store_consumption_user['coupon_user_id'])->update($balanceArr);
} else {
$balanceArr = ['balance' => 0, 'status' => 1];
Db::name('store_consumption_user')->where('coupon_user_id', $store_consumption_user['coupon_user_id'])->update($balanceArr);
}
}
}
$storeConsumptionUserDao = new StoreConsumptionUserDao();
$storeConsumptionUserDao->reduce($groupOrder['consumption_id'], $groupOrder['consumption_money']);
}
app()->make(UserBillRepository::class)->decBill($user['uid'], 'consumption', 'deduction', [

View File

@ -20,7 +20,7 @@ class StoreProcessing extends BaseController
$merchant_two = Db::name('merchant')->where('mer_id', $order['mer_id'])->find();
$store_group_order = Db::name('store_group_order')->where('group_order_id', $order['group_order_id'])->find();
$store_group_order_other = Db::name('store_group_order_other')->where('group_order_sn', $order['order_sn'])->find();
$store_group_order_other = Db::name('store_group_order_other')->where('group_order_sn', $store_group_order['group_order_sn'])->find();
if (!$store_group_order_other) {
unset($store_group_order['group_order_id']);
$group_order_id = Db::name('store_group_order_other')->strict(false)->insertGetId($store_group_order);