00:00
然后呢,这个地方来显示完了之后,用户选择那个市场活动员,用户选择市场活动,就这吧,选择他一选择大家看怎么了一点它对是不是要关闭它了,然后把这个市场活动的名字和ID都拿到,拿到之后名字想到这ID是不是想到这个野糖预留这呢,然后呢这呢。这个地方来继续,然后呢,选择之后,然后呢把市场活动的啊,把选择的这个市场活动的,然后呢ID写到隐藏域中,隐藏域。嗯,然后呢,把名称name知道吗?写到市场name写到那个什么市场黄源那个什么输入框中输入窗口知道吧,这时候我们这样,然后把模态窗口关闭了,关闭关闭搜索市场活动的模态窗口,这样就可以了。
01:07
所以这是我们说这个流程,那下边我们把这个流程继续往下做一下啊,那我们说用户当一选择一个之后,要做这些事儿,是不是要执行我们的代码了,执行代码,那我们要做的事是不是就给这些所有的单选按钮加上一个单击事件单击式,他不管点哪一个搜索按钮。将来都能获取到这一条,市场文的ID和内幕分别显示到该显示的地方,然后把模特窗关了就行了。知道吧,所以我们这儿下边要做的是给所有的单选按钮添加单击时间就行了,知道吧,那给他们加单击时间的时候,大家要注意这些按钮是不是都是动态生成的。所以你在这键盘一弹起搜出来的是不是一定是动态正动了,所以给他们加试劲,要用on那种方式知道吧,所以下边我们要做这就种要去选了这个东要去选给所有的,给所有的,那么叫什么单选按钮,单选按钮所有啊叫市场活动的,市场活动的单选按钮按按钮。
02:21
然后呢,添加单击事件。那用2万种方式,首先找到它那个复原图固有的复原素谁呢?是不是T包的呀,T包Z让他找到它Dollar符号啊,然后呢,找到这个负元数下边掉on函数,然后呢,这样就行了,在这边三个参数,第一个事件类型对可雷单选这个知这个单击事件下边目标选择器,目标选择器是谁呀?对音input标签。这是radio,也属于input标签,那这个提包在下边有哪些input标签?
03:04
对,是不是只有他们啊,是这样写就行了,这样写就行了,但一般来讲我们会模拟那个什么复选框选后边还加一个什么对,过滤一下type等于叫什么对radio这样行。这样就找到这些目标元素了,找到之后下边来一个对反应式,这。然后呢,大家当他点任何一个单选按钮的时候,都执行我们的代码。那我们这个战场里边干什么?需求说的很明白了,我们这个设计就明白了,就是什么选择一个之后是不是要获取ID啊,获取内幕,ID写到隐藏域里边,内幕写到一个输入框,那我们来获取ID呗,首先获取ID,获取被选择的市场活动的ID和name name,那这个ID怎么获取?对Y6属性是原始属性,是不是z.Y6就行了,对Z性应该原始属性,然后呢,这个地方来个VL来个ID这样行了。
04:11
然后呢,再看这个内呢。对,只能用at tr,我们说自定义属性,那a tr是结块与对象的,把意思转成结块对象那点a tr,然后呢,把我们这个地方写到这。然后呢,这个地方来一个VL那个掌握。好,这样的话,大看我们说他一点,任何一个radio都能拿到这个市场的ID和内容了。然后我们把ID写到一个隐藏玉里边,这个地方咱写个隐藏玉吧,那来看看这个东方有没有隐藏玉啊,美工对美工应该没给写,没给写自己加一个是在这个给他加在一起吧,这个地方加一个隐藏语,这个地方来个硬付后呢,这个地方type加一个黑的,然后呢,这个地方以后获取的时候好获取这个地方来一个叫。
05:04
嗯。这个叫艾特,嗯,这个是叫ID吧,I减D就这样好吧,这样,然后呢,这个地方来一个好啊。搜索这个。啊,不是不是写到这儿是吧,写到哪个地方了,写到这个不太合适,对哦哦哦,这是摩大窗口是吧?对,写在下边,下边这个地方是不是写在这儿,对,写到这个地方,诶是场王动员给他写的,跟这个音input写在一方,反正我们也不显示这样就行了。然后呢,把它拿到那下边这个地方,上边这个是name,就叫内这样,然后这个地方那个name这样,然后呢,这样去写了,然后呢,大家把这个ID就报ID。让他把它拿过来。
06:03
好把它写到那个I那个隐藏域里边,把这个ID写到隐藏咋写对是不是就是把他的那个什么对ID设到外力属性里边,要隐藏域的外流属性,那着吧,高老师,隐藏域是我们叫艾KID,然后呢,这种点设置Y6属性导设置对VL把这个ID值复制到就行了,行。把这个内设到那输入框里边,是不是一样设置VL啊到的时候,然后呢,这个XKVK内,然后呢,点VL这样就行了,这个叫activity内行了。都写入写到里边之后呢,然后怎么办呢?对关闭搜索市场活动呢,这个模态光盒关闭它,那关闭它就把这摩刀口关了,对刀符看好关一下,然后呢点来一个model,然后呢这个地方来一个好,然后呢这个地方来一个关闭孩。
07:14
这样的话,那我们这个就可以了,它不管选哪一个对吧,一选把它关了下边就显示出来了,知道吧。这是我们说的这个大家看啊,这个流程我们就做完了。加油。做完之后下边来测一测就行了,来启动服务来测一测,这是市场活动源的可搜索。好,这个地方来登录张三YF123点进来,然后呢,线索查看线索明细,线索转换。
08:07
创建交易点,它这停了,搜一个搜出来之后再看,我随便选一个,一选它再看看吗,这就出来。同样你看那个隐藏玉里边也有值了,F12你看一下。对,然后呢,这个地方来看这个合作框上面的话,这个也能预留这个值。哦。那么将来呢,一点转换按钮,把这些包括那个ID隐藏ID一块贴到后台就行,做线头转换就行了。这样的话我们就可以了。还有大概你看这个地方呢,我再一点开,你看看是不是刚才搜的,还有啊,还有是是不是可以把它把它清了,把它清了做后初始化工作,其你说这个其实清不清无所谓了,给我们的线索关联市场工作无所谓不一样是吧,线索关联市场活动的时候就怕重复关联,所以我们才这样,这个地方呢,是不是不怕重复关联啊,所以轻不轻无所谓了啊,当我们最好也清一下,轻的话在这个地方对做这个地方做初始化工作,刚一点开那个模特框,我他说初始化工作。
09:15
来清空。搜索框清空,搜索框就这个框把它清空一下。清空,那就是搜索框点叫什么,对VL给他一个空值是不是就清空了,还有清空搜索列表,对搜索列表。那就找那个T包,得附一个空负空的HT面空值就行了,对这个地方来找的时候,这个地方来个空值,这下,这样每次他就灭亡。那这样的话,再看我们这个关于这个市场活动员的,可搜索这个地方,我们就说到这了。
10:07
好,那这个地方说完了,让整个这个线索转换页面上面这些功能都都都做完了,做完之后一会儿我们准备做这个了,一点转换按钮,真正做线索转换了,就现在我们写半天还没真正做线索转换的,就是前面的一些准备工作。是它这个流程就是相相对复杂一些,知好下边大家休息会休息,我们来看看这个线索转换,嗯,好,那我们这个线索这个页面上大家看这些,我们说表单什么之类,如果创建交易需要创建交易填写表单,填完之后呢,如果不需要创建,不需要填表单了。然后呢,就可以直接点转换钮了,那下边我们继续来画这个流程,知道吗?说用户再看,现在我们说如果需要创建交易,填写交易的表单,然后呢,该什么搜索的搜索,该选的选,该填的填,填完之后下边最后用户点击转换按钮,用户点击转换按钮,转换按钮在哪点在线索转换页面,线索转换页面啊线索转换页面点这个按钮。
11:21
小家看他一点这个按钮,大看发生什么事。一点他咱俩发生什么事?对,是不是要把线索转换了,对,要把线索转换去了,怎么转换,就是我们前面给他分析的那个什么,把那些数据该转换的转换就行,哪个地方呢,这个地方。这是我们上次分析的这个完成这些数据的转换了,那完成这些数据转换,这些数据全部都在后台存着了,所以我们要向后台发请求了,所以大家我们说他一点这个按钮,就应该向后台发一个转换的请求。所以我们这个地方继续了,那后台要提供品来处理了,知道吧。
12:04
然后呢,这个地方继续来什么这个地方,然后呢,这个地方来一个来一个CTRLL,那你要后来行动CTRL,那这CTRL做线索转换,那这个也是线索的存,因为它响应信息将来还是要返回到那个线索转换那个页面。所以那个页面对应的资源目录还是线索出了。还是那个线索的那个资源目录,然后呢,这个地方交给向他发了一个请求线索凭证,他提供一个方法来接收和处理这个请求了,当用户一点转换按钮的时候,向他发一个请求。这从客户端发过来了。向他划过来,然后呢,这个地方来一个他然后呢,这个地方来一个叫转换到请求,转换请求向他发一个请求,那大家想想这个请求是同步的还是一股的。对,是不是同步的,对同步的这个地方,诶这个地方。
13:05
啊,是同步的还是异步的。对啊。那你看响应回来之后,是不是要刷整个页面。对他说什么,如果那看看需求是吧,需求如果转换成功了,是不是跳转到主页面去转换失败了,跳转吗?不跳转提示下就所以这个时候既有同既有全局刷新,是不是又有局部刷新了,同步的还是异步的,对异步的异步的知道吗?E步行,E步行就需要提高什么参数。对,那你看要转这些数据需要什么参数,需要什么参数,要把这个线索里边的信息转换到客户表中和联系人表中,那怎么转?查不到线索的对,是不是要拿到这个线索的信息啊,怎么拿到线索信息是不是得去查去对CTRL得去查,查的话根据什么查对线索的ID去查,还要还要把什么线索要的备注转入到别的备注表中,是不是还得查这些备注去对,根据什么去查线索的备注。
14:17
还是线索的对,还是线索ID这一条线索要的备注是不是这个意思是吧,还有这样这哈,这些是不是都需要线索的ID去查焦,对所以把线索ID提交到后台,还有什么,如果需要创建交易交易,那就是还有什么转化关联关系,是不是也得查关联关系啊。然后是不是还得根据线索的ID去查关联关系,所以得需要线索的ID,除了根据线索ID,那么把ID传到后台,这个线索的ID叫可录ID,知道吗?除了把它提交后台,还得需要提交什么?是不是如果需要创建交易,还得往交易表加记录,往交易表加记录把什么提交过去?对,交易表单里边数据是不是也得传回去啊,对,这个地方也得传出去交易表单中的数据。
15:06
交易表单中的参数是除了这些还有干什么?对市场化ID也属于表达,嗯,也属于表白数据,还有后台到底要不要创建交易,是不是得看这个拆销包子状态,对把这个拆销包子的状态提交过去,是不是要创建交易,所以我们这个状把谁把是否创建交易的这个状态传过去,状态我就叫叫他了,叫is correct,叫transaction啊,把它提交到后面啊。这时候我妈照顾我。把这些参数提交后台,那么就可以转换了,知道吗?你看啊,大家这是需求,这是需求给我告诉我们的,知道吗。你后台要做这些处理,他需要这些参数,把这些参数传过去,他不需要你传也白传知道吧,他需要了,你不传他这些转换没法转换知道吧,那你说老师后边这些呢,后边的删除数据不需要参数,其实就需要这些参数就行了,把这些参数提交到后台,你知道吧。
16:09
这是我看这样,然后呢,提交到后台之后,那CTRL接触到请求状啊,哎,这个地方来要这个地方CTRL接触,用这个地方画没画到。这个地方。哦,他长了这个。这个太长了,这个把这。划不来,然了,这个就删了吧。让他这个地方画过来。然后这个地方来一个对,发一个信。
17:05
这个发到这儿来。对这个发一个转换请求,然后呢,这个地方来了,就这然后呢,这个地方来一个CTRLL,那这个CTRL接受请求之后三个职责,第一个接收请求有参数获取参数获取参数知道吗。那获取参数通过形参获取就行了,知道吧,然后呢,把这些参数参数很多封装一下,封装参数,这是他的职责,封装参数,那封装参数封装窗麦过还是封装实体的对象。对,那你看这些参数属于一个实际属于一个实体对象吗?不属于,不属于分装map,但是他们写数据,写数据不是属于一个实对象,也是什么封装麦克都放有麦克就行了,知道吗?好,这样的话,大家我们这个这个什么,第一个指责就完成了,品棍上接收到请求,参数拿到了,封装好了,下边第二个则处理业务。
18:11
处理业务就处理数据,处理什么数据就处理这些数据,知道吧,那这些数据我们说必须在一个同一个service方法完成,所以下边我们这个地方让他调一个service,那调一个service这个地方来再换一个环节。调service?调谁的service?对做线索转换是不是叫线索的service,对线索service叫可录。然后呢,在这可录里边加一个方法。加一方法,这个方法干什么?叫保存线索转换,叫c convert刻录,然后呢,这是个方法,把封包好的那些参数外部传过来就行。这样就调到这个service了,那调到这service,这个service里边干什么事,就是干这些事,对这个service要完成这些事,完成这些事,这些都需要访问数据库。
19:07
访问数据库都调map,我们现在学的每一个map只能执行一个搜入句,所以这么多的solo句,它调很多map,是不是这样的,掉很多map,那掉很多map,我们这个地方来来往下画就行了。那往下画的话,再看这些map应该掉十几个map,如果我把这些map如果都画出来。这个流程图是不是更更复杂了,所以这实几个map我不准备画,知道吧,因为画出来太麻烦了,就是太多了,你们老师在实际工作过程知道人家如果交付这种文档需要画吗?那你肯定得画不了,肯定画咱咱们课堂上我就不给他画了,那你说是不给他画,那这个图图不就不完整了,我看看怎么看,我准备这样,在这个service方法里边,它掉一个map,我用一句话来代替就行了。知道我写十几句话,然样分别代表调一个map就行了,知道吗?好下把我就在这样这样在这样这么干了,好下把我在这边就调map干这些事了,干这事干什么,首先一个件件一件事的干,首先干第一件事,第一件事干什么,要把这个线索中有关公司的信息转入到客户标中。
20:17
那如何转是不是你首先要做的事,要把这个线索的信息先查出来,然后把它封装成什么客户的实体对象,是不是转到客户表中,保存到客户表中就行了,所以在这个里边其实执行了两个操,数据在这里边转嘛。哪两个搜数据,第一个要把这个线索的信息先查出来,这是一个搜数据查询的搜数据,再一个呢,查出来之后,把里边有关公司的信息摘出来,封装到客户的对象里边,然后调客户的map,往客户表里边加记录,这是一个骚句,音色索句,知道吗?所以这一句话中么牵扯到两个so,两个map。两个map,按理说这个地方要调两个map,我这个地方就用两句话来代替了,第一句话,这对先查询这个线索的信息,根据什么去查,对线索ID去查,所以这个地方先调一个map,这个map干什么?就是根据ID去查询线索的信息,根据ID来查询线索信息信息,这是一个map,你该说。
21:24
将来要设一个map方法才能去调取,那查出来之后,怎么要把里边有关公司的信息摘出来,封装成客户的对象,然后调客户的map去什么把这个客户的信息保存了。所以又一个又一个什么又一个map,你知道吗?查出来之后,把里边有个公司的信息摘出来,封装成客户对象,因为客户标准存的是公司的信息,知道吗?然后呢,封装这客户的行,封装这个地方我就不写了,但你知道封装去了,然后呢,在在这个地方要调一个map,调客户的map,然后呢,去什么调客户的map去,去保存客户记录去。
22:03
所以这个地方我就这样,这个地方我写一句话干什么查出来这个线索信息之后,把该线索中,该线索中有关公司的信息摘出来干什么封装成客户对象,然后呢,干什么保存到或者要转换到,转换到客户表情,这里有一个map,就是往客户表里边加一条记录,封装好对象之后,往这里边加条记录,这里有一个map,这样的话大看这个地方这个什么,这个转换我就做完了,做完之后再看这个,这就掉map这个地方,他说把线索有关个人的信息送上到这个转换到联系人表中。那按理说是不是我还得把这个线索信息查出来,但是前面是不是已经查出来了,直接用就行了,只需要调联系什么联系人的什么map,把联系人是不是保存了就行了,对,把联系人的信息摘出来,送上联系人对象,调联系人的map,然后呢去保存就行了,所以我这个地方又掉一个map,这个map我用一句话代替了,把该线索中,线索中有关个人的信息,然后呢,封装联系人的实际对象包,转换到转换到转换到联系人表中,联系人表中表中知道吗?
23:29
这时候你看这样的,然后呢,这个地方。这样这样的话,大家这个地方也转不了。这个状况,再看这一个。要把该线索下有所有的备注转换到客户备注一份,那这个时候是不是我首先把这个线索下的备注先得查出来,对调一个map查出来,调线索备注的map查出来,查出来之后再封装连客户的备注。知道吧,往客户备注表中保存进来,然后呢,这个地方我们去查,查的话也是调map,这个地方继续来,那这个地方调map,那这个map是这正好根据什么根据什么,对根据线索的ID去查询该线索下,该线索下所有的备注,先把这个备注查出来。
24:20
查出来之后干什么?把这些备注有可能是多条,把这些备注都封装成什么对叫什么叫客户备注的对象,多个备注封装成多个客户备注对象这个意思的,然后调客户备注的map一下,批量保存了就行了,所以调客户备注map这个地方再写一个map,一句话这个地方干什么,就是把该线索下所有的啊,所有的备注转换到客户备注表中一份看。这是我们这样,然后呢,大家看我们说那转完了之后,下边来转这个,把该线索下所有备注的已转为联系人备注,那这个是不?这些备注都已经查出来了,那调联系人备注的map,封装联系人备注的实体的对象一下保存了就行了,所以我们这个地方继续再写一个map。
25:15
这样查出来之后一样再把这些线索下的备注都封装成连引的备注,什么把该线索下的下所有的备注,然后呢,转换到让后呢客联系人备注表,联系人备注表中啊表中,然后呢一份。一份转了,好,这样的话,大纲这个地方我们也转换了,转换了下边转关联关系,把该线索和市场活动关联关系转入到联系人和市场活动关联表中。那是不是我首先还得查询这个线索和市场活动关联关系啊,查出来之后,宋长城联系联系市关联关系的实体类那多个分成一个例子批量保存,所以首先去查,去查什么,根据什么去查该线索和市场文关联关系。
26:11
是不是还是根据可录ID啊,根据线索ID,根据可录ID来查询该线索可市场活动的关联关系,关联关系先把他们查出来,查出来之后把他们分装成联系人和市场活动关联关系的实体类,多个复一个例子一调map去保存了,所以我们这个地方把把什么把该线索和市场活动的关联关系,然后呢,转换到联系人和市场活动的关联关系比重就这样对这样的话大家看这个地方也肿了。转过来之后,下边如果需要创建交易,是不是封装一个交易的实力对象掉交易的map保存了,对这样这样,所以这个地方来一个好继续来,当然这个地方也有可能不也有可能不创建交易。
27:11
当然他不管创建不创建,对于我们而言都得写功能,都得写出来,所以这个地方大哥如果需要创建交易,如果需要创建交易,则往交易表中添加一条记录,附上一个交易的实际对象,交易的实际对象往交易表中添加一条记录,一条记录,知道吗?那还有如果需要创建交易,还得把什么这个地方查出来,这些备注该现在所有的备注转换到交易备注表中一份。那分装成交易备注的实体对象多个调交易备注的map一下保存了,所以这个地方继续了,如果需要创建交易,如果需要创建交易,创建交易交易则还需要把该线索下所有的备注,备注转换到交易备注表中一份,备注表中一份,这样吗?
28:23
这样的话,大家这些数据该转的都转完了,该转的转完了下边么。那就要把这个线索以及它下边的相关的数据都删了,先删子表记录,删除该线索表所有的备注,那删除掉是不是还是调1MAP,调一个map,然后呢,这个地方去调map。然后呢,这个地方删除该线索下所有的备注。然后呢,再删除该线索和市场活动的关联关系,然后呢,这个地方删除,再调一个map啊删了,最后把这个线索这条记录删了,删除线索,然后呢,这个地方来删了。
29:00
这样就行了,知道吧,这样的话,大家该做的这些工作都做完了,都在一个消费动方法中完成。在这些service调这些的时候,只有全部成功。才全部才成功,只要中间有一个失败的全部回滚,知道吧,这些map在一个事故中,你知吧,当然这是几个map,这几个map你看一个两个三个四个五个六个,七个八个,九个,十个11 12 13个13个操局,你看在这里执行对吧,这一个策略,那执行的话,那什么执行完了之后,把执行的结果往回返。访问在哪?谁掉surface返回CTRL掉了访问CTRL这个返回值类型什么类型的?访问什么类型的,以前我们这个service法执行一个so后语句是不是就返回影响技术投入就行了,是印的,现在你执行13个收入局了,你返回什么?
30:04
对成功是对成功失败就行了,那成功失败,那你怎么知道成功失败啊,那返返回数据类型啊。那就返回啊,这当其实这样再通过,我们以前之所以返回响应影响技术条数,就是因为CTRL是不是要根据影响技术条数来判断成功了还是失败了,现在再根据影响技术条数还能判断,不能不能判断出来成功或失败。不能了,因为serveq鱼太多了,所以这个时候怎么办呢?Serveq这个影响技术投入就没用,那它这个返回值也没用了。那你说就成功或失败了,成怎么算成功,怎么算失败了,对,我们就认为什么抛异常失败了,不抛异常就认为成功了,大家明白这意思吧,所以这个返回值其实没啥用啊,没法用了,那返回什么不。那么将来报不报异常怎么办?在CTR里边调这个service方法的时候,加个踹开报异常失败,不报异常成功知道吧,所这是比较复杂的业务,就是它的影响技术条数就无法判断成功还是失败了,所以这是我们这,然后呢,大家这样的话,完了之后,那这个方法就这个第二个职责就完成了,该处理的数据全处理好了,下边第三个职责根据处理结果生成详信息,生成响应信息,然后呢,大家这个响应信息是把这个响应信息返回前来,就返回到这个地方前台这个地方浏览器这了。
31:39
这个应该返回阿贾克斯那,因为义务请求。放到这来了,知道。然后呢,这个是个响应。那大家想想这个响应信息是个什么样的信息?
32:01
对,前面一步就求是不是一个接森啊,这个接森里边挂上什么,对,那那你看前台需要什么,前台说了,如果成功了,是不是跳转页面了,跳转页面是不是window location不需要什么数据,如果失败了,是不是提示信息就行了,不跳转,所以返回信息很简单,知吧,看来这个业务很复杂,但是返回信息很简单,就是告诉前台转成功了,而失败了,一成功了,零失败了,成功了无所谓了,就是一个Co等于一就行了,失败了,对还得放一个提示信息。知道吗?那前台拿到之后解析杰森,选上页面,然后呢解析杰森。然后呢,渲染在这好这样的话,当我们这个流程就设计好了,对当用户一点这个地方发生了这些事。好,那这个地方大概这个流程设计好了,下边我们就准备编码实现了,好下边我们来写这个代码,那写这个代码我们说代码还是这么多的代码,还是从底层开始写,先写被依赖代码,先从map开始写,Map开始写,那你说老师这十几个map是不是把所有十几个map都写完再写三写不这样,因为这map太多了,那你说怎么办?这样我不是把所有的map都行,我写什么,先写这两个map。
33:23
这两面我干什么呢?一个是查线索的信息,再一个把线索里边往公司的信息摘出来,封装成客户对象,往客户边给我加,我只转一个客户,别的数据都先不转了。那对象不转。是吧,我只转一个客户,转客户micro写完写service service写完写写完写前台,先把这个流程做通了。然后呢,调通了流程后边再加这些啊,你别上来把所有的这些数据都转完,写半天了,到最后呢,写的对不对,还不能错。那么然后呢,再写,再往前写,写什么都写半天都写完了,到最后什么一什么一测的时候报错了,报错这十几个买本哪个地方报错了,所以你不好调啊,不好调,所以这些复杂的代码别贪多,别贪多,先做,先把一个流程做通。
34:20
然后呢,再转别的知道吧,这是我们的原则,到公司里边你也是这么一个原则,原则先把简单的做完,再做复杂的知吧,所以下面我先写这两那块。把这两面写完写service service写完写CTRLL,然后再写清了,先把这一个转换好,下边我们来做这个,然后呢做这个,这那先写这个什么,根据ID去查询线索的信息,对吧?那根据ID查询线索信息,那这个map上写到谁的map里边查线索信息,是不是操作线索,那表写到线索map里边,在线索map里边加一个方法,这个方法是根据ID查询线索的信息。
35:02
好,下面我们来写这个,在线索的map里边加一个称号,所以大家要跟上我们的思路啊,在线索map里边加一个称号,这是线索map在这边加一个方法,根据ID去查询线索的信息,诶大家看你会发现我们以前写过一个方法,根据ID查询线索的明细信息,能不能直接用这个方法。能不能复用到不能说为啥不能对它里边有关联字段,是不是我们以前关联查询查询都是那些名字,我这个地方要做线索转换那些关联字段,需要名字还是需要IDID啊这个什么是转换的,不是给用户看的,将来他转到别的表,别的表也是存的相关它也是存ID,知道吗。所以他这个种不是给用户看嘛,要这么关联字段要查要查ID,不用进行关联查询了,它存在ID,直接查ID就行了,知道吗?对,所以说大刚我们说那这个什么,这个方法不能复用,再写一个方法,写一个方法,这个方法根据ID查询线索信息方法值什么类型的,对实体类的类型是吧,啊然后呢,这个地方来写这个方法,这个方法咱们这个方法没没设计出来,因为咱们mapper没没没没画出来,那我这个地方就建明之义的写了吧,查询叫select叫可对那这个地方就别fo了吧,对别by idea就行了,这样然后呢,这个地方来,然后呢,在这边往了一个参数ID,然后呢,这个地方啊继续了给他一个注释,这个注释就是根据那么根据ID,根据ID来查询线索的信息,就别明细信息了,线索的信息就行了。
36:49
好,这样的话,这个方法就定义好了,方法定好下边带这个印钞文件好写我们搜索去,那写这个搜数去,把这个地方来一个查询到搜索去select知吧,然后呢,这个地方来ID要和form法名一样,CTRLC拷贝过来,然后呢,写到这了,参数来个para meter type,参数什么类型的,对ID是字spring类型的结果result map知道吧,Map,那这个map因为我们返回实体类对象,实体类象呢,属性名和查询资本有可能不一样,所以我们map在这边写搜索就行了,那写搜索句谁来呢?查询的搜索句from,那从哪个线索表查询它的哪些字段。
37:35
对,是不是查所有的字段,因为你要把它里边所有的数据都是么转到别的表里边,有一个数据有一个字段查不出来,你就转不了,所以说把所有字段都查出来,而且相关的字段是不是查ID啊,不用进行连接查询,那直接把所有的字段存的ID直接查就行了。那直接查的话,字段太多干什么?Include把那骚语片段包含起来,哪一个骚语片段就这个,就这个骚语片段就这。
38:06
啊,一个一个写太麻烦了,所以我们这个地方把它包含去来,然后呢,这个地方来要包含去,诶这个。这个地方它一个卡,然后呢,这个地方它包上去了,然后呢,这个地方好,这是卡,然后呢这是查询条件,查询条件根据什么查对ID,然后呢这个地方来讨入ID,这样我们就可以了,这个骚扰也许写不到。根据ID查询线索的信息知道吧,那这个骚扰一写完这个map东西写完了,这个map东西写完了,下边来写这个map了啊写这个map吧。这时这个知道吗?先写这个map,一会我就先写这2MAP,先写这个map,那写这个map大看我们这写这个,这个map要往客户表里边加记录了,客户表以前从来没操作过,所以它对应的map层的三部代码要通过买八子逆向工程生成了,知道吗?所以我们来操作这个表,然后呢,我们这个地方继续来根据买八的子逆向工程来生成客户表对应的三分单码,那根据它生成先把以前的表注释了,以前的表注释来打开客户表,来找找客户表,客户表谁能完成啊对,就这个表对,然后呢,把它打开就行了,然后呢,这个地方打开这个表格,以前没改过,然后呢,直接什么运行就行了,当然上面这些这些需要改吗?Work变这这这是不是都不需要改啊,不需要改,直接运行就行了。
39:41
然后他直接运行。好,运行完了之后呢,大家我们来看一看这个代码,然后客户表对应的我和奔下边实体类做好,然后呢,Map接口,客户表map接口映射文件就知道了,然后在这里边加一个方法,这个方法那肯定往客户表的保存记录的,因为要把客户表里边的相应的什么,把线索表里边有个公司的信息摘出来,添加到客户表里边,所以它里边加一个方法叫保存创建的客户知道吧,其实它里边有相应的方法。
40:17
我们这个地方我们不用它了,我们就自己写了这地方来一个,那写一个方法往客户表说加记录方法之影响记录条数,然后呢,继续来添加记录in色的添加什么,添加客户卡知道吗?然后呢,在这里传了一个是一定是分成一个识别对象走了。把线索中有关公司的一信息封装成客户的对象,这个实际对象这样就行了,然后呢,这个地方来给他一个注释啊,这个注释来叫做保存啊,保存保存创建的啊,保存这个是我们说,这是我们说叫保存创建的,客户知道吧,好方法定义好了,下边在映射文件里边提供1CEL数据,然后呢,我们这来提供CE数据,往客户表里边加记录的。
41:05
然后呢添加记录insert ID要和方法名一样,把这个地方拷贝过来,然后呢这个地方来拿过来,然后呢参数判上名的态什么类型的。实体类对象是不是知道呢?对实体类对象类已行了结果in色的语自动返回银基投入不用管了,添加的搜入句insert,然后呢,In库往哪个标准添加了,客户标准添加,往它的哪些字段里边添加了。对,全部那些字段,除了那一个什么艾艾time是不是这样的,对新添加就把这个把他这些字段拷过来就行,然后呢,这个地方拷过来,就这些字段把它们都拿过来,拿过来之后呢,这个地方继续拉,放到我们这来拿这个地方把它们放到一行里边去,知道吗?爱德拜爱德他没有新添加了没有对删掉。
42:02
这是我们这种,那下边继续来对这个地方Y一个Y6值是吧?那这些值从哪取啊,是不是从实体类属性里边取啊,这些属性比较多,我们替换一下,然后呢把他们拿过来拷贝,然后呢在这我替换一下,然后呢这个地方来替换我们的这个,替换一下逗号替换成我们的这个对全部替换,然后呢拷贝,然后呢放到我们这里边就行了。这些啊,然后呢,这些的呢,改成托峰命法,然后呢,这些多个单词的改成托峰命法,这个地方改成托峰明法,这个地方改成托峰命法,还有这个地方来改成托峰命密法,然后呢,继续来看看还有什么呢?没有了这些这样的话,这个serve域就行了,往课后表加记录S行了,这个map就行了,Map增行了,现在这俩map都行了,下边是不是就可以写这个S方法了,对,在线索的service里边加一个方法,这个方法叫保存创建的线索。
43:11
所以下边我们继续来在线索的service,线索service在这里边加一个方法,这个方法咱们已经设计好了,范回值VO知道吧,方法名叫c convert work,保存线索转换这样的,然后呢,在这里边传了一个map,这个map来一个啊,然后呢,这个地方来一个string啊,Object,然后呢,这样所有的参数都在这个map里边封装了吗?啊,你想要什么参数都在这里边嘛,啊然后呢,再看方法定义好了,它的时现类里边也得定义,也得加这个方法,加过来这个方法那个out insert。Improve拿最主要的是这个方法最麻烦了,最好,所以我们在这里边来写我们的代码就行了,这个方法写什么?那你看啊,这我们这个设计的很明白了,对先根据ID是不是查询这个线索的信息啊,对这个地方来对,你要转线索,先把这个线索信息,那么这个是查出来,那根据ID查这个ID,你得拿到ID从哪拿到,对从外里边取就行了,它一定从前台传过来,从到map里了,那这个map点叫什么,Get取数据就行,那取到这个名,这个参数名叫什么,当然你你以想封装的候,封装的时候,封装的时候叫叫什么,是不是这个这个段就叫什么,那我假如我封装的时候,我就叫这个叫可录ID了,知道吗?我以后封装就就这么叫就行。
44:44
然后呢,它定一个变量去结束了,自这类电脑这样,那这个地方强转一下啊,因为我们这个泛型用的是object,所以敲码ID拿到拿到之后是不是就可以调map去查了,调map调线索的map去查,然后呢,掉刻哪一个方法,这个方法叫select叫什么,可录哪一个。
45:11
By ID知道哎,谁来可录by ID,别for啊,别调错了,调错了你就转错了,调这个知道掉坑,刚刚写的那个放,然后呢,把这个刻录ID调了。把这个刻录ID成功了,然后呢,这个地方来一个叫什么这一个什么这一个来一个刻录。实体类对象放了一个可录的实例对象,这个线索里边所有的信息都在这个对象里边了啊,那我们下边干什么呢?线索信息查出来了怎么办呢?做这个事,把查出来这个线索里边有关公司的信息摘出来,封装一个客户的实际对象,调客户的map,把它保存了就行了,对,所以我们把这句话写到这了。
46:00
知道。把线索中有关公司的信息摘出来,封装成客户的实体的对象。调客户的码法保存,那封装客户的实计对象怎么封装?对,创建一个客户的实计对象,那创建的话定一个变量来保存的,这个变量我不叫这么长了,我就叫个C了,等于六一个custom,这是客户的实际对象,当然这是空对象,它里边数据是不是从这里边取啊,对,你从这边转过来嘛,取它的有关公司的,那看吧,这个地方来取吧c.set往软风上吧,Address是不是这个公司的办公地址啊,办公地址从哪取?可录里边取,对,就是转了吗?让他get address知再来看看还有什么c.set还有什么联系纪要,也是从线索里边取,Get联系纪要,还有什么c.set对,还有还有下边一个一个来,一个一个来,别落下了,可谓的拜说你这个客户是谁创建的,创建者是谁?这?
47:10
也是这里的吧?也是这个这个线索里边吗?线索是谁创建的。面膜卫生。这个客户的创建者就说谁添加的这个客户,对是不是应该谁转了谁添加的,对你看这个客户就刚刚创建这个客户吗?谁转到谁创建,就这意思知道吧,对,那谁转的是不是就当前用户,当前用户那取当前用户就行了,当前用户从哪取啊4S线这块去在这个在现在在service方法里边能取到session吗?CTRL对CTRL传过来就行了,是吧,但是一般来讲大家注意session一般来讲。他不传,不传给service层,传给session,一般不会传给service层,为什么?因为session是属于外部技术,外部技术什么,它应该在外部技术什么那些类里边去类类里边外部技术是什么,Solve啊,还有什么spring Mac啊,这都是外部技术,那么这个service和什么和map和实体类,这些都是什么?不是外部技术,这些是什么?这是Java技术,纯va后台技术。
48:27
这纯加Y记住,所以说大纲我说,但你从这些包名上也能看到,怎么看到,你看那看这个你看你看啊,你看我们的大哥。对这个session你看看他这个包名,你也能看到session在哪呢?这个看看session大家看吗?你看它这个包名都是什么,叫Java X,你看吗?Java X什么就是扩展呢?它不是,它不是属于加纯Java基数,是属于外部基数的,知道吗?外部外部技术怎么了?外部技术的运行离不开服务器。
49:01
离不开谁,离不开淘等等服务器,所以你这样CTRL要想运行必须放到服务器里边,你要想测试必须放到服务器上面,这也CTRL才能运行,知道吗?那你这些service它不是control技术,不是它不是外部技术,假如说你要是引入了session的话,它不是外部技术,你要如果引非要引入三审也当然从语法上来讲也可以。那可以的话,它有什么不好吗?这个session你一旦你一旦在service里边引入session了,你这个service还能单独运行吗?不能,你这个service你要想测一下吧,想运行这个这个类你必须放到服务器里边才能运行,所以这就我们的代码就不好,那么以后什么想测就不好测了,一致性就不好了,他就离不开服务器了,大家明白这意思吧,他他离不开服务器了,所以像session啊,Request response啊,这些属于外部技术的这一类,一般不会传导service,大家明白吧,不会传统,那不会传统service,你说老师我这个地方怎么能拿,怎么能拿到这个三分。
50:09
一下儿从从从后期再。对不传session,你这个地方为什么获取,我就获取UR,你在CTRL把U色获取到传UR可不可以啊?对传user,如只要是传user怎么了,User是Java技术传过来之后,这个什么service不会给什么外部绑定了,大家明白这意思吧,是,所以说大成一定在CTRL里边拿到三选之后获取到当前用户放的放到什么,把当前用户放到map里边,从map直接取当前用户就行了,就这意思,所以我们这个地方来取当前用户get,然后呢取当前用户,那当前用户取到取到时候这个key叫什么呢?对,你看你以前放的是什么,你这个地方取的时候就用什么,那放的时候我们为了建明之意,我以后放的时候还用这个常量。
51:00
Session u知道吧,然后呢,大家我就取到了,大家就说就UR,它不是它不是外部技术,它可以随便传,但是那些外部技术那些对象最好不要传,当然你传的话它语法也不错,但是你这个类将来就给外部绑定了,就不能不能直接单独运行了,知道吧,就这意思,然后呢,大拿到它之后,然后呢,把它拿过来,拿了之后把它的ID拿过来放这。
我来说两句