diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 57e46fce..110c5480 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -23,7 +23,7 @@ import java.util.Map; /** * 用户对象 sys_user - * + * * @author ruoyi */ @@ -73,11 +73,11 @@ public class SysUser implements Serializable /** 用户头像 */ private String avatar; - /** 密码 */ - @JsonProperty + /** 密码 */ private String password; @JsonIgnore + @JsonProperty public String getPassword() { return password; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 073ece3e..619ec80c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -513,7 +513,10 @@ public class ExcelUtil } else if (ColumnType.NUMERIC == attr.cellType()) { - cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); + if (Validator.isNotNull(value)) + { + cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); + } } else if (ColumnType.IMAGE == attr.cellType()) { diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java index 7c0922e3..4797a64b 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java @@ -7,49 +7,39 @@ import org.apache.ibatis.reflection.MetaObject; import java.util.Date; /** - * @author woo - * @date 2021/3/11 + * MP注入处理器 + * @author Lion Li + * @date 2021/4/25 */ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { + @Override public void insertFill(MetaObject metaObject) { - //region 处理创建人信息 - Object createBy = this.getFieldValByName("createBy", metaObject); - Object createTime = this.getFieldValByName("createTime", metaObject); - if (createBy == null) { - createBy = SecurityUtils.getUsername(); - this.setFieldValByName("createBy", createBy, metaObject); + //根据属性名字设置要填充的值 + if (metaObject.hasGetter("createTime")) { + if (metaObject.getValue("createTime") == null) { + this.setFieldValByName("createTime", new Date(), metaObject); + } } - if (createTime == null) { - createTime = new Date(); - this.setFieldValByName("createTime", createTime, metaObject); + if (metaObject.hasGetter("createBy")) { + if (metaObject.getValue("createBy") == null) { + this.setFieldValByName("createBy", SecurityUtils.getUsername(), metaObject); + } } - //endregion } @Override public void updateFill(MetaObject metaObject) { - //region 处理修改人信息 - Object updateBy = this.getFieldValByName("updateBy", metaObject); - Object updateTime = this.getFieldValByName("updateTime", metaObject); - if (updateBy == null) { - updateBy = SecurityUtils.getUsername(); - this.setFieldValByName("updateBy", updateBy, metaObject); + if (metaObject.hasGetter("updateBy")) { + if (metaObject.getValue("updateBy") == null) { + this.setFieldValByName("updateBy", SecurityUtils.getUsername(), metaObject); + } } - if (updateTime == null) { - updateTime = new Date(); - this.setFieldValByName("updateTime", updateTime, metaObject); + if (metaObject.hasGetter("updateTime")) { + if (metaObject.getValue("updateTime") == null) { + this.setFieldValByName("updateTime", new Date(), metaObject); + } } - //endregion } - @Override - public boolean openInsertFill() { - return true; - } - - @Override - public boolean openUpdateFill() { - return true; - } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index de669b19..6f7cc414 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -25,7 +25,7 @@ import java.util.stream.Collectors; /** * 菜单 业务层处理 - * + * * @author ruoyi */ @Service @@ -142,6 +142,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl router.setRedirect("noRedirect"); router.setChildren(buildMenus(cMenus)); } else if (isMenuFrame(menu)) { + router.setMeta(null); List childrenList = new ArrayList(); RouterVo children = new RouterVo(); children.setPath(menu.getPath()); diff --git a/ruoyi-ui/src/components/TopNav/index.vue b/ruoyi-ui/src/components/TopNav/index.vue index 6f7b6882..d89930a8 100644 --- a/ruoyi-ui/src/components/TopNav/index.vue +++ b/ruoyi-ui/src/components/TopNav/index.vue @@ -73,7 +73,9 @@ export default { if(router.path === "/") { router.children[item].path = "/redirect/" + router.children[item].path; } else { - router.children[item].path = router.path + "/" + router.children[item].path; + if(!this.ishttp(router.children[item].path)) { + router.children[item].path = router.path + "/" + router.children[item].path; + } } router.children[item].parentPath = router.path; } @@ -122,7 +124,7 @@ export default { // 菜单选择事件 handleSelect(key, keyPath) { this.currentIndex = key; - if (key.indexOf("http://") !== -1 || key.indexOf("https://") !== -1) { + if (this.ishttp(key)) { // http(s):// 路径新窗口打开 window.open(key, "_blank"); } else if (key.indexOf("/redirect") !== -1) { @@ -147,6 +149,9 @@ export default { this.$store.commit("SET_SIDEBAR_ROUTERS", routes); } return routes; + }, + ishttp(url) { + return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1 } }, };