$data['user_name'], 'password' => md5(md5($data['password']) . $data['salt']), 'avatar' => $data['avatar'] ?? 'http://183.131.25.186:9501/image/20241212/1733992868958074.png', 'type_id' => $data['type_id'] ?? '20000', 'mobile' => $data['mobile'] ?? '', //手机号 'status' => $data['status'] ?? 1, 'email' => $data['email'] ?? '', 'salt' => $data['salt'], 'admin_id' => isset($data['admin_id']) && $data['admin_id'] != '' ? $data['admin_id'] : 0, // 'level_id'=>$data['level_id']??0, //会员等级 'nickname' => $data['nickname'] ?? $data['user_name'], //把账号同步到昵称里面 'last_login_ip' => $data['last_login_ip'] ?? '', ]; var_dump("user:", $dataUserReq); $userid = User::query()->insertGetId($dataUserReq); $dataUserInfoReq = [ 'user_id' => $userid, 'id_card' => $data['id_card'] ?? '', 'gender' => $data['gender'] ?? 0, 'real_name' => $data['real_name'] ?? '', 'business_name' => $data['business_name'] ?? '', 'job' => $data['job'] ?? '', 'city_id' => $data['city_id'] ?? 0, 'birthday' => $data['birthday'] ?? '', 'number' => $data['number'] ?? '', 'city_arr_id' => $data['city_arr_id'] ?? '', 'from_time' => $data['from_time'] ?? null, 'to_time' => $data['to_time'] ?? null, 'long_time' => $data['long_time'] ?? 0, 'native_place_id' => $data['native_place_id'] ?? 0, 'native_place_arr_id' => $data['native_place_arr_id'] ?? '', 'qq' => $data['qq'] ?? '', 'zip_code' => $data['zip_code'] ?? '', 'address_arr_id' => $data['address_arr_id'] ?? '', 'address_id' => $data['address_id'] ?? 0, 'address' => $data['address'] ?? '', 'other' => $data['other'] ?? '', 'remark' => $data['remark'] ?? '', 'fax' => $data['fax'] ?? '', 'position' => $data['position'] ?? '', 'legal_person_real_name' => $data['legal_person_real_name'] ?? '', 'legal_person_mobile' => $data['legal_person_mobile'] ?? '', 'legal_person_id_card' => $data['legal_person_id_card'] ?? '', 'administrative_unit_arr_id' => $data['administrative_unit_arr_id'] ?? '', 'administrative_unit_id' => $data['administrative_unit_id'] ?? 0, ]; var_dump("UserINfo:::", $dataUserInfoReq); $userInfoId = UserInfo::query()->insertGetId($dataUserInfoReq); $roleUserData = [ 'role_id' => isset($data['role_id']) && $data['role_id'] != '' ? $data['role_id'] : 0, 'user_id' => $userid, 'admin_user_id' => isset($data['admin_id']) && $data['admin_id'] != '' ? $data['admin_id'] : 0, ]; RoleUser::insert($roleUserData); var_dump("userInfo:", $userInfoId); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); var_dump($ex->getMessage()); return Result::error("创建失败", 0); } return $userInfoId ? Result::success(["id" => $userid]) : Result::error("创建失败", 0); } /** * @return array */ public function getUserList(array $data): array { $where = []; if (isset($data['keyword']) && $data['keyword']) { array_push($where, ['user.user_name', 'like', '%' . $data['keyword'] . '%']); } if (isset($data['type_id']) && $data['type_id']) { array_push($where, ['user.type_id', '=', $data['type_id']]); } if (isset($data['status']) && $data['status'] != '' && intval($data['status']) >= 0) { array_push($where, ['user.status', '=', $data['status']]); } $result = User::where($where) ->leftJoin('user_info', 'user.id', '=', 'user_info.user_id') ->leftJoin("user_info as user_infoA", 'user.admin_id', "user_infoA.user_id") ->leftJoin("role_user", 'role_user.user_id', "user.id") ->leftJoin("role", 'role.id', "role_user.role_id") ->orderBy("user.id", "desc")->paginate(intval($data['pageSize']), [ 'user.id', 'user.admin_id', 'user.user_name', 'user_info.real_name', 'user.mobile', 'user.type_id', 'user.created_at', 'user.status', 'user_infoA.real_name as admin_real_name', 'role.role_name', ], 'page', intval($data['page'])); $count = $result->total(); if (empty($result)) { return Result::error("没有数据", 0); } $rep = $result->items(); //1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 20000:游客 $type = ['1' => "个人会员", '2' => "政务会员", '3' => "企业会员", '4' => '调研员', '10000' => '管理员', '20000' => '游客']; if ($rep) { foreach ($rep as $k => $v) { $rep[$k]['type_name'] = $type[$v['type_id']]; // $rep[$k]['gender_name'] = $gender[$v['gender']]; // $rep[$k]['status_name'] = $status[$v['status']]; // $rep[$k]['city_id'] = $v['city_id']?json_decode($v['city_id']):[]; } } $data = [ 'rows' => $rep, 'count' => $count, ]; return Result::success($data); } /** * @param int $id * @return array */ public function getUserInfo(int $id): array { $userInfo = Db::table('user') ->leftJoin('user_info', 'user.id', '=', 'user_info.user_id') ->leftJoin('role_user', 'role_user.user_id', '=', 'user.id') ->select('user.*', 'user_info.id as user_info_id', 'user_info.real_name', 'user_info.id_card', 'user_info.birthday', 'user_info.gender', 'user_info.city_id', 'user_info.business_name', 'user_info.job', 'user_info.number', 'user_info.city_arr_id', 'user_info.from_time', 'user_info.to_time', 'user_info.long_time', 'user_info.native_place_id', 'user_info.native_place_arr_id', 'user_info.qq', 'user_info.zip_code', 'user_info.address_arr_id', 'user_info.address_id', 'user_info.address', 'user_info.other', 'user_info.remark', 'user_info.fax', 'user_info.position', 'user_info.legal_person_real_name', 'user_info.legal_person_mobile', 'user_info.legal_person_id_card', 'user_info.administrative_unit_arr_id', 'user_info.administrative_unit_id', 'role_user.role_id', ) ->where('user.id', '=', $id)->first(); if (empty($userInfo)) { return Result::error("找不到用户", 0, []); } return Result::success($userInfo); } /** * 检测用户是否存在 * @param array $data * @return array */ public function verifyUserInfo(array $data): array { var_dump("进不进来"); if (isset($data['id'])) { $data[] = ['id', "!=", $data['id']]; unset($data['id']); } $userInfo = User::query()->where($data)->first(); if (empty($userInfo)) { return Result::error("找不到用户", 0); } return Result::success($userInfo->toArray()); } /** * @param array $data * @return array */ public function createUserLogin(array $data): array { $id = UserLogin::insertGetId($data); if (empty($id)) { return Result::error("创建登录日志失败", 0); } return Result::success(["id" => $id]); } /** * 更新用户信息和userInfo * @param array $data * @return array */ public function updateUser(array $data): array { Db::beginTransaction(); try { $userInfos = User::where(['id' => $data['id']])->first(); //查询用户昵称 $dataUserReq = [ 'user_name' => $data['user_name'], 'avatar' => $data['avatar'] ?? '', 'type_id' => $data['type_id'] ?? '20000', 'mobile' => $data['mobile'] ?? '', //手机号 'status' => $data['status'] ?? 1, 'email' => $data['email'] ?? '', 'admin_id' => $data['admin_id'], 'nickname' => $userInfos['nickname'] ?? $data['user_name'], //存在昵称同步一下,不存在取账号 'last_login_ip' => $data['last_login_ip'] ?? '', ]; $userRep = User::where(['id' => $data['id']])->update($dataUserReq); var_dump("修改user:", $userRep); $dataUserInfoReq = [ 'id_card' => $data['id_card'] ?? '', 'gender' => $data['gender'] ?? 0, 'real_name' => $data['real_name'] ?? '', 'job' => $data['job'] ?? '', 'city_id' => $data['city_id'] ?? 0, 'birthday' => $data['birthday'] ?? '', 'number' => $data['number'] ?? '', 'city_arr_id' => $data['city_arr_id'] ?? '', 'from_time' => $data['from_time'] ?? null, 'business_name' => $data['business_name'] ?? '', 'to_time' => $data['to_time'] ?? null, 'long_time' => $data['long_time'] ?? 0, 'native_place_id' => $data['native_place_id'] ?? 0, 'native_place_arr_id' => $data['native_place_arr_id'] ?? '', 'qq' => $data['qq'] ?? '', 'zip_code' => $data['zip_code'] ?? '', 'address_arr_id' => $data['address_arr_id'] ?? '', 'address_id' => $data['address_id'] ?? 0, 'address' => $data['address'] ?? '', 'other' => $data['other'] ?? '', 'remark' => $data['remark'] ?? '', 'fax' => $data['fax'] ?? '', 'position' => $data['position'] ?? '', 'legal_person_real_name' => $data['legal_person_real_name'] ?? '', 'legal_person_mobile' => $data['legal_person_mobile'] ?? '', 'legal_person_id_card' => $data['legal_person_id_card'] ?? '', 'administrative_unit_arr_id' => $data['administrative_unit_arr_id'] ?? '', 'administrative_unit_id' => $data['administrative_unit_id'] ?? 0, ]; $userInfoRep = UserInfo::where(['user_id' => $data['id']])->update($dataUserInfoReq); var_dump("修改userInfo:", $userInfoRep); $roleUserData = [ 'role_id' => $data['role_id'], 'admin_user_id' => $data['admin_id'], ]; $resultRoleUserRep = RoleUser::where(['user_id' => $data['id']])->update($roleUserData); var_dump("修改用户角色权限:", $resultRoleUserRep); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); var_dump($ex->getMessage()); return Result::error("创建失败", 0); } return Result::success([]); } /** * @param array $data * @return array */ public function updateUserInfo(array $data): array { return 1; } /** * @param array $data * @return array|int */ public function resetPassword(array $data): array { $where = [ 'id' => $data['id'], ]; $data = [ 'password' => md5(md5($data['password']) . $data['salt']), 'salt' => $data['salt'], ]; $result = User::where($where)->update($data); if ($result) { return Result::error("修改失败", 0); } else { return Result::success([]); } } /** * @param int $id * @return array */ public function delUser(int $id): array { Db::beginTransaction(); try { User::where(['id' => $id])->delete(); UserInfo::where(['user_id' => $id])->delete(); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); return Result::error("删除失败", 0); } return Result::success([]); } /** * @param array $data * @return array */ public function addRole(array $data): array { Db::beginTransaction(); try { $data['sort'] = intval($data['sort']) ?? 0; Role::insertGetId($data); $logData = [ 'user_id' => $data['user_id'], 'data' => json_encode($data), 'type' => 1, ]; RoleLog::insertGetId($logData); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); return Result::error("新增失败", 0); } return Result::success([]); } /** * @param array $data * @return array */ public function delRole(array $data): array { Db::beginTransaction(); try { $roleInfo = Role::where(['id' => $data['id']])->first(); $logData = [ 'user_id' => $data['user_id'], 'data' => json_encode($roleInfo->toArray()), 'type' => 2, ]; RoleLog::insertGetId($logData); RoleUser::where(['role_id' => $data['id']])->delete(); $result = Role::where(['id' => $data['id']])->delete(); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); return Result::error("删除失败", 0); } return Result::success($result); } /** * @param array $data * @return array */ public function updateRole(array $data): array { Db::beginTransaction(); try { $result = Role::where(['id' => $data['id']])->update($data); $logData = [ 'user_id' => $data['user_id'], 'data' => json_encode($data), 'type' => 3, ]; RoleLog::insertGetId($logData); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); return Result::error("更新失败"); } return Result::success($result); } /** * @param array $data * @return array */ public function roleInfo(array $data): array { $roleInfo = Role::where(['id' => $data['id']])->first(); if ($roleInfo) { return Result::success($roleInfo->toArray()); } else { return Result::error("没有数据"); } } /** * @param array $data * @return array */ public function roleList(array $data): array { $where = []; if (isset($data['keyword']) && $data['keyword']) { array_push($where, ['role.role_name', 'like', '%' . $data['keyword'] . '%']); } $result = Role::withCount('users')->where($where)->limit($data['pageSize'])->offset(($data['page'] - 1) * $data['pageSize'])->get(); $count = Role::where($where)->count(); if (empty($result)) { return Result::error("没有数据", 0); } $data = [ 'rows' => $result->toArray(), 'count' => $count, ]; return Result::success($data); } /** * 获取小程序注册信息 * @param array $data * @return array */ public function getWechatInfo(array $data): array { $where = [ 'purePhoneNumber' => $data['purePhoneNumber'], 'openid' => $data['openid'], ]; $result = Wechat::where($where)->first(); var_dump($result); if ($result) { return Result::success($result); } else { return Result::error('没有数据'); } } /** * 添加小程序 注册信息 * @param array $data * @return array */ public function addWechatInfo(array $data): array { $result = Wechat::insertGetId($data); if ($result) { return Result::success($result); } else { return Result::error('添加失败'); } } /** * 修改密码 * @param array $data * @return array */ public function changePassword(array $data): array { Db::beginTransaction(); $userInfo = User::where(['id' => $data['user_id']])->first(); // return Result::success($userInfo); try { $dataUserReq = [ 'password' => md5(md5($data['new_password1']) . $userInfo['salt']), ]; if ($userInfo['password'] != md5(md5($data['password']) . $userInfo['salt'])) { return Result::error('您输入的密码错误'); } $userRep = User::where(['id' => $data['user_id']])->update($dataUserReq); Db::commit(); } catch (\Throwable $ex) { Db::rollBack(); var_dump($ex->getMessage()); return Result::error("创建失败", 0); } return Result::success([]); } /** * 修改用户状态 * @param array $data * @return array */ public function upUserStatus(array $data): array { $where = [ 'id' => $data['id'], ]; $result = User::where($where)->update($data); if ($result) { return Result::success($result); } else { return Result::error('修改失败'); } } /** * 修改用户头像昵称 * @param array $data * @return array */ public function updateUserAvatarNickname(array $data): array { Db::beginTransaction(); try { $where1 = [ 'id' => $data['user_id'], ]; $updateData = []; if (!empty($data['nickname'])) { $updateData['nickname'] = $data['nickname']; } if (!empty($data['avatar'])) { $updateData['avatar'] = $data['avatar']; } $result = User::where($where1)->update($updateData); $updateData = []; $where = [ 'user_id' => $data['user_id'], ]; if (!empty($data['real_name'])) { $updateData = ['real_name' => $data['real_name']]; } $result = UserInfo::where($where)->update($updateData); $result = User::where($where1)->first(); Db::commit(); return Result::success($result); } catch (\Throwable $ex) { Db::rollBack(); var_dump($ex->getMessage()); return Result::error("创建失败", 0); } } }