接口设计-用户管理设计逻辑

上级目录:Java电商平台项目-用户管理模块开发

6. 登录接口

业务逻辑

  • 首先判断用户名是否存在,如果不存在返回用户名不存在信息
  • 如果用户名存在,判断根据用户密码返回对象是否为空,如果为空说明密码错误,返回密码错误信息
  • 如果返回用户不为空,将当前用户设置到session会话对象之中

7. 退出登录

思路

只要取消session中的当前对象就可以

8. 用户注册

业务逻辑

  • 首先检查用户名是否存在,如果存在则说明已经注册,返回用户名已存在错误
  • 其次如果用户名不存在,检查邮箱是否存在,如果存在则说明邮箱已经注册,返回邮箱已存在错误
  • 设置用户角色,设置密码加密
  • 如果邮箱不存在,判断用户注册后返回是否等于0,如果是则注册失败

9. 注册时校验用户名和邮箱是否已经注册

业务逻辑

  • 首先验证需要校验类型是否为空,如果为空则返回参数错误信息
  • 其次,如果校验类型不为空,判断校验类型是否为邮箱,如果是则判断邮箱是否已经注册
  • 最后,如果校验类型不是邮箱,那么判断校验类型是否为用户名,如果是则判断用户名是否已经注册

10. 获取用户信息

业务逻辑

  • 首先从Session缓存中获取当前用户信息
  • 其次,判断用户是否为空,如果不为空返回当前用户,否则返回错误信息

11. 用户找回密码时设置的问题

业务逻辑

  • 首先判断用户名是否已经注册,如果没有注册,则返回用户不存在信息
  • 其次,如果用户存在,判断返回的问题是是否为空,如果为空则返回找回密码的问题为空
  • 最后,如果问题不为空则返回该问题

12. 验证忘记密码时回答问题是否正确

业务逻辑

  • 首先判断问题问题回答是否正确,如果错误,则返回问题回答错误信息
  • 其次,如果问题回答正确,则设置guava本地缓存,并且将至返回前端,用于修改密码时使用

13. 忘记密码的重置密码功能

业务逻辑

  • 首先,判断token是否存在,如果不存在返回参数错误,token需要传递信息
  • 其次,如果token存在判断用户名是否被注册,如果没有被注册则返回用户不存在错误
  • 其次,如果用户已经注册,判断guava缓存是否无效或者过期,如果是返回token无效或者过期
  • 其次,如果token在有效期之内,判断token是否一致,如果不一致返回token错误信息
  • 最后,如果token一致,判断密码修改返回是否大于0,如果不是返回密码修改失败,如果是则返回密码修改成功

14. 登录状态修改密码

业务逻辑

  • 首先,判断当前用户是否为空,如果为空,返回用户未登录信息
  • 其次,如果用户不为空,判断输入旧密码是否正确,如果错误,返回旧密码输入错误,防止横向越权
  • 最后,如果,旧密码输入正确,判断用户密码修改是否成功,如果失败,返回用户密码修改失败,如果成功,返回密码修改成功.

15. 修改当前用户信息

业务逻辑

  • 首先判断当前用户是否为空,如果为空,返回用户未登录信息
  • 其次,如果用户已经登录,设置用户名与用户ID是不能更新的,同时判断新修改的email是否已经被其他用户注册,如果已经被其他用户注册,则返回邮箱已经被注册
  • 其次,判断用户信息是否修改成功,如果修改失败返回用户信息修改失败
  • 最后,如果用户信息修改成功,更新当前用户信息

16. 获取当前用户信息

业务逻辑

  • 首先,判断当前用户是否为空,如果为空,返回未登录,返回前端强制登录
  • 其次,判断根据当前用户ID查询的用户是否存在如果不存在,返回找不到当前用户错误,如果存在返回即可

17. 管理员登录

业务逻辑

  • 首先,检查用户名是否存在,如过不存在返回用户名不存子
  • 其次,如果用户名存在,检查登录结果是否为空,如果为空返回用户名错误
  • 最后,如果登录成功,检查权限是否匹配,如果权限不足,返回需要管理员登录

你可能感兴趣的:(接口设计-用户管理设计逻辑)