00:00
好,然下边我们就准备这样了,把我们这个EX插件用到咱们这个查看交易统计图表,你知道这个地方来,那根据咱们的需求,应该这样的,用户在这个地方他想查看交易统计图表,他应该是个领导,这给管理层来用的,他想查看交易表中的各个阶段数据量,他就点这个地方用吧,他就点这个菜单,一点这个菜单再看吗?是不是他要在这个这个这个交易统计图表这个页面应该在这个打开了,跳转那了。跳转完这个,这个页面在这打开了,那打开的时候我们就要在上面显示这个漏斗图了,显示漏斗图就那三步,引入开发包,创建容器,这都好办,然后呢,对容器,当容器加载完之后,对容器调用共享函数,那当容当这个页面在这,大家看在这个显示的时候,在这个显示的时候。然后呢,当这个页面,那么容器加载完调公具函数,这个调公具函数应该在哪调。
01:06
应该在哪个地方钓?那有同学说不是在入口行里边掉吗?在入口行边掉是不是一定要在入口行里边掉的,对,因为这样的容器才能加走啊,是不是这个意思,但我现在问一下,他能不能说这个页面刚一加载完,在入口函数里边就直接调这个入口,就直接调这个工具函数,能不能直接调它。是不是不能啊,为什么不能?能不能在入行时直接掉不能,为啥不能?因为一掉工具函数得需要啥呀?容器已经加载完了,得需要这样数据,这个数据只能查出来之后,并且以这种什么这种格式的形式返回,返回之后是不是你才能调工具函数啊,如果你这些数据都没有,你调工具函数它怎么显示显示出了,所以说大概我们这个流程真正做的时候应该怎么着一点它这个页面在这跳转到这这个页面一加载完,应该应该在入行应该干什么,请对向后台发请求。
02:17
发同步的还是异步的异步,然后到后台把交易表中各个阶段名称以及出台各个阶段数据量查出来,以它需要那种什么中括号那种接线字符转的形式返回,返回到之后是不是在那个阿贾克的入口函,这是这个回调函数里边来调工具函数,这样行了,大家能明白这意思不就说就这意思知吧。所以这是我们刚才说的这个流程,所以下边我们就设计这个流程,下我们来设计这个流程,那设计流程下边我们来画最后一个流程叫交易统计图表,然后呢,这个地方来最后一个这个是查看,叫交易统计图表,查看交易。
03:04
统计图表知道吧,然后呢,把它双击打开,下边我们发出流程,这个流程一开始我说所有流程都是从客户端发起的,那这个地方来个客户端,客户端如何发起,根据咱们刚才这个需求说了,那用户想查看交易统计图表,是不是他得点这个菜单啊,然后在工作区中来显示交易统计表页面,知道吧,所以他发起流程就是用户点击交易统计图表菜单,知道吧,从这来发起,这个地方用户点击,用户点击点击什么点击交易统计图表,统计图表这个是菜单,他一点菜单,大家看发生什么事。一点这个地方对是不是跳转到交易图表,统计图表那个GSP页面啊,那个页面我们说我们所有的页面都在外部页份里边,不能直接跳整,是不是得经过CTRLL,所以这个地方对经过一个CTRL了,所以这个地方来它应该向这个CTRLL发一个请求,这个CTRL新创建成L,还是在原来CTRL基础上加方法,对是不是新创建了,因为它这个页面在哪呢?这个页面在这呢?
04:21
交易通沃克奔驰下边那一个叫查看吧,然后呢,这个页面在这。按理说,你得建一个transaction chart control。当然我们说还有别的就统计的,那怎么办呢?所以每一个统计的时候,它只有每一个统计,是不是只需要一个CTRL就行了啊,所以说每一个如果是每一个这个目录都创建CTRL类,CTRL类太多了,那怎么了,我准备这对这个这个插的这个目录建一个CTRL叫插的CTRL,所有统计图表的这些什么CTRL请求都交给他来处理,所以我这个地方准备创建一个叫chart CTR。来一个叫叉,然后他拼出了,然后呢,向他发一个请求,向他发一个请求,然然后呢,大家看我们这个地方说他一点那个菜单,向他发一请,发一个跳转的请求,跳转请求,那大家看这个请求同步都是义务的。
05:17
对跳转页面是不是同步的,对同步请求,同步请求同步请求需要提交参数吗?对,只是跳转过去,没有什么,不需要别的处理了,不需要参数,然后呢,直接防伪请求了,CTRLL接锁请求之后没有参数,不用获取也不用封装,那是不是直接跳转了,直接跳转页面就行了,跳转哪跳转交易统计图表的页面,交易统计图表页面是谁呀?就这个inex.GSP直接跳转到它行了,跳转哪儿跳转这个。叫transaction,下边叫index,叫JP,知道吧,好,这是交易统计图标,一方直接跳转它去,然后呢,直接跳转过就行了,这个地方来跳转过去,然后呢,直接跳转过去。
06:05
调转那跳人这个GP,我们说接收到跳转的请求,他都没有给他传参数,不用获取,那不用用E点是什么获取数据渲染不用是不是直接运行就行了,直接运行,把运行的结果往外返进行返回,哪谁发的请求返回谁浏览器发的请求,直接把一个网页运行过了之后返回就行了,这个是响应,这个响应响应信息是个什么样的信息。那你看强大法挺牛是吧,同步型有浏览器发的,对浏览器能写的出去,网右A下面网右。那么从技术角度来讲的话,这个响应信息是GSP访回的,GSP里边的结果就是网页,那么这个网页我说浏览器拿到网页之后,浏览器最擅长的下文网页,那浏览器在工作区中来显示这个网页就行了,然后呢,这个地方来,浏览器在工作区中在显示交易统计图表。
07:13
页面啊,但是他在现在显示这个页面是不是这个空的啥也没有,那你说这个,那你说看这报表了,报表还没调工具插件呢,工具函数他没有,那什么时候调工具,那个工具函数对加载完了之后,是不是先查数据啊,查不来数据再调是吗?所以说那这个地方当页面加载完,马上就向后台发警局去查数据了,所以那这个地方去查了,然后呢,这个地方来一个叫什么,这个地方来什么,当页面加载完,当页面加载完成,然后呢,向后台发送请求,发送查询数据的请求,页面已加载,想获得发警,那你后台是不是要提供屏证来处理了。后台进后台进CTRL是不是就这个CTRLL叫差的CTRLL,然后呢,这个地方来一个叫差CTRLL,然后呢,这个地方艾特他这样就行了,好,然后呢,向他发一个请求就行了。
08:14
发一个叫查询的请求,查询交易表中各阶段数据量,那这个请求来看是不是异步的,对异步的,因为它返回响应信息是那个阶分,那异步行求需要需要什么参数。不需要是吧,查询交易表所有数据,各个阶段数据量,所以不需要参数,所以呢,直接发个义务请求,然后呢,这个CTRL接到请求之后呢,没有参数,不用获取,不用分号,下面它是不是要查数据了,查数据掉service。那掉三位则掉谁的三位则。对调交易的service,然后调一个叫串三省service。然后呢,在交易的service数加一个方法,这个方法是干什么?去查询交易表中各个阶段的数据量以及阶段的名字知道吗?所以那这个我就直接建明之义的来命名这个函数了,这个函数我就叫query,叫什么?叫count交易表中各个阶段数据量吧,Count off叫transaction,这是查询交易表中所有的数据量,各个阶段的数据量吧,是不是得分一下组啊?
09:29
对,以什么各个阶段为组为单位来统计这个数量叫以组为单位来统计数量叫葛入腐败叫什么?对stage根据阶段分组查交易表中的各个阶段数据量,然后呢,这是函数,没有参数,不用,不用串参数,这是这个函数。好,那这个什么service,它要访问数据库,它不能直接访问数据库,它得调map,所以在这个地方来调这个map。调一个map,然后呢这个地方来一个TRANS3个,然后呢map,然后呢在这个map里边也得加一个方法。
10:07
然后呢,这个方法也是查询交易表中各个阶段数据量,那我叫什么select数据量,Comp of,然后呢,Transaction非组group by,然后呢,然后呢,这样就行了。然后呢,在这个什么map里边,就可以通过MY8去访问数据库,执行搜索句,执行搜Q语区域,其实你涉及到这这个搜索机,大概你就能想象一下这个骚帚仪什么样子了。然后呢,查询我交易表中各个阶段的数据量占了。然后查询完之后,把查询的结果往回返。没法。那往外反,那这么大概返回值,返问什么类型的。对,那查询交易表中各个阶段的数据量,那各个交易数量,交易表中有几个阶段是不是就查出来几,查出来几个数据量啊,那几个数据量和那个阶段名字是不是拼在一起,封装在一起返回啊,封装一起返回是吧?那什么那什么,那每一个阶段的名字和它对应的那个数据量。
11:25
封装到一起,封装成什么,封装成什么,对封装成什么,加我对象就行了,什么加入对象卖部也可以,实体类对象可不可以啊,也可以是吧,也可以,所以我们可以创建一个实体类对象,创建个实体类,这个实体类又是咱们上次给家说的这个实体在数据库表里边没有相对应的表,但是它是为了干什么,就是为了接收这种数据的查询结果的,接收到之后还要什么将来转成我们所要的种接近字符串是不是这样的,这样这这种实体类,所以我们可以创建一个实体类,什么样的实体类,这种实体类一会我们创建个实体类,哪一个实体,实体类名字你随便起了,我就叫final VO这一个实体类,然后呢,它里边要提供属性,提供这个属性干什么就来什么,僧装阶段的名字和这个阶段对应的属据量,那它有两属性,哪俩属性名分别叫什么?
12:26
对name那一个是字符串的,然后呢,字符串的name,这叫阶段的名字,那还有一个什么,对int这叫什么叫private,然后呢,In来一个什么名字叫什么,能不能随便写这个名字。和前端对,将来你是不是得把它转化成什么,转化成我们所需要的这种接线轴串啊,那它的一个对象是不是就转换成这么一个阶段流,那它的属性一个是这个保存阶段流字,一个是什么Y流,所以这个地方叫Y流,所以这都是大家我们说根据它这个需求设计出来,当然还有GET3的方法,我就不写了,知道吧,所以大看每查询了一个阶段,以及它对应的那个什么数据量,是不是就封装这么一个对象啊,叫final VO的一个对象。
13:25
那有多个阶段,那应该服装是什么意思?这样的话就行了,这final VO的一个例子就为什么要设计这个final VO,就是将来我要把它转成我们插件所需要那种阶层,自串知道吧。所以这些都是有原因的是吧,但你说老师你怎么知道转到那个监测所,还是插件需要吗?还是我读插件,插件需要我后台他需要什么格式的数据,我就得把我的数据转成什么格式,那转成什么格式,怎么转方便我查的时候就怎么查,知道吧。所以这是我们这些都是大家我们说这些程序员分析的,说程序员看到时在公司里边坐着是吧,也风吹不着,然后太阳也晒不着,是但是呢,累累为啥累,这些事都是你得你得操心想啊,你不操心想谁给你想啊。
14:18
啊,所以这些都是你操心想的啊,所以挺累的,所以这事我们当然我们说也没有那个,但你要说这些情况你越做越多了,他就没那么累了啊,也不用害怕。啊这些啊啊,你要说越不会那那那种那确实很累了是吧,这个东西所以还是这样,你只要种有经验有能力了,做熟练了,它就没有那么累了啊好,然后呢,把这个什么Le的往回返返回controller这个地方,来个叫final VO。List,这是我们这样,然后呢,这个CT就拿到这个list色交这个list时就封装了交易表中各个阶段名字,以及这个阶段的数据量。
15:08
然后拿到这个数据了,是下一步它的第三个职责,根据查询结果生成相应信息,根据查询结果,查询结果然后呢,生成响应信息,响应信息,响应信息,然后把这个响应信息返回到我们的前台,返回到这来,然后呢这个是个响应。响应,那大家看看这个响应信息是什么样的信息,对,就是阶层,哪一个阶层把它转的阶层,把它转成阶层,转成什么样的阶层,数独,数独里边每一个元素对象,对象里边name对,然后呢,Value知道吧,有多个,那就是多个name阶段的名字,然后呢,Value这个处在这个阶段的数据量有多少个,然后就查询了多少个。
16:10
对,然后把这个杰森返回到前台。这个阶段就是谁啊,就是这个come。对,这是我们设计好的,就这个,然后他就返回到前台了,那他返回到前台,然后怎么了?对解析建在下面,其实这个解析键不需要你解析,你只需要把它给谁啊对给E叉S的那个什么这个工具函数是不是就可以了,那前台拿到之后,调用前面函数,调用调用E叉的工具函数,工具函数然后呢,把什么把什么杰森字符串,然后赋值给他吧,知赋值,那么赋值给那吗?啊给他这个参给给那个data塔那个参数就行了,就给谁就给这个地方就给这个地方就行了。这样的话,剩下的就他插件来干了,插件拿到你的数据,根据你的数据显示一个漏斗图,知道吧,这样的话,那插件我们说这个地方,那E叉根据我们的数据显示漏斗图,E叉这样呢,根据数据数据来显示啊,显示漏斗图。
17:21
这样我们整个功能就断了,知道吧。这是我们这个流程。
我来说两句