00:04
好了,我们还是来接着做我们这个导出市场活动,那我们上课给大家,从这种技术上来讲,把这个导出市场活动所需要的这些技术,我们给大家讲了。那技术不存在障碍了,那后边写代码就比较好写,做做的话就比较好做了,知道吗?导出市场活动,那下边呢,我们这样技术解决了呢,下边我们来分析一下,看看如何去做它,把这个流程组织一下,然后剩下就写代码了,好下边我们来这个来简单设计一下,那设计的话,这样我们还是简单画一个流程图知道吧,然后呢,这个地方来这一个画一个流程图,这个我们要批量导出市场活动,批量导出市场活动知道,然后呢,把双击打开,下边来画这个流程图知道。好,我们说所有流程都从客户端发起的,那导出肯定也是从客端发起的,那我们说第一个环节永远是客户端,这都来一个客户端懂吧懂,那客户端如何发起我们需求说的很明白了,你看大家我们这个需求说了导出市场活动懂吗?用户在市场活动主页面,他就直接点这个按钮,叫用户点击批量导出按钮,用户他想脱离系统拿到我们的数据,然后呢,他就是他就这个点击,点击这个导出按钮,他就点击批量导出按钮啊,批量批量导出这么一个按钮啊,是点这个按钮是吧,他一点这个按钮,大家看发生了什么事,你看一点它是不是向后台要发文件下载的请求,或者要导出的请求了,知道吧,他向后台发请求了就问。
01:54
为什么向后台发请求,因为数据都在后台的,那你要到后台去查,去查完之后呢,你才能给他返回,他想拿到这些数据,所以我们必须向后台发请求了,那向后台发请求,那么后台必须提供CTRL了。
02:09
来接收并且处理这个请求知道吗?所以大家这些都是需求推动的工作,那这个CTRL呢,是新创建CTRL呢,还是在以前CTRL基础上加方法,对,是不是加方法了?对,加方法,因为响应信息回来之后还是回到这个页面上了,那这个页面所占的那个路径,那一个什么资源目录还是activity那个资源目录,所以我们说一个资源目录,那么对应一个什么control,所以我们还是那个control activity。Activity,然后呢,这个是CTR在这里边加一个方法,加一个方法来接收这个导出的请求,所以呢,这个地方向他发一个请求,那这个请求我们这个来一个叫导出的请求啊,导出请求。啊,导出请求,那大家想想这个什么这个什么,这个发一个导出请知道吗?然后大家想想这个请求是同步的还是义务的。
03:07
对同步的要下载文件了,所以这个时候同步请求同步进求我们说虽然它是什么啊,虽然这个虽然他不刷新整个页面,我们这个地方也是发同步群,因为它是文件下载了,它下载文件这个情况,那同步请求需要提交参数吗?对,那你看CTRLL需要参数吗?CTRL需要L,咱们你看CTRL干什么事,CTRLL我们说他要什么,他要做这些事,到这个我们前面已经分析好了,到数据库里边查询所有的数据,查所有的数据,那就不需要查询条件,不需要参数,然后呢,查完之后生成Excel文件,把数据写着也不需要,然后呢,往外输出也不需要,所以后台ctrler干这些事呢,都不需要参,不需要参数,你就别传了,传过去它也不用,除了影响效率知然后呢,这个ctrller接到请求之后呢,那他的三个职责,第一个接触性有参数,收集参数,那他没有,不用收集了,更不用碰装了,这是第一个职责就完成了下边第二个职责,那要处么处理业务了,处理个业务干什么?对我们这个地方,他要走出所有的市场活动,那你要把所有的市场活动都得查出来了。
04:20
所以要查询所有的市场活动了,所以查市场活动,那我们说C不能直接调调service知道吧,所以我们这个地方调了一个service,那查市场活动,调市场活动service,艾配service,然后呢,在这个service里边加一个方法,这个方法干什么?就是查询所有的市场活动。那查询所有的市场活动,这个地方我们来设计一个方法,这个方法名我就直接写了啊建明,注意查询所有的市场活动,那就query or activityiv query这个是个or s,查询所有的负数知道吧,然后呢,这是个方法,没有参数,不用查,直接调过来就行了。那这个service我们说他要到数据库里去查所有的市场数,那查的话它自他不能直接访问对物,它得调map,那调查市场活动,调市场活动map,艾克特map,然后呢,在这个map里边也得加一个方法,这个地方加过来一个方法。
05:24
然后这个方法也是查询所有的数轴市场活动,叫select o,然后呢,我们这个地方买,然后呢查询所有的,然后呢这个map,那么他就可以通过my body去访问数据库,执行SQL语句,执行circleql语句来查询所有的,然后呢市场活动,市场活动,然后查询完了之后,把查询的结果往回返,那往后传这个地方查询所有的市场活动,那每一个市场活动我们分装一个实体类对象,那所有的市场活动那就多条,多条那就是例子。
06:03
然后把list往回翻是吧,把list往回翻,然后呢,这个地方艾特别离知道吗。那这样的话,大家把所有的数据都查出来了,所有数据市场活动都查出来了,然后大家看CTRL干什么呢。那根据我们的设计,那我们说要把这些数据都返回了,为什么用户就想拿到这些数据啊。那要返回到,那你得生成响应信息,生成什么样的响应信息,这个东西其实跟以前不一样了,以前用户要么拿一个什么想拿到一个页面H前面网页,要么想拿一个接字符串,现在什么现在还是什么要拿一个Excel文件了,所以你在这里边得干什么,这个地方得生成一个Excel文件,然后呢,把你这些数据写到Excel文件里边。知道吗?然后写到Excel文件,然后把Excel文件返回就行了,其实这个道理上跟大家我们以前讲的一样,道理跟以前讲的一样,所以说呢,那只不过它是做法不一样了,其实这个地方就是这,我们这个地方,这个地方就是这,然后呢,在这个查出来所有数据之后,创建一个Excel文件,并且把我们这些数据查出来,数据全写到里边去,所以我们这个地方来,这都是在肯多里边的作用,然后呢,这个其实大概总的而言啊,就是一个什么,根据查询结果,根据查询结果,然后呢,生成响应信息,生成一个响应信息。
07:29
跟我们以前讲的一样,那只不过做法上跟以前稍微不太一样,以前都是要么返回一个网页,知道吧,要么返回一个HT猫网页,要么返回一个接字符串,那么现在呢,这个地方大纲现在呢是以Excel文件的形式返回了。所以它这个响应信息是个Excel文件了,所以我们这个地方是其实就是创建一个Excel文件。创建一个Excel文件,然后呢,并且并且把把什么把activity list查出来的这些数据list,然后写到写入到,然后呢,Excel文件中,文件中,那么这个Excel文件将来就是响应信息,看那如何创建,就是用我们的,就是用我们的这个,就是用我们的这个。
08:22
阿帕奇的POI这种插件。其实这种作用跟我们以前一样,就是把我们查询的数据以Excel文件的形式返回,知道吧,就是做出响应信息嘛,知然后呢,这个地方往回生成Excel文件之后往回返,然后呢,这个是个响应,这个是个响应知道吗?那这个响应信息就跟以前都不一样了,以前要么是接存字串,要么是个ext网页,现在它这个是个Excel文件是吧?那是个Excel文件,那大家返回的时候也不一样了,怎么不一样了,以前返回网页的时候,直接return跳转一个网页就行了,把那网页资源路径返回就了,然后呢,返回接字符串的时,把你的数据分成一个加构对象,里边一准串自动生成加构对象返回了,那么现在呢,是个Excel文件了,你得通过流,然后往外输出这个Excel文件了,所以这个地方要用到文件下载,其实就有个文件下载的一个过程。
09:22
那这个过程文件下载,其实大家看就是反应返回响应信息,就这么个过程,就这样做的,给我们以前一样,就是道理大家看跟以前一样,就是做法上稍微麻烦了一点知道吧。然后前台拿到之后,那前台拿到这个响应信息之后,那我们这个地方那怎么处理了,那响应信息之后,那前台怎么返回一个Excel文件,那前台拿到之后呢,谁拿到同对浏览器拿到同步前浏览器发到浏览器拿到浏览器拿到响应信息之后呢,会激活文件下的窗口,就浏览器,浏览器激活或者叫弹出对文件下载窗口,文件下载窗口,那他为什么,他为什么弹出这个文件下的窗口,因为我们在后台设置了响应头信息,他能打开也不让他打开,就直接激活那个文件下的口。
10:15
你不管返回什么,你即使返回网页,你只要设置那个响应投信息也不给你打开,他也也让你保存网页,知道吗?你即使返回的是JSP访问A前面网页,他也不给你打开了,知道吧,他就激活文件下的登录,那激活完了之后,用户就可以选择保存的目录,然后完成导出市场中的目录,所以我们这个地方大个用户选择啊选择,然后呢,保存到目录保存的目录,然后完成完成导出啊说叫批量导出,批量导出然后呢,市场活动的啊功能啊这种啊,当然我们现在在着浏览器都不让你选保存哪个目录里边吧,啊当然你反正你装浏览器了,你你设置好了已经知道吧,但如果我没事,你没事,它默认一个目录知吧,当然那个目录你还可以改,知道吧,好,这时候我们整个这个流程我们就设计好了,知道吗?导出市场就这么一个流程。
11:14
对下边怎么写的网络。
我来说两句