java吧 关注:1,246,196贴子:12,725,653

求助,要打造个公司全平台的离线导出服务。

只看楼主收藏回复

公司新开发系统,对于所有客户的导出任务,要开发一个平台级别的导出任务中心。
现在明确技术方向是springboot+ easyExcel, 没有合并单元格的特殊操作等
现在的问题是
1、公司所有部门的导出都在这个一个服务,每个部门的每种情况导出,要写的实现类太多了,类爆炸这个问题怎么解决。业务不用,没法做抽象。
2、导出时各个业务数据都是在mongo从库中拉取,不影响主库查询,那么从mongo查出来的数据是就用json处理好还是转换成实体好,各有什么好处
3、像一些特殊情况,比如每年年底,客户肯定会导出当年所有的数据做分析,数据量大,负载上去了 ,服务的线程池的线程怎么做实时的调整,应对高峰导出


1楼2022-09-29 10:04回复
    顶一下 谢谢


    2楼2022-09-29 10:12
    收起回复
      再顶下,有大佬给个建议吗


      4楼2022-09-29 10:27
      回复
        再顶下


        5楼2022-09-29 11:14
        回复
          我不知道


          IP属地:浙江来自iPhone客户端6楼2022-09-29 11:40
          收起回复
            1. 策略模式


            IP属地:四川来自Android客户端7楼2022-09-29 11:42
            收起回复
              集成业务方数据源,让业务方提供导出sql和字段,或者约定导出模板,提供API或者sdk


              IP属地:江苏来自Android客户端8楼2022-09-29 11:42
              回复
                做队列。用户点导出,只是触发一个导出任务,然后排队生成导出的文件,生成完之后提示客户去下载。


                IP属地:广东来自iPhone客户端9楼2022-09-29 11:44
                收起回复
                  没有太明白1,能不能具体举例说明一下


                  IP属地:四川来自Android客户端11楼2022-09-29 11:49
                  收起回复
                    提供数据的录入功能和数据的导出功能即可。至于数据什么样的,由各部门自己提供数据录入到你的录入功能,反正他想要啥的他自己就提供啥样的就行。


                    IP属地:四川来自Android客户端12楼2022-09-29 12:00
                    回复
                      可以由前端实现,服务器就不会有压力了


                      IP属地:广东来自Android客户端13楼2022-09-29 12:10
                      收起回复
                        很多系统都有统一的导出接口啊!自动获取表单页面的查询结果统一导出不就行了。如果有对导出内容的个性化需求,给一套配置方案就解决了。这个配置即能导出还能导入还能关联文档模板,关联导出导入的字段配置。字段配置支持多种取值方式啥的~这个配置不拘泥于你使用的框架是easyExcel还是poi什么的。我们公司就是这么干的,网上或许也有类似开源框架吧!


                        IP属地:北京来自Android客户端14楼2022-09-29 12:20
                        收起回复
                          自定义列就行看一下源码里面有


                          IP属地:上海来自Android客户端15楼2022-09-29 12:27
                          回复
                            数量负载大的 用多线程分表导出 应该可行


                            IP属地:浙江来自Android客户端16楼2022-09-29 12:51
                            回复
                              大佬们,其实最想问下第二条,我数据源有mysql和mongo,从数据库里查出来的数据是直接用json处理,还是再写个实体类转成实体在做处理呢 ,针对数据库数据源这块


                              17楼2022-09-29 14:23
                              收起回复