From 30563323a53b0d0260c97d08a9e8bd4cc8227a95 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Sat, 13 Dec 2025 18:03:52 +0800
Subject: [PATCH] 完成级差奖 完成平级奖
---
admin/app/shop/model/user/User.php | 43 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/admin/app/shop/model/user/User.php b/admin/app/shop/model/user/User.php
index 14a3878..948f542 100644
--- a/admin/app/shop/model/user/User.php
+++ b/admin/app/shop/model/user/User.php
@@ -9,6 +9,7 @@
use app\common\enum\user\grade\ChangeTypeEnum;
use app\common\enum\user\balanceLog\BalanceLogSceneEnum as SceneEnum;
use app\shop\model\user\PointsLog as PointsLogModel;
+use app\shop\model\user\ConsumptionLog as ConsumptionLogModel;
use app\shop\model\plus\agent\User as AgentUserModel;
/**
* 用户模型
@@ -203,6 +204,8 @@
return $this->rechargeToBalance($storeUserName, $data['balance']);
} elseif ($source == 1) {
return $this->rechargeToPoints($storeUserName, $data['points']);
+ } elseif ($source == 2) {
+ return $this->rechargeToconCumption($storeUserName, $data['consumption']);
}
return false;
}
@@ -282,6 +285,46 @@
event('UserGrade', $this['user_id']);
return true;
}
+ /**
+ * 用户充值:消费券
+ */
+ private function rechargeToconCumption($storeUserName, $data)
+ {
+ if (!isset($data['value']) || $data['value'] === '' || $data['value'] < 0) {
+ $this->error = '请输入正确的消费券数量';
+ return false;
+ }
+ $consumer_coupon = 0;
+ // 判断充值方式,计算最终消费券
+ if ($data['mode'] === 'inc') {
+ $diffMoney = $this['consumer_coupon'] + $data['value'];
+ $consumer_coupon = $data['value'];
+ } elseif ($data['mode'] === 'dec') {
+ $diffMoney = $this['consumer_coupon'] - $data['value'] <= 0 ? 0 : $this['consumer_coupon'] - $data['value'];
+ $consumer_coupon = -$data['value'];
+ } else {
+ $diffMoney = $data['value'];
+ $consumer_coupon= $data['value'] - $this['consumer_coupon'];
+ }
+ // 更新记录
+ $this->transaction(function () use ($storeUserName, $data, $diffMoney, $consumer_coupon) {
+ $total_expend_money = $this['total_expend_money'] + $consumer_coupon <= 0? 0 : $this['total_expend_money'] + $consumer_coupon;
+ // 更新账户消费券
+ $this->where('user_id', '=', $this['user_id'])->update([
+ 'consumer_coupon' => $diffMoney,
+ 'total_expend_money' => $total_expend_money
+ ]);
+ // 新增消费券变动记录
+ ConsumptionLogModel::add([
+ 'user_id' => $this['user_id'],
+ 'value' => $consumer_coupon,
+ 'describe' => "后台管理员 [{$storeUserName}] 操作",
+ 'remark' => $data['remark'],
+ ]);
+ });
+ event('UserGrade', $this['user_id']);
+ return true;
+ }
/**
--
Gitblit v1.9.2