springboot高校学科竞赛平台

该篇文章详细展示了如何在SpringBoot项目中使用@Controller、@RestController和@Service注解创建一个用户管理系统,包括登录、注册、密码重置、用户信息管理等操作。
摘要由CSDN通过智能技术生成
源码下载
https://docs.qq.com/doc/DYk5SZVhVTWNqcFlJ

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

package com.controller;

import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**

  • 登录相关
    */
    @RequestMapping(“users”)
    @RestController
    public class UserController{

    @Autowired
    private UserService userService;

    @Autowired
    private TokenService tokenService;

    /**

    • 登录
      */
      @IgnoreAuth
      @PostMapping(value = “/login”)
      public R login(String username, String password, String captcha, HttpServletRequest request) {
      UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
      if(user==null || !user.getPassword().equals(password)) {
      return R.error(“账号或密码不正确”);
      }
      String token = tokenService.generateToken(user.getId(),username, “users”, user.getRole());
      return R.ok().put(“token”, token);
      }

    /**

    • 注册
      */
      @IgnoreAuth
      @PostMapping(value = “/register”)
      public R register(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
      return R.error(“用户已存在”);
      }
      userService.insert(user);
      return R.ok();
      }

    /**

    • 退出
      */
      @GetMapping(value = “logout”)
      public R logout(HttpServletRequest request) {
      request.getSession().invalidate();
      return R.ok(“退出成功”);
      }

    /**

    • 密码重置
      */
      @IgnoreAuth
      @RequestMapping(value = “/resetPass”)
      public R resetPass(String username, HttpServletRequest request){
      UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
      if(user==null) {
      return R.error(“账号不存在”);
      }
      user.setPassword(“123456”);
      userService.update(user,null);
      return R.ok(“密码已重置为:123456”);
      }

    /**

    • 列表
      */
      @RequestMapping(“/page”)
      public R page(@RequestParam Map<String, Object> params,UserEntity user){
      EntityWrapper ew = new EntityWrapper();
      PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
      return R.ok().put(“data”, page);
      }

    /**

    • 列表
      */
      @RequestMapping(“/list”)
      public R list( UserEntity user){
      EntityWrapper ew = new EntityWrapper();
      ew.allEq(MPUtil.allEQMapPre( user, “user”));
      return R.ok().put(“data”, userService.selectListView(ew));
      }

    /**

    • 信息
      */
      @RequestMapping(“/info/{id}”)
      public R info(@PathVariable(“id”) String id){
      UserEntity user = userService.selectById(id);
      return R.ok().put(“data”, user);
      }

    /**

    • 获取用户的session用户信息
      */
      @RequestMapping(“/session”)
      public R getCurrUser(HttpServletRequest request){
      Long id = (Long)request.getSession().getAttribute(“userId”);
      UserEntity user = userService.selectById(id);
      return R.ok().put(“data”, user);
      }

    /**

    • 保存
      */
      @PostMapping(“/save”)
      public R save(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
      return R.error(“用户已存在”);
      }
      userService.insert(user);
      return R.ok();
      }

    /**

    • 修改
      */
      @RequestMapping(“/update”)
      public R update(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      UserEntity u = userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername()));
      if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
      return R.error(“用户名已存在。”);
      }
      userService.updateById(user);//全部更新
      return R.ok();
      }

    /**

    • 删除
      */
      @RequestMapping(“/delete”)
      public R delete(@RequestBody Long[] ids){
      userService.deleteBatchIds(Arrays.asList(ids));
      return R.ok();
      }
      }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值