mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
Conflicts: .gitignore ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml ruoyi-ui/src/utils/request.js ruoyi-ui/src/utils/ruoyi.js
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -37,7 +37,8 @@ nbdist/
 | 
			
		||||
# Others
 | 
			
		||||
*.log
 | 
			
		||||
*.xml.versionsBackup
 | 
			
		||||
*.swp
 | 
			
		||||
 | 
			
		||||
!*/build/*.java
 | 
			
		||||
!*/build/*.html
 | 
			
		||||
!*/build/*.xml
 | 
			
		||||
!*/build/*.xml
 | 
			
		||||
 
 | 
			
		||||
@@ -476,7 +476,7 @@ public class ExcelUtil<T>
 | 
			
		||||
    {
 | 
			
		||||
        if (ColumnType.STRING == attr.cellType())
 | 
			
		||||
        {
 | 
			
		||||
            cell.setCellType(CellType.NUMERIC);
 | 
			
		||||
            cell.setCellType(CellType.STRING);
 | 
			
		||||
            cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix());
 | 
			
		||||
        }
 | 
			
		||||
        else if (ColumnType.NUMERIC == attr.cellType())
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,10 @@ import org.springframework.beans.BeansException;
 | 
			
		||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 | 
			
		||||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
 | 
			
		||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 | 
			
		||||
import org.springframework.context.ApplicationContext;
 | 
			
		||||
import org.springframework.context.ApplicationContextAware;
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
import com.ruoyi.common.utils.StringUtils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * spring工具类 方便在非spring管理环境中获取bean
 | 
			
		||||
@@ -13,17 +16,25 @@ import org.springframework.stereotype.Component;
 | 
			
		||||
 * @author ruoyi
 | 
			
		||||
 */
 | 
			
		||||
@Component
 | 
			
		||||
public final class SpringUtils implements BeanFactoryPostProcessor
 | 
			
		||||
public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware 
 | 
			
		||||
{
 | 
			
		||||
    /** Spring应用上下文环境 */
 | 
			
		||||
    private static ConfigurableListableBeanFactory beanFactory;
 | 
			
		||||
 | 
			
		||||
    private static ApplicationContext applicationContext;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
 | 
			
		||||
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException 
 | 
			
		||||
    {
 | 
			
		||||
        SpringUtils.beanFactory = beanFactory;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException 
 | 
			
		||||
    {
 | 
			
		||||
        SpringUtils.applicationContext = applicationContext;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取对象
 | 
			
		||||
     *
 | 
			
		||||
@@ -111,4 +122,25 @@ public final class SpringUtils implements BeanFactoryPostProcessor
 | 
			
		||||
    {
 | 
			
		||||
        return (T) AopContext.currentProxy();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取当前的环境配置,无配置返回null
 | 
			
		||||
     *
 | 
			
		||||
     * @return 当前的环境配置
 | 
			
		||||
     */
 | 
			
		||||
    public static String[] getActiveProfiles()
 | 
			
		||||
    {
 | 
			
		||||
        return applicationContext.getEnvironment().getActiveProfiles();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取当前的环境配置,当有多个环境配置时,只获取第一个
 | 
			
		||||
     *
 | 
			
		||||
     * @return 当前的环境配置
 | 
			
		||||
     */
 | 
			
		||||
    public static String getActiveProfile()
 | 
			
		||||
    {
 | 
			
		||||
        final String[] activeProfiles = getActiveProfiles();
 | 
			
		||||
        return StringUtils.isNotEmpty(activeProfiles) ? activeProfiles[0] : null;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -75,7 +75,7 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService
 | 
			
		||||
    @Override
 | 
			
		||||
    public SysUserOnline loginUserToUserOnline(LoginUser user)
 | 
			
		||||
    {
 | 
			
		||||
        if (StringUtils.isNull(user) && StringUtils.isNull(user.getUser()))
 | 
			
		||||
        if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser()))
 | 
			
		||||
        {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
    
 | 
			
		||||
    <select id="checkConfigKeyUnique" parameterType="String" resultMap="SysConfigResult">
 | 
			
		||||
        <include refid="selectConfigVo"/>
 | 
			
		||||
        where config_key = #{configKey}
 | 
			
		||||
        where config_key = #{configKey} limit 1
 | 
			
		||||
    </select>
 | 
			
		||||
    
 | 
			
		||||
    <insert id="insertConfig" parameterType="SysConfig">
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	
 | 
			
		||||
	<select id="hasChildByDeptId" parameterType="Long" resultType="int">
 | 
			
		||||
		select count(1) from sys_dept
 | 
			
		||||
		where del_flag = '0' and parent_id = #{deptId}
 | 
			
		||||
		where del_flag = '0' and parent_id = #{deptId} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult">
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult">
 | 
			
		||||
		<include refid="selectDictTypeVo"/>
 | 
			
		||||
		where dict_type = #{dictType}
 | 
			
		||||
		where dict_type = #{dictType} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<delete id="deleteDictTypeById" parameterType="Long">
 | 
			
		||||
 
 | 
			
		||||
@@ -118,7 +118,7 @@
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkMenuNameUnique" parameterType="SysMenu" resultMap="SysMenuResult">
 | 
			
		||||
		<include refid="selectMenuVo"/>
 | 
			
		||||
		where menu_name=#{menuName} and parent_id = #{parentId}
 | 
			
		||||
		where menu_name=#{menuName} and parent_id = #{parentId} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<update id="updateMenu" parameterType="SysMenu">
 | 
			
		||||
 
 | 
			
		||||
@@ -64,12 +64,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkPostNameUnique" parameterType="String" resultMap="SysPostResult">
 | 
			
		||||
		<include refid="selectPostVo"/>
 | 
			
		||||
		 where post_name=#{postName}
 | 
			
		||||
		 where post_name=#{postName} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkPostCodeUnique" parameterType="String" resultMap="SysPostResult">
 | 
			
		||||
		<include refid="selectPostVo"/>
 | 
			
		||||
		 where post_code=#{postCode}
 | 
			
		||||
		 where post_code=#{postCode} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<update id="updatePost" parameterType="SysPost">
 | 
			
		||||
 
 | 
			
		||||
@@ -80,12 +80,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult">
 | 
			
		||||
		<include refid="selectRoleVo"/>
 | 
			
		||||
		 where r.role_name=#{roleName}
 | 
			
		||||
		 where r.role_name=#{roleName} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult">
 | 
			
		||||
		<include refid="selectRoleVo"/>
 | 
			
		||||
		 where r.role_key=#{roleKey}
 | 
			
		||||
		 where r.role_key=#{roleKey} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
 	<insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	</resultMap>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkMenuExistRole" resultType="Integer">
 | 
			
		||||
	    select count(1) from sys_role_menu where menu_id = #{menuId}  
 | 
			
		||||
	    select count(1) from sys_role_menu where menu_id = #{menuId}
 | 
			
		||||
	</select>
 | 
			
		||||
 | 
			
		||||
	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
 | 
			
		||||
 
 | 
			
		||||
@@ -92,15 +92,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkUserNameUnique" parameterType="String" resultType="int">
 | 
			
		||||
		select count(1) from sys_user where user_name = #{userName}
 | 
			
		||||
		select count(1) from sys_user where user_name = #{userName} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
 | 
			
		||||
		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber}
 | 
			
		||||
		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 | 
			
		||||
		select user_id, email from sys_user where email = #{email}
 | 
			
		||||
		select user_id, email from sys_user where email = #{email} limit 1
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
 | 
			
		||||
 
 | 
			
		||||
@@ -32,17 +32,14 @@ service.interceptors.response.use(res => {
 | 
			
		||||
    // 获取错误信息
 | 
			
		||||
    const msg = errorCode[code] || res.data.msg || errorCode['default']
 | 
			
		||||
    if (code === 401) {
 | 
			
		||||
      MessageBox.confirm(
 | 
			
		||||
        '登录状态已过期,您可以继续留在该页面,或者重新登录',
 | 
			
		||||
        '系统提示',
 | 
			
		||||
        {
 | 
			
		||||
      MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
 | 
			
		||||
          confirmButtonText: '重新登录',
 | 
			
		||||
          cancelButtonText: '取消',
 | 
			
		||||
          type: 'warning'
 | 
			
		||||
        }
 | 
			
		||||
      ).then(() => {
 | 
			
		||||
        store.dispatch('LogOut').then(() => {
 | 
			
		||||
          location.reload() // 为了重新实例化vue-router对象 避免bug
 | 
			
		||||
          location.href = '/index';
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    } else if (code === 500) {
 | 
			
		||||
 
 | 
			
		||||
@@ -54,15 +54,12 @@ export function resetForm(refName) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 添加日期范围
 | 
			
		||||
export function addDateRange(params, dateRange) {
 | 
			
		||||
	var search = params;
 | 
			
		||||
	search.beginTime = "";
 | 
			
		||||
	search.endTime = "";
 | 
			
		||||
	if (null != dateRange && '' != dateRange) {
 | 
			
		||||
		search.beginTime = this.dateRange[0];
 | 
			
		||||
		search.endTime = this.dateRange[1];
 | 
			
		||||
export function addDateRange (params = {}, dateRange) {
 | 
			
		||||
	if (dateRange != null && dateRange !== '') {
 | 
			
		||||
	  params.beginTime = this.dateRange[0]
 | 
			
		||||
	  params.endTime = this.dateRange[1]
 | 
			
		||||
	}
 | 
			
		||||
	return search;
 | 
			
		||||
	return params
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 回显数据字典
 | 
			
		||||
@@ -83,8 +80,8 @@ export function selectDictLabels(datas, value, separator) {
 | 
			
		||||
	var currentSeparator = undefined === separator ? "," : separator;
 | 
			
		||||
	var temp = value.split(currentSeparator);
 | 
			
		||||
	Object.keys(value.split(currentSeparator)).some((val) => {
 | 
			
		||||
        Object.keys(datas).some((key) => {
 | 
			
		||||
            if (datas[key].dictValue == ('' + temp[val])) {
 | 
			
		||||
		Object.keys(datas).some((key) => {
 | 
			
		||||
			if (datas[key].dictValue == ('' + temp[val])) {
 | 
			
		||||
				actions.push(datas[key].dictLabel + currentSeparator);
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
@@ -146,4 +143,3 @@ export function handleTree(data, id, parentId, children, rootId) {
 | 
			
		||||
	});
 | 
			
		||||
	return treeData != '' ? treeData : data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user