UserController

2024-08-22 12:52
文章标签 usercontroller

本文主要是介绍UserController,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1. UserController

1.1. * 发送手机验证码

1.1.1. // 发送短信验证码并保存验证码

1.2. * 登录功能

1.2.1. // 实现登录功能

1.3. * 登出功能

1.3.1. // TODO 实现登出功能

1.4. // 获取当前登录的用户并返回

1.5. // 查询详情

  1. UserController 

package com.goalias.controller;

import cn.hutool.core.bean.BeanUtil;

import com.goalias.dto.LoginFormDTO;

import com.goalias.dto.Result;

import com.goalias.dto.UserDTO;

import com.goalias.entity.User;

import com.goalias.entity.UserInfo;

import com.goalias.service.IUserInfoService;

import com.goalias.service.IUserService;

import com.goalias.utils.UserHolder;

import lombok.extern.slf4j.Slf4j;

import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

import javax.servlet.http.HttpSession;

/**

 * <p>

 * 前端控制器

 * </p>

 *

 * @author 高文升

 */

@Slf4j

@RestController

@RequestMapping("/user")

public class UserController {

    @Resource

    private IUserService userService;

    @Resource

    private IUserInfoService userInfoService;

    /**

    1.      * 发送手机验证码

     */

    @PostMapping("code")

    public Result sendCode(@RequestParam("phone") String phone, HttpSession session) {

      1.         // 发送短信验证码并保存验证码

        return userService.sendCode(phone, session);

    }

    /**

    1.      * 登录功能

     * @param loginForm 登录参数,包含手机号、验证码;或者手机号、密码

     */

    @PostMapping("/login")

    public Result login(@RequestBody LoginFormDTO loginForm, HttpSession session){

      1.         // 实现登录功能

        return userService.login(loginForm, session);

    }

    /**

    1.      * 登出功能

     * @return 无

     */

    @PostMapping("/logout")

    public Result logout(){

      1.         // TODO 实现登出功能

        return Result.fail("功能未完成");

    }

    @GetMapping("/me")

    public Result me(){

    1.         // 获取当前登录的用户并返回

        UserDTO user = UserHolder.getUser();

        return Result.ok(user);

    }

    @GetMapping("/info/{id}")

    public Result info(@PathVariable("id") Long userId){

    1.         // 查询详情

        UserInfo info = userInfoService.getById(userId);

        if (info == null) {

            // 没有详情,应该是第一次查看详情

            return Result.ok();

        }

        info.setCreateTime(null);

        info.setUpdateTime(null);

        // 返回

        return Result.ok(info);

    }

    @GetMapping("/{id}")

    public Result queryUserById(@PathVariable("id") Long userId){

        // 查询详情

        User user = userService.getById(userId);

        if (user == null) {

            return Result.ok();

        }

        UserDTO userDTO = BeanUtil.copyProperties(user, UserDTO.class);

        // 返回

        return Result.ok(userDTO);

    }

    @PostMapping("/sign")

    public Result sign(){

        return userService.sign();

    }

    @GetMapping("/sign/count")

    public Result signCount(){

        return userService.signCount();

    }

}

这篇关于UserController的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096329

相关文章

Error creating bean with name 'userController': Injection of autowired depen。关于springMVC+dubbo出现的错误

笔者认为这篇文章非常有必要去写,因为我觉得这个错误很多人在用springMVC和dubbo中都会出现这个错误,而且网上的总结不全面,所以我在这里说一下自己的解决方法。 首先,出现这个错误的原因,无异于你没有加入这个bean或扫描不到你这个类。 关于这种错误,首先我总结一下网上的方法, 1.什么网上的@Service @Controller @Autowired 等等注解没有写的,我就服了,这