<?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\common\logic; use app\api\controller\JunziqianController; use app\api\logic\SmsLogic; 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\contract\Contract; use app\common\model\dict\DictData; 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 * @author 段誉 * @date 2022/9/22 16:32 */ public static function detail(int $userId) { // $field = [ // 'id', 'sn', 'account', 'nickname', 'avatar', 'real_name', // 'sex', 'mobile', 'create_time', 'login_time', 'channel', // 'user_money', // ]; $user = User::where(['id' => $userId]) ->findOrEmpty(); $user['channel'] = UserTerminalEnum::getTermInalDesc($user['channel']); // $user->sex = $user->getData('sex'); $user['qualification'] = json_decode($user->qualification, true); // if ($user->is_contract == 1) { $user['contract'] = Contract::where(['type' => 2, 'party_b' => $userId])->with(['party_a_info', 'contractType'])->find(); // } 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(); } } }