Merge pull request #22 from hiparker/development

2.0.1
pull/33/head
Parker 3 years ago committed by GitHub
commit 14a1a89543
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

File diff suppressed because it is too large Load Diff

@ -294,7 +294,6 @@ public interface UserApi {
* @param username
* @return ResultWrapper
*/
//@GetMapping("/getUserByUsername")
ResultWrapper<UserModel> getUserByUsername(String username);
/**
@ -311,6 +310,11 @@ public interface UserApi {
*/
ResultWrapper<UserModel> getUserByEmail(String email);
/**
*
* @param id ID
* @return ResultWrapper
*/
ResultWrapper<UserModel> getById(String id);
}

@ -15,9 +15,9 @@
*/
package org.opsli.common.utils;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.cglib.CglibUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@ -75,12 +75,12 @@ public final class WrapperUtil {
}
if(isClone){
source = ObjectUtil.cloneByStream(source);
source = ObjectUtil.cloneIfPossible(source);
}
M m = null;
try {
m = BeanUtil.copyProperties(source, target);
m = CglibUtil.copy(source, target);
}catch (Exception e){
log.error(e.getMessage(),e);
}
@ -101,13 +101,11 @@ public final class WrapperUtil {
return Lists.newArrayList();
}
if(isClone){
source = ObjectUtil.cloneByStream(source);
}
List<M> toInstanceList = Lists.newArrayList();
try {
toInstanceList = source.stream().map((s) -> transformInstance(s, target, true)).collect(Collectors.toList());
toInstanceList = source.stream()
.map((s) -> transformInstance(s, target, isClone))
.collect(Collectors.toList());
}catch (Exception e){
log.error(e.getMessage(),e);
}

@ -144,7 +144,9 @@ public final class SecurityCache {
}catch (Exception e){
log.error(e.getMessage(), e);
}finally {
try {
lock.unlock();
}catch (Exception ignored){}
}
return cache;
}
@ -206,7 +208,9 @@ public final class SecurityCache {
}catch (Exception e){
log.error(e.getMessage(), e);
}finally {
try {
lock.unlock();
}catch (Exception ignored){}
}
return cache;
}
@ -354,7 +358,9 @@ public final class SecurityCache {
}catch (Exception e){
log.error(e.getMessage(), e);
}finally {
try {
lock.unlock();
}catch (Exception ignored){}
}
return cache;
}
@ -421,7 +427,9 @@ public final class SecurityCache {
}catch (Exception e){
log.error(e.getMessage(), e);
}finally {
try {
lock.unlock();
}catch (Exception ignored){}
}
return cache;
}
@ -488,7 +496,9 @@ public final class SecurityCache {
}catch (Exception e){
log.error(e.getMessage(), e);
}finally {
try {
lock.unlock();
}catch (Exception ignored){}
}
return cache;
}

@ -35,7 +35,7 @@ import java.io.IOException;
/**
* JWT
* filter Spring
* filter Spring
* @author Parker
* @date 2022072216:16:42
*/

@ -321,7 +321,7 @@ public class UserTokenUtil {
if(BooleanUtil.isTrue(LOGIN_PROPERTIES.getReviveMode())){
// 设置该用户全部token失效时间 如果这时又有新设备登录 则续命
redisPlugin.expire(ticketSetKey,
TOKEN_PROPERTIES.getEffectiveTime(), TimeUnit.MILLISECONDS);
TOKEN_PROPERTIES.getEffectiveTime(), TimeUnit.MINUTES);
}
}

@ -174,16 +174,7 @@ public class UserUtil {
Object cache = SecurityCache.get(redisTemplate, cacheKey, (k) -> {
// 查询数据库
UserModel userModelTemp = new UserModel();
userModelTemp.setId(userId);
// 设置为系统内部调用 否则 会拿到 空值
userModelTemp.setIzApi(true);
// 查询数据库
ResultWrapper<UserModel> resultVo = userApi.get(userModelTemp);
if(!ResultWrapper.isSuccess(resultVo)){
return null;
}
ResultWrapper<UserModel> resultVo = userApi.getById(userId);
return resultVo.getData();
}, true);

@ -404,11 +404,15 @@ public class UserRestController extends BaseRestController<SysUser, UserModel, I
* @return ResultWrapper
*/
@ApiOperation(value = "获得单条用户信息", notes = "获得单条用户信息 - ID")
// 因为工具类 使用到该方法 不做权限验证
//@PreAuthorize("hasAuthority('system_user_select')")
@PreAuthorize("hasAuthority('system_user_select')")
@Override
public ResultWrapper<UserModel> get(UserModel model) {
model = IService.get(model);
// 防止密码泄露
model.setPassword(null);
model.setPasswordLevel(null);
return ResultWrapper.getSuccessResultWrapper(model);
}
@ -635,51 +639,6 @@ public class UserRestController extends BaseRestController<SysUser, UserModel, I
return super.importExcel(request);
}
/**
* username
* @param username
* @return ResultWrapper
*/
@ApiOperation(value = "根据 username 获得用户", notes = "根据 username 获得用户")
@Override
public ResultWrapper<UserModel> getUserByUsername(String username) {
UserModel userModel = IService.queryByUserName(username);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), username)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
@ApiOperation(value = "根据 手机号 获得用户", notes = "根据 手机号 获得用户")
@Override
public ResultWrapper<UserModel> getUserByMobile(String mobile) {
UserModel userModel = IService.queryByMobile(mobile);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), mobile)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
@ApiOperation(value = "根据 邮箱 获得用户", notes = "根据 邮箱 获得用户")
@Override
public ResultWrapper<UserModel> getUserByEmail(String email) {
UserModel userModel = IService.queryByEmail(email);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), email)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
/**
*
* @param tenantId ID
@ -765,4 +724,61 @@ public class UserRestController extends BaseRestController<SysUser, UserModel, I
: ResultWrapper.getErrorResultWrapper().setMsg("切换失败");
}
/**
* username
* @param username
* @return ResultWrapper
*/
@ApiOperation(value = "根据 username 获得用户", notes = "根据 username 获得用户")
@Override
public ResultWrapper<UserModel> getUserByUsername(String username) {
UserModel userModel = IService.queryByUserName(username);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), username)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
@ApiOperation(value = "根据 手机号 获得用户", notes = "根据 手机号 获得用户")
@Override
public ResultWrapper<UserModel> getUserByMobile(String mobile) {
UserModel userModel = IService.queryByMobile(mobile);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), mobile)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
@ApiOperation(value = "根据 邮箱 获得用户", notes = "根据 邮箱 获得用户")
@Override
public ResultWrapper<UserModel> getUserByEmail(String email) {
UserModel userModel = IService.queryByEmail(email);
if(userModel == null){
// 暂无该用户
throw new ServiceException(SystemMsg.EXCEPTION_USER_NULL.getCode(),
StrUtil.format(SystemMsg.EXCEPTION_USER_NULL.getMessage(), email)
);
}
return ResultWrapper.getSuccessResultWrapper(userModel);
}
/**
*
* @param id
* @return ResultWrapper
*/
@ApiOperation(value = "根据 ID 获得用户", notes = "根据 ID 获得用户")
@Override
public ResultWrapper<UserModel> getById(String id) {
UserModel userModel = IService.get(id);
return ResultWrapper.getSuccessResultWrapper(userModel);
}
}

@ -93,6 +93,7 @@
<protobuf-java.version>3.18.2</protobuf-java.version>
<beanutils.version>1.9.4</beanutils.version>
<transmittable.version>2.12.5</transmittable.version>
<cglib.version>3.3.0</cglib.version>
<!-- 需要使用着两个版本 来引入对应的模块和插件 -->
<!-- API版本 -->
@ -146,6 +147,13 @@
<version>${captcha.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>${cglib.version}</version>
<scope>compile</scope>
</dependency>
<!-- JWT -->
<dependency>
<groupId>com.auth0</groupId>
@ -350,6 +358,13 @@
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>${cglib.version}</version>
<scope>compile</scope>
</dependency>
<!-- 修复 Cxa9261daf-3755 -->
<!-- 国密算法包 -->
<dependency>

Loading…
Cancel
Save