From e0d76a3bf9e27961a62d4eab8de35ea9002ff22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A5=E5=91=98=E5=91=98?= <7852974+xu_member@user.noreply.gitee.com> Date: Sat, 5 Nov 2022 21:39:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=86=E5=BA=93=E5=88=86=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 28 --- pom.xml | 96 +++++++-- .../java/com/yupi/project/MyApplication.java | 5 + .../project/config/MybatisPlusConfig.java | 16 +- .../project/controller/UserController.java | 104 ---------- .../com/yupi/project/mapper/UserMapper.java | 15 -- .../com/yupi/project/model/entity/User.java | 90 --------- .../com/yupi/project/service/UserService.java | 81 -------- .../project/service/impl/UserServiceImpl.java | 189 ------------------ src/main/resources/application.yml | 68 ++++--- src/main/resources/banner.txt | 1 - src/main/resources/mapper/UserMapper.xml | 30 --- .../yupi/project/service/UserServiceTest.java | 96 --------- 13 files changed, 131 insertions(+), 688 deletions(-) delete mode 100644 README.md delete mode 100644 src/main/java/com/yupi/project/controller/UserController.java delete mode 100644 src/main/java/com/yupi/project/mapper/UserMapper.java delete mode 100644 src/main/java/com/yupi/project/model/entity/User.java delete mode 100644 src/main/java/com/yupi/project/service/UserService.java delete mode 100644 src/main/java/com/yupi/project/service/impl/UserServiceImpl.java delete mode 100644 src/main/resources/banner.txt delete mode 100644 src/main/resources/mapper/UserMapper.xml delete mode 100644 src/test/java/com/yupi/project/service/UserServiceTest.java diff --git a/README.md b/README.md deleted file mode 100644 index ee1536d..0000000 --- a/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# SpringBoot 项目初始模板 - -> by [程序员鱼皮知识星球](https://yupi.icu) - -Java SpringBoot 项目初始模板,整合了常用框架和示例代码,大家可以在此基础上快速开发自己的项目。 - -## 模板功能 - -- Spring Boot 2.7.0(贼新) -- Spring MVC -- MySQL 驱动 -- MyBatis -- MyBatis Plus -- Spring Session Redis 分布式登录 -- Spring AOP -- Apache Commons Lang3 工具类 -- Lombok 注解 -- Swagger + Knife4j 接口文档 -- Spring Boot 调试工具和项目处理器 -- 全局请求响应拦截器(记录日志) -- 全局异常处理器 -- 自定义错误码 -- 封装通用响应类 -- 示例用户注册、登录、搜索功能 -- 示例单元测试类 -- 示例 SQL(用户表) - -访问 localhost:7529/api/doc.html 就能在线调试接口了,不需要前端配合啦~ \ No newline at end of file diff --git a/pom.xml b/pom.xml index e49f39c..b86f187 100644 --- a/pom.xml +++ b/pom.xml @@ -1,14 +1,15 @@ - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> org.springframework.boot spring-boot-starter-parent - 2.7.0 + 2.1.3.RELEASE + 4.0.0 + com.yupi springboot-init 0.0.1-SNAPSHOT @@ -26,24 +27,13 @@ org.springframework.boot spring-boot-starter-aop + org.mybatis.spring.boot mybatis-spring-boot-starter - 2.2.2 - - - com.baomidou - mybatis-plus-boot-starter - 3.5.1 - - - org.springframework.boot - spring-boot-starter-data-redis - - - org.springframework.session - spring-session-data-redis + 2.1.1 + com.google.code.gson @@ -95,6 +85,76 @@ 4.13.2 test + + + org.springframework.boot + spring-boot-starter-jdbc + + + mysql + mysql-connector-java + 5.1.48 + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.1.1 + + + + + org.apache.shardingsphere + sharding-jdbc-spring-boot-starter + 4.0.0-RC2 + + + + + org.springframework + spring-aspects + + + + + + + + + + + + com.sun.xml.bind + jaxb-core + 2.2.11 + + + javax.xml.bind + jaxb-api + + + com.sun.xml.bind + jaxb-impl + 2.2.11 + + + org.glassfish.jaxb + jaxb-runtime + 2.2.10-b140310.1920 + + + javax.activation + activation + 1.1.1 + + + + + + org.springframework + spring-aspects + diff --git a/src/main/java/com/yupi/project/MyApplication.java b/src/main/java/com/yupi/project/MyApplication.java index 1797977..c611324 100644 --- a/src/main/java/com/yupi/project/MyApplication.java +++ b/src/main/java/com/yupi/project/MyApplication.java @@ -3,7 +3,12 @@ package com.yupi.project; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Configuration; +/** + * @author Administrator + */ +@Configuration @SpringBootApplication @MapperScan("com.yupi.project.mapper") public class MyApplication { diff --git a/src/main/java/com/yupi/project/config/MybatisPlusConfig.java b/src/main/java/com/yupi/project/config/MybatisPlusConfig.java index 59b2ba7..5cf930b 100644 --- a/src/main/java/com/yupi/project/config/MybatisPlusConfig.java +++ b/src/main/java/com/yupi/project/config/MybatisPlusConfig.java @@ -1,8 +1,6 @@ package com.yupi.project.config; -import com.baomidou.mybatisplus.annotation.DbType; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; + import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,10 +12,10 @@ public class MybatisPlusConfig { /** * 新的分页插件 */ - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor() { - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor() { +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } \ No newline at end of file diff --git a/src/main/java/com/yupi/project/controller/UserController.java b/src/main/java/com/yupi/project/controller/UserController.java deleted file mode 100644 index cdc1296..0000000 --- a/src/main/java/com/yupi/project/controller/UserController.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.yupi.project.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.yupi.project.common.BaseResponse; -import com.yupi.project.common.ErrorCode; -import com.yupi.project.common.ResultUtils; -import com.yupi.project.exception.BusinessException; -import com.yupi.project.model.entity.User; -import com.yupi.project.model.request.UserLoginRequest; -import com.yupi.project.model.request.UserRegisterRequest; -import com.yupi.project.service.UserService; -import java.util.List; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -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.RestController; - -/** - * 用户接口 - * - * @author yupi - */ -@RestController -@RequestMapping("/user") -public class UserController { - - @Resource - private UserService userService; - - @PostMapping("/register") - public BaseResponse userRegister(@RequestBody UserRegisterRequest userRegisterRequest) { - if (userRegisterRequest == null) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - String userAccount = userRegisterRequest.getUserAccount(); - String userPassword = userRegisterRequest.getUserPassword(); - String checkPassword = userRegisterRequest.getCheckPassword(); - if (StringUtils.isAnyBlank(userAccount, userPassword, checkPassword)) { - return null; - } - long result = userService.userRegister(userAccount, userPassword, checkPassword); - return ResultUtils.success(result); - } - - @PostMapping("/login") - public BaseResponse userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) { - if (userLoginRequest == null) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - String userAccount = userLoginRequest.getUserAccount(); - String userPassword = userLoginRequest.getUserPassword(); - if (StringUtils.isAnyBlank(userAccount, userPassword)) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - User user = userService.userLogin(userAccount, userPassword, request); - return ResultUtils.success(user); - } - - @PostMapping("/logout") - public BaseResponse userLogout(HttpServletRequest request) { - if (request == null) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - int result = userService.userLogout(request); - return ResultUtils.success(result); - } - - @GetMapping("/current") - public BaseResponse getCurrentUser(HttpServletRequest request) { - User loginUser = userService.getLoginUser(request); - long userId = loginUser.getId(); - User user = userService.getById(userId); - User safetyUser = userService.getSafetyUser(user); - return ResultUtils.success(safetyUser); - } - - @GetMapping("/search") - public BaseResponse> searchUser(String username, HttpServletRequest request) { - userService.assertAdmin(request); - QueryWrapper queryWrapper = new QueryWrapper<>(); - if (StringUtils.isNotBlank(username)) { - queryWrapper.like("username", username); - } - List userList = userService.list(queryWrapper); - List list = userList.stream().map(user -> userService.getSafetyUser(user)).collect(Collectors.toList()); - return ResultUtils.success(list); - } - - @PostMapping("/delete") - public BaseResponse deleteUser(@RequestBody long id, HttpServletRequest request) { - userService.assertAdmin(request); - if (id <= 0) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - boolean b = userService.removeById(id); - return ResultUtils.success(b); - } - -} diff --git a/src/main/java/com/yupi/project/mapper/UserMapper.java b/src/main/java/com/yupi/project/mapper/UserMapper.java deleted file mode 100644 index 50360e5..0000000 --- a/src/main/java/com/yupi/project/mapper/UserMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yupi.project.mapper; - -import com.yupi.project.model.entity.User; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * UserMapper - */ -public interface UserMapper extends BaseMapper { - -} - - - - diff --git a/src/main/java/com/yupi/project/model/entity/User.java b/src/main/java/com/yupi/project/model/entity/User.java deleted file mode 100644 index cd934a5..0000000 --- a/src/main/java/com/yupi/project/model/entity/User.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.yupi.project.model.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.util.Date; -import lombok.Data; - -/** - * 用户 - * - * @TableName user - */ -@TableName(value = "user") -@Data -public class User implements Serializable { - - /** - * id - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 用户昵称 - */ - private String username; - - /** - * 账号 - */ - private String userAccount; - - /** - * 用户头像 - */ - private String avatarUrl; - - /** - * 性别 - */ - private Integer gender; - - /** - * 密码 - */ - private String userPassword; - - /** - * 电话 - */ - private String phone; - - /** - * 邮箱 - */ - private String email; - - /** - * 状态 0 - 正常 - */ - private Integer userStatus; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * - */ - private Date updateTime; - - /** - * 是否删除 - */ - @TableLogic - private Integer isDelete; - - /** - * 用户角色 0 - 普通用户 1 - 管理员 - */ - private Integer userRole; - - @TableField(exist = false) - private static final long serialVersionUID = 1L; -} \ No newline at end of file diff --git a/src/main/java/com/yupi/project/service/UserService.java b/src/main/java/com/yupi/project/service/UserService.java deleted file mode 100644 index f88004b..0000000 --- a/src/main/java/com/yupi/project/service/UserService.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.yupi.project.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yupi.project.model.entity.User; -import javax.servlet.http.HttpServletRequest; - -/** - * 用户服务 - * - * @author yupi - */ -public interface UserService extends IService { - - /** - * 用户注册 - * - * @param userAccount 用户账户 - * @param userPassword 用户密码 - * @param checkPassword 校验密码 - * @return 新用户 id - */ - long userRegister(String userAccount, String userPassword, String checkPassword); - - /** - * 用户登录 - * - * @param userAccount 用户账户 - * @param userPassword 用户密码 - * @param request - * @return 脱敏后的用户信息 - */ - User userLogin(String userAccount, String userPassword, HttpServletRequest request); - - /** - * 用户脱敏 - * - * @param originUser - * @return - */ - User getSafetyUser(User originUser); - - /** - * 用户注销 - * - * @param request - * @return - */ - int userLogout(HttpServletRequest request); - - /** - * 是否为管理员 - * - * @param request - * @return - */ - boolean isAdmin(HttpServletRequest request); - - /** - * 是否为管理员 - * - * @param user - * @return - */ - boolean isAdmin(User user); - - /** - * 断言是管理员 - * - * @param request - */ - void assertAdmin(HttpServletRequest request); - - /** - * 获取登录用户(查缓存) - * - * @param request - * @return - * @throws com.yupi.project.exception.BusinessException 未登录则抛异常 - */ - User getLoginUser(HttpServletRequest request); -} diff --git a/src/main/java/com/yupi/project/service/impl/UserServiceImpl.java b/src/main/java/com/yupi/project/service/impl/UserServiceImpl.java deleted file mode 100644 index 6b36c5b..0000000 --- a/src/main/java/com/yupi/project/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.yupi.project.service.impl; - -import static com.yupi.project.constant.UserConstant.USER_LOGIN_STATE; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yupi.project.common.ErrorCode; -import com.yupi.project.constant.UserConstant; -import com.yupi.project.exception.BusinessException; -import com.yupi.project.mapper.UserMapper; -import com.yupi.project.model.entity.User; -import com.yupi.project.service.UserService; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.util.DigestUtils; - -/** - * 用户服务实现类 - * - * @author yupi - */ -@Service -@Slf4j -public class UserServiceImpl extends ServiceImpl - implements UserService { - - @Resource - private UserMapper userMapper; - - /** - * 盐值,混淆密码 - */ - private static final String SALT = "yupi"; - - @Override - public long userRegister(String userAccount, String userPassword, String checkPassword) { - // 1. 校验 - if (StringUtils.isAnyBlank(userAccount, userPassword, checkPassword)) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "参数为空"); - } - if (userAccount.length() < 4) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户账号过短"); - } - if (userPassword.length() < 8 || checkPassword.length() < 8) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户密码过短"); - } - // 账户不能包含特殊字符 - String validPattern = "[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; - Matcher matcher = Pattern.compile(validPattern).matcher(userAccount); - if (matcher.find()) { - return -1; - } - // 密码和校验密码相同 - if (!userPassword.equals(checkPassword)) { - return -1; - } - // 账户不能重复 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("userAccount", userAccount); - long count = userMapper.selectCount(queryWrapper); - if (count > 0) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "账号重复"); - } - // 2. 加密 - String encryptPassword = DigestUtils.md5DigestAsHex((SALT + userPassword).getBytes()); - // 3. 插入数据 - User user = new User(); - user.setUserAccount(userAccount); - user.setUserPassword(encryptPassword); - boolean saveResult = this.save(user); - if (!saveResult) { - return -1; - } - return user.getId(); - } - - @Override - public User userLogin(String userAccount, String userPassword, HttpServletRequest request) { - // 1. 校验 - if (StringUtils.isAnyBlank(userAccount, userPassword)) { - return null; - } - if (userAccount.length() < 4) { - return null; - } - if (userPassword.length() < 8) { - return null; - } - // 账户不能包含特殊字符 - String validPattern = "[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; - Matcher matcher = Pattern.compile(validPattern).matcher(userAccount); - if (matcher.find()) { - return null; - } - // 2. 加密 - String encryptPassword = DigestUtils.md5DigestAsHex((SALT + userPassword).getBytes()); - // 查询用户是否存在 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("userAccount", userAccount); - queryWrapper.eq("userPassword", encryptPassword); - User user = userMapper.selectOne(queryWrapper); - // 用户不存在 - if (user == null) { - log.info("user login failed, userAccount cannot match userPassword"); - return null; - } - // 3. 用户脱敏 - User safetyUser = getSafetyUser(user); - // 4. 记录用户的登录态 - request.getSession().setAttribute(USER_LOGIN_STATE, safetyUser); - return safetyUser; - } - - /** - * 用户脱敏 - * - * @param originUser - * @return - */ - @Override - public User getSafetyUser(User originUser) { - if (originUser == null) { - return null; - } - User safetyUser = new User(); - safetyUser.setId(originUser.getId()); - safetyUser.setUsername(originUser.getUsername()); - safetyUser.setUserAccount(originUser.getUserAccount()); - safetyUser.setAvatarUrl(originUser.getAvatarUrl()); - safetyUser.setGender(originUser.getGender()); - safetyUser.setPhone(originUser.getPhone()); - safetyUser.setEmail(originUser.getEmail()); - safetyUser.setUserRole(originUser.getUserRole()); - safetyUser.setUserStatus(originUser.getUserStatus()); - safetyUser.setCreateTime(originUser.getCreateTime()); - return safetyUser; - } - - /** - * 用户注销 - * - * @param request - */ - @Override - public int userLogout(HttpServletRequest request) { - // 移除登录态 - request.getSession().removeAttribute(USER_LOGIN_STATE); - return 1; - } - - @Override - public boolean isAdmin(HttpServletRequest request) { - Object userObj = request.getSession().getAttribute(USER_LOGIN_STATE); - User user = (User) userObj; - return user != null && user.getUserRole() == UserConstant.ADMIN_ROLE; - } - - @Override - public boolean isAdmin(User user) { - return user != null && user.getUserRole() == UserConstant.ADMIN_ROLE; - } - - @Override - public void assertAdmin(HttpServletRequest request) { - if (!isAdmin(request)) { - throw new BusinessException(ErrorCode.NO_AUTH); - } - } - - @Override - public User getLoginUser(HttpServletRequest request) { - Object userObj = request.getSession().getAttribute(USER_LOGIN_STATE); - User loginUser = (User) userObj; - if (loginUser == null) { - throw new BusinessException(ErrorCode.NOT_LOGIN); - } - return loginUser; - } - -} - - - - diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index bbba959..9b311f2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,34 +1,48 @@ spring: application: name: springboot-init - # DataSource Config - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/my_db - username: root - password: 123456 - mvc: - pathmatch: - matching-strategy: ANT_PATH_MATCHER - # session 失效时间(分钟) - session: - timeout: 86400 - store-type: redis - # redis 配置 - redis: - port: 6379 - host: localhost - database: 0 + # ShardingSphere 配置项 + shardingsphere: + datasource: + # 所有数据源的名字 + names: db0,db1 + # 订单 orders 数据源配置 00 + # 订单 orders 数据源配置 01 + db0: + type: com.zaxxer.hikari.HikariDataSource # 使用 Hikari 数据库连接池 + driver-class-name: com.mysql.jdbc.Driver + jdbc-url: jdbc:mysql://120.26.194.135:3306/db0?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + username: db0 + password: xyy + db1: + type: com.zaxxer.hikari.HikariDataSource # 使用 Hikari 数据库连接池 + driver-class-name: com.mysql.jdbc.Driver + jdbc-url: jdbc:mysql://120.26.194.135:3306/db1?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + username: db1 + password: xyy + + # 分片规则 + sharding: + tables: + # orders 表配置 + orders: + actualDataNodes: db${0..1}.orders_${0..7} # 映射到 ds-orders-0 和 ds-orders-1 数据源的 orders 表们 + databaseStrategy: + inline: + sharding-column: user_id + algorithm-expression: db${user_id % 2} + tableStrategy: + inline: + sharding-column: user_id + algorithm-expression: orders_${user_id % 8} + # 拓展属性配置 + props: + sql: + show: true # 打印 SQL server: port: 7529 servlet: context-path: /api -mybatis-plus: - configuration: - map-underscore-to-camel-case: false - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - global-config: - db-config: - logic-delete-field: isDelete # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) - logic-delete-value: 1 # 逻辑已删除值(默认为 1) - logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) \ No newline at end of file +mybatis: + mapper-locations: classpath*:src/main/resources/mapper/*.xml + type-aliases-package: com.yupi.project.model.entity \ No newline at end of file diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt deleted file mode 100644 index afa86fa..0000000 --- a/src/main/resources/banner.txt +++ /dev/null @@ -1 +0,0 @@ -我的项目 by 程序员鱼皮 https://github.com/liyupi \ No newline at end of file diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml deleted file mode 100644 index fd4367f..0000000 --- a/src/main/resources/mapper/UserMapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - id,username,userAccount, - avatarUrl,gender,userPassword, - phone,email,userStatus, - createTime,updateTime,isDelete, - userRole - - diff --git a/src/test/java/com/yupi/project/service/UserServiceTest.java b/src/test/java/com/yupi/project/service/UserServiceTest.java deleted file mode 100644 index 61f091c..0000000 --- a/src/test/java/com/yupi/project/service/UserServiceTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.yupi.project.service; - -import com.yupi.project.model.entity.User; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -import javax.annotation.Resource; - -/** - * 用户服务测试 - * - * @author yupi - */ -@SpringBootTest -class UserServiceTest { - - @Resource - private UserService userService; - - @Test - void testAddUser() { - User user = new User(); - user.setUsername("dogYupi"); - user.setUserAccount("123"); - user.setAvatarUrl(""); - user.setGender(0); - user.setUserPassword("xxx"); - user.setPhone("123"); - user.setEmail("456"); - boolean result = userService.save(user); - System.out.println(user.getId()); - Assertions.assertTrue(result); - } - - @Test - void testUpdateUser() { - User user = new User(); - user.setId(1); - user.setUsername("dogYupi"); - user.setUserAccount("123"); - user.setAvatarUrl(""); - user.setGender(0); - user.setUserPassword("xxx"); - user.setPhone("123"); - user.setEmail("456"); - boolean result = userService.updateById(user); - Assertions.assertTrue(result); - } - - @Test - void testDeleteUser() { - boolean result = userService.removeById(1L); - Assertions.assertTrue(result); - } - - @Test - void testGetUser() { - User user = userService.getById(1L); - Assertions.assertNotNull(user); - } - - @Test - void userRegister() { - String userAccount = "yupi"; - String userPassword = ""; - String checkPassword = "123456"; - try { - long result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - userAccount = "yu"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - userAccount = "yupi"; - userPassword = "123456"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - userAccount = "yu pi"; - userPassword = "12345678"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - checkPassword = "123456789"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - userAccount = "dogYupi"; - checkPassword = "12345678"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - userAccount = "yupi"; - result = userService.userRegister(userAccount, userPassword, checkPassword); - Assertions.assertEquals(-1, result); - } catch (Exception e) { - - } - } -} \ No newline at end of file