Java需求分析:根据时间筛选列表

Java需求分析:根据时间筛选列表,第1张

我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得我的文章不错,记得一键三连,感谢~

文章目录
  • 前言
  • 分析
  • 实践
    • 代码展示:
    • 其它时间的演示

前言
  • 在日常开发当中我们经常碰到这种根据前端传进来的时间,进行数据筛选的需求。下面就讲一下这种碰到这种需求应该如何分析,如果有小伙伴有更优雅的代码也还可以进行探讨和分享。
分析
  • 上面我换了一个简单的原型概念图,可以大概参考一下。一般我们看到这中需求时是很直观的,就是一个简单的查询。只要根据前端传进来的时间我们后台数据进行处理筛选即可,但是,具体的传参 type 我们后台可以自己进行定义。
实践
  • 下面的代码我们可以进行一个简单的封装,毕竟这种时间筛选在项目中或者单个模块中都是可以进行通用的,没必要每个方法都写一个,防止代码冗余。
代码展示:
  • 这里我会演示两种时间:由于我这个项目使用的是:LocalDateTime 时间,DateUtil 也会演示
  • 我们只要将我上图原型中的时间,进行 :1 2 3…type定义,然后前端传哪个我们就去做哪个数据的处理
  /**
     * 筛选时间处理
     *
     * @param timeType
     * @return
     */
    public LocalDateTime timeHandling(Integer timeType) {
        LocalDateTime time = null;
        switch (timeType) {
            case 1:
                //一分钟
                time = LocalDateTime.now().minusMinutes(1);
                break;
            case 2:
                //一个小时
                time = LocalDateTime.now().minusHours(1);
                break;
            case 3:
                //一天
                time = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
                break;
            case 4:
                //一周
                time = LocalDateTime.now().minusWeeks(1);
                break;
            case 5:
                //一个月
                time = LocalDateTime.now().minusMonths(1);
                break;
            case 6:
                //三个月
                time = LocalDateTime.now().minusMonths(3);
                break;
            default:
        }
        return time;
    }
  • 将上面封装的方法进行实际运用,先进行时间处理,然后再讲处理好的时间带入到具体的查询中,由于我这里使用的 Mybatis-Plus,没用过的同学可以去官网了解一下:https://baomidou.com
  • 上图中的那个:开始时间——结束时间的查询也是很简单,我们只需要在入参中加入【开始时间和结束时间的参数即可】

其它时间的演示
  • 这里我只展示封装的方法,具体嵌入到业务中的方式跟上面是一样的
  • Hutool官网:https://hutool.cn/,如果你们公司没有强制限制其实这个工具是非常不错的

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/730601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存