00:00
项目再起一下,咱们看一看昨天做的那个前端啊。嗯。好线索。点击进去,然后点击转换啊,昨天呢,我们处理了一下这个线索转换前端的这个页面啊,那在这张页面中呢,我们从这个detail.jsp也就从详细信息页上啊,接收了五个值,呃,在这张页面上我们展现了四个值,那其中有一个值是我们这条线索的这个ID,对吧?那这个ID呢,我们是通过点击转换按钮啊发送到后台了,那么我们同时啊,可以为这个客户创建一笔交易啊,当然你也可以不创建,根据我们这个勾了啊挑没挑啊来决定要不要创建交易,对吧?然后在后台呢,昨天我们写的这个后台如何进行的这个判断还记得吧。
01:15
来看一看啊,找一下work bench下的web controller,然后是咱们这个。对吧,好。啊,我们是通过传递了一个这个flag这个标记位啊,判断它是否A来这个决定是否这个需要创建交易,OK吧,好,那么现在啊,我在这个外层啊,来一个这个train t啊等于一个空啊这个train啊就是我们这个啊交易表所对应的这个do面啊,就是咱们那个实体类,OK吧,好。就是这个啊,昨天咱们分析了这张表啊,一共有四个外建对吧。
02:00
好,如果需要创建交易,那大家想一想,我是不是可以把这个题给它溜出来啊?可以吗?我这个目的是什么?大家注意啊,好。当我们的程序到达了第103行,如果我这个T为空,仍然为空,说明什么?说明走不需要理解吧,如果T不为空呢?啊,就说明走了这个if了,给它拗出来了,是需要创建交易的,能理解吧,好所以说啊,我们可以把这个T啊传递到这个业务层,然后让业务层根据这个T是否为空来判断啊我是否需要创建一笔交易,OK吧,好,也就是说啊,前端首先得知道我要不要创建交易,是这样吗?我根据的这个方式是什么呢?我有没有挑勾判断一下这个复选框那个check属性,对吧,我后端so里边我也得知道。
03:06
我要不要创建交易,我根据的是什么呢?这个标记位是否等于A,是这样吗?那么同样在我们的业务层是不是也得进行一个判断的,能理解吧?好,那如果啊,那老师啊,咱们直接把这个flag直接再传递到这个业务层不就得了吗?但是大家想一想,如果传递到业务层,这个flag是能够判断的,在业务层也跟这个controller一样,判断一下它是否等于A,来决定是否需要创建交易,是这样吗?但是如果一旦你需要创建,你是不是还得传这个T呀?你是不是一下传递了两个餐呢?能理解吧,所以说咱们干脆啊,直接把这个T给它传递到业务层,在业务层判断这个T如果是空的话,就是不需要传电交易,如果T它不等于空的话,就是需要创建交易,OK吧,好,咱们是这么一个思路啊,好接收交易表单中的这个参数,咱们都需要接收什么呢?
04:00
记得有五项吧,String咱们有前mon还记得不?来回忆回忆啊,五项啊,前名字,预计成交日期、阶段以及市场活动员还记得吧?来翻一翻啊。咱们这个JSP啊,同学们。好。哎,看word JSP啊,哎,这个是提交,哎,我看看这个是提交,这个是提交是吧?啊这个是提交啊,咱们找一个行往下看啊。啊,咱们这个name啊,大家注意啊,等于可录ID,但这个可录ID我不管是否是需要提交这个表单,是否需要创建交易可录ID是百分百有的,是这样吗。行,咱们还有什么name expected。啊,然后什么stage,还有一个activity对吧,那这个单词比较难记点啊。
05:07
好,等于request get parameter。好,一共是五项,2345,好,我们来内。啊啊,Practice date啊,这些单词该背一背啊,然后呢,这个S是这个阶段对吧?呃,最后一个呢,是咱们这个act什么同学们。是得是ID啊,咱们提交是ID对不对,好。这个key啊,咱们写一下。好,除此之外啊,一会封装这个题中的这个信息啊,我们还可以提供一些基本信息,比如说ID对吧,用UUID生一个。
06:11
好,其他。咱们说不得创建人创建时间呢。任何一张表做添加都离不开这两项啊,对吧,诶创建人创建时间有好把它们啊封装到这个T当中啊。啊。STEM。Expected date。Stage。TID。可。啊。
07:01
是。Great。差不多了啊,暂时就这些啊,这是我们临时创建交易啊,是能够填这些字段的,OK吧,其他的字段啊,咱们在交易那模块啊,再通过编辑的形式啊,对它进行补充啊行了,出这个E幅块呢,出了这个一幅块之后,大家想一想,我该拿的这个原材料是不是已经都拿到了。最重要拿的是这个可录ID,我得知道我转换的是哪条记录,那么我还拿到了这个T,但是这个T啊,它有可能是空,有可能不是空,是这样吗?行,原材料都拿到了之后啊,咱们来调业务层。来service啊,这肯定是咱们线索相关的业务嘛,对不对啊,线索转换对吧,来个CS第个点看。What,好,那么我们这个返回值啊,其实很简单啊,是不是返回一个这个布尔值表示的是这个转换成功了还是失败呢就行了,对不对啊,但是这个flag上面重名呢,是吧,我来一个叫flag一行吧,如果按照我们之前的形式,是不是来这个东西了。
08:18
现在能来这吗?你得知道我现在这个方法接收并处理的是什么请求,是一个阿贾克斯请求吗?是不是一个传统请求啊,啊传统请求的方式,咱们怎么给这个用户做响应呢。啊哎,咱们说转发或者是重定向的形式给用户做响应啊,对不对,好,咱们现在啊,选择使用重定向就行了,一般来讲大家注意啊,如果你使用request域存值,咱们一般来讲肯定搭的是转发对不对?好其次啊,咱们玩的基本上都是重定向,这个咱们以前也已经分析过了,对吧?好,重定向之后啊,咱们这个路径啊,咱们这个地址啊,才是最新的这个地址,对吧。
09:03
如果咱们来个。FLAG1啊,它是处的话,咱们来个重定项,response.send reddirect,好,里边有写活,怎么写来着?加上内部路径杠bench下的什么可录下的index JSP对吧?异常啊,还得给他拿一下啊。啊。行搞定了啊,那接下来咱们来看看这个convert啊,同学们。好,我们接下来啊,来进行这个啊,线索转换相关的业务啊,这个线索转换相关的业务啊,会涉及到很多张这个表的操作啊,我一会儿把这个表啊都给它铺上,咱们还是用一个这个布尔值来贯穿始终可以吧,咱们来一个。
10:15
处可以吧,同学们好啊啊,来个这个flag是吧,来个flag啊来呃,我们需要的这个表啊,与我们线索客户。联系人相关的表啊,咱们都得有OK吧,都得有好,那么我们现在来看啊。这个线索除了他之外,咱们是不是还得来点别的线索,还有一个什么。还记得吗?Ch re mark线索备注表,这个老师以前说过,跟这个市场活动备注是不是一样的?只不过啊,只不过它的这个外键是线索的这个ID嘛,对不对,好来啊,咱们所有模块啊,都有这东西啊,都有这东西啊。
11:06
来一个cluemark这个DAO啊好行了,这个是线索相关的啊,接下来咱们再来与这个客户相关的那个客户那单词啊,让你回去看了啊,叫什么来着。是这个吧,客户相关的表啊。来customer DAO,然后这个客户呢,还需要有这个备注表啊mark。好,客户啊,差不多了,接下来呢,咱们来联系人相关的表,这咱们新写的对一对啊,这一定要对上啊mark。Customer。Customermark行联系人啊,联系人content。
12:07
啊,接下来啊,联系人备注contactmark,一会儿这些表啊,咱们都会用到啊。好,我们联系人跟市场活动之间啊,是有这个多对多的关联关系的啊,就好比我们以前线索和市场活动是不是有一张这个relation这个表啊。好,联系人和市场活动也是这种关系啊,我们来一个activity啊。好的。行,最后啊,咱们再来与交易相关的啊。啊。
13:05
好,这个交易这一块备注不用它啊,嗯,咱们用一个这个历史啊,历史必须得用的啊NRY啊history。History deal这个我们这个啊线索。相关的表啊。啊,下边这个是我这个。客户相关表。联系人。相关表。啊,最后是咱们这个交易。相关标啊。行,接下来咱们来处理这个业务啊,大家注意啊,现在我们要执行这个线索的转换。
14:03
咱们知不知道转换的是哪条线索?嗯,我这个方法知道啊。我这个方法转吧,你让他转转谁呀,马云哪去了,所以说啊,我们啊还有一个重心啊,放在咱们这个传参数上,这个啊是我们要详细分析的一步,OK吧,以前老师说过啊,咱们这个传参数这一部分啊,往往都是什么呢?往往都是我们这个controller里边get perter接收的参数是这样吗?因为控制器啊是负责取这个取参数的啊,浏览器啊发过来参数都是他来取,对不对,他取完之后他没用。他他得把这些参数给业务层,让这个业务层去做业务,是这样吗?所以说啊,他接收到了一个Lu ID是这样吗?他还接收到了一个什么呢。是不是这个T啊,你看这这些东西啊,这些所有的东西,咱们是不是封装到这个T当中了,所以说咱们肯定得穿一个什么呢。
15:02
来分析传这个参数啊,同学们啊。为业务层啊传递的。传递的参数啊,首先第一个啊,可录ID这个是必须得传的,对不对。传递的参数可录ID啊好,有了这个可录ID之后啊,我们才知道。要转换哪条?哪条记录啊?好,第二个啊,咱们还必须传递一个什么呢的参数,还有一个什么呢,是不是还有一个这个T对象啊,对不对,好因为啊好在这个线索转换的过程中,我们有可能。
16:07
要会这个啊,创建啊,会这个啊临时。创建一笔交易,OK吧,但是请注意的是啊,这个业务层。接收的这个题啊,也有可能是个啥呀,哎,有可能是个。空,那就不创建角一呗,对不对,好啊,这俩参数是必备的啊,一个是CID,一个是咱们这个T,没错吧,好,现在咱们来分析一下,仅仅只有他俩够不够用啊,一般情况下咱们已经够用了,没有问题了,对不对,但是啊,我提前跟大家这个剧透了嘛,昨天我们今天做这个线索转换的这个业务啊,需要这个使用大量的什么呢?添加相关的操作,也就是说一会我在业务层的这个convert方法里边要执行大量的。
17:05
添加的操作insert。OK吧,所以说现在同学们需要思考问题啊,添加操作怎么着呢,我还给你传什么呀。想一想。
我来说两句