若依文件下载路径修改 & 定时任务报错

2021/10/14 周四
本人菜鸟一枚,也是刚刚开始进行基于若依的二次开发,如果有错误或者更好的实现方法,欢迎在评论区交流,十分感谢!

一、下载路径修改-添加日期

需求是这样的,每天定时生成Excel文件,使用的是ExcelUtil生成,它的生成方法 exportExcel() 里调用了 getAbsoluteFile(String filename) 获取下载路径,由获取配置路径RuoYiConfig.getDownloadPath() 和编码过的文件名filename组成:
获取下载路径

因为若依配置的下载路径是D:\ruoyi\uploadPath\download,我这每天就要生成十几个文件,全放在这里面太多了
uploadPath\download
于是就想区分一下,比如文件夹再按日期细分。

改配置类怕影响之后其他模块,而文件名是UUID+原文件名的形式,不好在原文件名参数上加上路径,于是就直接拼接在了这个方法里,把1035行改成:

String downloadPath = RuoYiConfig.getDownloadPath() + DateUtils.datePath() + "/" + filename;

DateUtils是时间工具类,其中 datePath() 方法可以获取今天的日期路径:
获取日期路径

这样再生成的Excel就会放在对应日期的文件夹里了:
日期路径文件夹

另外,我是把每天生成的文件信息(路径、文件名、生成日期等)存到数据库,方便前台查看,差点忘了在这一步的路径里也加上DateUtils.datePath()。

二、若依定时任务找不到方法NoSuchMethodException

在使用若依定时任务时,还遇到一个小错,明明Bean也注入了,方法名也检查了,就是找不到方法。百度搜到的都是关于NoSuchBeanDefinitionException找不到Bean的,不是我这个问题。

后来再多看几遍,发现是参数的原因,我习惯性地用了int,而若依给的例子里用的是包装类Integer
若依定时任务参数
我把int改成Integer就可以了。

以及还要注意,在前台设置定时任务时,整型就不要加双引号了,否则会报数字转换异常。
定时任务设置

Logo

快速构建 Web 应用程序

更多推荐