00:00
在市场活动的map加一个方法,市场活动map找一找市场活动的map,这个在这里边加一个方法,好,这个方法与已经设计好了,根据可录ID查询该线索的相关联的市场活动那一个线索可以关联多个市场活动放值list,这都涉及好的list里边是一个一个市场活动实体的对象。在这直接写for,就直接我们这个方法名行了,查询的select,那查询什么,查询市场活动,然后呢,这个是for detail,在明细页面上去展示去for detail by可录ID在这边传一个,然后呢,这个地方给他一个注释,这个注释就是根据可录ID查询那什么该线索相关联的,相关联的相关联的市活动的市场活动的明细信息。
01:13
这样的话,我们这个方法就定义好了,方法定义好了,下边我们写出错数句了,主要是这个错数句,大家可以看一下,我们让来写出错数句,在这里边加一个搜句select的查询的搜句select。谁拉,然后呢,这个地方来一个好ID,要和方法名一样,把这个方法名拷贝过来知道吗?参数帕me type根据可录ID去查,可录ID是个字符串的个结果,伪大的麦,因为我们每访问一个市场活动都是分为一个实体的对象返回的,所以这个地方返回是在这里边写搜索句查询的搜句select,然后呢,From从哪个表里边查,从市场活动这个表查,查询他的哪些字段,那你看你前台需要哪些字段,对前台需要哪些字段需求说了算。
02:15
需求在哪说了,在这个地方说了,对,他要那些是相关的市场活动,要选择这个列表里边,你看这个列表里边每一条记录需要哪些字段,对市场,我们内幕开始日期,接入日期,所有者关联资本是查明的,这是这四个字段了,还有一个字段得查对。是不是将来你得做解除到得解除关联,解除关联我一点这个地方要解除关联,解除当前线索和这个市场活动关联关系。解除,咋解除?对,是不是到那个第三张表里边去删一条记录去,对,到第三张表删一条记录,根据什么去删去。对,根据谁的ID去上。
03:03
对,是不是根据市场活动的ID和当前线索ID一起去查,一起去删,对当前线索的ID是不是以后一点解除,到时候当前一批明细页面里边是不是已经有了,对你只需要拿到这每一条市场活动的ID就行了,你点谁拿到谁的市场活动ID跟当前线索ID一起发到后台去上,这是我们以后我们就准备这么做,其实大家真正解除关联,除了有这种方式,是不是还有一种方式?对,直接用哪一个,对用哪一个,用第三张表的主键,因为你要删第三张表,根据第三张表主键删就行,但是第三张表主键的话,你在这个地方你去查询的话,是不是你还得查询第三张表的时候,主建那个,那那一个字段去查,那个字段是不是不好查呀,对不好查,那如不好查,查出来不就行,也能查,其实但是你返回之后封到实体对象里边,实体对象你得再扩展一个属性,保存到这个字段,不好保存。
04:05
所以不方便。所以我们就准备用两个ID,两个外键决,能够决定一条关联关系记录。所以我们不准备查第三张表的主见了啊,我准备把两个外键拿到以后去解除就行了啊,所以大我们就准备用这种思想,所以大家总的而言,我这个市场活动这个表我要抄五个字段,一个是内幕,开始日期,结束日期,所有者,还有一个ID5个字段,而且有一个关联字段,得查名字,得关联查询,知道吧,所以我就查这五个字段了,那要进行关联查询,起个别名知道吧,然后到这边直接去查了。所以写Soo语之前,其实Soo语语法大家都会,就是关键,你要分析要查哪些字段,这个分析的过程才是最重要的,知道吧。所以下面我们直接写了,那查这五个字段再查呗,a.IDA点内点大的贝,a.N的贝还有什么呢?对over是不是得连接差询呢?内连接还外连接,对所有者都不可以用内连接来一个U对表,U对U,然后呢,你说老师你咋不U1了?对,我就就连这一个UU字表是吧,我就不U1了,对对对,你得U1也行是吧?对对,这这种这样研究条件,A叫做a.o等于u.ID对这个地方来个u.name as or这样五个组挡我都查了,其实这都是需求让你这样做的是吧。
05:54
呃,然后呢,这个地方来看我们的Y2,然后下边查询条件,根据什么去查。
06:01
是吧,根据可录ID上这个标,这俩标准有可录ID吗?没有,没有哪个标准有可录ID。对,线索表里边有ID叫可录ID知道吧,第三张表是不是也有,但是线索表跟这俩表是不是都没关系啊对,那我们这什么连接第三张表了,第三张表我们说两个外价都不会为空内连接,连接第三张表哪一个表就这个表,就我们这个表限额是场,刚才们就这个表啊对,把它拿过来交上它啊。连接条件可以交上它,那这个地方起个标准叫C2连接条件啊,谁去连它对A点叫什么ID等于谁CR点。ID。然后呢,大家看这样我们就连上,连上之后下边根据连上CL了,那就关联关系表,那就能用它表格字段了,用它这边哪一个字段对可录ID这个字段查询条件吗?我要查询的是这一个线索下的市场活动。
07:10
知道知道,其实这个骚手句呢,跟这跟咱们写这个骚手句对基本上一样的吧,啊,因为咱们刚才给大家举例子,我们就查这两个字段,没查别的字段,你要再查一个O文,其实也类似了,就这样,就这个造语这样。好,这样的话来看我们这个骚语就行了啊,骚语义行了,这个麦就行,就这。这些那买表层写完了,下边我们要写出service层法,在市场活动的service加一个方法。这个方法也是根据可录ID查询跟该线索相关的市场活动的信息,所以我们这个地方来,然后呢,我们这个地方来,在这个线索,在这个什么市场活动的service里边加一个方法,市场活动service就这个在这边加一个方法。这个也都设计好了,纺织list list是一个一个的,Activity是对对象,这里边来一个叫query activityiv for by ID by ID,然后呢,带上这个,里边来传个参数,这个参数就是那可ID你要查询哪一个线索下相关联的市场功率。
08:23
把它传过来就行了,传过来之后他跟我们说,在这个时间类里边也得加这个长度。All insert,然后这个地方拿过来,拿过来上放的时间调这个地方调过来调哪一方,咱们刚刚写的这个什么。然后这个方法叫select activity for by,别调错了。因为这里边儿这个市场活动这个表会被后边很多业务都需要依赖这个表,在这里边我们将来会写很多方,后边还有往市场活动这个表格,这个市场活动这个。所以大家你这个地方别调错了,知道吧,所以我们这个地方调这个叫CID啊。
09:05
对,这是我们说的这因为前面这些模块的这些这些类这些方法,你封装好了之后,后边什么都要掉,他们你别掉错了,那么这些这些它这个有很多这种方法,这样的话呢,我们这个service层也写完了,Service层写完了,那我们整个大讲三对map service都写完,其实难是不难,就是代码多嘛,因为字段多,嗯,所以你写的时候比较麻烦一些。啊,下边就写CTR了,Map造下方写CTR,然后在线索的CTR边加一个方法,一访问这个方法将来就要跳转到线索明细页面,知道吧,然后呢,我们来这个写着中在线索承包加个方法。加一个CTRL层的方法哈,布雷返回值什么类型的,对跳转页面那SP类型的方法名你随便写了建明之意,查看线索明细就叫知道吗?然后呢,这个地方来一个,然后呢,在这里边给它加一个request的毛屏,知道吧,然后呢,这个地方来一个,然后呢request map,我说要和它处理自段路径保皮质。
10:17
他出的死亡路径就是沃奔驰下边的可录,对下边的资源的名称和方网名一样,这录,嗯,对,跳转页面不用加瑞方包垒。然后呢,在这个方法里边定一个形态接数参数,对这个形态就是一个什么对,就是一个线索的ID啊,这是我们这,然后呢,大家看这样的话,这个方法定义好了,方法定好现在已经来到这来了啊,参数拿到了,就一个参数,不用重装,下边调设备的方法查动态数据就行了,所以下边我们来调用,调用service啊叫调用service乘方法来查询,是啊,查询我们的这个数据吧,查询数据那一个一个查就行了,首先查基本信息,调线索的service,然后呢,调查叫que I c four detail by ID,把这个ID穿过来这样一行,然后呢,这个地方我们来一个叫clue来一个,哎,这个地方来一个clulu,好。
11:30
然后呢继续来达成,还有然后呢去查备注,那得调备注的service,那这个地方就注信备注的service private可露会骂。Clu remark service,然后呢克Lu remark service,然后呢这个地方来all work,然后呢调过来他,然后呢这个地方给调过来,第二叫query c remark for by ID,那把这个什么CID传过来,线索的ID传播,然后呢这个地方得到一个list lista里边是一个一个的可录remark实体类对象,我们就把它叫做remark list保存起。
12:13
然后下边继续来查询相关联的市场活动信息,那调市场活动的货位词,这个地方不规型了一个市场活动的货位,呃,这个地方注市场活动叫private,然后呢叫市场活动active service,然后呢,这个是那个activity service,这个地方注入进来那个叫all world,然后呢调activity service。然后呢,点查我们这个query activity for by ID,把这个ID传过来,这样的行,然后呢,这个地方得到一个list list里边是一个一个的市场活动,是频类对象,这样然后呢,市场活动是有对象,这样的话,大家把这些动态数据都传过了,传出来之后,按照咱们的设计,那要把这些数据传到页面里边,传到页面里那就把数据保存作用宇中,把数据保存到作用域中,我们这个作用域就是request的作用,这样吧,那这个地方要注进来一个request的了。
13:25
然后呢叫http request,然后呢这个是request,然后呢来调查这个地方来个request,然后呢点set tribute这个地方set tribute,把这数据往里放进去了,这是线索的基本信息key,我就叫这个C了,再一个request set tribute。这是现该线的下所有备注的信息,可啊,下边request.set attribute,然后呢,这个地方来个市场活动的列表,保存好了之后,下边请求转发,那请求转化转到哪去,直接return那个页面的资源路径,我们转到哪去就转到这个页面里边。
14:20
就转到这个页面里边,对,把这个页面自源路径写到这,从哪写啊对沃奔驰可录下边叫,它会自动加上前缀和后缀就行了。这样的话,我们大家这个就行了,这就按照咱们这个流程写的看。知道吗?那CTRLL写后再写。那一会儿我们来写这个前台,其实这个前台这个其实你看着,但是不多,写起来字段不看着不难,字段耽误时间,其实到工作过程当中,其实很多时间都是浪费在这上,那些字段比咱们这也还多呢,动不动都是几十个字段,动不动几十个字段,因为用户想操作,想保存一些数据,他就什么让你保存了,那你就得设置自段保存。
15:10
所以这一会我们来写这个页面就行了,好,下边大家休息会休息,我们来看看这前半页面写一下就行了,好,下边大家休息会好,好下面我们接着来做这个查看线索明细,下边就是前台了,前台呢,就这个页面明细,页面上面通过EL表达式GSTL把数据取出来显示到页面上面就行了。好,那首先我们把这个页面改成GSP,那那改一下吧,我们这个地方来把它改成GSP,那改GSP3部分编码base标签,GSTL标签库都应该加上,加上我这地方我就不一个一个写了,我们考过了CTRLC,然后呢,这个地方考过了。然后呢,加上base标签了,这些点点杠全去掉,LCTRL2RE play好全替换掉,然后呢把它改成JSP,右键改成JSP。
16:09
然后呢,这个地方改一下,这样这样。然后呢,点确定修改这样就行了,然后呢,在这里边大家看EL表达式接TL显示数据就行了,那显示什么数据,那在这些模态窗口先不用管它,他们默认不显示,不用管啊,然后呢,往下边找才行,这是返回按钮,这是大标题,从这儿开始,大标题就这嗯,就这些不用这个应该是线索的。Name那个名字,这应该是称呼,这个应该公司的名字知道吗?对那说显示吧,这都是基本信息这个啊。然后呢,来从这里边取就行,一而表示取基本信息,那就可录点叫服务name,这是姓名。对,然后呢,这个是称呼八了,符号直接取可录点称呼那个比较长比较长的,你别敲,敲的话很容易出问题,对对找这你看找这个地方哪一个呢?看看这个地方哪对就这个它跟字段类似,它跟字段基本上一致的。
17:17
因为这些实体类的属性就是跟字段相对应的,知道对,这个是公司的名字,这个是公司的名字到符号来可录点对company对A知吧,知后呢Y对这然后呢,再看后边这一个按钮,你道吗?后边这个按钮就转换按钮,将来我们会重点做这个功能,知这个到到时候再说,先不管它了,下边这些也是这个地方full name称呼是拼在一起的,你看对那我这那复制直接从这过来就行了,知道吧,拷贝然后呢,放到我们这了,这是名称线索的名字,嗯,就是它俩拼在一起,但是你你你做那扉页查询的时候,这个地方是不是也是拼在一起的,对这俩字段你也让它拼就行,对这俩对还有什么所有者啊,所有者就这个,所有者就这个。
18:16
这都是美工网写写死的数据,我们把它改成我们的动态数据就行了点然后呢,所有者是owner,我们这是连接查询它的名字,这也是公司的名字,叫公司的名,公司到可录表叫嗯,还有还有哪个看看还有对职位,那往哪对这个职位这个地方来Dollar号叫露点,嗯,对叫职位,然后呢,这个是油箱啊。可录点这个可录可录点邮箱email,然后呢,再一个是固定电话这个地方,然后呢可录啊点phone后这样就行了。
19:13
还有谁呢,看看啊,还有谁对,还有一个网站,这个是网站行,这个网站是web,还有这个手机号对。对M是吧,然后呢,这是线索的状态,线索状态来一个对state,这线索的来源对来源来一个source啊。还有这是创建者,这个地方来一个叫create啊对,Create吧,Create吧,嗯,这是修改者,这来个create叫edit,对,后边还有时间,这是创建时间。
20:03
创建时间,然后呢叫create time,然呢这个是修改时间,叫edit,看然后呢再往后找描述,这是描述,然后呢,这个地方来一个描述,来一个叫description,然后呢,这个地方来一个联系纪要,对联系纪要这个比较长,这个长我们可以考过来,对这个联系肌要,然后呢,这个地方叫联系肌要,然后呢还有一个下次联系时间,就这个下次联系时间对这个也比较长,考过来,嗯,然后呢,这个地方考过来看这个诶。这老师好。这是下次联系时间,然后呢,可录点下次联系时间改成驼峰运用法,因为取的是属性下次联系时间,然后呢,这个是地址,这是地址对来好叫可录点address啊。
21:13
啊,这样的话,当我们基本信息都写光了啊,基本信息下下边就是下边备注信息了,那备注信息我每一条备注都是一个div,这样美工把我们写死了,那我们要动态的去享受我们自己的,嗯,对,那得循环remark利索了,那么这简单循环一下,我们看看这个得来一个for each这个地方,然后呢,这个地方来一个啊e term,对,这个地方是叫我们remark list,就是咱们前面这个什么查出来那个VR这个地方来一个,随便起个名字就叫remark。他从这里边每拿一个备注的实体对象放到这里边干什么?显执行循环体,每执行一次循环体,我们这个地方就显示叫备注,当然这里边儿数据从这里边取。
22:04
那就取白,首先大家看这是那个图像,对那个头像,这个地方头像,那么将鼠标悬停在头像上面的时候,去显示这次变卖这条备注创建者的名字可味了吧,知道吧。然后呢,大家看这后边都不用管了啊,这是备注的内容,Dollar符号来一个啊,每次变出来一个re,备注的内容叫note防是。这一个是这一条备注是属于哪个线索的,这里边要显示线索的相关的信息,对线索相关信息是不是从从直接从那个对象里边取啊对取这个是什么full name,然后呢,这个地方来一个到符号叫可录点称呼称呼来看称呼。对称呼称呼就是这个,嗯,然后呢这然后呢再来看看大这是公司的名字Dollar符号,然后呢可录点com,然后呢,再往后这是这个时间,要么创建时间,要么修改时间,对判断一下三于大服判断一下啊看看这次变来这个备注有没有人修改过,对editlog等不等于对零是吧,如果等于零显示remark点对创建时间,否则显示remark点修改时间。嗯,对,同样大概后边这个地方也是一样啊,也是一样Dollar符号好看看这条备注点editlo。
23:51
等不等于你知道吧,零一样,你等于一也一样是吧,到后边你吧,你那个逻辑,你就把修改时间,把这放在修改或者修改时放在前面也行,知道,然后呢,等不等于零,如果等于零显示这条,这次标这条备注的。
24:10
创什么?创建者叫create by,否则显示那么点叫点edit by后边还有俩字,同样的道理也这对mark.edit等于零,知等于零,显示创建俩字知,否则显示对,修改俩字。就这样吧,这。好,后边都没了,下面这两个图标,我说这两个图标将来什么一点,他们是不是要获取这次变成这个备注的ID啊,对不,我们要给他绑给什么把ID给这两个图标绑定。对,给他扩展属性,这个属性叫remark ID,当然你叫啥都行,我们这是贱名之意了,然后呢,到了时候显示remark.id同样后边这个地方也是一样remark ID,然后呢,啊,Dollar for Dollar for叫remark.id将来以后为了给这两个图标添加视件,是不是要给他们建立区分这种关系,对,给他们扩展属性叫内幕属性。
25:29
啊,它的内属性值叫那么A,它的内幕属性值明叫delete a,知道吗?将来我去给他们加相应的事件的时候,我就获取那些A标球。哪些A标内目等于delete a的A标签,或许这些A标签哪些A标内姆等于AA的A标签,给修改和删除图标加视角非常方便啊。再一个我们做什么删除的时候,我一删除哪一个备注,要把这个备注的div删掉,我要获取那个div去,那如何获取div加属性,加属性为了定位div,给它加ID,这个ID的值让他什么我一点这个什么删除图标我能拿到ID,备注的ID,我就让这个div的ID址和备注的ID绑定明白点ID绑定白。
26:25
然后未来什么给别的什么也给remark d绑定的这些什么remark d啊,这个remark的这个ID绑定的那些什么标签,为了区分开来,给它加一个什么前缀加上去了。以后我一点修改图标,我一点删除图标,能够获取mark的ID,获取之后如果删除成功了,我要把这个div拿到,拿到之干什么找div找拿拿什么样的div,根据ID选择一起去找。他拼上这个mark的ID就能找到,找到之后把它删了就行了,那以后做修改也能什么一点哪一个按钮拿到ID也能定位到div,定位到divy就能定位到他下面的H5,能拿到内容了,那要去修改了,再一个能定位到H5,也能定边后边的small标签也能把后边修改成功了,也一块更新了,知道吧。
27:18
所以大家这些我们都,那么这些都是我们以前给大家设计好的这些思想,所以大家这些要用熟练。好,这个什么,关于这个备注的显示,我就给大家说到这儿了,知道吧,好,这是我的备注,下边来看看市场活动相关点的市场活动,现在这个地方显示完了,下面来显示这个地方,那这个地方我们说大家这是一个贴补表格。这个表格就是他看相关的事,这是表头t had表头,这是提包的这这个列表格中的这些数据行,这是美工写此的两个数据行,这故置点。那我们到底要显示几个市场活动便利便利,谁便利?这一条线索,你知道这条线索它下边相关联的市场活动,就这个列这个例子,它里边查出来几个市场活动,在网站里边就显示几条就行了,那到底有几个,那就便利条就行了,便利的话我们还是这种数据,在作用率里边用GSTL标签便利。
28:25
知道吗?然后呢,便利的话,同样这里边有个A。他便利谁就是便利作用率里边的某一个例子,我们这个地方要便利跟这个线索相关联的市场额度的例子,所以我就便利这个例子,把它拿到就行,然后呢,再看这里边有个循环变量,这个循环变量你随便取,将来它从这个例子每取一个元素都放到这边。那我们这边每一个元素都有一个市场活动的对象,市场活动对象里边包含着五个属性,那我这边都放到这,放到这里边干,我这里边定一个变量,接收到变量,没人你随便取,我就建名这一了,我就叫艾克特别就叫act了,但你叫什么都无所谓。
29:10
然后呢,取出来之后干什么?直行循环题直行循环题干什么?显示一条市场活动拷贝一行放到这里,当然这一行市场活动的信息从每次变出来这个市场活动里边取,那就取的话怎么取,我们说GSTL跟E表达式结合使用的,不管取什么样的数据,都通过一二百二去,那就取个到了符号大括号取act,这次变出来这个市场额度的名字点name,因为第一列显示名称啊。第二列显示开摄日期,那也是从这里边取act.start data,这是结束日期到符号,然后呢A点。
30:04
这是所有者到了符候act.o最后来看这一列,是那个解除的图标,这个解除的图标的吗?就是这地方那有老师看着好像是图片,我们还是那个不是图片,这不是图标对这超级链接做出来的效果啊。其实大家看,我说大家你以后到工作的时候看,你看很多像图片的东西,其实都不是图片。都是都是,都是CSS修出效果,用代码修饰出来效果。那有老师是他做种图片多好,图片,图片比这种效果有的时候看着还好看。啊为为啥为啥不做种图片,做成图片多好,他有那种做的那种美工,那做了图,图片做了还好看,为啥不用图片,有我们大家看这么页面上很多很多时候页面慎用图片。
31:03
就我们做外部开发页面慎用图片,这为什么慎用图片,因为图片太大了。就一张图片,它就像这种图标,你要做一个图片。他从这个什么,从这个容量上来讲,一个图片很小的一个图片还几K你知道吗?就你像那种点PG那种图片,大哥,你拿着个很小的一个小图像,小图片,它有的时候都几K知道吗?那几K怎么了?但你想这个页面上假如有很多这种图标图对传到图片,传到图片怎么了?用户想看到这些图片,一开始都在服务器里边存到了,用户想看呢,你必须通过服务器,通过网络传到他浏览器上,他才能看到,传到浏览器上怎么了,他就占网速网。一个一个字节,一个字节,一个字节通过什么,通过网络去传,占网速,占网速对网用户的网速要求特别高,你一个页面上假如有很多带上有很多这种图片好了,他光这图片有的时候吧,多了他占几K,比如说么几十K,你就一个图片,图片多了可能就几兆。
32:15
知道吗?那这个时候大家他为了看你一个页面几兆的空间,通过网络上通通通过网络通给你传输过来,他的网速如果很慢的话,他一个图片再传半年才再传完,要有的时候这个连接超时了,那图片还没传完怎么办呢?大家可能也有这种什么感觉,什么一个图片没传完怎么办呢?对有个红叉是吧,说什么页面没加载什么之类的,这就为什么这那的图片太大了,你知道吗?你的网速又很慢,然后呢,连接超时了,它给你显示空调,你知道吗?啊所以呢,大家知用户体验就不好了,就对他的网速要求高,再一个呢,对你后台压力很大,是你后台往外返回响应信息,返回太多了,你后台得往外写。
33:01
往外写这些流,那那那你后台怎么写得通过你的服务器往外写啊,往外写那个效率太低,压力大知道,所以这种图片一般都外部开发,你看到图片很很很很吸引人,但是慎用图片,一般都不会用图片,知道吗。是说现在这么看,这图片都是什么CSS做出来,那你说CSS做出来怎么了?S做出来他不需要传吗?你当然也需要传了,但是他需要传,就CS做成这种效果,你说你说他能用多少代码,代码他很少,你知道吧,1K都不到,哪些代码当然就这些代码看吧,就这代码他做了,加这个class就行了,好吧,再把那个CSS文件加进来就行了,到浏览器上面只要加这个class,再把那个CSS文件加载了。这个时候呢,它效果就出来了,所以你看到底有多大一K也没有,你知道吗?啊,所以说大概我们说这些呢,大家以后你还会遇到这种情况,就这种图片,它不是图片,他做出效果,这样有有好处的,当然这有好处,这这美工是吧,对对美工的要求高了。
34:06
你美工看到什么图片,你得用CSS能能能把这看到,想要什么效果,你得用CSS能修饰出来。其实美工我们我们跟他说那个杨跟他说那美工其实也很有技术含量嘛,他看到什么,他看到什么效果,他能给你做出来,这也这些人工资也挺高的,明白吧,好,这时候我们要这了,挑专大看我们说这种图片有了,那图片有了,那下边什么我们要干什么呢。我们要什么,将来一点这个什么,每一个删除关,解除关联图标的时候,要解除这个关联关系,那如何解除?我们前面分析了,拿到当前线索ID能拿到,是不是我还要拿到这条市场活动的ID?拿到市场ID怎么拿对,把这次变出这个市场活动,把它ID是不是给这个按钮绑定了,怎么绑定对加属性,加什么样的属性。
35:06
对,由于它不是表达组件,是不是自定义属性了,对,你爱叫啥叫啥,只要建明之义就行了,我既然是市场活动ID,那我这个地方就叫XTID了,等于它的值,那就从这里边取了actct,这次变上这个市场活动,这样的话我们就可以了,那将来我一点这个图标,我就能获取当前点的这个元素的这个属性值,拿到它之后和当前线索的ID一起发到后台解除就行了。这是我们大概这个思路,就这。好,这样的话,大看这个什么便利完市场活动的list,那么这个什么列表我也显示完了。显示完之后,这样的话,这个页面我们就写完了,那这个页面写完了,下边呢,我们整个流程大家看,还剩前面一点就点这个超级链接了。一点超级链接向后台发请图,把这些数据都查出来,跳转到明页面去展示了。好,下面来看这个超级链接,这个超级链接按理说你得自己扉页查询拼出来,当我们扉页查我们不做了,我这个地方准备写死了,嗯,写死一条,我就利用美工给我写死这写到这一条,这个数据我一点它,就让它跳转到咱们前面创建那条线索的那个明细页面上知道吧。
36:24
好,那我就写此改一下这个超级链接的那个什么UR就行了,来找找找他,然后呢,在这个地方,那你得找这个线索主页面,线索主页面美工写死了两条记录在那个列表里边来找一找,然后呢,在哪个地方呢?看看这个就这个地方看看。这是那个市场活动的列表,Table表格,这是表头,不用管了,来,这是数据横。这是美工写死了两条,按理说你得分页查询拼出来。我这个地方我就不写了,干什么,我就利用他这个了,利用他这个地方,然后呢,我把这个什么,我把这个超级链接改一改。
37:06
我写死一条就行了,那这个超级链接大哥,那这超级人的名字美工写的叫李四,我我上次咱们创建那个叫什么来着,是不是张三呀,称呼是什么。然教授是吧,教授,对教授,然后呢,再看这个URL,这个URL改成咱们的CTRL就行了,对,然后呢,这个controller,这个controller哪一个就这个。Detail。拷贝,然后呢,放到我们这里边。给他带一个参数怎么的,对问号参数名ID等于这个地方我就写死了,我说按理说你得非要他云拼出来。我这个地方就写死了啊,然后呢,那我找我们上次创建那个线索,就这个把这个ID拿过来。
38:01
我就写死了CTRLC拷贝,然呢写到这,你别这么写啊,你别这么写,但你要说你要老师你跟我跟着你的进度,我自己没我自己写的话,这个时间可能是比较紧张,你一开始你要如果只跟我的进度的话,你也可以这么写,以后有时间把这个分页查询再改过来,它改成分页查询的知道吗。啊,你要如果时间比较紧张的话,你一直跟着我的步骤走,你也可以这么跟他做。知道以后我做这个流程是一肯定是个通的一个流程,知道吧,你也可以跟着我做,知好张是这那你要有时间的话,你最好改成分线查询的吧,好这样的话大我这个流程就做完了,把它改完了,这个请求就发过来了,你们老师处理响应返回网页,不需要我们处理。网页访问浏览器,浏览器自动显示是吧,这样的话整个流程就行了。写完之后,下边我们就可以测试一下了,所以下边我们来测试来启动服务来测试一下。
39:17
ID啊,哪一个ID等于不用加,不用加你你为什么不用加,你看对你看啊这种他本来这全部都是字符串,是这些都是字符串,你看它这个地方就相当于你在地址上敲这个地址。那我们在地址上敲地主的时候,如果万一后边带参数,如果万一在后边带参数,是不是也不也也不用带引号,对不用带引号,他就模拟地址上弄知道吧,这说我们这下边呢,我们这个地方来个张三登录,YF123推车登录,然后呢,现货带上就这个地方,我这个地方写死了。
40:00
就按理说你得分页查询拼出来知,所以我们这点这了,你点这儿再看跳转过来,这些基本信息都有了,他那个张三是教授吗?我们这个博士是吧?对博士啊,诶怎么是博士,博士厉害还是教授厉害,教授厉害是吗?对,交上。对啊,教授能教博士带博士,嗯,反正是都挺厉害的,嗯,对吧,这我们这个地方他跟我们说这个备注当然没有了,到时候你自己做就行了,对备注的增删检查自己做查询,给大家做出来啊,别的自己做下边相关联的市场活动,当然咱们还没关联呢,一会儿我们就准备重点做关联了,对吧?给那么跟这个线索,当前这个线索关联一些市场活动去。好,这样的话呢,咱们这个明细呢,我们就给他做到这儿,明细做完了,那下边我们就开始做下边这个功能了,线索关联市场活动知道吗?对下边呢做这个了,然后呢,下边是做这个线索关注式活动,第二个叫线索关注双活动知啊,那线索关联市场活动我们做的话,还是先看看做成什么样子的,那分析需求。
41:19
他的需求就这样,我大概先给大家简单描述一下,说用户在看一个线索明细的时候,就在看一个线索明细信息的候,他发现这个线索以前参加过一些市场活动,想给他一这个关联关系没建立好呢,他想建立一些关联关系,那如何建立呢?大家知道我们来看这个啊,看这个什么,看这个这个项目原型,这那假如他已经关联过几个市场活动,他要发现这个线索又关,又参加过别的市场活动,他想建立这种关联关系怎么办?他就点这个地方这个有个按钮。一点它弹那一个线索关联市场活动的一个摩擦窗口,在这个摩擦窗口干什么?就是你想给当前线索关联,关联哪些市场活动,这个地方你可以把那些市场活动搜出来,怎么搜出来,在这输入市场活动的名字,输入几个关键字就行了,你比如说呢,我想搜一下传单的,传单的输入到这个地方之后呢,之后呢,那你老师输完之后是不是点查询按钮,不用点查询按钮干什么,你要一点查询按钮,其实用户体验就不好了,怎么不好了,你看啊,他输的时候鼠标手在什么键盘上呢?你要想让他点。
42:32
这个什么查询按钮再搜,那这个时候他得去找鼠标去点,所以不太好干什么,一般来讲做这种一般都做成什么样的,输完之后,你输完之后什么键盘肯定会弹起来,键盘一弹起就说明你输完了,输完之后干什么,马上向后台发一个请求,干什么到后台数据库里边去查询市场活动,那个表根据什么呢?根据名称去查,只要名字里边。然后呢,有关键字的模糊查询,这些市场东西全列出来,列出来之后什么动态的列出来啊,动态的列出来就好像什么大哥,就好像这种,就好像他们这种,就这种百度你看这些,你说我要输一个东西,你看百度啊,你就来一个,嗯,这个随便来一个啊,我想搜一些东西,搜什么我我不太清楚。
43:24
是吧,或者我我我记不太清,那怎么办呢?你一输完之后,咱键盘一弹琴你看吧。他什么,下边给你列出来,这些是不是你要搜的。那你说说这是从哪来的,从百度词库里边来的,那你说他他怎么知道啊,人说他百度词库怎么到百度词库了,你键盘一弹起,向后代发请求了。这百度做的到他词库里边去,根据你输入的关键字去模糊匹配,把所有含有北京的这些关键字给你列出来了,列出来之后干什么。这个地方是吧,当列出来之后,你就可以点那个了,这是百度做的。
44:01
你你不用输完,就这个意思,我们这个地方也准备做成这样子,就模仿百度呢,我们输入关键之后,键盘一弹起好了,向后台发请求,异步请求,然后呢,去到市场活动那个表里边,根据名称模糊查询,把名字里边含有关键字市场我们全列出来,列出来之后干什么,我就可以找我想关联的市场活动了,说这个线索参加过哪些市场活动,选什么他可以选多个,选完之后干什么一点关联按钮。干什么?向后台发请求,把你选的市场活动信息和当前线索的信息一块儿传到后台。干什么往第三张表格加记录?加几条记录?你选了几个市场活动?把这些市场活动ID和当前线索的ID一起往第三张表格保存几条记录?选了几个。添加几条不选了,几个图添加几条,把线索ID和每一个市场网ID分别组合往第三方加记录,加记录加成功了怎么办?把它关了,然后呢,下边能自动刷出来这几条关联的市场活动,下边列出来都是已经关联好的市场活动,应该能刷出来,知道吧,自动的刷子,然我动态的刷子啊,他可不是说你再查一遍动态的刷子,再一个如果关联失败提示信息,这个地方就不用管了,他要看哪一个失败了,这是大概这个需求,就是大概这个需求。
45:24
这是我们说的这个需求,那这个需求有个大概了解之后,但我们来看看他这个需求文档描述,这得跟客户确认好了,那他这个流程跟我刚才说的类似,你看啊,他说用户在线索明细页面点击关联市场活动按钮,弹出线索关联市场活动摩擦状。然后用户在线索关联市场活动模中输入搜索条件,每次键盘弹起,根据名称模糊查询市场活动,把所有符合条件的市场活动显示在列表中,用户选择要关联的市场活动,点击关联按钮,完成线索关联市场活动。
46:00
这是大概我们说这个跟我刚才说的一样,但是还有一些特殊要求,他说什么每次至少关联一个市场活动,说这个地方,你点关联的时候,这个地方必须要选一个。你不选不行,不选像获得发经人没意义,你就是关联市场活动,你不选了知道活动。至少选一个。但是说选多个,选多个可以是吧,是每次至少选一个,就这意思,好下边咱们还有还有一个要求,他说什么,他说同一个市场活动跟同一个线索只能关联一次,不能重复关联。就什么意思,你比如说大家这样举个例子。好下吧,你比如说大看我这次假如我想给当年线索关联一个市场活度,怎么关联,我就这样一点关联完就然后去搜,去去搜当年这个线索,然后一搜,诶搜出来就发传单,假如这个市场这个线索,当前这个线索参加过这个市场活动,我就给他选了,选完之后一点关联好了,往第三上面加条记录,把这个线索的,把这个当前线索ID和这一条市场活动ID。
47:08
发到后台往地摊上面加角记录了,那肯定是两个外键值了,然后一点什么添加成功,它关了下边就刷出来了,假如我又一想,诶,这个线索还参与我另一场市场活动干嘛?我一点它又去搜去了,一搜又把这个发传单搜出来了。这个时候,我再一点头。那么又选上他了,再一点关联,这个时候就不让关联不让点了,为什么当前这个线索跟这个市场活动已经关联过了。再关联不让关联了,就这意思。不能跟同一个市场活动,跟同一个线索不能重复关联,那你说老师这样可不可以关联,怎么可以关联,这样这样为什么我又进来一个是线索,这个线索也要给这个线索关联上场活动,刚才我在这一搜又把发传单搜出来了,这个发传单跟第一条线索关联过了,跟第二条线索在点选的时候一点它能关联吧,你你觉得根据它这个意思,对对,这个地方就能关联了。
48:13
因为什么它同一个线索它是吧,跟同一个市场活动只能关联一次,那这个线索是不是已经变了,已经变了,那这个市场活动可以再给这个市场活动关联了。因为什么?因为这一个市场活动可能产生两个线索能那两个线索都跟它有关联关系,那这个时候可以关联对吧,跟同一个线索互动关能就这个意思,好这是我们说的这样平大家明白这意思吧,调种这是同一个线只能管理意思,知道吧,好这是我们要说的,这好大这样那但那大家我问你大成这个地方应该怎么个做法。就分析的时候你有个大概印象,我怎么来做,怎么实现这种,避免这种重复关联。
49:00
打到后面那个ID在那。对什么时候判断点关联的时候。然后呢,向后台发请求保存的时候,是不是先判断一下这个线索,这当前这个线索和这个市场活动是不是已经关联过了,如果已经关联过点不让点。如果没关联过,再让点是不是这个意思,对,其实这样可以,就这样可以知道吧,就是根据两个ID是不是到第三的时去查去看能不能查出来记录。这是我妈这儿。那这样的话大概能实现这样,其实用户体验不好,我说就为什么体验不好,假如他搜了好多条记录,他需要关联好几个。一点关联,你关联。对,大概是这样的。这种就我们刚才说这种方式不好,为什么不好,假如他选了好几个一点关联,你每一个都去查吗?每一个都去查那什么效率太低了,那你要不查的话,万一有一个已经关联过了呢。
50:10
而且即使说有一个关联过了,你查出来了,你告诉他啊,有有已经关联,到底哪一个关联过了。用户知道吗?不知道,所以用户体验不好,虽然能避免重复管理,用户体验不好,所以我们准备用什么其他的方式,哪一种方式,咱刚才说了老师这咱同学说了应该怎么办呢?对在这去搜的时候看看。键盘一谈起到后台搜的时候,去搜所有名字里边含有关键字的这些市场活动局搜的时候,我是不是就可以把那些什么已经关联过的事,我们给它排除掉,已经关联过我连查出来都不查了。只要能列出来的,一定是没关联过,他随便选就行了,点关联的时候我不用再和后台去调了,大家明白这意思吧,对,那你说导师到底怎么去排除到我们后边,既然你有这种想法,肯定能实现懂怎么实现呢?我们一会儿再说懂做的时候再说,现在先,现在大家先有个大概的印象吗?
51:12
所以呢,我们这种分析需求,其实也是一个认识这种做法的一个过程,好这时候我们这样的话,我们就给大家说到这,说到这儿,这是这个需求,下边再看我们说这个关联成功之后,关闭魔道窗口,刷新已经关联过的市场动力,这是我们跟刚才说的一样,然后呢,关联成功了,把它关了,下边刷出来,刚刚关联成功的都应该追加到后边。动态的刷新,别的这些像不动不动在下边追加就行了,再一个如果关联失败模的提示信息模在窗户不关闭下边也不用刷了,这是他大概的个需求。
我来说两句