mirror of
				https://github.com/suyiiyii/SIMS.git
				synced 2025-11-04 15:54:52 +08:00 
			
		
		
		
	登陆,注册,加上异常集中处理,mybatis和mybatisplus不兼容好像是
This commit is contained in:
		
							parent
							
								
									ce69219012
								
							
						
					
					
						commit
						d56316ea0a
					
				
							
								
								
									
										5
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								pom.xml
									
									
									
									
									
								
							@ -56,6 +56,11 @@
 | 
			
		||||
            <artifactId>mysql-connector-j</artifactId>
 | 
			
		||||
            <scope>runtime</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>cn.hutool</groupId>
 | 
			
		||||
            <artifactId>hutool-all</artifactId>
 | 
			
		||||
            <version>5.8.11</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.springframework.boot</groupId>
 | 
			
		||||
            <artifactId>spring-boot-configuration-processor</artifactId>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										45
									
								
								src/main/java/top/suyiiyii/sims/common/Result.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								src/main/java/top/suyiiyii/sims/common/Result.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
package top.suyiiyii.sims.common;
 | 
			
		||||
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Builder;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/10 21:18
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.common
 | 
			
		||||
 * @ClassName: Result
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@Builder
 | 
			
		||||
public class Result {
 | 
			
		||||
 | 
			
		||||
    public static final String CODE_SUCCESS="200";
 | 
			
		||||
    public static final String CODE_AUTH_ERROR="401";
 | 
			
		||||
    public static final String CODE_SYS_ERROR="500";
 | 
			
		||||
    private String code;
 | 
			
		||||
 | 
			
		||||
    private String msg;
 | 
			
		||||
    private Object data;
 | 
			
		||||
    public static Result success(){
 | 
			
		||||
        return new Result(CODE_SUCCESS,"success",null);
 | 
			
		||||
    }
 | 
			
		||||
    public static Result success(Object data){
 | 
			
		||||
        return new Result(CODE_SUCCESS,"success",data);
 | 
			
		||||
    }
 | 
			
		||||
    public static Result error(String msg) {
 | 
			
		||||
        return new Result(CODE_SYS_ERROR, msg, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Result error(String code,String msg){
 | 
			
		||||
        return new Result(code,msg,null);
 | 
			
		||||
    }
 | 
			
		||||
    public static Result authError(String msg){
 | 
			
		||||
        return new Result(CODE_AUTH_ERROR,"系统错误",null);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -3,6 +3,7 @@ package top.suyiiyii.sims.controller;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PostMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
import top.suyiiyii.sims.common.Result;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@ -18,5 +19,9 @@ public class HelloController {
 | 
			
		||||
        List<String> list = List.of(username,age.toString());
 | 
			
		||||
        return list;
 | 
			
		||||
    }
 | 
			
		||||
    @GetMapping("/helloResult")
 | 
			
		||||
    public Result healthz() {
 | 
			
		||||
        return Result.success("Hello World");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,65 @@
 | 
			
		||||
package top.suyiiyii.sims.controller;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import top.suyiiyii.sims.common.Result;
 | 
			
		||||
import top.suyiiyii.sims.entity.User;
 | 
			
		||||
import top.suyiiyii.sims.exception.ServiceException;
 | 
			
		||||
import top.suyiiyii.sims.service.UserService;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/10 22:25
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.controller
 | 
			
		||||
 * @ClassName: UserController
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/user")
 | 
			
		||||
public class UserController {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    UserService userService;
 | 
			
		||||
    @GetMapping("/")
 | 
			
		||||
    public Result hello(){
 | 
			
		||||
 | 
			
		||||
        return Result.success("success");
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    @PostMapping("/login")
 | 
			
		||||
    public Result login(@RequestBody User user){
 | 
			
		||||
        if(StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPassword())){
 | 
			
		||||
 | 
			
		||||
            return Result.error("用户名或密码不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        user =userService.login(user);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        return Result.success(user);
 | 
			
		||||
    }
 | 
			
		||||
    @PostMapping("/register")
 | 
			
		||||
    public Result register(@RequestBody User user){
 | 
			
		||||
        if(StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPassword())){
 | 
			
		||||
 | 
			
		||||
            return Result.error("用户名或密码不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        if(user.getPassword() == null || user.getPassword().length() < 3) {
 | 
			
		||||
            throw new ServiceException("密码长度不能小于3位");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        user =userService.register(user);
 | 
			
		||||
 | 
			
		||||
        return Result.success(user);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/selectAll")
 | 
			
		||||
    public Result selectAll() {
 | 
			
		||||
        List<User> users = userService.selectAll();
 | 
			
		||||
        return Result.success(users);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -16,7 +18,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class Attachment {
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer recordId;
 | 
			
		||||
    // 文件路径
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -16,8 +18,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class HierarchyRelation {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
 | 
			
		||||
    // 上级用户ID
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,10 @@
 | 
			
		||||
package top.suyiiyii.sims.entity;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
 | 
			
		||||
@ -15,7 +18,10 @@ import java.time.LocalDateTime;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class Notification {
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private String title;
 | 
			
		||||
    private String content;
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,9 @@ package top.suyiiyii.sims.entity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -15,8 +17,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class Permissions {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    //权限id
 | 
			
		||||
    private Integer permissionId;
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,10 @@
 | 
			
		||||
package top.suyiiyii.sims.entity;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
 | 
			
		||||
@ -15,8 +18,10 @@ import java.time.LocalDateTime;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class RevokeRequest {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer recordId;
 | 
			
		||||
    private Integer userId;
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,10 @@
 | 
			
		||||
package top.suyiiyii.sims.entity;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
 | 
			
		||||
@ -15,8 +18,10 @@ import java.time.LocalDateTime;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class RevokedRecord {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    // 被撤销的奖惩记录ID
 | 
			
		||||
    private Integer recordId;
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,9 @@ package top.suyiiyii.sims.entity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -15,8 +17,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class RewardPunishmentCategory {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
 | 
			
		||||
    private Integer categoryId;
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
 | 
			
		||||
@ -18,8 +20,10 @@ import java.time.LocalDateTime;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class RewardPunishmentRecord {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    // 用户ID
 | 
			
		||||
    private Integer userId;
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,9 @@ package top.suyiiyii.sims.entity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -15,8 +17,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class Role {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer roleId;
 | 
			
		||||
    //管理员,普通用户,组员,组长,队长
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.security.Permission;
 | 
			
		||||
 | 
			
		||||
@ -18,8 +20,11 @@ import java.security.Permission;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class RolePermission {
 | 
			
		||||
    private Integer rolePermissionId;
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer roleId;
 | 
			
		||||
    private Integer permissionId;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -16,8 +18,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class User {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer userId;
 | 
			
		||||
    private String username;
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,9 @@ package top.suyiiyii.sims.entity;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.IdType;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.tangzc.mpe.autotable.annotation.Table;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
@ -15,8 +17,10 @@ import lombok.Data;
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Table
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
public class UserRole {
 | 
			
		||||
 | 
			
		||||
    @TableId("id")
 | 
			
		||||
    private Integer id;
 | 
			
		||||
    private Integer userId;
 | 
			
		||||
    private Integer roleId;
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,23 @@
 | 
			
		||||
package top.suyiiyii.sims.exception;
 | 
			
		||||
 | 
			
		||||
import org.springframework.web.bind.annotation.ControllerAdvice;
 | 
			
		||||
import org.springframework.web.bind.annotation.ExceptionHandler;
 | 
			
		||||
import org.springframework.web.bind.annotation.ResponseBody;
 | 
			
		||||
import top.suyiiyii.sims.common.Result;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/11 1:38
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.exception
 | 
			
		||||
 * @ClassName: GlobalException
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@ControllerAdvice
 | 
			
		||||
public class GlobalException {
 | 
			
		||||
    @ExceptionHandler(ServiceException.class)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public Result ServiceException(ServiceException e){
 | 
			
		||||
        return Result.error(e.getCode(),e.getMessage());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,25 @@
 | 
			
		||||
package top.suyiiyii.sims.exception;
 | 
			
		||||
 | 
			
		||||
import lombok.Getter;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/11 1:38
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.exception
 | 
			
		||||
 * @ClassName: ServiceException
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@Getter
 | 
			
		||||
public class ServiceException extends RuntimeException{
 | 
			
		||||
    public final String code;
 | 
			
		||||
 | 
			
		||||
    public ServiceException(String msg){
 | 
			
		||||
        super(msg);
 | 
			
		||||
        this.code = "500";
 | 
			
		||||
    }
 | 
			
		||||
    public ServiceException(String code ,String msg){
 | 
			
		||||
        super(msg);
 | 
			
		||||
        this.code = code;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								src/main/java/top/suyiiyii/sims/mapper/UserMapper.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								src/main/java/top/suyiiyii/sims/mapper/UserMapper.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,69 @@
 | 
			
		||||
package top.suyiiyii.sims.mapper;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 | 
			
		||||
import org.apache.ibatis.annotations.*;
 | 
			
		||||
import top.suyiiyii.sims.entity.User;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/10 22:21
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.mapper
 | 
			
		||||
 * @ClassName: UserMapper
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@Mapper
 | 
			
		||||
public interface UserMapper extends BaseMapper<User> {
 | 
			
		||||
    /**
 | 
			
		||||
     * 添加新用户
 | 
			
		||||
     * @param user 新用户对象
 | 
			
		||||
     * @return 影响的行数
 | 
			
		||||
     */
 | 
			
		||||
    @Insert("insert INTO users (userId, username, password, name, email, group) " +
 | 
			
		||||
            "VALUES (#{userId}, #{username}, #{password}, #{name}, #{email}, #{group})")
 | 
			
		||||
    int addUser(User user);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据ID删除用户
 | 
			
		||||
     * @param id 用户ID
 | 
			
		||||
     * @return 影响的行数
 | 
			
		||||
     */
 | 
			
		||||
    @Delete("DELETE FROM users WHERE id = #{id}")
 | 
			
		||||
    int deleteUser(Integer id);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新用户信息
 | 
			
		||||
     * @param user 更新后的用户对象
 | 
			
		||||
     * @return 影响的行数
 | 
			
		||||
     */
 | 
			
		||||
    @Update("UPDATE users SET " +
 | 
			
		||||
            "userId = #{userId}, " +
 | 
			
		||||
            "username = #{username}, " +
 | 
			
		||||
            "password = #{password}, " +
 | 
			
		||||
            "name = #{name}, " +
 | 
			
		||||
            "email = #{email}, " +
 | 
			
		||||
            "group = #{group} " +
 | 
			
		||||
            "WHERE id = #{id}")
 | 
			
		||||
    int updateUser(User user);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据ID查询用户信息
 | 
			
		||||
     * @param userId 用户ID
 | 
			
		||||
     * @return 用户对象
 | 
			
		||||
     */
 | 
			
		||||
    @Select("SELECT id, userId, username, password, name, email, group FROM users WHERE userId = #{userId}")
 | 
			
		||||
    User selectByUserId(Integer userId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询所有用户信息
 | 
			
		||||
     * @return 用户列表
 | 
			
		||||
     */
 | 
			
		||||
    @Select("SELECT id, userId, username, password, name, email, group FROM users")
 | 
			
		||||
    List<User> selectAll();
 | 
			
		||||
 | 
			
		||||
  @Select("select * from user where username = #{username}")
 | 
			
		||||
   User selectByUserName(@Param("username") String username);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										87
									
								
								src/main/java/top/suyiiyii/sims/service/UserService.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/main/java/top/suyiiyii/sims/service/UserService.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,87 @@
 | 
			
		||||
package top.suyiiyii.sims.service;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import jakarta.annotation.Resource;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import top.suyiiyii.sims.entity.User;
 | 
			
		||||
import top.suyiiyii.sims.exception.ServiceException;
 | 
			
		||||
import top.suyiiyii.sims.mapper.UserMapper;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author tortoise
 | 
			
		||||
 * @Date 2024/8/10 22:22
 | 
			
		||||
 * @PackageName:top.suyiiyii.sims.service
 | 
			
		||||
 * @ClassName: UserService
 | 
			
		||||
 * @Description: TODO
 | 
			
		||||
 * @Version 1.0
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class UserService {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    UserMapper userMapper;
 | 
			
		||||
 | 
			
		||||
    public void addUser(User user) {
 | 
			
		||||
        userMapper.addUser(user);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public User selectByUserId(int id) {
 | 
			
		||||
        return userMapper.selectByUserId(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void updateUser(User user) {
 | 
			
		||||
        userMapper.updateUser(user);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void deleteUser(int id) {
 | 
			
		||||
        userMapper.deleteUser(id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public List<User> selectAll() {
 | 
			
		||||
        return userMapper.selectAll();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public User login(User user) {
 | 
			
		||||
        User dbUser = userMapper.selectByUserName(user.getUsername());
 | 
			
		||||
        if (dbUser == null) {
 | 
			
		||||
            throw new ServiceException("账号不存在");
 | 
			
		||||
        }
 | 
			
		||||
        if (!dbUser.getPassword().equals(user.getPassword())) {
 | 
			
		||||
            throw new ServiceException("密码或用户名错误");
 | 
			
		||||
        }
 | 
			
		||||
        return dbUser;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public User register(User user) {
 | 
			
		||||
 | 
			
		||||
        User dbUser = userMapper.selectByUserId(user.getUserId());
 | 
			
		||||
 | 
			
		||||
        if (user.getUsername() == null || user.getUsername().equals("")) {
 | 
			
		||||
        throw new ServiceException("用户名不能为空");
 | 
			
		||||
    }
 | 
			
		||||
        if (dbUser != null) {
 | 
			
		||||
            throw new ServiceException("账号已经存在");
 | 
			
		||||
        }
 | 
			
		||||
        if (user.getUserId() == null || user.getUserId().equals("")) {
 | 
			
		||||
            throw new ServiceException("用户id不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        if( user.getPassword() == null || user.getPassword().equals("")) {
 | 
			
		||||
            throw new ServiceException("密码不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        if (user.getEmail() == null || user.getEmail().equals("")) {
 | 
			
		||||
            throw new ServiceException("邮箱不能为空");
 | 
			
		||||
        }
 | 
			
		||||
        if (user.getGroup() == null || user.getGroup().equals("")) {
 | 
			
		||||
            throw new ServiceException("组别不能为空");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
            userMapper.addUser(user);
 | 
			
		||||
            return user;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user