field('id, account, password, phone, email, name, sex, avatar, birth, status, create_time, update_time') ->select() ->toArray(); // 记录操作日志 $this->logSuccess('宝贝监护-用户管理', '获取用户信息', ['data' => $babylist]); return json([ 'code' => 200, 'msg' => '获取成功', 'data' => $babylist ]); } catch (DbException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '获取用户信息', $e->getMessage()); return json([ 'code' => 500, 'msg' => '获取失败:' . $e->getMessage(), 'data' => [] ]); } } /** * 创建用户信息 * @return Json */ public function createUser() { try { // 获取请求参数 $data = $this->request->param(); // 准备用户数据,密码进行 MD5 加密 $babyData = [ 'account' => $data['account'], 'password' => !empty($data['password']) ? md5($data['password']) : '', 'name' => $data['name'], 'sex' => $data['sex'], 'birth' => $data['birth'], 'phone' => $data['phone'], 'email' => $data['email'], 'avatar' => $data['avatar'], 'status' => $data['status'], 'create_time' => date('Y-m-d H:i:s'), ]; // 创建用户信息 $result = AppsBabyhealthUsers::insertGetId($babyData); if ($result === false) { return json([ 'code' => 500, 'msg' => '创建失败' ]); } // 记录操作日志 $this->logSuccess('宝贝监护-用户管理', '创建用户信息', ['id' => $result]); return json([ 'code' => 200, 'msg' => '创建成功', 'data' => ['id' => $result] ]); } catch (ValidateException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '创建用户信息', $e->getMessage()); return json([ 'code' => 400, 'msg' => $e->getError() ]); } catch (DbException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '创建用户信息', $e->getMessage()); return json([ 'code' => 500, 'msg' => '创建失败:' . $e->getMessage() ]); } } /** * 编辑用户信息 * @param int $id User ID * @return Json */ public function updateUser(int $id) { try { // 获取请求参数 $data = $this->request->param(); // 检查用户信息是否存在 $baby = AppsBabyhealthUsers::where('id', $id) ->where('delete_time', null) ->find(); if (!$baby) { return json([ 'code' => 404, 'msg' => '用户信息不存在' ]); } // 准备更新数据 $updateData = [ 'name' => $data['name'], 'sex' => $data['sex'], 'birth' => $data['birth'], 'phone' => $data['phone'], 'email' => $data['email'], 'avatar' => $data['avatar'], 'status' => $data['status'], 'update_time' => date('Y-m-d H:i:s'), ]; // 执行更新 AppsBabyhealthUsers::where('id', $id)->update($updateData); // 获取更新后的用户信息 $updatedBaby = AppsBabyhealthUsers::where('id', $id)->find(); // 记录操作日志 $this->logSuccess('宝贝监护-用户管理', '更新用户信息', ['id' => $id]); return json([ 'code' => 200, 'msg' => '更新成功', 'data' => $updatedBaby ? $updatedBaby->toArray() : [] ]); } catch (ValidateException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '更新用户信息', $e->getMessage()); return json([ 'code' => 400, 'msg' => $e->getError() ]); } catch (DbException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '更新用户信息', $e->getMessage()); return json([ 'code' => 500, 'msg' => '更新失败:' . $e->getMessage() ]); } } /** * 删除用户信息 * @param int $id User ID * @return Json */ public function deleteUser(int $id) { try { // 检查用户信息是否存在 $baby = AppsBabyhealthUsers::where('id', $id) ->where('delete_time', null) ->find(); if (!$baby) { return json([ 'code' => 404, 'msg' => '用户信息不存在' ]); } // 逻辑删除用户信息 $result = AppsBabyhealthUsers::where('id', $id) ->where('delete_time', null) ->update([ 'delete_time' => date('Y-m-d H:i:s'), 'update_time' => date('Y-m-d H:i:s') ]); if ($result === false) { return json([ 'code' => 500, 'msg' => '删除失败' ]); } // 记录操作日志 $this->logSuccess('宝贝监护-用户管理', '删除用户信息', ['id' => $id]); return json([ 'code' => 200, 'msg' => '删除成功' ]); } catch (DbException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '删除用户信息', $e->getMessage()); return json([ 'code' => 500, 'msg' => '删除失败:' . $e->getMessage() ]); } } /** * 预览用户信息 * @param int $id User ID * @return Json */ public function getUserDetail(int $id) { try { // 查询用户信息 $baby = AppsBabyhealthUsers::where('id', $id) ->where('delete_time', null) ->find(); if (!$baby) { return json([ 'code' => 404, 'msg' => '用户信息不存在' ]); } // 记录操作日志 $this->logSuccess('宝贝监护-用户管理', '获取用户信息', ['id' => $id]); return json([ 'code' => 200, 'msg' => '获取成功', 'data' => $baby->toArray() ]); } catch (DbException $e) { // 记录失败日志 $this->logFail('宝贝监护-用户管理', '获取用户信息', $e->getMessage()); return json([ 'code' => 500, 'msg' => '获取失败:' . $e->getMessage(), 'data' => [] ]); } } }