优化代码

This commit is contained in:
mazhicheng 2020-03-18 10:06:47 +08:00
parent 92900c7f01
commit e8865522ba
8 changed files with 20 additions and 11 deletions

View File

@ -13,7 +13,7 @@
> [设计目标](https://segmentfault.com/a/1190000020906742):面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性。
![diboot平台组成结构图](diboot-docs/.vuepress/public/structure.png)
diboot v2版本目前实现: diboot-core全新内核 + diboot-devtools开发助理 + IAM身份认证、file文件处理等基础组件 + diboot-admin基础后台。
diboot v2版本目前实现: diboot-core全新内核 + diboot-devtools开发助理 + IAM身份认证、file文件处理等基础组件 + diboot-*-admin基础后台。
## 一、 diboot-core: 精简优化内核
全新精简内核,(基于diboot-core 2.x版本的CRUD和简单关联的常规功能实现代码量比1.x版本减少70%+),主要实现:
@ -40,7 +40,7 @@ diboot v2版本目前实现: diboot-core全新内核 + diboot-devtools开发
#### 5. SQL与代码很标准devtools标准化了数据结构定义与代码实现降低维护成本
> [我要试试](https://www.diboot.com/guide/diboot-devtools/%E4%BB%8B%E7%BB%8D.html)
## 三、iam-base 身份认证基础组件 及 配套VUE前端框架diboot-admin-antd、diboot-admib-element
## 三、iam-base 身份认证基础组件 及 配套VUE前端框架diboot-antd-admin、diboot-element-admin
#### 1. RBAC角色权限模型 + JWT的认证授权 实现支持刷新token
#### 2. 简化的BindPermission注解支持兼容shiro的简化权限绑定与自动鉴权

View File

@ -106,7 +106,7 @@ public class BeanUtils {
}
}
catch (Exception e){
log.warn("对象转换异常, class="+clazz.getName());
log.warn("对象转换异常, class: {}, error: {}", clazz.getName(), e.getMessage());
}
return resultList;
}
@ -158,6 +158,10 @@ public class BeanUtils {
log.warn("类型不一致,暂无法自动绑定,请手动转型一致后调用!字段类型: {} vs {} ", value.getClass().getTypeName(), fieldType);
}
}
// boolean vs Boolean
else if(value.getClass().getTypeName().equalsIgnoreCase(Boolean.class.getName()) && fieldType.equalsIgnoreCase(Boolean.class.getName())){
//args[0] = (Boolean).valueOf();
}
// Integer 向上转型为 Long 绑定
else if(value.getClass().getTypeName().equals(Integer.class.getName()) && fieldType.equals(Long.class.getName())){
Integer intValue = (Integer)value;

View File

@ -36,7 +36,7 @@ public class D extends DateUtils{
/***
* 星期
*/
protected static final String[] WEEK = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
public static final String[] WEEK = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
/***
* 当前的日期时间

View File

@ -17,4 +17,4 @@
> 组件包含了与此模型相关的后端代码且依赖的数据结构在组件starter初次启动时将自动初始化。
> 配套的前端基础框架有antd、element-ui前端代码参考: diboot-admin-antd 及 diboot-admin-element
> 配套的前端基础框架有antd、element-ui前端代码参考: diboot-antd-admin 及 diboot-element-admin

View File

@ -189,11 +189,12 @@ public class FileHelper{
* 删除文件
* @param fileStoragePath
*/
public static void deleteFile(String fileStoragePath) {
public static boolean deleteFile(String fileStoragePath) {
File file = new File(fileStoragePath);
if(file.exists()){
file.delete();
return file.delete();
}
return false;
}
}

View File

@ -71,7 +71,6 @@ public class ZipHelper {
continue;
}
}
childFileList[n].getAbsolutePath().indexOf(file.getAbsolutePath());
zipFile(srcRootDir, childFileList[n], zos, matchKeyword);
}
}

View File

@ -1,5 +1,5 @@
# IAM-base: 身份认证组件 (基础版)
> 该组件配套的前端基础框架有antd、element-ui前端代码参考: diboot-admin-antd 及 diboot-admin-element
> 该组件配套的前端基础框架有antd、element-ui前端代码参考: diboot-antd-admin 及 diboot-element-admin
## 组件特性
* 开箱即用的RBAC角色权限模型
* 基于JWT的认证授权支持申请token、刷新token

View File

@ -95,11 +95,17 @@ public class IamUserRoleServiceImpl extends BaseIamServiceImpl<IamUserRoleMapper
Long superAdminRoleId = getSuperAdminRoleId();
boolean hasSuperAdmin = false;
String userType = null;
Long userId = null;
for(Object entity : entityList){
IamUserRole iamUserRole = (IamUserRole)entity;
if(superAdminRoleId != null && superAdminRoleId.equals(iamUserRole.getRoleId())){
hasSuperAdmin = true;
}
if(userId == null){
userType = iamUserRole.getUserType();
userId = iamUserRole.getUserId();
}
}
if(hasSuperAdmin){
checkSuperAdminIdentity();
@ -107,8 +113,7 @@ public class IamUserRoleServiceImpl extends BaseIamServiceImpl<IamUserRoleMapper
boolean success = super.createEntities(entityList);
if(success){
// 清空用户缓存
IamUserRole entity = ((List<IamUserRole>) entityList).get(0);
clearUserAuthCache(entity.getUserType(), entity.getUserId());
clearUserAuthCache(userType, userId);
}
return success;
}