master
An Yong Shuai 2024-01-11 17:29:27 +08:00
commit b012252631
25 changed files with 1063 additions and 0 deletions

20
bwie-auth/pom.xml 100644
View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.bwie</groupId>
<artifactId>Mabits-Plus</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>bwie-auth</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

147
bwie-common/pom.xml 100644
View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.bwie</groupId>
<artifactId>Mabits-Plus</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>bwie-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- bootstrap 启动器 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- 负载均衡-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<!-- SpringCloud Openfeign -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!-- Alibaba Fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.80</version>
</dependency>
<!-- SpringBoot Boot Redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- Druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!-- Mybatis-plus 配置 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.4.1</version>
</dependency>
<!-- Mybatis 依赖配置 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!-- Hibernate Validator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- Apache Lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- hutool -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.3</version>
</dependency>
<!-- oss 图片上传 -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.12.0</version>
</dependency>
<!-- &lt;!&ndash;mq 依赖&ndash;&gt;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>-->
<!--fastDfs文件上传-->
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.26.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<!-- SpringBoot 测试框架 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- Apache Lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,26 @@
package com.bwie.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybitsPlusConfig {
public MybitsPlusConfig(){
System.out.println("初始化>>>>>");
}
/**
*
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}

View File

@ -0,0 +1,18 @@
package com.bwie.constant;
/**
* @description:
* @author DongZl
*/
public class Constants {
/**
*
*/
public static final Integer SUCCESS = 200;
public static final String SUCCESS_MSG = "操作成功";
/**
*
*/
public static final Integer ERROR = 500;
public static final String ERROR_MSG = "操作异常";
}

View File

@ -0,0 +1,27 @@
package com.bwie.constant;
/**
* @author DongZl
* @description: Jwt
*/
public class JwtConstants {
/**
* ID
*/
public static final String DETAILS_USER_ID = "user_id";
/**
*
*/
public static final String DETAILS_USERNAME = "username";
/**
*
*/
public static final String USER_KEY = "user_key";
/**
*
*/
public final static String SECRET = "abcdefghijklmnopqrstuvwxyz";
}

View File

@ -0,0 +1,24 @@
package com.bwie.constant;
/**
* @author DongZl
* @description:
*/
public class TokenConstants {
/**
* 720
*/
public final static long EXPIRATION = 720;
/**
* 120
*/
public final static long REFRESH_TIME = 120;
/**
*
*/
public final static String LOGIN_TOKEN_KEY = "login_tokens:";
/**
* token
*/
public static final String TOKEN = "token";
}

View File

@ -0,0 +1,100 @@
package com.bwie.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bwie.domain.request.UserReq;
import com.bwie.utils.IdUtils;
import com.bwie.utils.SecurityUtils;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data //lombok
@Builder
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
@TableName(value = "user")
public class User {
/**
* ID,
*/
@TableId(type = IdType.AUTO)
private Long userId;
/**
*
*/
@TableField(value = "user_name")
private String userName;
/**
*
*/
@TableField(value = "user_phone")
private String userPhone;
/**
*
*/
@TableField(value = "user_pwd")
private String userPwd;
/**
*
*/
@TableField(value = "user_pic")
private String userPic;
/**
*
*/
@TableField(value = "user_roal")
private Long userRoal;
//加盐字段
@TableField(exist = false)
private String salt;
//当前页
@TableField(exist = false)
private Integer pageNum=1;
//当前页面条数
@TableField(exist = false)
private Integer pageSize=10;
/**
* User
*
*/
public static User addBuilder(UserReq userReq){
String salt = IdUtils.genId();//生成一个随机的盐值
String passwordsalt = SecurityUtils.encryptPassword(userReq.getUserPwd(), salt);//工具类实现加盐加密
return User.builder()
.userName(userReq.getUserName())
.userPwd(passwordsalt)
.userPhone(userReq.getUserPhone())
.userPic(userReq.getUserPic())
.userRoal(userReq.getUserRoal().longValue())
.salt(salt)
.build();
}
/**
* User
*/
public static User updateUser(UserReq userReq){
return User.builder()
.userId(userReq.getUserId().longValue())
.userName(userReq.getUserName())
.userPwd(userReq.getUserPwd())
.userPhone(userReq.getUserPhone())
.userPic(userReq.getUserPic())
.build();
}
}

View File

@ -0,0 +1,38 @@
package com.bwie.domain.request;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserReq {
private Integer userId;
@NotBlank(message = "用户名称不可为空")
@Pattern(regexp = "(?=.*[A-Za-z]\\d).{6,16}$",message = "用户名称不合法因为6-16位的大小写英文和数字组成")
private String userName;
@NotBlank(message = "用户密码不可为空")
@Pattern(regexp = "[a-z]+$",message = "密码只能由字母组成")
private String userPwd;
@NotNull(message = "身份不能为空")
private Integer userRoal;
private String userPic;
@NotBlank(message = "电话号不能为空")
@Pattern(regexp = "^(?:(?:\\+|00)86)?1[3-9]\\d{9}$",message = "手机号格式错误")
private String userPhone;
}

View File

@ -0,0 +1,32 @@
package com.bwie.handler;
import com.alibaba.fastjson.JSONObject;
import com.bwie.result.Result;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
@Configuration
public class GlobalExceptionHandler {
/**
*
* @param exception
* @return
*/
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public Result<String> runtimeException(MethodArgumentNotValidException exception){
return Result.error(
JSONObject.toJSONString(
exception.getBindingResult().getAllErrors()
.stream()
.map(ObjectError::getDefaultMessage)
.toList()
)
);
}
}

View File

@ -0,0 +1,34 @@
package com.bwie.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author DongZl
* @description:
*/
@Data
public class PageResult<T> implements Serializable {
/**
*
*/
private long total;
/**
*
*/
private List<T> list;
public PageResult() {
}
public PageResult(long total, List<T> list) {
this.total = total;
this.list = list;
}
public static <T> PageResult<T> toPageResult(long total, List<T> list){
return new PageResult(total , list);
}
public static <T> Result<PageResult<T>> toResult(long total, List<T> list){
return Result.success(PageResult.toPageResult(total,list));
}
}

View File

@ -0,0 +1,53 @@
package com.bwie.result;
import com.bwie.constant.Constants;
import lombok.Data;
import java.io.Serializable;
/**
* @description:
* @author DongZl
*/
@Data
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
/** 成功 */
public static final int SUCCESS = Constants.SUCCESS;
/** 失败 */
public static final int FAIL = Constants.ERROR;
private int code;
private String msg;
private T data;
public static <T> Result<T> success() {
return restResult(null, SUCCESS, Constants.SUCCESS_MSG);
}
public static <T> Result<T> success(T data) {
return restResult(data, SUCCESS, Constants.SUCCESS_MSG);
}
public static <T> Result<T> success(T data, String msg) {
return restResult(data, SUCCESS, msg);
}
public static <T> Result<T> error() {
return restResult(null, FAIL, Constants.ERROR_MSG);
}
public static <T> Result<T> error(String msg) {
return restResult(null, FAIL, msg);
}
public static <T> Result<T> error(T data) {
return restResult(data, FAIL, Constants.ERROR_MSG);
}
public static <T> Result<T> error(T data, String msg) {
return restResult(data, FAIL, msg);
}
public static <T> Result<T> error(int code, String msg) {
return restResult(null, code, msg);
}
private static <T> Result<T> restResult(T data, int code, String msg) {
Result<T> apiResult = new Result<>();
apiResult.setCode(code);
apiResult.setData(data);
apiResult.setMsg(msg);
return apiResult;
}
}

View File

@ -0,0 +1,19 @@
package com.bwie.utils;
import java.util.UUID;
/**
* @author DongZl
* @description: ID
* @Date 2024-1-10 08:26
*/
public class IdUtils {
/**
* UUID
* @return UUID
*/
public static String genId(){
return UUID.randomUUID().toString().replace("-", "");
}
}

View File

@ -0,0 +1,104 @@
package com.bwie.utils;
import com.bwie.constant.JwtConstants;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Map;
/**
* @description: Jwt
* @author DongZl
*/
public class JwtUtils {
public static String secret = JwtConstants.SECRET;
/**
*
*
* @param claims
* @return
*/
public static String createToken(Map<String, Object> claims){
String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
return token;
}
/**
*
*
* @param token
* @return
*/
public static Claims parseToken(String token){
return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
}
/**
*
*
* @param token
* @return ID
*/
public static String getUserKey(String token){
Claims claims = parseToken(token);
return getValue(claims, JwtConstants.USER_KEY);
}
/**
*
*
* @param claims
* @return ID
*/
public static String getUserKey(Claims claims){
return getValue(claims, JwtConstants.USER_KEY);
}
/**
* ID
*
* @param token
* @return ID
*/
public static String getUserId(String token){
Claims claims = parseToken(token);
return getValue(claims, JwtConstants.DETAILS_USER_ID);
}
/**
* ID
*
* @param claims
* @return ID
*/
public static String getUserId(Claims claims){
return getValue(claims, JwtConstants.DETAILS_USER_ID);
}
/**
*
*
* @param token
* @return
*/
public static String getUserName(String token){
Claims claims = parseToken(token);
return getValue(claims, JwtConstants.DETAILS_USERNAME);
}
/**
*
*
* @param claims
* @return
*/
public static String getUserName(Claims claims){
return getValue(claims, JwtConstants.DETAILS_USERNAME);
}
/**
*
*
* @param claims
* @param key
* @return
*/
public static String getValue(Claims claims, String key){
Object obj = claims.get(key);
return obj == null ? "" : obj.toString();
}
}

View File

@ -0,0 +1,54 @@
package com.bwie.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
/**
*
*
* @author ruoyi
*/
public class SecurityUtils {
/**
* BCryptPasswordEncoder
*
* @param password
*
* @return
*/
public static String encryptPassword (String password, String salt) {
return encryptMD5(password, salt);
}
/**
*
*
* @param rawPassword
* @param encodedPassword
*
* @return
*/
public static boolean matchesPassword (String rawPassword, String salt, String encodedPassword) {
return encryptMD5(rawPassword, salt).equals(encodedPassword);
}
/**
* MD5Base64
* @param password
* @return Base64
*/
public static String encryptMD5(String password, String salt) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update((password + salt).getBytes()); // 加盐处理
byte[] digest = md.digest();
return Base64.getEncoder().encodeToString(digest);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
}

View File

@ -0,0 +1,68 @@
package com.bwie.utils;
import org.springframework.util.AntPathMatcher;
import java.util.Collection;
import java.util.List;
/**
* @author DongZl
* @description:
*/
public class StringUtils extends org.apache.commons.lang3.StringUtils {
/**
* *
*
* @param object Object
* @return true false
*/
public static boolean isNull(Object object) {
return object == null;
}
/**
* * Collection ListSetQueue
*
* @param coll Collection
* @return true false
*/
public static boolean isEmpty(Collection<?> coll) {
return isNull(coll) || coll.isEmpty();
}
/**
*
*
* @param str
* @param strs
* @return
*/
public static boolean matches(String str, List<String> strs) {
if (isEmpty(str) || isEmpty(strs)) {
return false;
}
for (String pattern : strs) {
if (isMatch(pattern, str))
{
return true;
}
}
return false;
}
/**
* url:
* ? ;
* * ;
* ** ;
*
* @param pattern
* @param url url
* @return
*/
public static boolean isMatch(String pattern, String url) {
AntPathMatcher matcher = new AntPathMatcher();
return matcher.match(pattern, url);
}
}

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.bwie</groupId>
<artifactId>Mabits-Plus</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>bwie-user</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 公共模块 -->
<dependency>
<groupId>com.bwie</groupId>
<artifactId>bwie-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,17 @@
package com.bwie.user;
import com.bwie.config.MybitsPlusConfig;
import com.bwie.handler.GlobalExceptionHandler;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Import;
@SpringBootApplication(scanBasePackages = "com.bwie")
@EnableDiscoveryClient
@Import({MybitsPlusConfig.class, GlobalExceptionHandler.class})
public class UserSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(UserSpringBootApplication.class);
}
}

View File

@ -0,0 +1,64 @@
package com.bwie.user.controller;
import com.bwie.domain.User;
import com.bwie.domain.request.UserReq;
import com.bwie.result.Result;
import com.bwie.user.service.impl.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* Mybits Plus
* @param userReq
* @return
*/
@PostMapping()
public Result addUser(@RequestBody @Validated UserReq userReq){
Result result = userService.addUser(userReq);
return result;
}
/**
*
* @param userReq
* @return
*/
@PutMapping()
public Result updUser(@RequestBody @Validated UserReq userReq){
Result result = userService.updUser(userReq);
return result;
}
/**
*
* @param idList
* @return
*/
@DeleteMapping("/dlete")
public Result delte(@RequestBody Long[] idList){
Result result = userService.delAll(idList);
return result;
}
@GetMapping("/select")
public Result<List<User>> selectList(User user){
Result result = userService.showList(user);
return result;
}
}

View File

@ -0,0 +1,10 @@
package com.bwie.user.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bwie.domain.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

View File

@ -0,0 +1,22 @@
package com.bwie.user.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bwie.domain.User;
import com.bwie.domain.request.UserReq;
import com.bwie.result.Result;
public interface UserService extends IService<User> {
//添加
Result addUser(UserReq userReq);
//修改
Result updUser(UserReq userReq);
//批量删除
Result delAll(Long[] idList);
//列表
Result showList(User user);
}

View File

@ -0,0 +1,51 @@
package com.bwie.user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bwie.domain.User;
import com.bwie.domain.request.UserReq;
import com.bwie.result.Result;
import com.bwie.user.mapper.UserMapper;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{
@Override
public Result addUser(UserReq userReq) {
boolean save = save(User.addBuilder(userReq));
if(save==true){
return Result.success();
}
return Result.error();
}
@Override
public Result updUser(UserReq userReq) {
boolean b = updateById(User.updateUser(userReq));
if(b==false){
return Result.error();
}
return Result.success();
}
@Override
public Result delAll(Long[] idList) {
boolean b = removeBatchByIds(Arrays.asList(idList));
if(b==false){
return Result.error();
}
return Result.success();
}
@Override
public Result showList(User user) {
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
Page<User> userPage = new Page<>(user.getPageNum(), user.getPageSize());
List<User> list = list(userPage, queryWrapper);
return Result.success(list);
}
}

View File

@ -0,0 +1,29 @@
# Tomcat
server:
port: 9001
# Spring
spring:
main:
allow-circular-references: true
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
application:
# 应用名称
name: bwie-user
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 124.223.156.14:8848
config:
# 配置中心地址
server-addr: 124.223.156.14:8848
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.user.mapper.UserMapper">
</mapper>

View File

@ -0,0 +1,44 @@
package com.bwie;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bwie.domain.User;
import com.bwie.user.UserSpringBootApplication;
import com.bwie.user.mapper.UserMapper;
import com.bwie.user.service.impl.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(classes = UserSpringBootApplication.class)
public class test {
@Autowired
private UserMapper userMapper;
@Autowired
private UserService userService;
/**
* MyBatis Plus insert
*/
@Test
public void userSave(){
userMapper.insert(User.builder()
.userName("安帅")
.userPhone("17338049232")
.userPwd("adminss")
.userPic("http://124.223.156.14:8888/group1/M00/00/08/CgAEDWV6gd6AO6J9AAAqq0ERkPI646.png")
.userRoal(Long.valueOf(1))
.salt("1245")
.build()
);
}
@Test
public void userListTest(){
Page<User> page = new Page<>(1, 2);
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.bwie</groupId>
<artifactId>Mabits-Plus</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>bwie-module</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>