00:00
职物分担在这块呢,是不是得把这个搞定啊,就是说咱们怎么判断是最后一条对吧?刚才咱们分析过,对如何判断事物最后一条呢?来如何判断是我们这个最后一条明细对吧?那么咱们前面呢,因为有这样的一个公式对吧,就是在咱们订单表里边,它有一个我们这个订单,它的个原价金额,对然后它等于什么呢?它等于订单明细里边它的商品价钱,然后呢,乘以商品数量,它的一个累加的和对吧,那咱怎么办呢?你可以把这堆拿过来呀,对吧?那咱们当前这里边对,如果说咱们判断是否最后一条明细对吧,那如果说我现在呢,最后一条对这个订单明细中,对吧,它的商品对吧,它的一个单价,然乘以数量等于什么呢?对吧?是不是等于咱们现在它的一个总价减去我们现在呢,它的。
01:00
所有的其他的这个商品单价乘以数量,它的一个和对吧,这个不是等啊,这个时候应该变成减了呀,这块什么这块应该是最后一个对吧?这块呢,就是我当前商品价钱可以商品的数量,如果说等于我们现在呢,它的一个原价的总金额,然后乘以个其他的这个商品,就以前处理过明细的是吧,咱们这个商品价钱数量啊,它的一个总和的话,咱们这个时候呢,咱们说明它是最后一条啊,它是最后一条对吧?那么这里啊,那就得有两个问题了,同学们对吧,什么呢,说你看啊,我现在在咱们处理的时候,那么这块呢,它需要一个和的累加,这块呢,它也需要一个和的累加。对吧,那累加完之后,你不是得把这东西给我存一下对吧?累加完之后你是不是得把这东西给我存起来对吧?所以说呢,那咱们现在这里边得找地方来存一下什么呢?一个是我们这个明细中商品,还有咱们这个商品数量,它的一个累加对吧?在这里我现在呢,要存两个东西对吧,第一个存谁呢?存咱们那个明细中,对明细中我们那个商品和价钱对吧?呃,商品价钱和咱们上面数量啊,他的一个成积的一个累加对吧?那么存第二个对吧?存第二个,那么存谁呢?啊,应该是存明细中已经计算完成的它的一个实物分担金额对吧,它的一个累加对吧,明细中对吧,已经计算完的明细实物分担金额,它的个累加,那么存在哪呢?这个东西啊,你说我现在这个东西,我在计算的时候往哪存呢?对把都都存在哪合适的,对吧,咱们是在找地方存的呀,对吧,那无非是。
02:45
比是数据库h base red对吧?那你想想这个东西对吧,那肯定是red呗,对吧,咱们现在一选的话,数据库肯定不选了,对吧?H base呢,那这个东西咱们现在没必要,因为你想这个东西没有那么大嘛,对吧?然后咱们现在如果是h base的话,它操作差距那肯定不如咱们ready快嘛,对吧,那我现在呢,那确定一下存在哪,存在咱们这个raies中啊,存RA中,那么如果存在ready里边,那以什么样的形式来存呢?对,除了ready地方这个类型是什么?对,这个类型是什么,这个key是什么对吧?咱们这个value又是什么?对,Not value就是什么,然后咱们现在试觉时间是不是也可以设置一下呀,Pair啊,Exp试要时间对吧?这个呢,咱也可以设置一下啊,首先来想一想类型啊,我现在想从这两个集合,大家觉得这个类型什么合适?
03:40
啊,我现想的话,这两个金额的话,那么这个类型是不合适。哈西对吧啊,一个是我们的订单,然后进来在他订单里边呢,这是key对吧,然后进来订单里的key里边呢,有一个字段对吧,这个比如说什么这个比如说是我现在对吧,这个fair呢,这个代表的是我们这个对这个商品,比如说A版对吧,它的一个累加值,这个呢,代表B对吧,它的一个累加值对吧,这种机构行对吧,但是其实呢,我可以简单点对吧,我选string就行。
04:11
啊,就这取两个值吧,对吧,K value6哈哈希干啥呀,对吧,我觉这样的气也可以嘛,对吧,而且注意啊,因为咱们现用哈希的话,原来咱们什么地方用哈希,原来咱们什么地方用哈希,是不是存我们当前这个主题,然后呢,这个消费者,然后对咱这个主题的一个短分区处理的时候,咱们是不是存偏量的时候,是不是有个哈希呀,对吧,那你别忘了,咱们的偏量不管哪个主题哪个分区的,但但是它是不是都属于咱们现在这个这这个主题,还有咱们这个消费者组啊对吧,那我现在呢,如果把它放在哈希里边,大家想想,虽然说它都是我们这个当前这个订单,但是呢,这里边是不是也是两个不同的业务,一个是放在咱们累加这类类加值,一个是放在这类加值对吧,其实放两个不同业务,你在操作的时候呢,到时候你还得单独去操作它,所以说呀,还不如直接就把它分开,对就这两个对吧,这两个都是什么呢?都是4STRING类型对吧?那么如果K的话呢,咱们在这里对吧,和它相同对吧,比如说这K叫什么呢?叫做它对吧,这个呢。
05:12
是已经呃计算完整的对吧,数据数量是单价的一个合计对吧?那么这个呢,是我们这个K对吧?然后接下来这个VALUE6呢,那就是咱们现在具体的值了,对吧,我这个呢,我往上来放对吧,这里边咱们对吧存在ready中存ready里边这是第一个,这第一个那么第二个呢,也是对吧,第二也是,只不过呢,咱们把这个改一改,这个呢是lit啊这个呢不是我们这个原始的了,这个呢是Li啊这Li那如果这种叫speed,这种叫Li不太合适啊,我看我这个这这里边我封装的叫什么名字。来到我们的病里边,在咱们这里边呢,有一个order white对吧?在order里边呢,那应该有一个我们这个实付分摊,对这讲论叫final detail amount是吧,来一致一下来在这里把这个呢食物分摊金额啊,Final detail amount是吧,然后接下来那么咱们现在存在我们这个K里边呢,那一个是order是吧,咱们这个origin sum一个呢是order啊split sum这个呢是存放我们已经分割完的对吧,它的一个金融,然后这个呢,是存放我们现在计算完的啊,它的一个我们的商品明细,它的一个价钱的数量的一个累加和到累加和那么这个试效时间呢,咱们其实可以统一对吧,都给它设置成我们现在的十分钟对吧,比如说在这里我统一呢十分钟,对啊,这个呢,也是统一十分钟一下。
06:39
好了,大概呢,是这样的一个思路,对,大概这样的思路,那么接下来有了这个思路之后啊,那咱们现在呢,就尝试着去写代码,我把这个思路呢,给大家保存一下,另存没对,然后接下来来到我给大家提供资料里边,在我实项目里边,我放到笔记下边了,对吧?这个呢,是我们的一个实付分摊,它的一个思路分析啊,实付分摊啊,它的一个思路分析啊好了,那么咱们现在呢,把这思路有了,那么接下来咱们呢,去写我的代码,呃,把这个呢打开端。
07:19
然后往下走对吧,那接下来咱们的来实现我们这个实付分担的功能啊,实付分担啊说分担那么整体啊,那么我现在呢,把这个也分一下吧,对吧,咱们现在呢,这个双这这个本身啊,我这order外我也分三步,大家把分三步去做,那第一步干什么呢?第一步啊,从我们这个卡不卡中来获取我数据啊,获取数据这第一步啊,现在呢,把这个写一下。嗯。然后第二步呢,咱们现在把这数据获取完之后,咱们是不是有双流重碍呀,对吧,那么双流正文这块呢,对吧,大家对吧啊也是第二知识点,对这个呢,是我们这个双流对吧,Join对吧,双流转,然后第三个呢,就是咱们现在对吧要做的咱们这个食物分摊啊第三个这个呢,是我们这个食物分摊好了看一看食物分摊这个东西怎么去实现,这个代码怎么去实现,首先第一个,那么咱们现在呢,实物分摊那。
08:31
你是不是得对咱们这里的数据一条条处理呀,对吧,而且处理的时候咱们是不是得去连ready呀,你想想我要从ready获取这个值对吧,对吧,比如说我现在啊,同学们,我拿到哪个数据了呢?我从咱们当前订单明细表里边,诶,我拿出一个这样的数据,或者说别看这个,看这个对吧,比如说我拿出这样一条数据出来,那么拿这条数据出现之后,你是不是得到专原地里判判那个查查查询一下,查询什么呢?把咱们现在对吧,这个商品价钱,还有咱们商品数量对吧,它俩相乘的一个累加结果是不是咱们给他拿出来呀,对吧,那么拿来之后呢,咱们是不是得去减一下呀,判断一下是不是我们现在的最后一一条边系对吧,那也就是我现在呢,在这里我需要连RA,那么如果连red的话,大家想一想,咱们现在这里应该有个优化,对吧,不应该说每次每条数据都连一次,咱们是不是一个分区连一次就可以了,那么如果一个分区连一次的话,那么这种题咱。
09:32
可以想到,那么咱们在处理的时候呢,Order y stream,咱们在处理的时候,那应该是以分区为单位来进行处理,所以说呢,We partition,那么如果以分区为单位进行处理,那么这个时候它得到的是我们这个order y的,然后呢,IR,对吧,这样的一个迭代对吧,这样的一个可迭代的一个集合,那么咱们现在呢,说迭代器啊,它本身处理一次就没了,咱们来转换一下,把它呢,转换成我们这个list子对吧,然后V2咱们这个是我们这个order wide list,那么最后呢,咱们要把这个order wide list给它转换成我们这个迭代器,对吧,给它返回去对吧。
10:13
这个呢,是我们正常写的一个套路对吧?正常写套路,然后接下来,那么咱们现在呢,在这里我是不是得去获取连接呀,对吧?首先在咱们这里边干什么呢?获取我们这个RA的客户端J对吧,它的一个连接啊,获取连接,那么这个连接怎么获取呢?那直接通过my radius u.get getline对吧,然后点VR拿到的是我当前的一个这的连接,然后接下来连接获取完之后,咱们别忘了这个东西呢,是不得把它关关一下呀,对,这里点我的close。啊,把这连接呢,关闭一下对吧,关闭连接,然后接下来,那么咱们现在呢,那就开始对对我们这里的数据来进行处理了,对吧?那么怎么处理呢?那咱们肯定大家想一想,我在获取的时候呀,那我要从咱们这里获取两个内容,一个什么呢?一个是我们已经计算完的明细和的明细的数量单价的一个合计,对吧?那么这块呢,咱们得拿到,拿到和谁有关系,是不是和咱们订单的I有关系啊,所以说你要想拿到订单的ID,你是不是得对我的数据来做个便利呀,所以说呢,在咱们这里我呢要对我当前这个订单宽表啊,来进行一个我们这个便利,每次遍历得到的是谁,得到的是我们这个order wide对吧,这样的一个对象,对吧?然后接下来我现在要干什么,我现在呢,要在这写了31,我要从咱们这个RA中来获取,对吧,我们这个呃,明细累加的和以及。
11:49
谁呢?咱们这个实分摊它的累加和对吧,明细它的一个实付分摊它的一个累加和对吧,那我现在这么一写,同学们,你知不知道这两个东西存的是什么。
12:02
就目前这两个是不是有两个里夹盒呀,这两个里夹和存的是什么,现在能跟上吗?对吧,这两个东西存的是什么,能不能跟上来啊,同学们,咱们现在之所以要去把这两个东西拿到,是不是因为咱们刚才在这分析了呀,同学们我现在要想去计算实付分摊对吧?那么首先呢,咱们得判断是否最后一条,怎么判断是否最后一条,是不是得根据我们现在它的一个我们这个商品的它的一个什么呢?原价金额,就订单的一个原价金额减去什么,减去我们现在呢?是吧,就是当前这个订单中其他商品的吧,它的一个所有的单价值数量的一个累加和对吧,来判断一下它减掉的值和你当前这个商品它是不是相等,什么意思啊?同学们,假如说我现在这是我订单款表,我现这里是不是一共有三条记录呀,那么你现在怎么判断,咱们的300是最后一条我的数据的怎么判断对吧?咱们要用谁,要用我们现在它的一个orange头的是谁,是不是90啊减去谁减去商品价钱乘以商品数量,咱们现在一百二百已经。
13:08
处理过了他俩,你当处理到100的时候,那么这个时候你要把它俩相乘的结果30给我保存起来,那么处理200的时候,你要把这个价钱和咱们已经存在的30是不做相加,对吧?然后接下来,那我现在第三条在处理的时候,我用什么呢?我用90减去60判断一下这个结果和我当前这个明细它俩相乘的结果是不是相等,如果相等的话,那说明咱们现在这是不是最后一条了,对吧?所以说我需要在我专辑里边把这东西存起来,那么你判到最后一条之后,咱们在计算我们这个对实付分摊金额的时候,那么怎么算呢?如果是最后一条,它的一个实付金额分摊,它不应该是什么,它不应该是咱们相乘的算法,是不是形应该做减法呀,对吧,怎么减,用咱们实际它的一个累计的一个值,减去什么,减去这两个明细,是不是已经分摊的一个结果呀,就把这两个西它给分摊的一个盒,咱们已经计算好了,保存起来,然后咱们就100把这个盒减减掉,是不是剩下的就是我最后这个商品它应该分摊多少钱呀。
14:08
对吧,所以说呢,那我现在这里存的两个东西,大家注意,一个是明细累加的和那么以及呢,明细实物分摊它的一个累加和对吧,那么这里呢,咱们要从ready来获取到,那么如果从ready获取到的话,那么咱们现在呢,定这么几个东西啊,第一个比如说我们现在这个呢,叫什么叫order orange some对吧,那咱现在呢,在这里我呢定一下这个呢,叫order对吧,Orange,然后咱们这个some对吧,然后这个什么呢?K对吧,它就等于我们得先拼接于K啊,然这K等于什么呢?对吧,它等于它对吧,然后再加上我们现在它的一个order的Y,然后接下来点我们现在这个order ID对吧,哎,我现在是不是可以拼接一个这个东西,然后接下来,那么咱们现在呢,那要去求它的值对吧,那么求的值,那么怎么去求呢?那应该这样对吧,那么咱们现在呢,定一个变量对吧,VR对吧。
15:08
Order,然后呢,Order sum它呢,就等于什么类型的呀,这子这是不是应该是W类型啊同学们,因为咱们现在金额嘛,对吧,W类型比如等于我们这个零到L,然后接下来那么咱们是不是可以通过我这个该点的客户端,然后去取啊对吧?那么怎么去取呢?咱们这里完全可以通过咱们这get这些方法吧,把谁拿到,把咱们现在的这个K对吧,给我传进去,它的返回值什么,它的返回值是不是一个字串啊对吧?那么这个是谁呢?这个应该是我们现在它的一个短和,只不过呢,这是字串的形式对吧?只不过这是字串的形式对吧?哎,那么从注意啊在这里注意一下吧,注意我们现在呢,从我们这个RA中对ready中来获取我们现在这个字符串对吧?那么一般都要去什么,都要判断是为空对吧,都要判断一下都要做什么啊,或者别一般了,养成好习惯都要。
16:08
做咱们这个飞空判断啊,都要做我们这个飞空它的一个判断啊,那么这个飞空判断怎么做呢?对吧,拿到它之后同学们来,那么如果说咱们现在呢,这个不等于空吧,这个不等于我们连道对吧。并且呢,咱们现在对吧,是不是孩子的长度不能等于不能大于零啊是吧,在这里如果说呢,它的一个咱们的size吧,是吧,然后呢,在这里对吧,这个。比如说如果它等于空对吧,等于空不等于空对吧,然后呢,咱现在这个里边大于零在这里。是不是可以这样一下。
17:02
它上不是有个LA对吧,其实咱们这里可以借助一个工具啊,我记得有一个咱们这个呃,Common对吧,它其实可以对咱字串的对吧,咱们专门去判断,或者说直接什么呢?直接咱们现在判断不等于空,然后呢不等于空串,这样也行,对吧,一然咱们字符串的判断为空啊,那就是这个对吧,要不然呢,是我们的不等于空,要不然呢,不等于空串对吧,那不等于空串呢,那你可以这样来判断对吧,在这里它呢点我们的ES对吧,在这ES,然后呢,咱们现在order对吧,然后呢,这个它对吧,在这里如果它不等于空,并且呢,它不等于我们现在的空串对吧,这也行,或者说什么,或者说你在咱们这里边,你像它就这种判断方式,比如说我现在我这里边,你按照谁呢?按照咱们这长度对吧,比如说啊,咱们现在在咱们这里在判断的时候呢,你可以按照它长度对吧,就在这里,如果不等于空对吧,并且呢,它的长度对吧,是不是大于等于零对吧,那么这时候大家想一想,如果说不等于空,并且说咱们现在呢,这个东西不等于空,并且说对吧,在这里对吧,咱们现在。
18:03
那它的一个order,然后呢,Origin,然后sum,它大于点size要是大于零的话,Size如果大于零的话,那说明什么?说明咱们现在这个数有值的呀,对吧,其实完整的一个判断的话,其实可以这么来判断,对吧,但其实这块呢,和它俩其实是对吧是一样的对吧,是一样的对吧,是一样的对吧,那么咱们现在呢,一般如果要工具的话,你可能会看到对有的是这种写法,有这种写法其实的是等价的,对吧,咱们就写一个就行,对吧,咱写一个就行对吧在这里对吧,那如果说我现在呢,不等于空,并且呢,它的一个我们这个长度对吧大于零,那么这个时候说明啊,咱们re积里是不是已经存这个值了呀,那存这个值咱们是不是应该把它给转化成我的double,所以说呢,咱们可以给它来做一个负值对吧,它等于什么呢?它就等于我们的order of sum,然后呢,点to double对吧,把它转换一下,对,把转换一下好了,这个呢,是从我ready里边获取我们这个。
19:03
啊对吧,这个明细到获获取谁呢?这个明细的一个累加啊,获取明细累加,然后接下来咱们再往下把它分开啊分开那这个干什么呢?这个呀,比如是3.2对吧,咱们现在呢,是从我们这个RA中来获取咱们这个实付分摊它的一个累加。啊,先把这东西获取到,然后咱们再做操作,那这个操作其实和我现在上面这个操作其实是不是一样的呀,对吧,那么只不过呢,你的key可能不太一样,对吧?比如说我们现在这个东西看的叫什么来看它叫什么来到食物分摊这里,然后呢,他在这里有一个我们的key对吧,叫order split some order split sum,那么咱们现在呢,的定义变量啊的定义变量,那么这个呢,是我们这个order啊然这个呢,Split这个呢是stop对吧,那么它等于什么呢?对吧,咱们现在呢,在这里先定一个K对吧,这个K呢,它就做一个拼接对吧,这块呢是我们当前的对吧这个key,然后接下来那你是不是也得把这个order这个ID拿过去啊对吧,点order对吧,给拿过去这第一个啊,这是K,然后接下来那么咱们现在呢,把这个是再来一遍吧,是吧,那么我现在呢,在这里我去定一个,我们现在呢这个变量来接收一下。
20:25
对吧,比如说我定义一个变量VR叫order split,然后sum对吧,那么它十位型的double玻璃型,咱们一开始初始值呢,比如说是我们这个啊double类型就0L对吧,不合适对吧?那比如说呢,咱现在呢,对吧,这个double类型对吧,然后接下来那么咱们现在呢,再去处理的时候,同学们对吧,那我是不是要从ready把它取到了对吧?那取到怎么取呢?直接咱们这个get,点我们的get,把这key呢给传过去,把这key对吧CTRLC给拿过来对吧,把它拿过来,那么拿过来之后呢,那么咱们现在问得到了一个我们现在orderlit,然后sum str,那么接下来对它做一个判断,如果说咱们现在呢,这块对吧,这个是它对吧,不等于空啊,不等于空说明有值对吧,说明啊,咱们现在已经有值了,那并且呢,咱们现在它的一个size啊,如果大于零的话,那么这个时候咱们呢,把这。
21:25
值给付给他付过去对吧,就把当前的字串这个是付给它,但是你需要转换一下对吧?怎么转换呢?你直接调它的一个方法,S点点two double,对掉达的to double这些方法转换一下好,那这样的话,咱们现在是不是从我的ready地方把这两只给它取出来了呀?同学们看一看,到目前为止对吧?我现在做实物分担之前,然后我先从red把这两个值取出来,能理解吗?啊吧,看一看代码,给你们两分钟时间再往下走,那么再往下走的话呢,那接下来是吧,咱们看一下本身呢,还是对它再做我的边利对吧,咱现在呢,把这个值呢,给它取出来了,对吧?把这值取出来了,那么咱先取完之后呢,那这里啊咱们还得继续同学们对吧?什么呢,咱们是不是得考虑一下我现在这个食物分摊这个业务了呀,对吧?食物分摊业务,那么这个食物分摊业务那么怎么去做吧完成呢?那来咱们刚才分析的时候呀,已经把这个东西对给他写了对吧?这15分呢,大概怎么来写,咱们呢,已经把这东西啊给他写了,对你当年你不处理咱们一条这宽表数据嘛,对吧,那么你在处理宽表数据的时候,你首先呢,判断是不是最后一条,如果是最后一条的话,那就这么来做,对吧,这么来写,那么如果说我现在呢,不是最后条的话,那这个时候呢,哎,我怎么能这么来写,对吧,就咱现在的业务,咱是不是已经分析好了呀,那关键是咱们现在呢要判断一下。
22:55
是否是最后一条,怎么判断是否是最后一条呢?这里也也有了,对吧,怎么判断是否是最后一条,咱们现在呢,这里也有了,对吧?把判断是否最后一条这个代码把也拿过来,对吧?那么咱们现在是不是就把咱们现在分析的思路给翻译成代码是不是就可以了呀,对吧?那么首先呢,咱们在这里。
23:16
我们可以拿到什么呢?当前你现在便利出来的,我们现在宽表数据,它的一个商品价钱,然后乘以一个商品数量对吧,那这块其实我可以定变量对吧,比如说order,我们的一个Y的,这是我当前变的数据吧,它的一个我们这个对吧,这个价钱order price是在咱们这里边有没有价钱。Fq price对吧?然后呢,接下来那么再乘以一个什么呢?再乘以一个SKU对吧?Order wide乘以在这力,然后呢,咱们这个order y.SK,我们这个number是吧?哎,乘以它的一个number,然后接下来点VR,那么这时候呢,它应该可以拿到了一个我这double布类型的一个数据对吧?那这个什么呢?比如说这个呢,是我当前订单的一个month对吧,Month就当前咱们现在啊这个便利出了一个明细啊,其实就相当于什么,相当于我拿出这样一条数据对吧?那么这条数据它的一个商品的价钱乘以商品的数量,它是多少,咱们现在有定义变量呢,来把它封装一下对吧?那么怎么样去判断一下是不是最后一个呢?是不是最后一条呢?咱们是不是现在要去用我们它的一个总价钱的原始价钱,然后减去谁,是不是减去已经累加过的商品的价钱,然后判断。
24:42
看一下它俩是不是相等啊,对吧,那么咱们现在如果要是判断的话,那这个时候来呗,这里面已经有了,然后接下来那么咱们判断是否做明明细的时候,对吧,这块是不是我现在这个总价钱,总价钱在咱们当前这宽表里面是不是有啊,对吧,那应该是order y的,接下来点谁呢?咱们去找我们这个orange的total啊。
25:06
对吧,Orange total month,然后减去谁呢?咱们现在是不是得减,减去减去我商品价钱和商品数量,它的一个累加和呀,这个累加和在哪呢?同学们在re积里面是不是咱把它取出来了对吧?那么咱们现在呢,在这里引经呢,把它给取出来了,那么你现在呢,把这两个东西一相减,那么等于谁呢?是不是等于我们现在对detail among对吧?是不是等于它对吧?那么如果相等的话,那说明是什么?说明是最后一条对吧?来在这里我看啊,如果对是最后一条对吧?判断是否最后一条,是否为最后一条对吧?那如果说它俩对,诶他出现在对一个结果等于什么呢?等于我们现在它的一个原始总价钱,对,然后减去我们现在呢,他对这个已经处理过的订单,明细对吧,他的一个单价和数量的一个累加,那么这个时候呢,说明是最后一条对吧,那如果最后一条的话,那这个时候咱们再算呀,他的食物分。
26:07
它的进入是不是应该是得用我们现在的一个对吧,这个减法呀,对吧?那么这个,那咱们可以把它翻译一下什么呢?我们现在这个order we,它里边有个属性叫做final detail amount,等于什么呢?等于我们这个order we对吧?等于我们这个order we,然后接下来点final total amount减去这个东西,大家想一想,已经计算完的明细的实物分摊记数在哪呢?咱们是不是在上面也把它取出来了,对吧?那么咱们现在呢,把这些东西给拿过来啊,把这东西给拿过来啊,把这些东西拿过来好了,那这样的话,咱们现在呢,这个是最后一条的情况就完事了啊,是最后一条情况完事了,那么如果说我现在呢,要不是最后一条,那不是最后一条,咱们现在这块那就处理一下呗,对吧,也是对吧,我现在这个order wide点对吧,咱们这个final detail amount等于什么呢?对吧,那等于咱们现在如果不是这。
27:07
它是不是得用我这乘除法呀,对吧,那咱们现在得用我们这个凹的,我直接把这些都拷虑过来啊,我直接呢,用它的一个,呃,实付的一个金额,实付的总金额再乘以一个什么呢?咱们当前这条明细,它的一个一个价钱对吧,这个价钱咱们刚才乘以数量,这个好像咱们有吧,咱上述封装的一个变量同学们对吧,是不是叫什么detail demand对吧?来在这里面我看一看上面咱封装的这个叫什么,是不是叫about,这个是不是有对吧?然后接下来咱们再把这个东西呢给答到对吧,这个呢是order we啊order we点对吧,这个呢是它的一个原始总径对吧?就如果你要想看成这个的话,同学们每一个字段它的角度的含义对吧?你应该知道这个呢,不应该是在这,你们应该在离线的时候就知道了。啊好了,看一看这是关于什么?这是关于咱们现在判断数否最后一条,然后呢,计算我们这个食物分担啊,在这里来计算我们这个十负五分摊啊,来计算15分摊,这个呢,算是我们这个3.3啊3.3啊,这算33对吧,完事了吗?同学们,对呀,那你介绍完之后,这个东西你是不是得更新一下呀,对吧?所以说呢,那咱现在呢,3.4是不是得更新一下咱们red里面的这个值啊对吧?更新我们这个ready中它的一个值对吧?呃,那么如果要更新ready的值的话,那这个时候咱们应该怎么更新呢?比如说咱们先来谁呢?先来这个对吧,比如说我现在定一个我们这个啊叫。
28:54
他吧,对吧,Order,然后呢,Or some对吧?那么这个呢,它对吧,咱们定个变量嘛,We are new对吧,然后呢,Order or some,那么它应该等于谁?
29:10
之前的那就是咱们现在这个呗,加上谁,那咱们这个应该就是detail amount呗,是这个吗?数量可以单价对吧,数量成单价,然后接下来更新的话,那这个时候是不是还得这个编的上啊对吧,接下来咱们现在呢,在这里我去更新怎么怎么做S是不是有一个叫sets的。然后设置能力值,同时呢,是不是可以设立一个它的一个失效时间呀,对吧,第一个K对吧,那这块呢,那应该是这个K,然后建第二参数,什么第二参数呢,失效时间对吧?然后接下来这个value是不是咱们的new对吧,这个时代对吧?那只不过这里咱需要转换一下to string,然后这块呢,这个K段string好了,那咱更新它完事了,那除了它之外呢,那上面咱们这个把累加和这个是不是也得去更新一下呀,来咱们这里呢,把我们这个拿过来对吧,把这个拿过来。
30:09
然后接下来对吧,那么咱们呢,也定一个变量,比如说呀,这个叫new,我们现在呢,这个order speed,它就等于什么呢?它就等于原来的值,再加上这个值怎么来获取当前的一个这当前这条记录的一个实物分摊,怎么获取order y的呀,大家想想咱们是不是给我当前对象的属性来赋值的呀,对吧,拿到order它的一个final detail among对吧,可以拿到它的分单,然后接下来咱们通过这点带DS把谁呢?把咱们现在呢这个值对吧,给它付过去对吧,然后有效期呢,也设置成了十分钟对吧,这个呢是我们的new对吧。然后转换一下啊,转换一下好了,那这样的话,咱们现在这食物分摊啊,差不多了。
31:06
看一下啊。跑一跑试一试啊呃,看还有什么问题呢,可能还有个问题啊,这块可以稍微的处理一下,比如说咱们现在呢,在做食物分摊的时候,大家想一想,在计算咱们那个分摊金额的时候,那么是不是有可能咱们除不尽的情况,那除不尽的情况的话,你想double类型,咱不光是咱们那GALA,也不光是扎va,基本上任何编程语言,其实呢,它是不是都有可能会出现咱们这个浮点数记录不准的一个问题啊,对吧,比如说2.0减1.1对吧,它的进口不是0.9,而0.89999对吧,这种情况对吧?所以说呢,那咱们其实可以怎么办呢?我可以啊,去做个四舍五入吧,对吧,四舍五入怎么做,同学们啊,怎么怎,比如说我现在这时候得到个结果,我想对它结果做一个四舍五入怎么做?同学们wrong是吧,谁的round ma点,还有一个什么round的方法,来后把这东西拿过去,这就四舍五入了,我现在想保留两位小数,怎么保留?
32:12
啊。啊,逗号二就这个方法得你们自己写是吧,逗号几是吧,然后他没有这个方法,但是呢,我觉得我还有必要去保留两个小数对吧,那怎么办呢?那我可以这样,同学们对吧?再从这里边呢,对吧,我看一看得力对吧,看说呢,乘以一个我的100对吧,然后接下来再除以一个100。可以保留两位小数,怎么实现呢?对吧?比如说我现在的这个计算结果是多少呢?这个计算结果呀,是1.234567啊,1.234567,然后接下来我现在干什么了?我是不是在咱们这里边,我呢去乘立一个100啊对吧,那变成多少了,说变成我的123.4567来,然后接下来干什么,是不是要四舍五入对吧?那咱现在这个东西够够五吧,不够吧,不够是不是把它给干掉了,然干掉之后呢,咱现在干什么了,咱现在是不是我们现在又除了100,那你是不是回来了对吧,1.23对吧,所以说呢,咱现在在这里对吧?哎,可以保留几个小数,下面这块呢,那也一样啊,也一样来,我现在呢,可以通过麦点,我们这个round的是吧,来把咱们这个呢给计算一下是吧?呃,让它呢去乘以一个100,然后接下来再除一个1000啊好了,那这样的话,咱们现在呢完事了。
33:39
那就看你保留几位了吗?是看你保留几位了是吧。啊啊出100出100是吧。除以多少,为什么除以一点,对啊,咱们这地我的地是代表double double是两位吗?这个不是double就两位吗?对吧?行了,可以自己下去试一试,对吧?那接下来呢,咱们现在来看一看呗,我呢去做一个测试啊,我就做一个测试,那么这块这个测试呢,对吧?如果能跑通,那我觉得你电脑就可以了,对吧?这如果这个是测试跑不通的,那你也别跟他较劲是吧,那后边呢,那你觉得看不看呢?其实其实大家想一想这种代码,今天咱们写的这些东西,同学们,咱们先写这代码,大部分同学,大部分代码咱们都在干什么,都在做复制粘贴,咱你想上午基本上对吧,这个都在做复制粘贴,对吧,所以说你看班长上午没来嘛。
34:59
对不对,然后下午呢,这个代码其实很重要的,对两个啊,一个是我们双重,一个是我实物分担,那现在咱们来做一个测试,同学们来干多长时间了,停一下。
我来说两句