00:00
是我们是,然后呢继续来大看还有什么大看还有哪些知段啊对赛是不是还有创建时间啊,什么时间创建这个客户对当前系统时间点二好没一个data,然后呢c1.3的还有什么看看描述是吧,描述是不是也从里边取啊对线索里边取C点赛还有什看看艾没有I time没有idd是什么?对所有新添加数据全部都约ID点二啊c1.3看还有什么name这个什么公司的名字从哪取啊对线取谁对comfort公司的名字嘛,然后c.set还有什么可能下次联系时间是不是也从现货里边取掉点2GET下次零事。
01:00
下面继续来,还有谁对哦,所有者将来这个创建,新创建这个客户,他也有所有者,谁去跟踪这个客户去。谁呀,对原来的原来的所有者,能不能是原来的所有者。原来所有人,原来谁负责那个线索的初级销售人员是吧,那不行是吧,那这个谁呀,谁负责去。对,我们前面给大家说过一句话是吧,我们在我们这个系统里边,不管是客户联系人还是市场活动还是交易都有所有者,只要是创建的时候没有明确指定所有者的,所有者都是谁啊,对谁转的,谁创建的,谁什么谁负责是不知道哈,对,那我们这个谁照见呢?当前用户是吧,这等来个当前用户,当这是我们这,那你说老师以后我们到工作过程是不是也是这样,那你看需求了,咱们这个CRM项目客户说的,只要没明确指定所有者,谁创建的谁负责知道吧,那你问老师我们到工作过程工作,那你往看需求,需求没有明确指定怎么办?
02:10
你说我不声不响的,我自己按照自己的想法写,别知吧,别是吧,你自己想法写,万一是吧,你想错了,知道吧,应该是很很大程度上就你想多了知道,那那你找谁呀,找你的领导去知道吧,找你的组长,找你的什么项目经理问你这这个字段应该从这个数据从哪里去知道吧,所以这不是技术性的问题,这是业务问题了,我不知道了,那领导肯定知道,知吧,那领导要不知道呢?对就对,找找客户去知吗?找客户啊,这是我们说的这所以我们这个地方他我们就是我们这个地方已经明确了知没有明确指定,那就是什么,就是谁创建谁负责,下边继续来set,还有什么看还有这吧座机,座机是不还要从线索里边去啊,座机你知道吧,然后c.set看还有什么网站是吧,还有个网站,然后呢,也是从这里边取get网站没有了吧?啊,应该没有了,没有了这样的话,有关线索里边有关公司的信息全部都能摘出来封装客户就行了,下边是不是调客户的map一下保存了,对调客户的map,这个地方要注入客户的map,还一个private客户的map叫custom map custom map,然后呢,这个地方来注力auto work,然后呢,这个地方来调它就行了。
03:37
然后呢,我们这个地方把它调过来。这个地方啊,这个地方来个调它的哪一个方法,对insert这个cast咱们刚刚写那个时候把它加上就行了,当然他的影养技录术条数返回值是影养技术条数默认返回这个影响技术条数是不是没啥用啊,要为我们也不根据影养技术条数来判断成功失败,他如果报异常,大家都回滚,不报异常我就认为成功了,所以这个影响性投入我就不管懂吧,好,这样的话,大概我们这个这一个。
04:07
这个地方来看这个service层调map,调这俩map我们就行完了,我们暂时先写这俩,先写到这一步就行了,后边这十几个。到最后再再补充了,先把这就我就先转这一个客户,别的数据我都先不转了,我就认为是别的数据先不先不管了,先转客户看能不能转过去,先把这个流程做通这些一会儿再说知道吗?好,那如果是只转这一个,这个service层是不是就写完了,写完写完了这个sorry讲了下边写品数知道吧。就先转一个再说吧,你别一下十几个map都转完了,到最后什么才测一测,哪个出问题了,找不着了是吧,所以这是我们这,所以下边来写这个什么写这个control了,Service下边写controller control在线索的controller里边加一个方法,这个方法叫保存线索转换好,下边我们来这个看看,然后呢,这个地方在线索CTRL里边加窗口,线索CTRL在它里边加一个窗口。
05:14
加过来,来一个public返回值,返回什么类型的?对哦,杰克,我们要返回截屏字符串了,方法名你随便写了建名这意我就叫convert吧,叫C或者叫save convert clu也行,自己命名了上,然后呢,在这里边给它分为一个URL request map,这个UR要和它处理自源路径保一致,那它这个自转路径还是返回到线索转换页面,所以还是这个叫什么呢?沃克奔驰可录下边资源的名称叫这个跟方网名保持一致,然后呢,这个地方那个标注就行了。好这样行了行了,完了之后呢,大哥他将来访问接线字符串加一个response,然后呢,在这里边定义形态,接收客户端传送参数,那定义什么样的形态,你看客户端传什么参数,客户端传什么参数,大纲就这些参数看吧,对ID线索的ID那就来定义吧,线索ID还有谁呢看看。
06:19
交易表单里边数据,交易表单里边数据大看就这些,就这里边有谁啊金额是吧,这个金额的话这样,那这金额大看金额的话,我就得给这个,如果因为这些什么这些数据是不是将来表单里边数据是是不是往交易表里边添加了,所以他们每一个表单组件是肯定是对应交易标准一个什么一个字段是不是这样的,所以这个参数名我就跟字段名保持一致了。这样的话,我以后什么这个封装的时候好封装啊,所以这个地方呢,我看交易表用的S字段选中它,让他点这个设计表好。这个啊,这个设计表就这就这个表啊。
07:06
啊,这个就是这个表,它里边有个金额,金额就是在这个对money,然后呢,把它拿过来一下,这个我们所有的参数都是以字符串来接收的,因为数据库里边也都是以字符串来设计的,知道然后呢,还有什么呢?大家看还有什么看啊交易的金额,还有谁交易的名字,交易的名字来看看这个叫什么name啊,这个地方来个交易的名字,交易的名字啊还有什么呢?看看交易的预计成交日期,这个交易的预计成交日期,然后呢,预计成交日期,多个单词拖峰闭名额,嗯,还有谁呢看看啊。交易的阶段,交易的阶段来拿过来一个交易的阶段,交易阶段叫stage,对,然后呢,这个地方来保存交易的阶段,还有再来一个交易的市场活动员,对市场活动员叫这个叫ID。
08:04
对,就这个还有个特别D把它拿到,然后呢,这个地方能拿到,这样就行了,好交易表单上面数据都过来了,然后呢,还有什么呢,看看还有需要填的啊,是不是还有是否创建交易啊,把那个check boxs的状态拿过来,那我们这地方来叫is,叫correct,然后呢传把它提过来,好这些参数都接收到了,接收到之后怎么办呢?对,把它们封装去了,是不是放到map里边,对,放到map里边就行了,所以下边我们来封装参数,封装参数来生成map,这个地方来一个string,来一个object不杰克,然后呢,这个地方来一个map,等于六一个叫哈希map,然后呢,这样齐了,往里边封装就行了,对,这个map点裤这些,那来看看吧,这个地方来个可录ID。
09:05
知道吧,然后呢,这个地方K外流知道吧,然后这也多加几个知道吧,然后呢,这个地方来一个金额,对金额这个key我就叫他了,K我就叫他了,然后呢叫正,然后还有交易的名字,交易的名字,诶这个地方那个交易的名字,交易的名字知道还有交易的预计成交日期,预计成交日期,预计成交日期,还有人呢,看看啊,对这个stage是吧,哎,这个是stage把它拿过来,然后呢,这个是stage,还有谁呢?看看啊,对市场活动员的ID,市场活动员的ID,市场活动员的ID是不是还有最后那一个,最后那一个叫is correct transaction。然后呢,把这个A字create,看这这样参数都分成好了,看这这这那你说这样太麻烦了,看这个其实大家看我们说在这里边能不能定一个map类型的参数,接收的同时就给我放到map里边了。
10:14
可不可以啊?以前做过吗?就可以,按理说可以那个,那怎么做后边功能,后边哪一后边有个功能给大家用一下,这个我先不用了啊,得加一个注解是吧,得加一个注解才行,到后边知后边做交易的时候给大家用一下知道吧,这样这样就比较省事了,你看这样这样封装就才是稍微麻烦一点,到后边我们再用,再用这个功能是吧,好这样的话,那我们这个封装好了,封装好之后再看那要然怎么办了,是不是掉三维的方法去什么转换了,这个东来下边调用,对还有一个没没放过去了,是不是那个U色没放过去的,因为我们说service用到了那user没办法去,那这要拿user要封了外部是不是要拿session了,对http session在这个we部C这是吧,在这个C这这个基础里边能拿到财任,拿到session任之后,是不是就可以拿到什么当前用户了,当前用户。
11:17
我来一个get a tribu点它就行了,把它取出来放到哪是不是放到map里边,放到map里边,放到map怎么放put对吧?这里边是这个地方,是不是取个K啊,这个K我们说对可以取那个长量点好,后边那个值呢,对,是不是把刚才那个是吧放上就行了,这样的话我们就可以了啊可以完了之后下面调用service的号,保存线索转换,调用service层方法,然后呢,保存线索转换,这样就行了。那吊service,那我们这个地方吊service调service,吊谁的service线索的service啊,它里边有个方法叫什么叫save convert,是可录,哎这个什么save convert啊,这个地方save convert,哎这个这个方法,这个方法好起的不好。
12:20
叫什么可录叫他,然后呢,那他的那个这是这这是这个接口,它的实验类是不是也得加一个啊,它的实验类也加一个啊,实验类这个。这个然后呢,这个方法再改一下这convert,这然后呢,当然这个地方调过来c convert。这样然后呢,他再传上参数,这个参数就咱们封装的脉搏。它的返回值不用管啊,不用管,没有返回值VO,然后呢,大家这样的话就调完,调完之后,现在我们就来到这儿来了。下边根据处理结果返回详细信息,然后根据结果正式详细信息,那我们说这个地方,那我说这是写数据的,那有可能报错,所以我们要考虑成功还是失败。
13:08
对,踹开,然后呢,这个地方来一个它exception好,然后呢,这个地方来它1PRINT,先把错误信息打一下。这样就行了,那然后呢,不管成功还是失败,我都要生成这么一个阶层,返回这么一阶段,那返回这个阶段要把它分成家务对象,这个家务对象就是咱们以前说的那个对叫return object return object,对没一个return object,然后呢,把我们这些数据放到封外头,没报异常我就认为成功了,对sorry上执行完了还未报异常,就认为成功了,成功了来封装一个side code,然后呢,肯。点成功了走算。这是往外这那不用提示进去了,这成功了,下边失败了,失败了继续来塞扣子,然后呢肯然后呢点失败了费用,那失败了要有提示进去S让他message这个地方来个系统包,谢总王请稍后重示。
14:16
这样吧,然后把这个对象返回就行了,这个方来个re return,好,这样。这样的话,那我们这个ctrller层就行了啊,这都是按照咱们前面设计的来的CTRL,那么CTRLL写完了,下边我们就要写什么,这个CTRL写后台都写完了,后台写完下边就要签的了。前台从流程上看来看呢,两件事,发请求处理响应,发起了有参数收集参数,需要做表单验证,做表单验证,然后呢,处理响应,再回调函数处理。首先来看什么时候发清楚需求说了,对用户一点转换按钮,前面这些该填的表单是吧,都填完了,一点转换按钮就要发清楚,所以下边我们要做的事就给这个按钮加一个单击时间。
15:09
所以来找到这个这个转换按钮,来找这个转换按钮,这个转换按钮应该在转换页面时候,在这个上面,在它的最下边有这转换钮。这个转换看吧,给它加一个单机时间就行了,那加一个吧,这个地方来一个ID,那我这个地方叫save can work。很过,然后呢可录八看,然后给它加一个单击时间,然后呢,给它加一个单击实验,那这个地方来加这。然后呢,这个地方记住了,给是给转换按钮,转换按钮添加单击事件添加单击事件,然后呢,首先选中转换的,那然后呢单机事件调时间函数可累可他一点那个转换钮,然后呢执行我们这个函数,在这个函数里边来做我们相关代码就行了。
16:13
相关代码干什么?两件事发请求处理响应发起有参数,收集参数。收集参数,收集什么参数,就是你要发到后台这参数就这参数吧,那一个一个收集吧,那首先是可IDVL可录ID,可录ID从哪取。直接用玉作是不是从作用玉里边取啊,对吧?对,所以当时我们跳转到转换页面的时候,已经把这个线索的所有的信息查出来放作文预里了,是不是这样的,现在还是在作文里边操作,作文里边去作文上去E点表达式加上引号,到了符号叫可录点ID,这看这下边还有什么呢?还有交易表单中的那些数据是不是样子,那交易表达法数,那取吧,那交易表单案,那个交易表单要在下边呢?在哪个地方,就在这边交易表吧,交易表单里边这属于单,这是金额,那就取吧,CTRLC拷贝,然后呢,这个地方来个到了时候啊,这是金额,金额的点叫什么?对will。
17:27
这是用户自己输入的,是不是要去个空格啊,对去个空格吹去个空格啊,然后定一个变量去接收它,这个变量你可以叫他也行。那你也可以叫这个,我们说将来他提交到后台,是不是要保存到这个交易表里边,交易表里边你这个变量名可以交易表里边字段保持一致也行,知道吧,你就用它就行是吧,这样就行了是吧。好,这是我们这样,然后呢,大家还有什么看看,还有交易,交易的名称,交易名称来取一个交易的名称,交易的名称,交易的名称是这个,你看他这个,你看他这美工要又写的,大家看吧,跟字段不一致,你知道不一致,所以说你得自己命名是吧。
18:17
然后呢,这个地方呢,给他拿过来交易的名称,那来取它的值。到了时候这样,然后点VL,这样自己输的去个空格,这样,然后呢,这个地方啊然呢这个地方来个V2定个变量结束,这个变量就叫做内,知道吗?跟字段名保持一致,这样我们提交后台这个参数名就有它了。还有什么看继续来,还有什么?还有预计成交日期就这个这个也不一致啊,我们这个地方来取一下吧,Dollar分和这成交日期,然后呢,点VL知道吧。
19:02
然后呢,大家看这个按理说是什么,应该做个日历,叫不是自己不是自己输的了,不用去公园了,是选的到我们课堂上就不给他做了,你自己做就行了,然后呢,这个方来定一个变量,解除这个变量预计生产日期叫什么,你看叫这个我们给字段名保持一致知,然后呢,这个地方国峰命运法。然后呢,继续来看还有什么呢,看看还有这个预计成交日期完了之后还有什么,看看阶段,还有这个阶段,阶段这个是stage,然后呢,我们这个地方来取一下阶段stage Dollar分啊,然后呢这个点VL这样那这个阶段是选的,不用去空格,直接进行变量保存了就行了。然后呢,再看还有什么大家看啊,还有什么阶段,还有市场活动员ID把他取道,那把他取道这个地方来一个词,到了时候,然后呢,这个地方这个是我们选的点VL这个也不用去空格明是我们可搜索,搜索的时候自己什么选的,然后呢,这个定义变量保存就要好了。
20:08
这样的话,再看我们说这些什么表单里边数据也都提交过去了,也都收集到了,下边还有什么是不是这个选中状态啊,拆包子选中状态,那来看看这个拆包子,这个拆包子在哪呢?这个拆个包SS是这个来把它拿到就行了。拿到它的是不是拆开的属性值啊,拆开的属性值怎么获取?对pro是吗?点点叫pro,然后呢,这个地方来获取哪一个值,对check的属性值,然后呢,这个地方定一个变量,这个变量叫is叫什么?Create transaction,这样就行了。这样的话,大家把这参数都收集到了,收集到之后将来要贴到后台,提到后台要做表单验证,要保证合法的,哪些合法的大家看他这样特别表单里边数据金额,他们这个地方要求也是只能是非负整数是吧。
21:11
还有什么呢?别的也没什么了是吧,金额是吧?是非负整数,这个地方金额是非负整数,对验证金额只能是只能是非负整数是吧?啊,当然这个地方我们也不给大家写了,当然你自己写就行了,留个作业自己写就行了,知道吧?啊非负整数正则表达式验证就行了,知道吧,好这样的话大概我们这个地方就可以了,可以完了之后呢,假如这些数据都验证好了,下边什么是不是要发请求了,发送请求发送根据我们的设计是个异步请求Dollar了,符号点二阿贾克斯这里边传一个对象,这个对象里边URL。
22:01
那这个ul是谁呢?就是我们这个地方URL。发到这来,然后呢停住,然后呢这个地方给它,然后呢这个是贝塔这然后呢把这参数提交过就行了,提交过去一个一个参数来吧,参数名参数值,然后呢,这个地方来一个好参数名参数值,还有再来一个参数名参数值,还有这个是参数名参数值,然后呢这个地方来一个。参数名参数值,还有这个地方来一个参数名参数值。还有这个地方来一个。参数名,参数值,行了,这个地方我们给大家强调的时候,这些参数的名字要和CT接收参数的行参保持一致,这样。
23:01
这样的话,我们这参数提交过去了,提交过去之后下边继续来type,叫什么post,下边来个data type,然后呢,这个什么杰森知道吧。这样的话,大家前台的第一个职责就完成了,他一点这个什么转换按钮,就像后台发了一个请求。这么个义务请求。那下边第二个职责处理响应,再回调函数处理传个去,在这里边一个data。代表这个响应信息,这个响应信息是什么?就是这个这个杰森走串,那就看这个阶森字符串是成功了还是失败了,那来看看吧,贝塔点Q等不等于一,如果等于一,那是不是成功了,成功了干什么?跳转到线索主页面,线索主页面这是需求做么?这个需求这个说了这个什么线索转化。
24:02
线索转化就好。如果成功了,跳转到线索主页面知道吧,那跳转线索主页面怎么跳转,对window location是吧,点iff这是吧,这个然后呢,等于它这个ul写什么角度对引角度哪个哪一个就这个线索CTRL里边第一个方法,咱们刚一组线索这个模块的时候就这个。把它拿到CTRLC,然后呢,放到我们这来就行了。这是成功了I失败了提示信息right啊,然后呢,这个地方来一个叫data.message知道吧,那页面不跳转不用管了,这样的话,那我们这个前台就行了,好吧。线索转换成前台也行。
25:01
那前台后台都写完了,下边我们就可以测一测了,当然我们这个地方就转了一个数据,后边这些数据我们先不管它,先把流程做通了,做通了再补后边这些功能知道吧。这是我们这样,好,下边我们来启动服务来测一测,然后呢,启动服务测一测。好,下边来登录一下,来这个地方张三,然后呢,这个地方来个YF123回车登录,然后呢线索,然后呢查看线索明细,然后呢线索转换,这个时候我测一下,当然这现在我们这个这个表单是不是我们现在没做保存交易了,是不是这个表单填不填无所谓了,对,因为我们没做这个功能了,所以现在我测了,我不填了了,然后呢,我直接点转换按钮就行了,点转换按钮如果是正常的话,按理说什么应该把那个线索,我们创建那个线索里边那个公司的信息摘出来,是不是往客户表说加了一条记录啊就是。
26:23
然后加成功了,应该跳转到现户主页面去。当然如果失败了,提示信息不跳转,当然那个客户标准也不转,好下边我们来看看这个一点这个转换按钮,你看啊,一点转换按钮这样跳过来了,知道吧,按理说你要做完分页查询了,这一条记录就没了,如如果假如说所有功能都做完,知道吧。啊,当然我们这个东西做一部分,那先看看客户表里有没有记录,有没有,你看客户表就这个表把它双击打开大哥这些信息就有了啊。这是那个线索里边有关公司的信息全摘出来了,这是刚刚创建的这个,当然S他们没有。
27:04
这些数据全是从这什么,这些数据全是从线索转过来的。这是我们。这都是从线后转过来。这样的话,大概我们这个流程就做完了,我们就先转一个,先转一个数据,这个流程就做通了。流程做空了,下边就好办了,后边只需要改正嘛,这个service方法以及加这些map就行了。知道吗?前面客户端C都不用动,只需要改这次。知道吧,好,下边这些这些我们一会儿再做了,下边大家休息会休息,我们把后边这些功能也都做了,行吧,好,下边大家好,那我们刚才把这个流程做通了是吧,把流程做通了,下边把这些内容功能完善上就行了,好,那完善一个一个来做吧,不着急,我们说这些按户就帮的来,着急也没用,知吧,对这些那一个一个功能来做吧,先看这个吧,先做这个第45这个把线索中有关个人的信息转到联系人表中。
28:11
那这个时候做法是不是跟转换客户类似啊,把查出来这个线索性有关个人的信息摘出来,封上一个联系人的对象,然后调联系人的map,然后往联系人的时候表示我保存就行了,所以那个要做这个功能,是不是首先得提供联系人的map,在里边提供一个方法叫保存创建的联系人这样情况,所以下边我们来提供这个map了,联系人的map,那联系人map,联系人要操作联系人的表,联系人的表以前从来没操作过map对应的三部代码,那这个地方通过麦八字逆向工程来生成。所以我们这段来找这个买八层逆项工程,然后呢,大家根据联系人那个表生成三模代码,上面这些都不用动了,只需要打开联系人那个表就行了,那打开之前先把这个这个表注释掉,先把这个表叫客户这个表注释掉,打开联系人的个表,联系人那个表哪一个这个啊把它打开就行了,然后呢,这个地方打开。
29:14
知道吗?然后打开之后呢,那我们这个地方呢,根据买八的立项工程直接生成了,然后呢,这个地方一运行就生成了。好,联系人这个表对应的三份代码就是什么?生成完了之后,大家可以看一看实体类联系人的实体类context,然后呢map接口康太map,然后呢映射文件知道在这里边加一个方法,这个方法叫是保存创建的联系人知吧,然呢这个地方来提供来一个in,那么int明白吗?返回值影响技术跳数,然后呢,然后呢这个地方方法名那个in字。保存创建的联系人叫context联系人,然后呢,在这边提供一个参数,这个参数那肯定是个实宜的对象了,叫联系人叫context,叫context联系人的实际对象,然后呢这个地方context,然后呢这个这个地方来提供一个这个注释,然后这个地方保存,那么保存创建的联系人就这方法定义好了,在映射文件里边加个骚索句。
30:21
然后呢加一个骚数句,这个地方加过来,这个地方继续来加过来,然后呢这个地方来一个印色,然后呢这个地方来ID要和方名一样,CTRLC,然后呢要到这了,然后呢参数帕尔米态是个实体的对象。
我来说两句