Merge remote-tracking branch 'origin/fast' into fast
This commit is contained in:
commit
3fbf0a8e9e
@ -73,8 +73,10 @@ export default {
|
||||
if(router.path === "/") {
|
||||
router.children[item].path = "/redirect/" + router.children[item].path;
|
||||
} else {
|
||||
if(!this.ishttp(router.children[item].path)) {
|
||||
router.children[item].path = router.path + "/" + router.children[item].path;
|
||||
}
|
||||
}
|
||||
router.children[item].parentPath = router.path;
|
||||
}
|
||||
childrenMenus.push(router.children[item]);
|
||||
@ -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
|
||||
}
|
||||
},
|
||||
};
|
||||
|
@ -8,8 +8,8 @@
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<version>3.4.0</version>
|
||||
|
||||
<name>ruoyi</name>
|
||||
<url>http://www.ruoyi.vip</url>
|
||||
<name>RuoYi-Vue-Plus</name>
|
||||
<url>https://gitee.com/JavaLionLi/RuoYi-Vue-Plus</url>
|
||||
<description>若依管理系统</description>
|
||||
|
||||
<properties>
|
||||
|
@ -74,10 +74,10 @@ public class SysUser implements Serializable
|
||||
private String avatar;
|
||||
|
||||
/** 密码 */
|
||||
@JsonProperty
|
||||
private String password;
|
||||
|
||||
@JsonIgnore
|
||||
@JsonProperty
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
@ -512,9 +512,12 @@ public class ExcelUtil<T>
|
||||
cell.setCellValue(Validator.isNull(value) ? attr.defaultValue() : value + attr.suffix());
|
||||
}
|
||||
else if (ColumnType.NUMERIC == attr.cellType())
|
||||
{
|
||||
if (Validator.isNotNull(value))
|
||||
{
|
||||
cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
|
||||
}
|
||||
}
|
||||
else if (ColumnType.IMAGE == attr.cellType())
|
||||
{
|
||||
ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1),
|
||||
|
@ -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 (metaObject.hasGetter("createBy")) {
|
||||
if (metaObject.getValue("createBy") == null) {
|
||||
this.setFieldValByName("createBy", SecurityUtils.getUsername(), metaObject);
|
||||
}
|
||||
if (createTime == null) {
|
||||
createTime = new Date();
|
||||
this.setFieldValByName("createTime", createTime, 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 (metaObject.hasGetter("updateTime")) {
|
||||
if (metaObject.getValue("updateTime") == null) {
|
||||
this.setFieldValByName("updateTime", new Date(), metaObject);
|
||||
}
|
||||
if (updateTime == null) {
|
||||
updateTime = new Date();
|
||||
this.setFieldValByName("updateTime", updateTime, metaObject);
|
||||
}
|
||||
//endregion
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openInsertFill() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openUpdateFill() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import com.ruoyi.system.service.ISysLogininforService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -28,6 +29,7 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
|
||||
*/
|
||||
@Override
|
||||
public void insertLogininfor(SysLogininfor logininfor) {
|
||||
logininfor.setLoginTime(new Date());
|
||||
save(logininfor);
|
||||
}
|
||||
|
||||
@ -45,10 +47,10 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
|
||||
.eq(StrUtil.isNotBlank(logininfor.getStatus()),SysLogininfor::getStatus,logininfor.getStatus())
|
||||
.like(StrUtil.isNotBlank(logininfor.getUserName()),SysLogininfor::getUserName,logininfor.getUserName())
|
||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
||||
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||
params.get("beginTime"))
|
||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
||||
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d'",
|
||||
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||
params.get("endTime"))
|
||||
.orderByDesc(SysLogininfor::getInfoId));
|
||||
}
|
||||
|
@ -142,6 +142,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||
router.setRedirect("noRedirect");
|
||||
router.setChildren(buildMenus(cMenus));
|
||||
} else if (isMenuFrame(menu)) {
|
||||
router.setMeta(null);
|
||||
List<RouterVo> childrenList = new ArrayList<RouterVo>();
|
||||
RouterVo children = new RouterVo();
|
||||
children.setPath(menu.getPath());
|
||||
|
@ -11,6 +11,7 @@ import com.ruoyi.system.service.ISysOperLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -29,6 +30,7 @@ public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOper
|
||||
*/
|
||||
@Override
|
||||
public void insertOperlog(SysOperLog operLog) {
|
||||
operLog.setOperTime(new Date());
|
||||
save(operLog);
|
||||
}
|
||||
|
||||
@ -54,10 +56,10 @@ public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOper
|
||||
SysOperLog::getStatus,operLog.getStatus())
|
||||
.like(StrUtil.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
|
||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
||||
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||
params.get("beginTime"))
|
||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
||||
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d'",
|
||||
"date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||
params.get("endTime"))
|
||||
.orderByDesc(SysOperLog::getOperId));
|
||||
}
|
||||
|
@ -198,11 +198,11 @@ mybatis-plus:
|
||||
# NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
|
||||
# DEFAULT 默认的,一般只用于注解里
|
||||
# NEVER 不加入 SQL
|
||||
insertStrategy: NOT_NULL
|
||||
insertStrategy: NOT_EMPTY
|
||||
# 字段验证策略之 update,在 update 的时候的字段验证策略
|
||||
updateStrategy: NOT_NULL
|
||||
updateStrategy: NOT_EMPTY
|
||||
# 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
|
||||
selectStrategy: NOT_NULL
|
||||
selectStrategy: NOT_EMPTY
|
||||
|
||||
# PageHelper分页插件
|
||||
pagehelper:
|
||||
|
Loading…
x
Reference in New Issue
Block a user