优化代码

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

View File

@ -106,7 +106,7 @@ public class BeanUtils {
} }
} }
catch (Exception e){ catch (Exception e){
log.warn("对象转换异常, class="+clazz.getName()); log.warn("对象转换异常, class: {}, error: {}", clazz.getName(), e.getMessage());
} }
return resultList; return resultList;
} }
@ -158,6 +158,10 @@ public class BeanUtils {
log.warn("类型不一致,暂无法自动绑定,请手动转型一致后调用!字段类型: {} vs {} ", value.getClass().getTypeName(), fieldType); 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 绑定 // Integer 向上转型为 Long 绑定
else if(value.getClass().getTypeName().equals(Integer.class.getName()) && fieldType.equals(Long.class.getName())){ else if(value.getClass().getTypeName().equals(Integer.class.getName()) && fieldType.equals(Long.class.getName())){
Integer intValue = (Integer)value; 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初次启动时将自动初始化。 > 组件包含了与此模型相关的后端代码且依赖的数据结构在组件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 * @param fileStoragePath
*/ */
public static void deleteFile(String fileStoragePath) { public static boolean deleteFile(String fileStoragePath) {
File file = new File(fileStoragePath); File file = new File(fileStoragePath);
if(file.exists()){ if(file.exists()){
file.delete(); return file.delete();
} }
return false;
} }
} }

View File

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

View File

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

View File

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