00:00
做完之后呢,下边我们就可以做查看交易明细了,要查看交易明细了,那做它的话,首先我们还是简单分析一下,画一下我们这个流程图,这是倒数第二个流程图了,这再来。查看交易明细,下边我们做好了,来查看交易明细,查看交易明细,然后呢,把它双击打开,来画这个流程图,然后呢,画这个流程图下面我们说所有流程都是从客户端发起的,所以我说客户端,客户端如何发起,根据他这个需求说了,说用户在查看交易明细的时候,在查看交易主页面的时候,发现某一个交易他感兴趣,他就点这个超级链接,跟我们以前一样,就用户点击交易名称的超级链接,知道吧,所以我们这个地方来画一下,用户点击,用户点击交易名称,它是个超级链接,超级链接知道吗?在哪点击在交易的主页面,在交易的主页面点击那个超级链接,一点超级链接,大家看发生什么事一点它。
01:12
是不是跳转到交易明细页面了,对跳转好,跳转里边数据是不是先查出来,对先查出来,所以说他是这样啊,是这样,他一点这个条件应该向后台发进流,后台有个CTRL接触到,接触到之后干什么?两件事,第一个把那些数据都查出来,第二个跳转页面知道吧,所以跟我们以前一样吧,知道吧,所以大概他一点出超距离,后台提供一个肯多R。那提CTRL查看交易的明细,那肯定是交易的CTRL,所以我们这个地方来一个交易的CTRL,在这个CTRL里边加一个方法一访问,它要跳转到交易的明细页面,所以我们这个地方他一点这个超级链接,向他发一个请求,发一个叫查看请求,那根据我们以前的经验来看,这个请求是同步的还是异步的,对同步的,因为它整个窗口都变了,所以是个同步请求,同步请求需要提高什么参数?
02:11
对,那你看他需要什么参数,他需要什么参数,对,你看他干什么时查基交易的基本信息,查该交易下所有备注信息,查该交易下所有的历史信息,但查这些信息是不是都得需要谁啊?对交易的ID,然后跳转页面不需要,所以我们这个地方他后台只需要一个ID,所以我们只向后台传一个ID就行。这个然后呢,这个地方我们按照发过来就请求了,所以这都是根据需求来的,然后呢,那这个CTRL接收到请求之后呢,他的三个职责,第一个接收请求有参数获取参数,那怎么获取,通过行参获取只有一个参数,不用封装,它的第一个职责就完成了,下边第二个职责,第二职责处理业务,处理业务就是处理数据,处理什么数据,就是查那三个数据。
03:02
基本信息,备注信息,历史信息,那有老话图标图标,我们最后说的图标图标最麻烦是吧,我最后说的图标其实大概我们说先查这三个信息,那查这三个信息,那时他什么查这三个都得吊相应的service。那调相应service词那一个一个调吧,首先查基本信息,那要什么,那要调它的交易的service了,因为它要查交易表里边的基本信息,所以要调交易的特殊字查三特别在这里边加一个方法,这个方法干什么,根据ID来什么来查询交易的明细信息,所以我们这时候加个方法,这个方法我就直接写了叫query transaction,然后呢,For detail明细信息话,然后呢BY交易的ID,然后在这边传一个ID,知道吧。然后呢他去调map去,所以这些都是以前写过很写过几遍了已经,然后呢这个地方来个transaction map,然后呢在这个map里边加一个方法,然后这个service调过来,这个方法也是根据ID查询交易的名义信息,Select,然后呢transaction,然后呢这个是for给Q,然后呢by ID这里边传了一个ID知道。
04:17
然后呢,这个map说它就可以通过MY8去访问数据库,执行搜索去执行搜索,去执行搜索去来查询,那么查询交易的明细信息知道吧,然后呢,查询完了之后,把查询的结果往发。那查询的结果,我们说返回什么类型的。根据ID长,ID是唯一的,如果能查出来只有一条记录,那只有一条记录,我们封装有实力微笑。它不可能是个list,然后把实体的对象继续往后翻,返回给K,这是一个实体的对象,知道吧?好,这是基本信息,查找下边查备注信息,查谁的备注,交易的备注那叫交易备注的service词,所以我们这个再加过来一个交易备注的service词,叫交易备注叫remark,然后呢,Service service,然后呢,在这个service里边加一个方法,这个方法就是根据交易的ID查询该交易啊所有备注的明细信息,所以这个地方来加我一个方法,那这个方法我就直接设计了这个地方查询的宽软,查询什么交易的备注,备注,然后呢,在明细页面上展示for给Q,根据什么去乘交易的ID,知道,然后呢,在这我传一个交易的ID,这样就行了。
05:39
然后呢,他就调map去,所以这个地方调了map,调谁的map,交易备注的map,所以我们这个地方来个交易备注交易mark remark,然后呢,这个地方来个Apple,然后呢,大家在这里边再加一个方法,根据交易的ID查询该交易下所有备注的明细信息,然后呢,这个地方来调来一个方框就行了。
06:03
然后呢这个方法来一个叫select查询交易备注,然后呢remark,然后呢这个是for hill,然后呢BYBY,然后呢交易的ID transaction ID,然后呢在这边传了一个transaction ID,然后他去执行骚扰据来去查询该交易下所有的备注,然后呢这个地方来个执行SQ语句,来查询交易备注明细信息,明细信息,然后把交易备注的明信息往回放。那根据交易的ID去查交易的备注,那一个交易下边有可能有多个备注,每一个备注封装一个remark对象,多个备注list,然后把这个list继续往后翻,翻回来清楚了知道吧。然后呢,这个地方来一个叫remark list就行,这样备注也都查出来了,下边查历史信息,那查历史信息得调交易历史的错位字了,所以我们这个地方来再划为一个交易历史的错位字,那交易历史的错位串三个程,然后呢,叫pay story service词,在这里边加一个方法,这个方法干什么?根据交易的ID来查询该交易下所有历史的信息。
07:21
然后呢,在这时来调过来就行了,在这个地方来继续调过来。然后呢,在这里边加一个方法,这个方法叫query,叫transaction history,查询交易历史,由于在明细页面显示for,然后呢,BY根据什么去查易的ID去查,这里边传了一个交易的ID,这样就行了。然后呢,他去调map,调交易历史的map,然后呢,这个地方来交易历史的map,在这里边来加一个方法,这个地方叫transaction叫history,然后呢,这个是那个map知道吗?这是我们这样。
08:04
然后呢,这个地方来一个啊交易历史的map,所以大家这些都是大家我们这个流程都是我们以前给我们以前做的非常类似的流程,所以我就直接画了,在这边加一个方法叫select select,然后呢叫transaction,叫history,然后呢for detail for detail,然后呢BY,然后呢transaction ID,在这边传了一个transaction ID知道,然后呢这个是我们来一个他然后呢这个地方map,它就可以通过MY8来执行S来查询交易的历史记录历史,然后查询完了之后把查询的结果往返。那根据交易的ID去查交易的历史,一个交易下边肯定有多个历史,它有多个阶段,所有多个历史,每一个历史分成一个什么?实体类对象叫transaction history实体类对象是吧?然后多个历史放一个list,然后把这个list继续往回发。
09:15
知道吧,然后呢,这个地方来个叫交易叫history,然后呢,Please,这样的话,待会我们就controller,把那个页面上所需要的这三个数据就抄出了,那就图标,图标信息我说了,最后说它先不考虑图标了。然后把这些数据都查,查出来之后,跳转页面了,跳转哪,跳转到明细页面,交易的明细页面这个地方,再来一个交易的明细页面,那明细页面就是那个detail.jsp。然后呢,跳转过去,当然跳转过去之前先把数据传过去,那如何传过去,通过作用率传,然后呢,我们这个把数据,然后呢保存到做功率中,那我们这个东西就给快速知道吧,然后呢,把这个什么。
10:02
这个页面跳转过来了,跳转到明细页面去。然后呢,这个跳转,这个跳转呢,是不是请求转发,对请求转发,请求转发知道吧,转过之后这个JSP接收到转过的请求,他就从作用率中获取数据,从作用率中来获取数据,怎么获取是通过一表R式获取,然后呢把数据显示出来,其实E表示就可以显示出来,如果是list还要介入GSTL便利啊,总之我把它叫渲染页面。渲染页面,然后把页面都么数据都想到页面,然后把页面返回,返问在哪,谁发的请求,返问到哪谁发的请求,同步请求浏览器发送,所以响应信息给到浏览器,那么浏览器能解释出去一定是个网页,这个东西一定是个HTML的一个网页,知道吧。
11:03
然后呢,把这个网页往回返进了那浏览器拿到这个网页之后,他最擅长的就是显示网页了,在工作区中来显示交易的明细页面,所以我们这个地方继续了。浏览器拿到这个响应信息之后,浏览器在工作区中来显示交易的明细页面啊,这样的话,当我们这个流程就设计好了。跟以前留守没什么两样。他就是查的数据稍微不一样了,这个地方还查历史了,知道吧。好,这样的话,我们这个流程就设计好,那流程设计好,下边编码实现好,下边我们编码实现就行了,那编码实现从底层开始写,先写谁先写这个map。在交易的map里边加一个方法。这个方法是根据ID来查询交易的明细信息,知道吧,所以我们直接加一个方法就行了,那加一个吧,在交易的map里边加一个方法,交易的map在这个里边加一个方法,这是查基本信息的。
12:09
这个方法已经设计好了,方值transaction,方法名已经设计好了,叫select,然后呢,Transaction,然后呢,For detail by ID知道吗?然后呢,在这边传个参数,这个参数就是交易的ID了。然后呢,在这个地方来给大写个注释,这个注释就是根据ID来查询交易的啊,交易根据ID来查询交易的明细信息,知道吧,双法定义好了,下边写操数句了,那写这个操数句吧,在这边加一个搜数句,那加个搜数句查询的搜数句写来,然后呢,这个地方记出来ID要和方号名一样,把这个方号名拷贝过来。
13:00
然后呢,写到我这里边,然后呢这个参数再看这个地方来个开me type,根据ID长,那ID是个字符串行结果result map因往我返回的实体类对象,实体对象属性名和查询字面有可能不一致,所以返回map,所以我们拷过来一个达map就行了,然后呢,找一个达map这边来找一个啊把这个地方找过来,然后呢,这个地方来一个拿卡。这样就行了,然后在这里边写我们搜索句行了,那写搜索句,查询的搜索句写来,然后呢,From从哪个表里查,从交易这个表格查,查询它的哪些字段,那根据我们以前的经验,查询明细信息,是不是把所有字段都查出来,而且相关字段关联查询,查名字,那就查吧,查交易那个表格所有字段,相关字段查名字,那就查吧,那我查的话,那你就打开这个交易表了。一个一个挨着查就行了,一个也别落下,那来看看吧,首先来看看这个ID,那就查吧,这个地方来一个,那要关联查询,不可避免的会进行连接查询,所以那我这个地方给它起个别的名去,然后呢,这个地方来个t.ID这不是关联字段,直接查就行了,还有什么呢,看看。
14:19
O说这个交易的所有者是不是关联字,对,保存一个所有者的这个ID,那我要查所有者名字,那名字在用户表表存成的,所以得连接用户表。连接用不表内连接还是外连接,对内连接所有者不可以为空,这个外键可不可以为空,所以内连接叫好,然后呢来一个啊有正转,然后呢起个边名UE连接条件啊叫t.o等于Ue.ID然后去查叫ue.name放到哪个字段里边as o。这样就行了,然后呢,大家看再看还有哪些金额,金额直接查就行了,金额叫T点金额,这都不是外键,直接查,然后呢继续来交易的名称,直接查T点交易的名称,然后呢,再来还有什么交易的预计成交日期,那就直接查就行了,预计成交日期,然后呢,再来看一看还有什么,还有这个他ID说这个交易属于哪个客户的。
15:27
它是保存,肯定保存一个公司的ID,所以这是不是也是个外键呀,引用客户表的组件,那要连接客户那个表了。那连接客户表内连接还是外连接,对,那你就看这个客户可不可以为空。客看看这个字段可不会空,他可不会空,那看什么,看创建交易的时候,那个客户能不能为空。就创建交易看啊,创建交易客户可不可以为空,是不是不可以啊,不可为空,所以这个什么内链接,那来一个吧,内链接来继续来就join这个表,哪一个客户表叫customer。
16:06
Customer然后呢这个表,然后呢起个边门C连接条件啊,叫T点这个什么,哎,T点叫customer ID啊这个知道。t.customer ID,然后呢,等于叫什么c.ID然后呢,这个地方来查一个叫什么叫C点公司的名字叫什么name对放哪个字段里边。艾是吧,艾放哪卡通ID里是吧,就以这个字段名义往外插,他将来根据人家麦就放到相应的属性里边了。知道吧,然后呢,大家看我们再看看还有哪些字段,看看还有阶段,阶段也是个外键引用数据字然值这个表,所以说这个短也得连接上,连接数据字点值那个表,那内连接和外连接。对,你看阶段可不为空呢,阶段可可空,创建的阶段可以为空吗?也不可以,所以内连接内连接继续来连接数据式的join来一个D线段位,然后呢,Y6叫DVE连接条件啊叫T点,阶段等于DV1.id,然后呢,这个地方来一个叫DV一点。
17:21
叫谁呀?Value as放到什么stage这个还有什么看看。还有类型,交易的类型也是个外键,怎么外建也是也用,因为它创建的候也是下拉类表,只要下来本都是外键。也是什么引用数据资产值那个表。所以还得连接查询,那连接内连接外连接,对外连接这个地方是不是可以个空到,所以外连接外连接我们这个地方主表在左边,左外连接left连接我们这个表叫这个为value,知道吗?连接条件这个地方来个DV2连接条件啊叫t.type等于DV2.id,然后呢,这个地方继续来叫V2点Y6IS叫type,这个字段好换一号,然后呢,看看还有什么字段呢?看看S来源,这也是个外键。
18:19
也是引用数据字典值那表。所以还得连接水总表,只是那个表去查那内连接和外连接,那你看看SS来源可不为空,可以外连接,即使它为空,只要符合差源我也要查出来,所以Y连接,Y连接继续了left轴,然后呢来连接第一个线段是Y6,然后呢DV3,然后连接条现啊叫t.S等于DV3.id,然后呢,这里边来一个叫DV3点叫什么value as叫什么这个S。这样的话就可以了,然后呢,继续来看还有哪些字呢?挨个特的ID,市场活动员的ID,它是不是保存一个市场活动的ID啊,也是个外键引用市场活动表的主件,这个地方也得连接出,连接上内连接外连接,那你看市场活动源可不可能为空啊,是不是可以啊,可以还是个外连接来继续来叫left连系谁数据字眼,数据字眼,这不是不是数据讲啊,市场活动那个表叫activity。
19:26
这个标,然后呢,这个起个标名叫A吧,连续条件啊叫t.activity ID这个字段等于a.ID然后呢,这个地方来个叫A点市场活动名字叫它艾放在哪个字段里边,Activity ID这个字段。然后呢,继续来看还有什么联系人的ID,这个地方也是一个外接引用联系人表的主键,所以还得连接联系人这个表长,内连接外连接可以为空,还是外连接我们这个继续来再连接life叫联系谁连接联系人那个表来一个叫table,叫context,然后呢这个表,然后呢给大家起个别名叫CEO吧,联系条件啊。
20:14
这个是t.context ID等于co.ID然后呢,这个地方记出来Co点联系人的名字是大家字道服务name是吧?然后呢,放到哪contact ID这个字段吧,这样就行了。然后呢,继续往下边看还有哪些知道可谓的吧,它也是个外键引用用户表的组件也得连接查询连接上内连接外连接创建者不可以为空,是不是内连接就行了,内连接叫,然后呢,用户这个点UU2连接条件啊,叫什么T点可Y等于U2.id,然后呢,这个地方来个U2点内容s create by,然后呢,继续来看看还有哪些可time后呢个地方来一个叫T点可time知道吧,然后呢,继续来看看还有别的吗?啊还有edit by也是个外键引用用户表的主键又得连接上去。
21:15
它有可能为空Y连接,所以这个地方来一个叫left正,然后呢,用户这个边U侧U3这个表连接条件啊,叫t.is by等于U3.id,然后呢,这个地方继续来叫u3.nameisisy,还有哪看看啊。Edit time,那这个地方不是外键直接查t.edit time还有什么看看,还有描述那就直接查就行了,叫T点描述,还有什么啊,还有联系纪要,直接查T点联系纪要,然后呢,还有下次联系时间,把它直接查了T点下次练习时间还有什么看看。没有了,这样的话,大概我们所需要的交易标准所有字段都查出来了,而且相关字段查名字下边查询条件,查询条件那个Y根据什么查t.ID乘传过来一个交易的ID,知道这样的话,这个搜手机就行了。
22:17
所以这个骚就稍微麻烦一点,但你只要掌握住内连接外连接这种规则了,所以它不管多少张表,其实我们都不跑,知道它多了,我就是多写几行而已,知道吧,所以你得理解他这种什么时候那什么时候问了句,你得理解这种规则,如果你要不理解的话,这些思我你没法写了,知道吧,这么多的表连接上你咋写啊?你我说我背你这你咋背啊,你很难背,知道吧。所以这时候我们说这个so句,我们行了serve运行了这个麦就行了。这是查询交易明细信息的啊,这个service,这个map讲了,好,那这个map讲了,下边我们继续来看这个流程,这个map要写这个service了法,在交易的service里边加一个方法,根据ID来查询交易的明细信息,所以我们来写来写,在交易的service里边加一个方法,这都设计好了,在这边加一个方法,然后呢,这个地方来加一个方法,这个方法咱们已经设计好了,范围值,实体类对象,然后在这里边提供一个方法,这个方法来一个叫query,叫transaction,然后呢,这个是for,对查询明细网这样的by ID这样就行了,然后在这里传个参数,这个参数就是ID了,知道吧。
23:35
好,方法定义好了,在它时现类里边也加这个方法,所以打开它的时间类,在这里边也得加这个方法,然后按一个out insert,然后呢,Implementment,知道啊,Service方法的实现,调map,调map,调谁的map,交易的map,然后呢,这个地方直接调过来行了,然后呢,这个地方来一个方法叫什么?Select,叫transaction four by ID,然后把这个ID传过来这去。
24:03
这样的话,在我们这个service层也写完了,明道吧,Service层写完了,那我这一对map service都写完了,查基本信息的下面查备注信息,交易备注的map和service,那我们来写它吧,那这个地方来写这个查询交易备注的map,那在交易备注的map里边加一个方法,这个方法就是根据交易的ID来查询该交易下所有的备注明信息,知道吧,在一个方法就写完,在交易备注的map里边加一个方法,交易备注的map,交易备注的map在哪呢?看看交易备注,交易备注就这个,在这里边加一个方啊。这个方法已经设计好了,方法值list list里边是一个一个的交易备注的实际对对象,然后呢,在这里边写我们方法名就行了。方法这个方法名已经设计好了,来一个叫select,交易备注trans selection,然后呢,Mark知了,然后呢,For detail,在明细页面展示for detail by,交易的ID,交易的BY,然后呢,Transaction ID。
25:13
然后呢,在这里边传一个参数,这个参数就是交易的ID了,叫transaction ID,然后呢,这个地方来写个注释啊,那这个注释就是根据根据传三审ID来查询,那么查询交易的交易备注啊的该交易项吧,查询该交易项所有备注的明细信息知道吧,好,这样的话,这个方法一定好,方法定好了,然后呢,在这里边写所后句了,写个所后句了,那写S句查询的so入句再来个好ID要和方法名一样了,然后呢,这个地方CTRLC拷贝过了,方法名一样啊然后呢,参数串染名的typet,根据交易的ID去查,交易的ID是字符串,在这是字符串结果result map,因为每一个交易的备注以实体的对象的形是往那实体对象属性名和产品思有可能不一致。
26:14
也有访瑞达map,那这个东西随便考了一个瑞达。这段放到这里去了,在这里边写我们错数句行了,写错数据查询的错数据写那个,然后呢,From从哪个标准查,查询交易的备注到B允T,那肯定备注表是主表了。那查询他的哪些字段,那根据我们以前查明细的这个什么经验,应该是查询交易备注表里边的所有字段,除了那个外键之外所有字段,而且相关的字段查名字,那那个外键是作为查询条件,知道吧,所以那这个地方我就查到了,那查到不可避免事行连接查询,所以下面再起个标表,我就叫TR,然后在这里边去查交易备注那个标注表,除了外键之外的所有字段就行了,那那家看到这个表吧,交易备注表就是这个表,然后呢,点设计表把它打开一下,这些字段都查出了,除了那外键之外都查,那查呗,首先这个ID来一个叫tr.ID还有什么,看看这个地方还有备注的内容,TR点备注的内容还有什么啊,看一看啊,还有这条备注的创建者,这是个外键引用用户表的主件。
27:27
所以那这个表连接查询连接用户表内连接外连接创建表不可以为空,内连接叫,然后呢,用户这个表U侧UE连接条件啊叫tr.create by等于Ue.ID然后呢,这个地方去查询ue.name as create y,然后呢再查别的地还有创建时间,那就直接查叫TR创建时间。然后呢,再往下找either by也是个外键,引用用户表的主键,但是它有可能为空,所以外连接left,然后呢,这个地方来一个UU2这个点连接条件tr.I by等于U2.id,那这个地方去查叫u2.nameisiby,还有谁看啊?
28:18
还有edit time,那说来一个叫tr.edit time直接查就行了,还有什么editlo修改标记edit的行了,除了外键之外所有字段都查出来了,相关的段查明字,那下边查询条件Y2,你查询的是哪一个交易,下子这一备注,那根据什么TR的叫交易的ID,那个外键就成,我要查询的是这个交易项所有的备注,知道吧,把那交易的ID成了就行了。这样的话,这个骚扰一我们就写完了啊,这个骚扰一写了这个外表怎就写完了,根据交易的ID查询该交易下所有备注的明细信息,知道吧。
29:01
那这个map写完了,下边我们要写它的service了,在交易备注的service里面加一个方法,这个方法也是根据交易的ID查询该交易下所有备注的明信息,所以我们那就直接加了在交易备注的service词,交易备注service词这边有吗?没有,没有新建一个,你都设计好了,那就新建一个了,知道吧,所以那这个地方新建一个交易备注的service transaction,叫remark,知道呢,Service service它是个接口让去了,然后呢,在这里提出一个方法。这个方法我们已经设计了范回值list lista里边是一个一个的交易备注的这际对象,在这边提供一个方法,那这个方法来一个que,叫交易备注transaction,然后呢,Markmark,然后呢for detail,这都是设计好了BY,然后呢交易的ID,交易的ID,然后呢在这里传个参数,那这参数肯定是这个交易ID了。
30:04
你要查询这个交易项所有的备注嘛,知道吧,这样的话,我们这个方法就定义好了,方法定义好了,那在在时间类里边也加这个方法,那时间里边加这个方法,那在里边再建一个时间类,这个时间类叫交易备注remark,然后呢,Service的时间类IMPL,它是个类,然后呢,这个地方来一个它要实现那个接口,哪一个接口叫交易备注remark service这个接口。它这个service类加一个注解叫service的注解,然后呢,在这里边提供一个方法,提供一个这个叫什么给给它的B在容器里边起个名字,我也叫transaction马克啊。这样的话我们就可以了,这样吗?这时候啊,这那我说这个类它实际上的这个接口,要把这个接口里边所有的方法都实现,那所有的方法实现按照off of insert这样行,那所层发生的时间要调map,调map这个地方直接注入这一个map,交易备注的map private叫transaction,然后呢remark map,然后呢,Remark map,然后呢交易备注的map,然后呢,这个地方来个work读。
31:19
然后呢,直接调这个map,然后呢,这个地方一个叫select交易备注for by传ID,然后把它的传ID成过来,这样的话大家这个什么S层就行了。查询交易备注的service也写了,这一对map service也写完了,那么这一对map service写完,下边写这写这个这一对map service。这一段外就是这么根据交易的ID是吧,然后呢,去查询该交易下所有历史的名义信息。所以我们首先在交易历史的map里边加一个方法了。那加这个方法,那么加一下吧,交易历史的map,咱们刚刚已经写完了交易历史的map,交易历史的二九套,在这里边加一个方法,这个方法就是根据该交易的ID查询该交易下所有历史记录,知道吧,返回值历史,历史里边是一个一个的交易历史的实际的对象。
32:19
然后在这边提供一个方法,这个方法查询的方法写查询什么交易历史transaction history。然后呢,在明细页面去显示for,给相关的肯定查名称了,然后根据什么去查办交易的ID去查,查询这条交易下所有的历史,这样就行了,然后在这里查询个参数,这个参数叫construction ID,然后呢,这个地方该引进类引进了,这样就行了,然后在这里边给他一个注释,这个注释,这个注释就是根据我根据交易的ID来查询该交易项,各位交下所有历史的明细信息。
33:09
这样的话,我这个方法就定义好了啊,这都是设计好了是吧,那方法定义好了,在他的这个映射文件里面加一个搜索就行了,那查询的搜入去来一个C来,然后呢,这个地方拿ID要和方法名一样了,把这个方扰名拿过来,然后呢,这个地方写好知了,然后呢参数para typeb也是根据交易的ID去传,交易的ID也是个字符串,知道吧,结果result外b result mapb,因为我们每一个历史以实体类对象的形式访问,实际对象的属性名和查询资名有可能不一致,所以返回个map,所以我们把这个软map拷过来,然后呢,这个地方拷过来就行了,然后呢这个地方来转。然后在这里边写,我们搜就行了。那写搜首句查询的,搜首句写来,然后呢,From从哪个标准抄查历史性,肯定从历史表准抄,对历史表示是主表,那查询他的哪一字段明细信息,那查询越详细越好,是把这些信息都查了,其实到底查哪些,其实就看清楚这个明页面,你看需要哪些字段知吧。
34:22
他需要哪一次的,你看啊,阶段金额,还有什么预计成日期,历史的创建者,创建者创建时间,这是几个字段,五个字段,看看咱这个表里有几个字段,你看看。历史表你看有几个字啊,一个两个三个四个啊。啊。一个一个两三个四个啊啊七个是吧哈,七个七个他就需要五个哪哪哪一个没哪俩没成。
35:05
这个外建是不是没查,外建没查,外建不查,这个很这个这个很好理解是吧,你外建也不需要显示出来,还有谁没查主见吧,哎,主见为啥不抄了。对,没有操作的时候,我就以前备注的时候,是不是就是查ID啊,那这个地方历史为啥不抄,就另个情况,你没有操作以前备注的时候,之所以查ID,是不是要对这个这个条备注进行增进,进行修改或删除的,这个历史需要修改删除吗?对历史修改不了,历史不能改的是吧,历史他已经确定了谁能改了,然你也不能删是吧?历也不能删是对吧,他就是既既定事实是吧,你再有能力你也不能删历史是是吧?所以当然这是候我们要说的这样,所以说这两个字段没有是吧,剩下五个字段都抄了就行吗?而且相关字段这是个阶段,一个相关字段查名字知道吧,所以我们查这五个字段就行了,那查呗,这个地方来查的话,那就要进行连接查询,起个别名这样这样就行了,那就查呗,查这些字段看查一个一个查吧,这是阶段,阶段是不是得连接查询啊,连接数据字典值那个表。
36:18
啊,连接这数据讲这块内连接外连接,那你看它可能可不可能会空,它可能可不可能会空。对。那你看什么呢?以前就是看见看创建的时候,那个表达卡半空这个历史没有表达的时候。对创建过历史表家居说没有表达,没有表达他这数据从哪来的?从交易里边来的是吧,对交易创建的时候,这个这个这个阶段可不可能会空,不可能,所以历史也不可能会空。所以说它这个地方不可能回过,不可能从内连接这个地方来直接连接条件内连接,然后呢叫什么连接这个表第一个时间段是出来六,然后呢DV连接条件啊叫我们叫TH点阶段等于Dv.ID然后呢,这个地方来一个叫Dv.value然后呢S放到哪个字段里边,Switch字段里边。
37:16
然后呢,还有看看还有谁金额,那就直接查就行了,叫TH金额,还有谁来看看。还有预计成交日期叫TH点预计成交日期直接长,还有什么呢?这个时间,这条历史的创建时间还有谁呢?看看可谓的吧,这是不是也是当时创建,也是那个当前用户啊,这个也不可能会空,也不可能会空连接用户那个表内连接交上,然后呢,来一个用户那个表user知道吧,这个地方来一个U1连接条件啊叫么TH点创建这个等于叫UE点叫叫什么就直接U就行了,嗯,直接U就行了,然后等于一个u.ID然后呢,这个地方来u.name S还有哪些字段家看啊没了,就这几个字段,这几个第一个两个三个四个五个字段,前端那个列表就需要五个字段,这行下边产品条件五二根据什。
38:25
他就抄那个外建就抄。TH点创30ID,你查的是哪一个交易下的历史,所以我这个点创了交易的ID。这样的话,他我们这个骚扰句就行了,根据交易的ID查询该交易下所有历史的名义信息,知道吧,那这个sorry已经写了,这个map也写完了,这个map写完了,我们再写sorry了。哪一个再写这个service,在交易历史的service里边加一个方法。根据交易的ID查询该交易下所有历史的名义信息,所以我们这个在交易历史的策略词加法,交易历史的service略以下没写过,没写过继续再加一个交易历史的service,所以呢,这个地方来一个transaction,然后呢叫pay,然后呢service,然后呢它是个接口。
39:16
然后呢,在这里边定一个方法,其实这个方法咱们都已经定义好了,这个方法知道吧,那这个方法叫什么?返回值例,例里边是一个一个的交易史的实际的对象,在这边提出一个方法,叫query,叫transaction,叫history,然后呢,For detail,然后呢by transaction ID,然后呢,在这里传一个参数,这个参数就是传一个叫string类型的交易的ID,你要查询的是哪一个交易下的历史,知道吧。这样的话,我们这个方法就定义好了,方法定义好了,在时间类里边也得加一个好了,那时间类这个地方继续来一个时间类,这个时间类叫交易历史黑service service I'mpl它这个类它要实现那个接口,哪一个接口叫交易历史的service接口。
40:11
它这个service类加一个注解叫service注解,然后呢,这个地方它一个service注解知道,然后在这里边给它并起个名字,我们这个起个名字就是交易历史的service占就起。然后呢,大哥,我们这个地方就可以了,可以完了之后大概我说那这个类它实验的这个接口,要把接口里边所有的方法都实现,然后按照of insult,然后呢,Implement。好,这永星让这样service发生实验,要调map,所以这个地方得注入一个交易历史的map,然后呢,这个地方来一个private,叫交易历史,叫history member,然后呢,这个地方交易历史history member,然后呢,这个地方来一个auto world,然后呢来调我们这个member,调它哪一个方法,咱们刚刚写那个方法叫select transaction history for by trans ID,然后把transa ID访了。
41:10
这样的话,这个这个稍会是可小了。这个service赢了,那这一对也小了。那这一对行了,这三对map service都行,下边就是这个CTRL,下边写ctrller,在交易的CTRL里边加一个方法,一访问到这个方法要跳转到交易明细页面去,所以我们在交易的controll里边要加方法,好,这个地方继续了交易的controller,在这里边加一个方法,然后呢,我们这个方直接加了,然后呢,这个地方来一个CTRL层的方法,来一个W,反问值是什么类型的,是不是字符串类型的,对他要跳转页面了,字符串类型。方法名建明是一了查看交易的明细,叫detail塞权塞者。然后呢,这个地方我们就可以了,当然这个方法名你随便写。
42:02
根据自己的想法写行也行,总之你必须建明之意,就这吗?然后呢,他这ctrler方法,他要处理来自客纲请求,那处理来自客纲请要给他分为一个URL,这个ul request叫map撇,然后呢,这个UR我们说不能随便写,要和它处理字源路径保持一致,它处理的字源路径是谁呀?是不是跳转这个页面去啊,跳转这个页面和这个页面资源路径保持一致,那谁呢?Work奔驰下边来一个叫transaction,下边的资源的名称要和画名一样,这呢,点住这就行了。好,这样的话,我这个方法就定义好,方法定义好了,它就要跳转一下,不用加入增包腿,那在这里边定义形参接收前台方参数。定义什么样的形态,应该强调传什么套入,对就是一个ID,所以这个地方来一个ID知道吧。这样的话,我们这个地方这个方法就定义好了,方法定义好现在来到这一步了,接收到请求了,ID也拿到了,下边调酸水的方法,把这些数据都查出来一下,所以下边来调用所有的括号来查询数据,那一个一个查呗,首先查基本信息叫交易的,然后呢,它里边有个方法,Query transaction for by ID把这个ID传了,这样就行了,然后呢,他得到一个实体类对象,传塞个身实体类对象,这样就行了。
43:36
好,这时候我们说那下边查交易的备注,那要调交易备注的service略词,调交易备注的策略,这个地方注入进来一个交易备注的service数词,然后这个地方来一个private,叫交易备注叫remark service,然后呢,交易备注remark service,然后呢,这个地方注出去了叫autowa,然后呢,直接调它就行了,那就调过来吧,这个地方来调过它,然后呢点叫query交易备注for by trans载ID,把这个交易的ID传过来,这样就行了,它得到一个list的,List里边是一个一个的交易备注的是体类对象,那这个地方我们把它叫remark list思这样就行了,好,这是这样。
44:24
那下边要查询历史了,查询历史要叫历史的service了,叫历史的service,这个地方注入性个历史的service,叫交易历史的service transa history service,然后呢,这个地方来个transaction history service,然后呢,这个地方来注入去了out work,然后呢直接调出service,把它调过来,然后呢这个地方来一套,然后呢,这个地方来一个叫query transion history for by trans ID,把trans ID重,然后呢,这个地方得到一个list史list里边是一个一个的transaition叫history历史的刺激对象。
45:04
在这个地方来一个叫history list,知道吗?这样的话大跟我们说这个controller就把明细页面上所需要的三个动态数据都查出来了,这我们设计来了,查出来之后怎么办?保存作用中,所以把数据保光作用中把数据保存到request的中,那保存到request中,那我这个地方得注意那个request,所以这个地方来一个方http sorry request http快,然后呢,把它把这些数据都什么保存到这里边去,那保存吧,S特别的一个一个保存,这是交易的基本信息,然后呢,再来一个request request.attribute还有一个交易的备注信息。还有request.set和tribute,然后呢,这个交易的历史信息暂停了,保存完了之后,下边请求转化,请求转化,那请求转化直接return转换到哪去,把那个页面资源路径写到这,我要转,转到这个页面,这个页面资路径walker奔驰transa detail,所以我们这个地方继续来walker奔驰,然后呢,Transaction。
46:26
这样呢,对推它会自动加上前缀和后缀,这样就行了,这样的话大家我们这个整个这个CTRLL就行了,这个CTRL写完这个后台代码大家都行了,三对map service,一个ctrler这个写法,后边写前台就行了,前台我说这个页面你你看着什么,没有太大技术含量,其实这个地方写的比较麻烦。特别是这个图标,这我们一会儿再写的话,好下面大家休息会儿,休息会我们来看看这个前台怎么写。
我来说两句