From 80261885b860f0fef738263ba87297d2e5aa1ca7 Mon Sep 17 00:00:00 2001 From: suyi Date: Tue, 2 Apr 2024 13:10:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/api/service/WechatUserService.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/app/api/service/WechatUserService.php b/server/app/api/service/WechatUserService.php index 59b3c98..6f1e8bc 100644 --- a/server/app/api/service/WechatUserService.php +++ b/server/app/api/service/WechatUserService.php @@ -145,7 +145,7 @@ class WechatUserService $userSn = User::createUserSn(); $this->user->sn = $userSn; $this->user->account = 'u' . $userSn; - $this->user->nickname = "用户" . $userSn; + $this->user->nickname = $this->nickname; $this->user->avatar = $avatar; $this->user->channel = $this->terminal; $this->user->is_new_user = YesNoEnum::YES; @@ -189,6 +189,7 @@ class WechatUserService $userAuth->openid = $this->openid; $userAuth->unionid = $this->unionid; $userAuth->terminal = $this->terminal; + $userAuth->nickname = $this->nickname; $userAuth->save(); } } -- Gitee From c2c5483418cea80565cae4818f23f83ed37d9309 Mon Sep 17 00:00:00 2001 From: suyi Date: Tue, 2 Apr 2024 13:50:21 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BD=99=E9=A2=9D=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E3=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/user/UserController.php | 17 ++++++ server/app/adminapi/logic/user/UserLogic.php | 52 ++++++++++++++++++ .../validate/user/AdjustUserMoney.php | 55 +++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 server/app/adminapi/validate/user/AdjustUserMoney.php diff --git a/server/app/adminapi/controller/user/UserController.php b/server/app/adminapi/controller/user/UserController.php index dde858b..a61abee 100644 --- a/server/app/adminapi/controller/user/UserController.php +++ b/server/app/adminapi/controller/user/UserController.php @@ -7,6 +7,7 @@ namespace app\adminapi\controller\user; use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\user\UserLists; use app\adminapi\logic\user\UserLogic; +use app\adminapi\validate\user\AdjustUserMoney; use app\adminapi\validate\user\UserValidate; class UserController extends BaseAdminController @@ -46,4 +47,20 @@ class UserController extends BaseAdminController UserLogic::setUserInfo($params); return $this->success('操作成功', [], 1, 1); } + + /** + * @notes 调整用户余额 + * @return \think\response\Json + * @author bingo + * @date 2023/2/23 14:33 + */ + public function adjustMoney() + { + $params = (new AdjustUserMoney())->post()->goCheck(); + $res = UserLogic::adjustUserMoney($params); + if (true === $res) { + return $this->success('操作成功', [], 1, 1); + } + return $this->fail($res); + } } \ No newline at end of file diff --git a/server/app/adminapi/logic/user/UserLogic.php b/server/app/adminapi/logic/user/UserLogic.php index f30109a..f2944fa 100644 --- a/server/app/adminapi/logic/user/UserLogic.php +++ b/server/app/adminapi/logic/user/UserLogic.php @@ -13,9 +13,12 @@ // +---------------------------------------------------------------------- namespace app\adminapi\logic\user; +use app\common\enum\user\AccountLogEnum; use app\common\enum\user\UserTerminalEnum; +use app\common\logic\AccountLogLogic; use app\common\logic\BaseLogic; use app\common\model\user\User; +use think\facade\Db; /** * 用户逻辑层 @@ -63,4 +66,53 @@ class UserLogic extends BaseLogic ]); } + + /** + * @notes 调整用户余额 + * @param array $params + * @return bool|string + * @author bingo + * @date 2023/2/23 14:25 + */ + public static function adjustUserMoney(array $params) + { + Db::startTrans(); + try { + $user = User::find($params['user_id']); + if (AccountLogEnum::INC == $params['action']) { + //调整可用余额 + $user->user_money += $params['num']; + $user->save(); + //记录日志 + AccountLogLogic::add( + $user->id, + AccountLogEnum::UM_INC_ADMIN, + AccountLogEnum::INC, + $params['num'], + '', + $params['remark'] ?? '' + ); + } else { + $user->user_money -= $params['num']; + $user->save(); + //记录日志 + AccountLogLogic::add( + $user->id, + AccountLogEnum::UM_DEC_ADMIN, + AccountLogEnum::DEC, + $params['num'], + '', + $params['remark'] ?? '' + ); + } + + Db::commit(); + return true; + + } catch (\Exception $e) { + Db::rollback(); + return $e->getMessage(); + } + } + } \ No newline at end of file diff --git a/server/app/adminapi/validate/user/AdjustUserMoney.php b/server/app/adminapi/validate/user/AdjustUserMoney.php new file mode 100644 index 0000000..69a58d4 --- /dev/null +++ b/server/app/adminapi/validate/user/AdjustUserMoney.php @@ -0,0 +1,55 @@ + 'require', + 'action' => 'require|in:' . AccountLogEnum::INC . ',' .AccountLogEnum::DEC, + 'num' => 'require|gt:0|checkMoney', + 'remark' => 'max:128', + ]; + + protected $message = [ + 'id.require' => '请选择用户', + 'action.require' => '请选择调整类型', + 'action.in' => '调整类型错误', + 'num.require' => '请输入调整数量', + 'num.gt' => '调整余额必须大于零', + 'remark' => '备注不可超过128个符号', + ]; + + + protected function checkMoney($vaule, $rule, $data) + { + $user = User::find($data['user_id']); + if (empty($user)) { + return '用户不存在'; + } + + if (1 == $data['action']) { + return true; + } + + $surplusMoeny = $user->user_money - $vaule; + if ($surplusMoeny < 0) { + return '用户可用余额仅剩' . $user->user_money; + } + + return true; + } + + +} \ No newline at end of file -- Gitee From 7c1d7394de8ded80c00a081ec025e70546a8223f Mon Sep 17 00:00:00 2001 From: suyi Date: Tue, 2 Apr 2024 13:51:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/adminapi/controller/user/UserController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/app/adminapi/controller/user/UserController.php b/server/app/adminapi/controller/user/UserController.php index a61abee..3d120a8 100644 --- a/server/app/adminapi/controller/user/UserController.php +++ b/server/app/adminapi/controller/user/UserController.php @@ -50,7 +50,7 @@ class UserController extends BaseAdminController /** * @notes 调整用户余额 - * @return \think\response\Json + * @return \support\Response * @author bingo * @date 2023/2/23 14:33 */ -- Gitee From a415d6291378b79f858b9de186108ba39ca88b0d Mon Sep 17 00:00:00 2001 From: suyi Date: Tue, 2 Apr 2024 13:53:02 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/adminapi/logic/user/UserLogic.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/app/adminapi/logic/user/UserLogic.php b/server/app/adminapi/logic/user/UserLogic.php index f2944fa..ec6e319 100644 --- a/server/app/adminapi/logic/user/UserLogic.php +++ b/server/app/adminapi/logic/user/UserLogic.php @@ -39,7 +39,8 @@ class UserLogic extends BaseLogic { $field = [ 'id', 'sn', 'account', 'nickname', 'avatar', 'real_name', - 'sex', 'mobile', 'create_time', 'login_time', 'channel' + 'sex', 'mobile', 'create_time', 'login_time', 'channel', + 'user_money', ]; $user = User::where(['id' => $userId])->field($field) -- Gitee