javaSpringboot mabits-plus的注册模块

一、Service层RegisterService.inteface

业务逻辑层的接口

package com.bbs.bbssystem.service.user.account;

import java.util.Map;

public interface RegisterService {
    public Map<String,String> register(String username,String password,String confirmedPassword);
}

二、Pojo层User.java

模型层Model:与数据库一一对应。

package com.bbs.bbssystem.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor

public class User {
    @TableId(type= IdType.AUTO)
    private Integer id;
    private String username;
    private String password;
    private String photo;
}

三、Mapper层UserMapper.interface

数据访问交互层Mapper 接口

package com.kob.backend.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kob.backend.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

四、Impl层RegisterServiceImpl.java

业务逻辑层(实现层)

package com.kob.backend.service.ipml.user.account;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kob.backend.mapper.UserMapper;
import com.kob.backend.pojo.User;
import com.kob.backend.service.user.account.RegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class RegisterServiceImp implements RegisterService {
    @Autowired
    UserMapper userMapper;

    @Autowired
    private PasswordEncoder passwordEncoder;
    @Override
    public Map<String, String> register(String username, String password, String confirmedPassword) {
        Map<String,String> map=new HashMap<>();
        if(username==null){
            map.put("error_message","用户不能为空");
            return map;
        }
        if(password==null || confirmedPassword==null){
            map.put("error_message","密码不能为空");
            return map;
        }
        username=username.trim();
        if(username.length()==0){
            map.put("error_message","用户名不能空");
            return map;
        }
        if(password.length()==0 ||confirmedPassword.length()==0){
            map.put("error_message","密码不能为空");
            return map;
        }
        if(username.length()>100){
            map.put("error_message","用户名长度不能大于100");
            return map;
        }
        if(!password.equals(confirmedPassword)){
            map.put("error_message","两次输入密码不一致");
            return map;
        }
        QueryWrapper<User> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("username",username);
        List<User> users=userMapper.selectList(queryWrapper);
        if(!users.isEmpty()){
            map.put("error_message","用户名已存在");
            return map;
        }
        String encodedPassword=passwordEncoder.encode(password);
        String photo="https://cdn.acwing.com/media/user/profile/photo/147246_lg_efd031826c.jpg";
        User user=new User(null,username,encodedPassword,photo);
        userMapper.insert(user);
        map.put("error_message","success");
        return map;
    }
}

五、Controller层RegisterController.java

控制层Controller:前端通过ajax请求,接受页面传过来的参数,传给Service处理,接到返回值,再传送给页面。

package com.bbs.bbssystem.controller.user.account;
import com.bbs.bbssystem.service.user.account.RegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
public class RegisterController {
    @Autowired
    private RegisterService registerService;
    
    @PostMapping("/user/account/register/")
    public Map<String,String> register(@RequestParam Map<String,String> map){
        String username=map.get("username");
        String password=map.get("password");
        String confirmedPassword=map.get("confirmedPassword");
        return registerService.register(username,password,confirmedPassword);

    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值