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();

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

处处清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值