This commit is contained in:
六如
2024-12-26 09:37:50 +08:00
parent 054560ae64
commit 150379c5f9
44 changed files with 26 additions and 1482 deletions

View File

@@ -4,5 +4,6 @@ mybatis.print-sql=true
# mysql config
mysql.host=127.0.0.1:3306
mysql.db=sop
mysql.username=root
mysql.password=root

View File

@@ -4,5 +4,6 @@ mybatis.print-sql=true
# mysql config
mysql.host=127.0.0.1:3306
mysql.db=sop2
mysql.username=root
mysql.password=root

View File

@@ -23,9 +23,9 @@ dubbo.registry.address=zookeeper://localhost:2181
####### mysql config #######
mysql.host=127.0.0.1:3306
mysql.db=sop
mysql.username=
mysql.password=
mysql.db=sop
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://${mysql.host}/${mysql.db}?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai

View File

@@ -1,14 +1,14 @@
package com.gitee.sop.admin.common.context;
import com.auth0.jwt.interfaces.Claim;
import com.gitee.sop.admin.common.manager.UserCacheManager;
import com.gitee.sop.admin.common.user.User;
import com.gitee.sop.admin.common.config.Configs;
import com.gitee.sop.admin.common.enums.ConfigKeyEnum;
import com.gitee.sop.admin.common.exception.ErrorTokenException;
import com.gitee.sop.admin.common.exception.JwtErrorException;
import com.gitee.sop.admin.common.exception.JwtExpiredException;
import com.gitee.sop.admin.common.exception.LoginFailureException;
import com.gitee.sop.admin.common.manager.UserCacheManager;
import com.gitee.sop.admin.common.user.User;
import com.gitee.sop.admin.common.util.JwtUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.math.NumberUtils;
@@ -33,7 +33,11 @@ public class UserContext {
private static Supplier<String> tokenGetter = () -> {
HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) (RequestContextHolder.getRequestAttributes());
if (requestAttributes == null) {
return null;
}
HttpServletRequest request = requestAttributes.getRequest();
return getToken(request);
};
@@ -43,7 +47,8 @@ public class UserContext {
/**
* 获取当前登录用户id
* @return 返回id,没有返回null
*
* @return 返回id, 没有返回null
*/
public static Long getUserId() {
return Optional.ofNullable(getUser()).map(User::getUserId).orElse(null);
@@ -78,6 +83,9 @@ public class UserContext {
}
public static String getToken(HttpServletRequest request) {
if (request == null) {
return null;
}
String token = request.getHeader(HEADER_AUTHORIZATION);
if (StringUtils.hasText(token) && token.startsWith(JWT_PREFIX)) {
return token.substring(JWT_PREFIX.length());

View File

@@ -10,7 +10,6 @@ import lombok.Getter;
@AllArgsConstructor
@Getter
public enum ConfigKeyEnum {
PASSWORD_SALT("admin.password-salt", ""),
JWT_TIMEOUT_DAYS("admin.jwt-timeout-days", "365"),
JWT_SECRET("admin.jwt.secret", ""),
TORNA_SERVER_ADDR("admin.torna-server-addr", ""),

View File

@@ -24,8 +24,11 @@ public class AddByFill extends BaseFill<Long> {
@Override
protected Object getFillValue(Long defaultValue) {
if (defaultValue != null) {
return defaultValue;
}
User user = UserContext.getUser();
return user != null ? user.getUserId() : defaultValue;
return user != null ? user.getUserId() : 0L;
}
@Override

View File

@@ -1,80 +0,0 @@
package com.gitee.sop.admin.dao.entity;
import com.gitee.fastmybatis.annotation.Pk;
import com.gitee.fastmybatis.annotation.PkStrategy;
import com.gitee.fastmybatis.annotation.Table;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 表名sys_admin_user
* 备注:系统用户表
*
* @author 六如
*/
@Table(name = "sys_admin_user", pk = @Pk(name = "id", strategy = PkStrategy.INCREMENT))
@Data
public class SysAdminUser {
/**
* id
*/
private Long id;
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 用户名
*/
private String nickname;
/**
* 邮箱
*/
private String email;
/**
* 头像
*/
private String avatar;
/**
* 状态1启用2禁用
*/
private Integer status;
/**
* 注册类型1-系统2-手动
*/
private String regType;
/**
* 添加时间
*/
private LocalDateTime addTime;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 创建人id
*/
private Long addBy;
/**
* 最后更新人id
*/
private Long updateBy;
}

View File

@@ -1,11 +0,0 @@
package com.gitee.sop.admin.dao.mapper;
import com.gitee.fastmybatis.core.mapper.BaseMapper;
import com.gitee.sop.admin.dao.entity.SysAdminUser;
/**
* @author 六如
*/
public interface SysAdminUserMapper extends BaseMapper<SysAdminUser> {
}

View File

@@ -2,14 +2,11 @@ package com.gitee.sop.admin.service.sys;
import com.gitee.fastmybatis.core.PageInfo;
import com.gitee.fastmybatis.core.query.LambdaQuery;
import com.gitee.sop.admin.common.config.Configs;
import com.gitee.sop.admin.common.dto.StatusUpdateBatchDTO;
import com.gitee.sop.admin.common.dto.StatusUpdateDTO;
import com.gitee.sop.admin.common.dto.UserDTO;
import com.gitee.sop.admin.common.enums.ConfigKeyEnum;
import com.gitee.sop.admin.common.support.ServiceSupport;
import com.gitee.sop.admin.common.util.CopyUtil;
import com.gitee.sop.admin.common.util.GenerateUtil;
import com.gitee.sop.admin.dao.entity.SysUser;
import com.gitee.sop.admin.dao.mapper.SysUserMapper;
import com.gitee.sop.admin.service.sys.dto.DeptUserResultDTO;
@@ -161,20 +158,5 @@ public class SysUserService implements ServiceSupport<SysUser, SysUserMapper> {
return this.get(SysUser::getUsername, username);
}
public String getDbPassword(String username, String password) {
return getDbPassword(username, password, getPasswordSalt());
}
public String getDbPassword(String username) {
return this.query().eq(SysUser::getUsername, username).getValue(SysUser::getPassword);
}
public String getDbPassword(String username, String password, String salt) {
return GenerateUtil.getUserPassword(username, password, salt);
}
private String getPasswordSalt() {
return Configs.getValue(ConfigKeyEnum.PASSWORD_SALT);
}
}

View File

@@ -1,6 +1,7 @@
package com.gitee.sop.admin.service.sys;
import com.gitee.sop.admin.common.enums.ConfigKeyEnum;
import com.gitee.sop.admin.common.enums.StatusEnum;
import com.gitee.sop.admin.common.util.PasswordUtil;
import com.gitee.sop.admin.dao.entity.SysUser;
import com.gitee.sop.admin.dao.mapper.UpgradeMapper;
@@ -12,6 +13,8 @@ import org.springframework.security.crypto.bcrypt.BCrypt;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.time.LocalDateTime;
/**
* @author 六如
@@ -50,13 +53,14 @@ public class UpgradeService {
return;
}
String username = "admin";
String tpl = "INSERT INTO `sys_user` ( `username`, `password`, `nickname`, `reg_type`) VALUES \n" +
"\t('%s','%s','%s','%s');";
String tpl = "INSERT INTO `sys_user` (`id`, `username`, `password`, `nickname`, `reg_type`) VALUES \n" +
"\t(%s, '%s','%s','%s','%s');";
// 初始密码
String defPassword = "123456";
defPassword = DigestUtils.sha256Hex(defPassword);
String encodedPassword = BCrypt.hashpw(defPassword, BCrypt.gensalt());
String sql = String.format(tpl, username, encodedPassword, username, RegTypeEnum.BACKEND.getValue());
Long userId = 1L;
String sql = String.format(tpl, userId, username, encodedPassword, username, RegTypeEnum.BACKEND.getValue());
runSql(sql);
}