交友项目【用户信息管理】实现

电玩女神 2023-10-08 23:52 161阅读 0赞

目录

1:用户信息管理

1.1:查询用户资料

1.1.1:接口地址

1.1.2:流程分析

1.1.3:代码实现

1.2:更新用户资料

1.2.1:接口地址

1.2.2:代码实现


1:用户信息管理

1.1:查询用户资料

1.1.1:接口地址

接口地址:http://192.168.136.160:3000/project/19/interface/api/265![cd8f8bd8e7a243edbbeb673b17038e9e.png][]

2cf5fc34179b4d15bd5a464aa9e58e27.png

1.1.2:流程分析

前端注册登录用户成功之后,后端会根据这个用户信息生成一份token返回给前端,前端进行存放,下一次请求过来后端时,解析token,获取用户id,到关联的用户信息表中通过id查询到用户的详情信息,反馈给前端。

0416e511228b4e1fb5df3d6036b5317e.png

1.1.3:代码实现

与前端交互的app-server模块

007c0a3e2b764a3b932a77fa0e9253e6.png

controller层实现

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/4 11:29
  4. */
  5. @RequestMapping("/users")
  6. @RestController
  7. public class UserController {
  8. @Resource
  9. private UserService userService;
  10. /**
  11. * 获得用户信息
  12. * @return
  13. */
  14. @GetMapping
  15. public ResponseEntity finduserByPhone(){
  16. Long userId = UserHolder.getUserId();
  17. UserInfo userInfo = userService.finduserById(userId);
  18. return ResponseEntity.ok(userInfo);
  19. }
  20. }

service层实现

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/3/30 9:55
  4. */
  5. @Service
  6. public class UserService {
  7. @Resource
  8. private SmsTemplate smsTemplate;
  9. @Resource
  10. private StringRedisTemplate stringRedisTemplate;
  11. @Resource
  12. private OssTemplate ossTemplate;
  13. @DubboReference
  14. private UserApi userApi;
  15. @DubboReference
  16. private UserInfoApi userInfoApi;
  17. public UserInfo finduserById(Long userId) {
  18. UserInfo user = userInfoApi.findUser(userId);
  19. return user;
  20. }
  21. }

统一封装接口的模块

b695e167c553441f8904dbd5fa8ee6b3.png

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/3 9:37
  4. */
  5. public interface UserInfoApi {
  6. public UserInfo findUser(Long id);
  7. }

提供者模块(提供相关接口的实现)

3ced50dad73c46a3b3f8078100a1e005.png

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/3 9:03
  4. */
  5. @DubboService
  6. public class UserInfoApilmpl implements UserInfoApi {
  7. @Resource
  8. private UserInfoMapper userInfoMapper;
  9. @Override
  10. public UserInfo findUser(Long id) {
  11. UserInfo userInfo = this.userInfoMapper.selectById(id);
  12. return userInfo;
  13. }
  14. }

1.2:更新用户资料

1.2.1:接口地址

接口地址:http://192.168.136.160:3000/project/19/interface/api/259

28bab20120464bcf8558cf850b719202.png 530175c3672c415a8e711ab82f66b188.png

1.2.2:代码实现

与前端交互的app-server模块

007c0a3e2b764a3b932a77fa0e9253e6.png

controller层实现

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/4 11:29
  4. */
  5. @RequestMapping("/users")
  6. @RestController
  7. public class UserController {
  8. @Resource
  9. private UserService userService;
  10. /**
  11. * 修改用户信息
  12. */
  13. @PutMapping
  14. public ResponseEntity editUser(@RequestBody UserInfo userInfo){
  15. //解析出来Jwt用户密码
  16. userService.editUser(userInfo,UserHolder.getUserId());
  17. return ResponseEntity.ok(null);
  18. }
  19. }

service层实现

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/3/30 9:55
  4. */
  5. @Service
  6. public class UserService {
  7. @Resource
  8. private SmsTemplate smsTemplate;
  9. @Resource
  10. private StringRedisTemplate stringRedisTemplate;
  11. @Resource
  12. private OssTemplate ossTemplate;
  13. @DubboReference
  14. private UserApi userApi;
  15. @DubboReference
  16. private UserInfoApi userInfoApi;
  17. public void editUser(UserInfo userInfo, Long userId) {
  18. userInfoApi.editUser(userInfo,userId);
  19. }
  20. }

统一封装接口的模块

b695e167c553441f8904dbd5fa8ee6b3.png

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/3 9:37
  4. */
  5. public interface UserInfoApi {
  6. public void editUser(UserInfo userInfo,Long id);
  7. }

提供者模块(提供相关接口的实现)

3ced50dad73c46a3b3f8078100a1e005.png

  1. /**
  2. * @Author 爱吃豆的土豆、
  3. * @Date 2023/4/3 9:03
  4. */
  5. @DubboService
  6. public class UserInfoApilmpl implements UserInfoApi {
  7. @Resource
  8. private UserInfoMapper userInfoMapper;
  9. @Override
  10. public void editUser(UserInfo userInfo, Long id) {
  11. userInfo.setId(id);
  12. this.userInfoMapper.updateById(userInfo);
  13. }
  14. }

发表评论

表情:
评论列表 (有 0 条评论,161人围观)

还没有评论,来说两句吧...

相关阅读