From 73b874c72ad55eb9eef21c36160ac0de58f0189e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 10:30:43 +0800
Subject: [PATCH] 优化名片
---
admin/app/shop/model/user/User.php | 47 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/admin/app/shop/model/user/User.php b/admin/app/shop/model/user/User.php
index 14a3878..7077768 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;
/**
* 用户模型
@@ -93,7 +94,7 @@
}
if($is_page){
// 获取用户列表
- return $model->alias('user')->with(['grade'])->distinct(true)->field(['user.*','referee.nickName as referee_name,referee.avatarUrl as referee_avatarUrl'])
+ return $model->alias('user')->with(['grade','branch'])->distinct(true)->field(['user.*','referee.nickName as referee_name,referee.avatarUrl as referee_avatarUrl'])
->where('user.is_delete', '=', '0')
->join('user_tag tag', 'user.user_id = tag.user_id','left')
->join('user referee', 'user.referee_id = referee.user_id','left')
@@ -102,7 +103,7 @@
->paginate($params);
}else{
// 获取用户列表
- return $model->alias('user')->with(['grade'])
+ return $model->alias('user')->with(['grade','branch'])
->where('user.is_delete', '=', '0')
->join('user referee', 'user.referee_id = referee.user_id','left')
->order(['user.create_time' => 'desc'])
@@ -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