| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- // +----------------------------------------------------------------------
- // | likeadmin快速开发前后端分离管理后台(PHP版)
- // +----------------------------------------------------------------------
- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
- // | 开源版本可自由商用,可去除界面版权logo
- // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
- // | github下载:https://github.com/likeshop-github/likeadmin
- // | 访问官网:https://www.likeadmin.cn
- // | likeadmin团队 版权所有 拥有最终解释权
- // +----------------------------------------------------------------------
- // | author: likeadminTeam
- // +----------------------------------------------------------------------
- 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;
- /**
- * 用户逻辑层
- * Class UserLogic
- * @package app\adminapi\logic\user
- */
- class UserLogic extends BaseLogic
- {
- /**
- * @notes 用户详情
- * @param int $userId
- * @return array
- * @author 段誉
- * @date 2022/9/22 16:32
- */
- public static function detail(int $userId): array
- {
- $field = [
- 'id', 'sn', 'account', 'nickname', 'avatar', 'real_name',
- 'sex', 'mobile', 'create_time', 'login_time', 'channel',
- 'user_money',
- ];
- $user = User::where(['id' => $userId])->field($field)
- ->findOrEmpty();
- $user['channel'] = UserTerminalEnum::getTermInalDesc($user['channel']);
- $user->sex = $user->getData('sex');
- return $user->toArray();
- }
- /**
- * @notes 更新用户信息
- * @param array $params
- * @return User
- * @author 段誉
- * @date 2022/9/22 16:38
- */
- public static function setUserInfo(array $params)
- {
- return User::update([
- 'id' => $params['id'],
- $params['field'] => $params['value']
- ]);
- }
- /**
- * @notes 调整用户余额
- * @param array $params
- * @return bool|string
- * @author 段誉
- * @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();
- }
- }
- }
|