00:00
下边我们来设计一下这个流程啊,只要流程设计好了,代码基本上就就写完了啊,所以下边我们这个再做,然后呢,这个地方来修改上场活备注,修改市场活动备注这样,然后呢,我们把它双击打开,这这。然后呢,在这里边画这个流程图,那我们说所有的流程都从客户端发起,然后呢,这个地方来客户端,客户端。那客户端如何发起需求说的很明白了,说用户在市场活动明细页面上面,他对某一个备注又有一些看法,他想修改,他就点这个市场活动备注后边这个修改图标啊,他想修改哪一条,点它后边那个修改图标,所以我们一开始是用户点击啊,点击市场活动备注后边呢,知道吗?修改图标,修改图标就他想修改哪一个备注,他就点那个图标。大家看一点图标,你看发生什么事一点呢,你看啊,大家看按照咱们的需求,是不是弹一个摩擦窗口,弹一个摩擦,摩擦窗口上面有个表单,这个表单就是这个输入框,跟这输入框一样,在这个表单里边来填写这个备注的内容。
01:14
然后呢,有更新按钮,就这么一个表单,但是这个表单按钮美国已经帮我做了,但是他没弹出来。这个表单在在咱们夜班上已经有了,知道吧,那么弹表单好弹,其实怎么答,你点这个某一个修改图标他就弹,那弹的话两种方式都能弹,哪一种咱们都会了,他购属性可以谈,再有我们自己谈也可以谈,通过函数自己谈也行,但是现实大卡谈表单好谈,主要是表单里边上面这些数据从哪来。对这些数据得先写上,然后再把把再把这个什么摩擦双手弹出来。那我说那正好这些数据大概有哪些数据,这个这个模大众上面需要哪些数据,对备注的内容得写了,还有一个还得需要什么。对,然后你备注的内注用户看了,让用户看也是让用户改的,他只改备注的内容一点更新,只把内容备注的内容发到后台能更新吗。
02:09
不能为什么,因为你改这个内容,你改备注表里边那么多条备注,你改哪一条备注。是不是还得一点更新,除了把修改的这个备注内容发到后台,还得把谁发到后台,对这一条备注的ID也得发到扩大,那这条备注ID知一点更新按钮一点这个图标,弹模态窗口的时候,把ID也得写到这个模态窗口上面,这样一点更新,把ID和修改之后的备注呢一块提交到后台,然后后台就知道改哪一条记录内容改成什么样的,他就知道了,那有就说那你那你说老师这个ID显示到这个模态窗口上边,那用户不就看了吗?ID不让他看是吧,他也不能让他改,因为ID不能修改。那这样怎么办?是不是我们可以把它写个隐藏域里边,对ID在这个模带状口边写个隐藏域记这个这条备注的ID,这个备注原来的内容就写到输入框主,那用户弹了模托窗口,他就改这个内容,一点更新按钮,把改过之后的内容和隐藏域的ID一块发到后台就改了,知道吗?所以大家经过我们的分析,当用户一点知一点任何一个修改图标的时候,我要获取这修改的这条备注的原来的内容,就这个,就这个里边内容以及这一条备注的ID拿到他们之后干什么,写到那个模特窗口里边。
03:31
啊,一个是ID写到隐藏域里边,这个什么内容写到这个框里边。这样把模特窗口再弹出来,这样就行了,好,所以这样,所以这样,那大家再分析一下,所以弹摩特窗口之前,我需要拿到两个数据,一个是ID,一个是知吧备注的内容,那么ID和备注内容在前台页面上,这条备注上面有没有前台页面上。需要向后台发请求去查吗?不,不用,是不是前台页面都已经有了,在明细页面已经有,你修改哪一条,你点它后边这个都这个修改图标,那这个页面上面,它原来内容在H5标签里边直接取就行了,ID在哪呢?对,是不是在这个图标上面都已经绑定了,我们以前查询的时候不已经绑定了吗?对,所以大家看,其实这俩数据前台都已经有了,有了他一点这个执行我的JS代码,我就可以直接获取一条两数据了,获取了之后干什么?写到那个模态窗口上面,然后把模特口弹出来。
04:34
所以大概我们说用户一点这个图标的时候,不用向后台发请,因为我们所需要的数据,这两个数据前台都已经有了,在页面已经有了,通过JS代码获取就行了。然后。所以获取到之后显示到摩托窗口,然后把摩托窗显示出来,这样就行了,那你说以前我们好像一修改的时候,一点修改按钮,向后台发请求,得查出去在做什么的时候,对项获得发请求,修改市场活动的时候选中一个一点他这个。
05:04
发生了什么事?对谈摩台窗口,但是谈之前这些数据是不是都得查出来,像后台,我们当时向后台发了一个请求。去根据要选中的这条市场ID到后台把这条市场公信息全查出来,查出来之后干什么?返回到前台,显示到模特窗户这边,然后把模特窗户弹出来。这也是修改,那我们这个地方修改备注,大家看一点开,我不需要向后台发起知道吗?那为什么到底什么时候发,什么时候不发。那有有什么标准吗?为啥这个地方不发请求了?这个地方得发吗?修改市场的为啥得发?因为大家修改市场活动的时候,他修改市场活动模态窗口,这里边需要数据,这么多的数据,前台页面上有吗?你点的时候。没有,你说老师这不有吗?这里边全吗。对,这里边儿都是关键信息不全,哪些不全你看啊有什么。
06:03
这就开始日期成本和描述有吗?没有没有,所以你向后台发请求去查,去查完之后呢,然后显示到模特窗口上面,然后把摩特窗口弹出来就行了,所以大家看我说一点修改按钮,要修改某一条记录。那他要弹出来那个模态修改模窗口上面得显示这条记录的信息,那到底要要不要向后台发请求,谁来决定呢?就是看看你弹这个台窗口的时候,这个模态窗口里边需要的数据,你在点之前这个页面上是不是已经有了,没有,你必须向后台发请求去查,去返回之后再显示,那我们这个地方已经有了,那就不用它了,那你告诉我怎么有,我怎知道,我怎么知道有没有,那你分析是吗?这是我们分析的,那你看这个页面上有哪些信息了,知道吧。好,所以说大概我们这个地方他一点,任何一个修改图标都不用向霍得发进。那直接我们代码的时候,一点图标我们干什么呢?获取这个按钮上一点这个按钮上面绑定的ID,以及这一条备注的内容,获取怎么获取你也不用管,只要页面上有,我一定能获取到。
07:09
不管采用什么手段,我一定能获取到,只要页面上有的数据一点,触发我的GSS代码的时,我一定能获取到,知道吧,怎么获取你还别管,那是具体的死的语法的事儿了。所以我们应该这样,他一点,任何一个修改图标,我首先获取到,获取到要修改的这条备注的ID和备注的内容,来这个地方来获取,这就是不是像后台发进图是在前台获取的,用GS代码在浏览器上获取的,知道吧来获取备注的要修改的,这叫备注的ID和备注的内容叫note,看好张会获取到他们干什么?那就要显示到那个摩擦窗口上面了,ID显示到一个隐藏域里边,名称显示到修改摩擦窗口那个框里这样去了,所以我们这个地方继续来把要修改的这条备注的,把要修改的这条备注的ID和内容和note content content,然后呢,写到写到修改备注的模态窗口中。
08:15
模态窗口中写到这边就行,那写到这边完了之后呢,这个模态窗口里边就有数据了,那这个时候就把摩擦窗口就可以弹出来了,所以他一点任何一个修改图标都会弹摩擦窗口修改备注的网,那上面显示内容,点谁显示谁的内容,所以呢,这个是弹出修改备注的备注的模态窗口这。好,这样用户就看到窗户了,其实大概你看我们做的这事儿全部在客户端发生的,没有牵扯到后台,没有牵扯后台,知道都是在浏览器,都是用GS代码来实现的,知道吗?好,那弹出模态窗口之后怎么办?用户就可以修改备注的内容了。
09:00
那用户就可以填写表单,他想有什么意见,把这个备注内容改了,用户填写表单,表单填写表单填完之后,那那个模态窗口上面个更新按钮,一点更新按钮,那这个时候要去更新了,也要后台发请去了,然后呢,用户填完之后,点击那个模态窗口上面的有更新按钮,更新按钮一点更新按钮就要向后台按钮,为什么向后台按钮?因为备注在后台存折的在数据库里边存着,你要修改数据库里边数据,那这个时候你要向后台发行。那向后台发请求,那你后台得提供品出厂来接收并且处理这个请求,所以大家这些都是流程,都是根据需求做,然后呢,后台又提供CTRL,那后台听我说修改是红的备注,那肯定在一下备注到CTRL加方法就行,不用新创景备注了,所以我这个不用新创景出了,那我这个地方还是在叫市场活动remark control在这里边加方法。
10:02
然后呢,大会我们在这里边加个方法,它用来接收和处理叫更新的请求,知吧,所以用户一点更新按钮,向后台发一个叫保存更新的,保存更新或者保存修改的请求,保存修改请求知道吧,那大家想一下,这个请求是同步的还是异步的,对,是不是还是没跳转页面啊,还是异步的,然后呢,这个地方还是异步,然后呢,这个地方来一个异步请求。他一点改完之后,一点更新按钮发个E不行,那这个E不行,需要提交什么参数,对那个ID备注的ID的发货,还有什么修改之后的备注内容是不是也在发货的,对那什么一个是ID,一个是和什么修改之后的备注内容,备注内容一块发到后台就行吧,以后我们要修改市场活动,你修改哪一条市场。然后把这条市场活动修改成什么,所以把修改之后内容发布,那这个CTRL接收到请求之后,三个职责后边就比较好办了,那有参参数,然后获取参数,通过行参获取就行了。
11:13
再一个这些参数我们说有两个,其实除了这两个还有什么修改者,修改时间,修改标记,是不是也得更新到数据库里边,这些数据都得传到,传给service,传给map,传给service数据,这些参数比较多,所以最好封装,那封装参数封装成什么呢?对对象,这些参数都是属于一个备注的实体对象的。再一个产品传给serve,传给map,传给server句是作为写数据的,所以我们分装成实体类对象,实体类对象那这个对象我们就把它叫做remark对象。这是我妈这。然后呢,大概我们这个对象这个我们参数就封装好了,那参数封装好了,它的第一个职责就完成了,接收请求,参数拿到了,也封装好了,下边第二个处理业务,那处理业务就是处理业我们的这个数据了,处理数据我们这个地方就是更新这一条市场活动备注的内容是吧,那更新的话,它不直接更新,它得调service,调业务层,所以C调个service,谁的service,市场活动备注的service,所以我们这个地方那个I配,然后呢,这mark认为要修改摄像头的备注,我们的原则,我们的原则就是一个表后台的这些代码,一个表对应个实体类,对应个map接口,对应个映射文件,对应一个service,甚至对应一个control,知道吧。
12:39
所以在这个service里加一个方法,这个方法叫保存修改的市场功能备注,那这个方法我就直接写了那种哪有save edit叫activity,然后呢,Remark知道吗?保存修改的上文备注,然后这里面传个参数,这个参数就是实体类对项。这样的话,我们这个service就设计好了,那这个service就可以访问数据库更新,这么更新这一条市场活动信息了,市场我们备注的信息了,那它不能直接访问这库调map调了,Map调谁的调市场活度备注的map,所以我们这个地方来一个叫activity activity activity,然后呢,Remark,然后呢,这个是Apple,然后呢,我这个地方个。
13:26
然后呢,在这个map里边也得加一个方法,这个方法叫保存修改的市场活动备注,那么这个方法文我就建明这一写了修改的,它将来要执行一个修改的错误句,那这修改的错误义是个update,为update修改什么修改市场文的备注,然后呢,在这边传过来一个remark对象啊,然后呢,我们这个什么map就可以什么通过my body去访问数据库,执行搜索据执行数据,那这个搜数器,其实现在大家能想象一下这个搜索机是什么样的,对修改的那肯定是个after的语句,然后呢,这个是保存修改的啊,这种保存修改的。
14:06
保存,然后呢,修改的市场活动备注知道,那执行完了之后,把执行的结果往回放,知道吧,那修改的造数据返回结果影响结果条数,然后呢把影响结果条数继续往外发,返回给CTRL,知道吗?知道吗?然后呢,这个CTRL拿到影行技术条数,那第二个职责就完成了。该修改的数据该处理完都处理完了,那下边第三个制度处理成功了还是失败了,下边根据处理结果,根据处理结果,然后呢,生成响应信息,生成应信息,然后把这个响应信息返回到前台,然后呢,这个是个响应,这个是个响应是,那大家可以想象一下这个响应信息是个什么样的信息,对,是个阶层,是前台发的义务请求,那阿贾克斯发的响应信息只能种。
15:00
只能返回,那么杰森阿贾克斯怎么解析杰森,那杰森里边包含什么?对,那你看前台需要什么,前台说了,如果成功了,把模态窗口关了,下边这个刷一下,刷的时候要显示什么,你看对这个是备注的修这个这条备注的修这个修改这个什么啊,这个创建者不用修改了,备注内容得改,还有什么时间得改,还有谁这个是不是也得改,这几个地方都得改,那这几个地方。那这些数据前台有吗?对,那么前台没有,那你是不是得往回返了,其实这个数据前台已经有了,因为这个数据前台发过来,但是这个数据相当没有,所以但我们说这些什么,不管有的没有了,就我们这个地,他们这些数据都是属于这个市场活动的信息的,修改之后的市场活动信息的,所以我就把这个市场活动信息也得返回了,就如果成功了,为了更新前台这条记录,把这个市场活动信息也得返回,那如果失败了,提示信息,然后呢,这个模带状不关闭,这些东西不用刷新了,就转个提示信息就行了。
16:07
所以,但总的而言的话,前台需要知道这些禁忌,第一个成功了还是失败了,所以我们访问成功和失败的标记,一成功,零失败。那如果成功了,还得返回这一条备注的信息,那就你封装好的这个备注型,因为它里边是封装的,是修改之后的内容,你就是照着它去修改的,所以就改成它了,那我为了什么更新前台某这一条记录的信息,还得把它返回,那把它返回分装阶上走串返回,那返回的话,那我就知remark克好把这个对象返回,那它这个值是个大括号,大括号里边是这个对象里边的参数名,参数值下边note count,然后呢,还有别的,当然还有别的信。别的这个参数我就不写了,这属性名称,属性值,属性名,当然还有修改者,修改时间,还有ID等等这些都有,那直接访问这是成功了,失败了,当然这个这个信息就不用访问了,要访问一个提示信息叫message,知道吗?好,这样的话,大概我们这个这个响应信息我们就设计好了。
17:17
我将来修改完成之后,返回这么一个杰森就行,把这个杰森返回到前台,那前台阿贾克斯的回调函数就拿到这个杰森,拿到杰森之后,那我们说他的职责是吧,就是第二个值责,然后呢,解析杰森选转结盟解析杰森。让他一点。啊,那怎么解析电子算式说,那就看成功还是失败了,如果成功了,把那个模态模态窗关了,把这个内容,这个时间这个修改之后,把这三个更新了就行了。知道吧,那别的地方都不要,因为别的地方这ID不用变,ID不修改,只需要修改这几个,那如果失败了,模特状容不关闭就提示一下就行了,这个地方也不用刷新。
18:05
好,这是我们大概这个什么流程,我们就涉及到这,这是修改市场活动备注的流程,好,然后呢,大家这个流程设计好了之后,那下边就可以编码实现了,你只要设计好流程,编码就很好写了,那编码那我们写吧,首先大家我们先写这儿了,首先先写这个为什么从这儿写,其实大家看这个弹模带窗口其实是个流程,其实这个地方是个流程。什么流程,就当用户一点任何一个配修改图标的时候,会弹那个模台窗口,那你说老师这个流程他为什么只在前端,只在前端,因为我不这个流程它不需要从后台插出去,前台都已经有了。所以不需要像后台没牵扯到后台,所以这个流程比较简单。这是我们这种特殊的情况,像我们以前修改市场活动的时候,你点了这个流程就比较复杂,还得将后台发请求去查这条这个数据的信息,知道吗?所以我这个比较简单,所以呢,我先写这个流程,知道先写我们的这个流程,当用户一点任何一个修改图标的时候。
19:11
来获取这条备注的ID和内容,显示到模特窗当中,然后把弹出来先写到这儿,然后再写下边这个流程。好,下边我们想做这个,那先做这个,那我们要让要想做到用户一点,任何一个修改图标,那都想这么,都要这么执行我们的代码,那我们下边要做的是是不是要给这些所有的修改图标添加单击时间,对添加单击时间去了,那给所有的修改图标单添加单间,我们说这些图标有可能是动态生成的。怎么动态上,我这刚刚添加一条备注一点它保存,那这个地方应该追加一条,它也有修改图标啊,所以有可能动态生成,那动态生给咱们加设叫做用on这种方式。所以我们这样用on这种方式给所有的修改图标添加单击时间就行了,所以我们这个地方来这样在这直接写我们这个代码。
20:05
这样然后呢,给所有的,嗯,给所有让市场活市场。活动啊,市场活动备注啊,后边的修改图标,修改图标,然后呢,添加单击事件,那用按这种方法要找到他们的一个固有的复原度,那固有的负氧度是谁呀。意思对,是不是还是这个例思啊啊,其实还是这个例子,咱们以前已经做过删,给所有的删除图标填写大型时间,那所以我们这个地方还是这个例思,那下边掉昂表昂,然后呢,这个是on里边传三个参数,第一个参数视件类型,那我们说单击视件可雷懂,那下边还有它目标选择器,这个目标选字,给所有修改图标添加单键,这个目标选择器怎么找。
21:02
A,是不是这样的,咱们昨天已经是不是给这些标志加了内幕属性了,对内幕属性内等于对是么叫edit a的那些A标签,这样我就找到了,知跟我们以前做这种上次课做那个删除图标加事件是一样道理一样啊,然后呢,找到之后呢,找到之后目标选的就有下边一个回调函数当式,那么当用户点任何一个修改图标的时候都会执行,我们这里边等了,我们把这个代码写在这里边行了,那写在这里边干什么?需求说的很明白了,用户一点我要获取ID和备注的内容。你点谁后边这个修改图标要获取这个备注的ID和备注内容,那一个一个来获取吧,首先来获取获取这个备注的ID和note看知道吧,那一个一个来获取,首先来大哥获取ID怎么获取?对你现在点的这个修改图标,是不是每一个修改图标已经给他所在这个备注已经绑定了,那绑定的话就是我们自定义那个属性,那自定义属性就能remark ID,对是不是用at t2来获取啊对,用A加,那首先获取这个图标的解对象。
22:20
那解化二对象我们要,当然我们有个倒对象是不是这样的这意思,然后把它转成解块二对象,这样,然后呢调at t2,所以大家要跟上思路懂,然后呢,你获取哪个属性,然后呢,把那个属性值是小的,那我们获取哪个属性,以前做查询的时候,我们已经做好铺垫了。每一个修改图标上面都是自定义的属性绑定这一条备注的ID,所以只需要获取它的值就行了。这个备注的,哎,这个是备注的ID叫remark ID,确这样我们就获取到点谁后边那个修改图标就获取他的ID了,那获取ID了,下边来获取他的备注的内容,这样。
23:04
也就是说我点谁后边这个修改图标,我要获取这一条备注的内容咋过去。对对,那大看那咋获取,你看这个备注的内容在哪写的呢。这个备注的内容在哪写,是不是在那个H5标签里边写的吗?对,就在这里边,就在这个地方看吗?H5里边写,我只需要获取H5,我就能获取它里边内容,那怎么获取,还是以前大家写的学的函数,那关键如何获取H5。对那对还是两种方式,第一种方式还是说复制,我现在点的是这个修改图标,我现在手里边有修改图标,有修改图标这个A5给这个修改图标有关系吗。有关系吗?对,按理说有关系,有什么关系,就是稍微就是他这关系不太明显。
24:00
A标签他找他的副标是不是div div啊,拿到A标签能拿到这个diva,这五是个div的什么兄弟标签是不是找兄弟标签大家是不是也能找啊,也能找,找兄弟标签也能,只不过找的时候麻烦一点吧,但是也能找到是吧,所以大家从理论上来讲,这种方式拿到A标签了,找A5也能找,但是就是太麻烦了,所以我们不准不容易用这种方式,那我们用什么用这种方式,对那我们昨天给大家做删除的时候,说用户点删除图标,我能我能找到什么这一条备注这个大的div是不是这样的,那现在我点这个图标,我现在手里边有它。那么那我要拿A是五,是不是大卡拿法是类似的,怎么类似的?首先这个第一个什么删除图标是不是对应一个div啊,那么删除图标不一样,Div也不一样。是吧,所以我现在点上头说我有ID,那每一个备注又对应一个div,我拿到备注的ID,所以我就想了,能不能把备注ID跟这个div绑定,将来我要定位到这个div,怎么绑定,加属性,绑定ID,属性正好ID不不不重复,哎,我们就可以这样,那同样道理,我现在点它。
25:20
那一个什么修改图标是不是也对应一个H5,对一个什么备注也对应五。那我这样我点它,我能拿到这个备注的ID,那我同样的方法,能不能这样给H5也给这个ID绑定定义一个属性。也给那个ID绑定,现在我点它我能拿到ID,然后呢,拿到ID我就拿到这个,也给它加一个ID跟ID绑定,然后呢,我就获取ID,等于它的H5,是不是也可以啊,也可以是吧,那怎么来做,同样在这个地方也给他一个ID,为了以后定位到这个H5,我就可以这么来做了,当然既然美国用了双引号,我们也用双引号,它的值我们就可以这样了。
26:00
那它的值那就这样,对就这样那叫什么?对,这个地方叫return data,对还有什ID知道吧,然后呢,大家这里边是不是也给他加,最好加一个前缀,这样为了避免冲突,知道吗?对。这样大家看这种思想是跟以前一样,跟以前一样。那你说老师以后我我在这个,假如我一点某一个按钮也能获取到ID,我再有想获取别的元素,是不是还可以加ID可以,只要ID值不冲突。随意讲。这是我说这种思想确实是相当强大的,大家什么掌握这种思想之后,以后在页面上做这种局部刷新啊,来获取数据啊,这些都比较简单了,就这种思想。啊,但是那么你可以这样,但是我们说如果你加的ID太多了,冲突的几率也就大了,再一个页面也不大好维护了,所以我们虽然说给他定义ID可以,但是也不是说越多越好,越多越好,代码就太乱了,扩展的属性太多了,这个页面上也就太乱了,以后读这个代码的时候不好读了,那怎么办?能不能尽量我不给他加行不行啊,我不给他加属性,那说不给他加,那我现在手里边有它有这个ID,我怎么能获取到A5。
27:24
标签对,当然我们说是这样,刚才我们说了吗?刚才我们说第一种方式,我手里边有它。我要用第一种方式的话,找他的负小值,然后再找他的什么,找兄弟节点,然后呢,这样找从里往外找,不好找。得找副标签,又是找兄弟标签。但是我呢,我现在说我以前点它能拿到它能拿ID,我就拿到它了,我现在点它也能拿到它,拿到它我从什拿到这个div,从I div往下边找,找它下边H5是不是就好找了,对从里往外找标签不好找,但是从外往里找好找,为什么从外往里找拿到外边元素了,用上附子选择器就可以了。
28:09
但是从里往外找就不好找了,知道吧,所以大家我们就准备这样怎么了,我不给他定义下地方干什么,我一点它我能拿到ID,拿到ID怎么了,我能拿到这个这个删除图标所在的div了,拿到div我找到它下边H5就行了,怎么找负责选就可以了,就这个意思,没什吧,好,下边呢,我就准备来做这个事了,现在呢话,我们手里边有ID了,有ID。我就能拿到这个div了,那由ID拿这个div大纲怎么拿?高了的时候是不是ID选择器啊,对ID选择器就这吗?然后呢,对这个是么?前缀div,那说那后边加上什么,是不是就这个ID啊,这个ID我拿到这条备注的ID了,由于这条备注所在那个div跟ID绑定了,我就知道拿到div了,拿到div之后显得我手里边儿有它了。
29:05
然后找它下边的H5是不是就好找了,父子选择器就行了,那父子选择器在这边继续拼选择器。继续拼,我们说这里边可以任意复杂,现在能拿到那个叠维了,那找他下边的标签,再继续拼平导器,那父子选择器怎么写?对,我们以前学过什么,是不是一个是么?对间括号或者用过什么空格啊?对间括号表示直接复子选的是不知是空格是表示间接的,既包括间直接的又包括间接的,那王者耀用空格还是用间括号对空格,因为H5现在拿到他了,找他下边A5,他不是直接自回错。对,然后呢,这个地方来一个这个用空格,这里边加什么?对,找这个div下边的H5,知道吧,知道吧,那这个div下边有几个H5,只有一个,对只有一个,这样就拿到那个H5了,拿到H5之后,我要拿那个内容,那个内容是属于是是不是属于这个H5里边的内容,拿里边内容咋弄对点AT或者点太的是不是都可以啊都可以,这都行,因为我们这个什我们这里边都是没有标签的,这个A周五里边没有标签,都是文本信息,这样就能了。
30:25
好,这样的话,大看我就拿到,我点谁点哪个修改图标,就拿到这条备注的内容,原来的内容,好这是我们这样的拿到之后怎么办,你看看把这两个数据写到修改备注的模大状况当中,那就写吧,修改备注大修改备注吗,那种就他那时写吧,那就把这页吗,就这样把这个内容然后写到。然后呢,这个地方他。把内容写到修改备注的模特状态里边是吧,那写到模特状,首先ID写到一个隐藏域里边,那你看这边有隐藏域吗?没有没有自己提供一个,然后呢,这这些不显示的内容,一般美工不给我们提供,那你得自己提供知道吧,然后呢,对这个地方来一个套,然后呢,这个地方来一个这是隐藏域,这个隐藏域,然后呢,这个地方来给他一个ID,这个ID叫I。
31:23
告诉ID吧,这个名字你随便起啊,这是我们说的这然后呢,把它来看写不把那个ID写到显示到这个隐藏域里边,那写到这个隐藏域里边怎么写呢?对,然后拿到这个隐藏域,然后呢往里边设置值怎么办?对VR其实最后设置它的Y6属性值,那设置Y6属性值就直接给他传一个值就行,就把这个什么获取的这个内容写到里边了,知道这不是获取,这是设置知道吧,这是设置知好这样的话呢,我们这个ID就写到隐藏域里边,再一个这个备注的内容要写到这个模擦窗户里边,就就写到这个什么输入框里边,这是这个输入框,那这个输入框它有个idd,最好我们就叫建明之意修改的表框,这个地方给来一个修改的表,它美工写的不是建明意的地方知道吧,然后呢,待会我们这个地方来把这个内容显示到里边,那内容显到里边怎么显示,对,那它也是点BL,也是点B。
32:23
然后呢,把这个内容叫note,看内容显,那显示到完了之后,这个模台窗口里边数据都有了,然后把模态窗口弹出来,这是我们设计来的,然后弹出修改上场我备注的模台窗户,弹出修改市场活动备注的模态方合啊那弹的话,那那就我们自己只能自己用函数弹了。那函数,那就首先获取到这个修改备注的模态窗口,这个div的解块对象,调model的参数,然后在这里边传个参数,这个地方传个参数,那这个参数显示对收一下,这样的话再看我们这一个什么这个小流程就行了。
33:10
就当用户点任何一个修改备注的图标,都会弹这个模特窗户,把这条备注内容下出来,好,那这个写完写完我们写一个流程,测影流程看一看,然后呢,把它启动服务来简单测一测,嗯。对。对,大家你写的时候,你也要想着怎么写,为什么这么写是吧,也是这样子,其实你写这个写程序这个东西,你只要会这个流程了,你写的有的是上瘾知道吗?对,上瘾知道你写的,因为他你马上就能看到这个什么效果,这很厉害的吗?马上就能看到效果,不是说你写半天看不到效果是吗?他不是这样的是吗?而且这个程序越难。你感觉越有趣是这种,对这啊对,然后呢,这个地方来个YF123点进来,然后呢,对写不,你要写不出来,就一开始肯定写的没那么快,可能会遇到一个问题是吧,但你要真正做完一个项目,基本上以后问题很少在万事开头的,你知道,然后点进来大,你比如说我想修改这个,你点它,你看这种弹出了,当然模态窗口里边还一个隐藏域,这个ID的隐藏域里。
34:27
将来改完之后一点更新,把改过之后的内容和ID一块提交,后来知你看我点这个,你看我要修改这一条,它的内容出来了,我修改这一条它的内容出来了,知道这是我们说的这个流程我们就写完了,嗯,这个流程写完了,下边来写下一个流程,下一个流程就是用户在这个地方输入备注内容,改内容了,我对意见,我的新的意见,输完之后一点更新按钮,就下一个流程就开始了,要保存更新了,那下一个流程牵扯到后台了,那牵到后台这四层代码,我们从后台开始写,从底层开始写,先写被依赖代码,那么先写这个map,在市场活动备注的map里边加一个方法,这个方法叫保存修改的市场活动备注,所以我们这个地方来继续了,然后呢,在市场活动备注的map里边加一个方法,加一个这个方法咱们都已经设计好了,嗯,范位值影响技术条数进。
35:25
方法名也都设计好了,修改的update,修改什么activity叫remark,然后呢,在这里边传个参数,这个参数是个实体的对象,Remark的实体对象,这都设计好的,然后呢,在这里边来提供一个注释,这个注释叫保存修改的市场活动备注方法定好了,在它的上映射文件里边加个搜入句,然呢在这个地方加个搜句,然后呢,在这里边加个搜,那就加过来一个特误句呗,这个地方来一个修改的错误句,Update,对,然后呢,这个地方来ID要和方法名一样,那把这个方法名拷贝过来,拷贝,然后呢,放到我们这里吧,知道吧,然后呢,参数帕尔米ter type根据我们的设计应该实体类对象,所以我们这个地方随便拷过来一个实体对象,然后呢,这个地方拷回过了,是修改的so数据自动返回银行机构投入不用写,瑞达卖type写了反而错了。所以这。
36:25
是吧,直接写我搜句就行了,知修改的搜句update对update吧,啊对,修改哪一个表是让我能备注这个表知道吧,修改它的哪些字段,那就算了,哪些字段呢看看。那首先是不是那个备注的内容得改了,对备注的内容note content那表的字段名,多个单词用下划线格改它的值从哪取实体类属性里边取,那就直接取这个传过来这个实体类note content这个属性啊,这是一个字段。
37:01
然后还有什么,还有修改时间,你在什么时间修改的,你得改一下叫editit,叫time,那么它的值也是从实体类里边取,一定是封装实体类里边的,然后呢,这个it还有修改者叫editit-BY等于也是从实体类边取值叫editit半知道吗?还有什么。那个修改标记,如以前是零可能,那现在你修改了,那就变成一了,我这个地方叫edit杠了,等于从实体列边取值,那取这个值我们就把它叫做edit flag edit flag,这好,这样的话,大概我们啊,这些该改的字段都改了,那有老师创建者创建时间,创建者创建时间不能改,这个时候备注什么时间创建的,它就是什么时间框,谁创建的他就是谁创建的,所以这些不能改。我们能改的字段只有这几个字段,所以这是我们说那改完之后下边修改条件玩,根据什么改ID,改ID从哪取,也是从实体类属性里边取啊。
38:10
这样的话呢,我们这个修改市场活动备注的这个serve句我们就写完了,知道吗?这是我们这样serve语义写完了,那这个map层就写完了,Map层写完了,下边我们写service层,在市场活动备注的service里边加一个方了,叫保存修改的市场活动备注,所以我们继续来加一个方法。然后呢,是让我们备注的稍位组,是让我们备注就在这了,然后在这里边再加一个功了这个方法保存修改的是让我们备注,那我们已经设计好了范围值影响记录条入方法名也设计好了,叫保存修改的市场活动备注,然后呢,Activity,然后呢,Remark,然后呢在这边传了参数,这个参数是个实体的对象,叫IK,然后呢,Remark实际对象知道吗?哎,这个地方还一个叫remark实际对象方法定义好了,在它实现类里边也得加这个方法,将市场活动备注的service这个时间类里也得加这个方法。
39:08
那我们按一个out insert,让我们implement micro,这样就算好,那service方法的实现调micro,所以我直接调过来micro去了,那调它的哪一个方法,就是咱们刚刚写的这个方法,保存修改的上文的备注叫update,是叫update,我们的这个,诶这个东西叫activitymark,那把这个remark实体的对象传过来。这样的话,咱用这个service层给写完了,我说这个service层写完了,下边就写CTRL层了,在市场活中备注的CTRL里边加一个方法,这个方法就是保存修改的市场活动备注,所以我们这个地方来市场活动备注的CTRL里边加方法,那后来找找市场活动备注的CTRL就啊这个哪一个啊,市场活动备注的品质的随便找一个这个。找了这个备注,咱就这个备注在这个CTRL里边加个方法,那这个方法来定一个方法。
40:05
CT的方法,Public布雷克返回值,我们说将来返回阶森组这个什么?哦杰克哦杰克,方法名建明之意,C editic保存修改到市场活动备注,然后呢remark,然后呢这个地方就可以了。知道吧,然后他这个controller层将来处理客户端的请求,那这个请求我们说给他分配一个uro,那这个UR用request的map,那这个request mapping我说不能随便写,要和他处理的资源路径保持一致。那他处理的作战路径将来要返回到市场活动明细面,就这个地方要和他的路径不置,那他的路径沃克奔驰activity知道吗?所以我们继续拉work奔驰activity,然后下边方法名知道,把这个方法名写在这作为资源的名称。好,这是我们说的这容,然后呢,大家那这个方法,将来访问接线轴串加用response body在这里边定义形态接收客户端传参数,那定义什么样的型仓,你看你前台传什么参数,前台是ID和备注的内容,按理说我这个定义俩型态结束,当然我们再一想,将来时候这些参数分数实体的对象里边,他们本来就属于一个实体对象,所以我就定一个实体类类型的清单,在接收的同时就不能了。
41:27
然后呢,这个地方来个叫activity帽。那我说他前台就传了两个形成,但是我们后台搜数去是不是需要好几个呢?对有一些参数,那前台没传过来,需要我们自己生成,对哪些参数,Edit by edit time,还有什么I flag。所以这些参数你得自己封装,那所以我们这个地方继续对这个参数做二次封装,封装参数封,那封装参数看有哪些参数呢?Remark点看有哪些参数叫set edit对edit time吗?
42:03
那这个修改时间是不是系统时间呀,对,就是当前系统时间,优秀词点二,然后呢,它系统时间没有一个data,知道吗?再一个继续来remark.set edit by,修改者是不是当前用户啊对,当前用户S从set的区域,那这个地方我就注入进来一个session,然后呢session session,然后呢,这个地方来个session.get和tribu contain上网点,然后呢session u,然后呢拿到session,拿到这个U草,然后呢这个地方来来给他么强壮一下,然后拿到uta之后把U草的ID给到这儿。这是修改者这样就行了,然后呢,大家还有还有一个对修改标记editlo,对改成一是吧,但我说那个一不能直接写是吧,直接写不好维护了,我们有个常量是吧,点就是哪一个呢。
43:06
是不是下边这个已经被修改了,改成一了,好,这样的话,大个我们自己的参数也封装好了,也封装好了,现在我们已经来到这一步了,参数都封装好了,那参数封装好下边么?第二个知责掉service。去保存修改的时场,所以下边我们继续来,这都是设计好的调用service方法,然后呢,保存修改的,修改的市场活动,然后呢备注知道,然后呢那调service,调市场活动备注的service,那市场活备注service activity re service,它里边有个方法,咱们刚刚写的那个方法,对,Save activity activity remark。对,正好把这个封装好的remark成功了,对,然后呢,这个地方来一个啊影响记录条数,那处理了,处理成功了还是失败了,那下边第第三个职责根据处理结果返回详细,那这个是写数据的,我们要考虑成功了还是失败了,对成功了失败了,那价格出来开始。
44:14
然后呢,这个地方来讲是三,然后呢,这个地方出1.point,对,那不管成功了还是失败了,反正我们将来都要返回这么一个阶段,这个阶段我要把这些数据封装一个加构的江中。对,我们这个家va的信号就是这个return ofac口,但你看这些工具类你看吗?你只要封装好了,到处可以使用,你都不用每次触毛,然后呢,大家那成功了是吧,咱看看吧,看看没报异常,没报异常看看影响就投入大于零,那我们这成功了,那成功了来个side扣,然后呢,这个can点。成功了,来个对,这个快还得把谁返回啊。为了刷新那个什么那一条记录,是不是还得把那个remark克对象发回啊,Remark对象放到re return贝塔。
45:06
Return,把这个remark直接放到里边,那直到直接放到这里边儿,将来把这个对象转成阶字符串的时候,它这个属性就不叫,就不叫我们设计这个remark了。那个保存这个实体类对象的这个属性叫什么呢?对,Return data。知道。啊,因为我们什么根据那个什么return of阶的对象,它会自动生成阶段,生成什么样的阶,多少就是一个对象,这个对象哪些属性,你看你那个return data,就return object那个return object的那个什么类里边有哪些属性,你这里边就有哪些属性。Return object的那个类里边属性名叫什么?你这里边也叫什么?那么你从前台获取数据的时候也得叫程么,知道吗?所以这些都是相对应的,所以这是我们这样就行了,然后呢,大家看这种,然后呢,如果失败了,失败了,那告诉他失败了,然后呢,这个地方他说side扣告诉天台失败了,那这个地方contain点那就废有,那失败了还要告诉他失败的原因点在message这些都好办了,就告诉他系统忙,然后呢,请稍后重试,知道吧,那同样的道理,大家我们这个地方如果报异常了,也是报错了,也是失败了啊,最终把这个对象返回,它会自动给我转成接号。
46:38
这样的话,我们这个CTRL就行了。这都是按照设计来的。你只要把代码写了。把代码就是你只要把这个流程设计好。剩下就是写的是。啊,那你说老师我以后工作的时候,我是不是画这个图。对,你画最好画是吧,但是我觉得你应该没有时间画,嗯,对,因为你每天的任务,其实开发好多任务,开发好多功能,你就没有时间画知吧,那对都得补,最后补知道吧,最后项目快交付了,这些这些图也是验验这个验收这个项目的一部分,知他们那些客户都是找第三方公司帮他验收项目,因为他们不懂技术,有这个市面上有专门帮着嘛,帮帮别人验收项目的这些公司对你这样写他也看不懂,但客户看不懂,但是但是那些验收公司的那些人,他们能看懂,他们天天帮别人验收,验收这些项目,这些这些图你做的,你画的不规范都不行,知。
47:42
知道吧,对,我画这个基本上也也不规范,就为什么不规范,因为我画的就是一个流程图,还有什么,还有类图呢,像这些类啊,不是你在这啊,在这重在这随便命名的这些类按理说是什么,就在这个,在这里边还有类图在这我得画类图。
48:04
对画类画类图怎么了,这些类都应该从这边拖过来,对现在画图多数都用这个,但是这个软件是收费的,都一些这个大公司他用这个软件,当然我们还有一个免费的软件。免费的软件哪一个,就这个叫star,叫star u,这是免费的,对叫star u,他也可以画这种图,但是它的功能没这个软件强大。这个软件甚至能直接根据这些类,你要设计好类图之后,能直接导出来Java代码。对,直接抖着Java代码这种就这对,所以当我们说这种软件很强大是啊,当然我们以经以后开发的话,不太可能涉及,开发过程当中不太可能涉及,为什么画它太耽误时间了,你平时你你很忙呢,你天天干,你天你一天做好几个功能,哪有时间挂他,那你说老师,那我那你说先设计,然后先有思路的,我说那个思路是吧,你你可以什么一开始的找个纸找个笔简单组织一下思路,你般你入职的时候,公司会给你配一个什么纸质的一个笔记本,知吧,给你发一个笔知吧,就是让你是吧记东西的知吧知对就笔记本不是那个笔记本啊,是纸质的笔记本是吧,对,实际上你在上面点点画画的,就这样了,他知道你要用这种图不好画啊,就你也不是说不会,但是就是就是麻烦啊。
49:33
那到最后项目交付的时候才是么?你才画这种图知道吗?是吧,那那你说老我会画吗?哎,这种图你一看别人怎么画,你也就怎么,你要知就就知道了,知道这种类型知道吧,到后边有时间呢,我们给大家画一个完整的类图,用力图,持序图,我现在画这个就是实序图,实序图是反映流程的,你知道吗?啊。对,你没没看着过,写代码之前要看一看,按照图来写,你要没有流程,你光记老师先写这个类,我也先写这个类,那这样不是你没有,你没有思路写的话,以后你自己做一个新项目,那就没有人给你写,对你得自己是吗?对,你得自己来做,你得自己会分析,对嗯,对这些,所以大家这个这个图最好,你你也许在现在我们不要求大家画这个图,你最好写代码之前有这个思想,甚至这些代,但你看咱们这些流程,每一个都很固定。
50:33
对增长一改,他就这些流程都很规定,就啊对这个代码代码你得按照流程写,代码是这是我们是了,这样是吧,好这是这个这个我们这个流程图,这个我们就设计好了,设计好现在我们已经后台代码都已经写完了,那下边就是前台了,这个流程看清。
我来说两句