Ver código fonte

Merge remote-tracking branch 'origin/master'

就是那个锅 4 anos atrás
pai
commit
d794edbc4e
14 arquivos alterados com 87 adições e 42 exclusões
  1. 1 1
      guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/factory/TreeBuildFactory.java
  2. 1 1
      guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/abs/BaseTreeNode.java
  3. 1 1
      guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/AntdBaseTreeNode.java
  4. 1 1
      guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/CommonBaseTreeNode.java
  5. 8 6
      guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/util/PoiUtil.java
  6. 4 1
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/config/properties/DruidProperties.java
  7. 1 1
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/core/aop/WrapperAop.java
  8. 3 13
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/service/impl/SysFileInfoServiceImpl.java
  9. 61 0
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/util/DownloadUtil.java
  10. 1 1
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/menu/entity/SysMenu.java
  11. 1 1
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/menu/node/MenuBaseTreeNode.java
  12. 4 3
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/timer/service/impl/HutoolTimerExeServiceImpl.java
  13. 0 1
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/user/controller/SysUserController.java
  14. 0 11
      guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/user/service/impl/SysUserServiceImpl.java

+ 1 - 1
guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/factory/TreeBuildFactory.java

@ -26,7 +26,7 @@ package cn.stylefeng.guns.core.factory;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.guns.core.pojo.node.abs.BaseTreeNode;
import cn.stylefeng.guns.core.pojo.base.node.BaseTreeNode;
import lombok.Data;
import java.util.ArrayList;

+ 1 - 1
guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/abs/BaseTreeNode.java

@ -22,7 +22,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns-separation
6.若您的项目无法满足以上几点,可申请商业授权,获取Guns商业授权许可,请在官网购买授权,地址为 https://www.stylefeng.cn
 */
package cn.stylefeng.guns.core.pojo.node.abs;
package cn.stylefeng.guns.core.pojo.base.node;
import java.util.List;

+ 1 - 1
guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/AntdBaseTreeNode.java

@ -24,7 +24,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
 */
package cn.stylefeng.guns.core.pojo.node;
import cn.stylefeng.guns.core.pojo.node.abs.BaseTreeNode;
import cn.stylefeng.guns.core.pojo.base.node.BaseTreeNode;
import lombok.Data;
import java.util.List;

+ 1 - 1
guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/pojo/node/CommonBaseTreeNode.java

@ -24,7 +24,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
 */
package cn.stylefeng.guns.core.pojo.node;
import cn.stylefeng.guns.core.pojo.node.abs.BaseTreeNode;
import cn.stylefeng.guns.core.pojo.base.node.BaseTreeNode;
import lombok.Data;
import java.util.List;

+ 8 - 6
guns-base-support/guns-core/src/main/java/cn/stylefeng/guns/core/util/PoiUtil.java

@ -30,6 +30,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.log.Log;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
@ -50,6 +51,8 @@ import java.util.List;
 */
public class PoiUtil {
    private static final Log log = Log.get();
    /**
     * 使用流的方式导出excel
     *
@ -60,7 +63,7 @@ public class PoiUtil {
     * @param pojoClass Excel实体类
     * @param data 要导出的数据集合
     */
    public static void exportExcelWithStream(String excelName, Class pojoClass, Collection data) {
    public static void exportExcelWithStream(String excelName, Class<?> pojoClass, Collection<?> data) {
        try {
            HttpServletResponse response = HttpServletUtil.getResponse();
            String fileName = URLEncoder.encode(excelName, "UTF-8");
@ -72,7 +75,7 @@ public class PoiUtil {
            workbook.write(outputStream);
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
            log.error(">>> 导出数据异常:{}", e.getMessage());
        }
    }
@ -97,7 +100,7 @@ public class PoiUtil {
            workbook.write(fos);
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
            log.error(">>> 导出数据异常:{}", e.getMessage());
        }
    }
@ -125,8 +128,7 @@ public class PoiUtil {
        try {
            list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);
        } catch (Exception e) {
            e.printStackTrace();
            log.error(">>> 导入数据异常:{}", e.getMessage());
        }
        return list;
    }
@ -153,7 +155,7 @@ public class PoiUtil {
        try {
            list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
        } catch (Exception e) {
            e.printStackTrace();
            log.error(">>> 导入数据异常:{}", e.getMessage());
        }
        return list;
    }

+ 4 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/config/properties/DruidProperties.java

@ -25,6 +25,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
 */
package cn.stylefeng.guns.sys.config.properties;
import cn.hutool.log.Log;
import cn.stylefeng.guns.sys.core.mybatis.dbid.DbIdEnum;
import com.alibaba.druid.pool.DruidDataSource;
import lombok.Data;
@ -42,6 +43,8 @@ import java.util.Properties;
@Data
public class DruidProperties {
    private static final Log log = Log.get();
    /**
     * oracle校验语句
     */
@ -131,7 +134,7 @@ public class DruidProperties {
        try {
            dataSource.setFilters(filters);
        } catch (SQLException e) {
            e.printStackTrace();
            log.error(">>> 数据库连接池初始化异常:{}", e.getMessage());
        }
    }

+ 1 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/core/aop/WrapperAop.java

@ -216,7 +216,7 @@ public class WrapperAop {
                originMap.putAll(incrementFieldsMap);
            }
        } catch (Exception e) {
            log.error(">>> 原始对象包装过程,字段转化异常", e);
            log.error(">>> 原始对象包装过程,字段转化异常:{}", e.getMessage());
            throw new ServiceException(WrapperExceptionEnum.TRANSFER_ERROR);
        }

+ 3 - 13
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/service/impl/SysFileInfoServiceImpl.java

@ -45,6 +45,7 @@ import cn.stylefeng.guns.sys.modular.file.mapper.SysFileInfoMapper;
import cn.stylefeng.guns.sys.modular.file.param.SysFileInfoParam;
import cn.stylefeng.guns.sys.modular.file.result.SysFileInfoResult;
import cn.stylefeng.guns.sys.modular.file.service.SysFileInfoService;
import cn.stylefeng.guns.sys.modular.file.util.DownloadUtil;
import cn.stylefeng.roses.file.FileOperator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@ -58,7 +59,6 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.List;
import static cn.stylefeng.guns.sys.config.FileConfig.DEFAULT_BUCKET;
@ -260,19 +260,9 @@ public class SysFileInfoServiceImpl extends ServiceImpl<SysFileInfoMapper, SysFi
    public void download(SysFileInfoParam sysFileInfoParam, HttpServletResponse response) {
        // 获取文件信息结果集
        SysFileInfoResult sysFileInfoResult = this.getFileInfoResult(sysFileInfoParam.getId());
        String fileName = sysFileInfoResult.getFileOriginName();
        byte[] fileBytes = sysFileInfoResult.getFileBytes();
        // 下载文件
        try {
            String fileName = URLEncoder.encode(sysFileInfoResult.getFileOriginName(), "UTF-8");
            response.reset();
            response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
            response.addHeader("Content-Length", "" + fileBytes.length);
            response.setContentType("application/octet-stream;charset=UTF-8");
            IoUtil.write(response.getOutputStream(), true, fileBytes);
        } catch (IOException e) {
            log.error(">>> 下载文件异常,请求号为:{},具体信息为:{}", RequestNoContext.get(), e.getMessage());
            throw new ServiceException(SysFileInfoExceptionEnum.DOWNLOAD_FILE_ERROR);
        }
        DownloadUtil.download(fileName, fileBytes, response);
    }
    /**

+ 61 - 0
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/file/util/DownloadUtil.java

@ -0,0 +1,61 @@
package cn.stylefeng.guns.sys.modular.file.util;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.log.Log;
import cn.stylefeng.guns.core.context.requestno.RequestNoContext;
import cn.stylefeng.guns.core.exception.ServiceException;
import cn.stylefeng.guns.sys.modular.file.enums.SysFileInfoExceptionEnum;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
/**
 * 文件下载工具类
 *
 * @author xuyuxiang
 * @date 2020/8/5 21:45
 */
public class DownloadUtil {
    private static final Log log = Log.get();
    public static void download( String fileName, byte[] fileBytes,HttpServletResponse response) {
        try {
            response.reset();
            response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
            response.addHeader("Content-Length", "" + fileBytes.length);
            response.setContentType("application/octet-stream;charset=UTF-8");
            IoUtil.write(response.getOutputStream(), true, fileBytes);
        } catch (IOException e) {
            log.error(">>> 下载文件异常,请求号为:{},具体信息为:{}", RequestNoContext.get(), e.getMessage());
            throw new ServiceException(SysFileInfoExceptionEnum.DOWNLOAD_FILE_ERROR);
        }
    }
    /**
     * 下载文件
     *
     * @param file 要下载的文件
     * @param response 相应
     * @author xuyuxiang
     * @date 2020/8/5 21:46
     */
    public static void download(File file, HttpServletResponse response) {
        // 获取文件字节
        byte[] fileBytes = FileUtil.readBytes(file);
        //获取文件名称
        String fileName;
        try {
            fileName = URLEncoder.encode(file.getName(), "UTF-8");
        } catch (UnsupportedEncodingException e) {
            log.error(">>> 下载文件异常,请求号为:{},具体信息为:{}", RequestNoContext.get(), e.getMessage());
            throw new ServiceException(SysFileInfoExceptionEnum.DOWNLOAD_FILE_ERROR);
        }
        //下载文件
        download(fileName, fileBytes, response);
    }
}

+ 1 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/menu/entity/SysMenu.java

@ -25,7 +25,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
package cn.stylefeng.guns.sys.modular.menu.entity;
import cn.stylefeng.guns.core.pojo.base.entity.BaseEntity;
import cn.stylefeng.guns.core.pojo.node.abs.BaseTreeNode;
import cn.stylefeng.guns.core.pojo.base.node.BaseTreeNode;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

+ 1 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/menu/node/MenuBaseTreeNode.java

@ -24,7 +24,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
 */
package cn.stylefeng.guns.sys.modular.menu.node;
import cn.stylefeng.guns.core.pojo.node.abs.BaseTreeNode;
import cn.stylefeng.guns.core.pojo.base.node.BaseTreeNode;
import lombok.Data;
import java.util.List;

+ 4 - 3
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/timer/service/impl/HutoolTimerExeServiceImpl.java

@ -28,14 +28,13 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.log.Log;
import cn.stylefeng.guns.core.exception.ServiceException;
import cn.stylefeng.guns.core.timer.TimerTaskRunner;
import cn.stylefeng.guns.sys.modular.timer.enums.exp.SysTimersExceptionEnum;
import cn.stylefeng.guns.sys.modular.timer.service.TimerExeService;
import org.springframework.stereotype.Service;
import static cn.stylefeng.guns.sys.modular.timer.enums.exp.SysTimersExceptionEnum.EXE_EMPTY_PARAM;
/**
 * hutool方式的定时任务执行
 *
@ -45,6 +44,8 @@ import static cn.stylefeng.guns.sys.modular.timer.enums.exp.SysTimersExceptionEn
@Service
public class HutoolTimerExeServiceImpl implements TimerExeService {
    private static final Log log = Log.get();
    @Override
    public void startTimer(String taskId, String cron, String className) {
@ -65,7 +66,7 @@ public class HutoolTimerExeServiceImpl implements TimerExeService {
                TimerTaskRunner timerTaskRunner = (TimerTaskRunner) SpringUtil.getBean(Class.forName(className));
                timerTaskRunner.action();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                log.error(">>> 任务执行异常:{}", e.getMessage());
            }
        };

+ 0 - 1
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/user/controller/SysUserController.java

@ -268,7 +268,6 @@ public class SysUserController {
     * @date 2020/7/3 13:17
     */
    @Permission
    @DataScope
    @GetMapping("/sysUser/selector")
    @BusinessLog(title = "系统用户_选择器", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData selector(SysUserParam sysUserParam) {

+ 0 - 11
guns-base-support/guns-system/src/main/java/cn/stylefeng/guns/sys/modular/user/service/impl/SysUserServiceImpl.java

@ -434,17 +434,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                queryWrapper.like("sys_user.name", sysUserParam.getName());
            }
        }
        //如果是超级管理员则获取所有用户,否则只获取其数据范围的用户
        boolean superAdmin = LoginContextHolder.me().isSuperAdmin();
        if (!superAdmin) {
            List<Long> dataScope = sysUserParam.getDataScope();
            if (ObjectUtil.isEmpty(dataScope)) {
                return CollectionUtil.newArrayList();
            } else {
                Set<Long> dataScopeSet = CollectionUtil.newHashSet(dataScope);
                queryWrapper.in("sys_emp.org_id", dataScopeSet);
            }
        }
        //查询非删除状态,排除超级管理员
        queryWrapper.ne("sys_user.status", CommonStatusEnum.DELETED.getCode())
                .ne("sys_user.admin_type", AdminTypeEnum.SUPER_ADMIN.getCode());