00:00
那么再往下走的话呀,大家想一想,我现在数据已经拿到了,相当于啊,我已经知道对吧,咱们现在的实时的一个下单情况了,但是呢,我在统计的时候,我是不是要统计咱们首单呢,对吧?那么如果统计首单的话,那么这个时候咱们怎么样来确定它是不是单呢?对,就现在这个东西,我现在呢,要确定在当前这个用户是不是首单,对吧?那我们说啊,你不能光看咱们眼前这一个需求,如果你要光看眼前的一个需求的话,那我可以有一种处理方案,怎么处理,把首单的数据留下。对吧,然后把其他不是说他的给给干掉,对吧,那这样的话以后再去去统一别的一个需求的话,你是不是其实程序扩展性就很差了呀,对吧,所以说咱们怎么解决的呢?在订单我们这个样例类里边啊,我们加了一个属性。啊,加的一个属性对吧,然后接下来那么咱们要根据这个属性呢,对吧,来判断是不是首单对吧?那在这里同学们我们呢,找到我这先停一下啊这个呢,我也先停一下对吧?那么咱们现在呢,找到订单样例类,在订单样例类里边我们呢,去加了一个我们的一个属性对吧,这个呢属性呢叫是否首单对吧?那么它是自创类型,如果是首单的话,那是一对吧,如果不首单话,那就是零。
01:15
啊,你们传这个东西就可以对吧,如果是首单对就是一,如果不是首单的话就零,那接下来咱们要看一看怎么样判断是否为首单。啊,那接下来咱们往下走呗,再往下走,那第二个操作判断是否为首单,这个打过来吧。第二个是吧,那么咱们现在呢,来判断是否为首单啊,是为首单。好了,那么如果想判断是否为首单的话呀,那么这块咱们其实对那我可以使用,对,因为我现在不是过滤了啊,如果过滤的话,大家想到的可能是filter这个算子,那么现在咱们是不是其实改变的其中一个属性啊,对吧?如果是手单的话,我把它当前订单的一个属性给改变一下就可以了,对吧?所以说呢,应该还是改变它的结构嘛,所以说咱们在这里再做一次我们这个麦克啊,再做一个卖对吧?那么我现在这里边放的什么呢?放的是我们的order in inform对吧?当前在咱们的里边,它放的呢,是我们order in inform对吧?然后接下来那么咱们怎么样来判断一下这个东西呢?是不是首单呢?你要想判断是会首单,那怎么办?你是不是可以到咱们这个菲尼克斯里面去查呀,大家想想,咱们上午在我这分析课斯里边,我是不是创建了一个表,这个表叫user this,对吧,然后接下来在这个表里边维护了咱们用户是否曾经下过单。
02:50
对吧,维护了咱们用户是否曾想单对吧?那你要想从这里查的话,注意啊,咱们现在呢,给大家介绍第一种方案对吧?第一种方案对吧?那我如果要从这查的话,那首先我得知道什么,我是不是得知道当前你下订单的用户ID,首先第一件事啊,在这里获取什么呢?获取用户ID啊,获取我们这个用户ID,跟着我思路二用户ID,那么怎么获取呢?订单都可以拿到,订单里面是不是有个属性叫U的ID啊,点VR把这U的ID给获取一下,然后第二件事,咱们是不是可以根据用户的ID到我们这个菲尼克斯当前这张表里边来查一下,比如说我现在这边有100个用户,对吧,然后那个用ID分别是123468就等等等等,对吧,那么咱们现在呢,我可以查询一下,我现在用户为五的对吧,在这里是不是有对吧?那么如果有的话,那说明我曾经消费过没。
03:40
对,我曾经下过单买对吧,所以说呢,那我接下来我要干什么呢?我要根据我们的用户的ID,然后呢,到我们这个菲利克斯中对吧,来查询啊,是否消费过啊,是否下单过或下单过,那么如果你要根据我们这个埃D去菲尼克斯查询的话,我们是不是已经封装好工具类了呀,对吧,咱们封装的一个叫菲尼克斯U这样的工具类啊,那么在咱菲尼克U工具类里边呢,有一个快伦理的方法,然后你把circle口给我传过就行,对吧?那既然你需要circle口,我就定义一个变量呗,对吧,词string理行这块呢,写我们的查询语句啊,这块需查询语句,那就是select,那么咱们一般的在这里我们要养成好习惯,就不要就新了,对吧?投影查询一个是user_ID对吧,那么另外一个呢,是我们这个if的下线。
04:40
Can sum me,别错了,对吧,这块对,那么咱现在呢,在这里我们呢,把这个东西拿过来对吧?然后具体的从哪查呢?从我们当前这张表里面来查询啊,从咱当前这表来查询,再加条件吧,同学们是那where咱们现在应该是我们的UID等于对吧?咱把这个ID给拿过来,那么我这里是不是相当于我要在这里把这个ID给加过来啊等等怎么加呢?
05:10
到那有点ID是不是可以点对吧,我现在呢,可以把它ID给拿过来,有坑同学们对吧啊。哎,我现在有单引号啊。对吧,所以说这有坑,同学们有什么坑呢?大家想一想我现在这个东西,同学们想到的类型,这是什么类型,这是浪类型吧,但是我把这个浪类型数据拿过来,我放在单引号里边,那么是不是就已经变成字符串了呀,对吧?你想一想我现在正常情况调查询的话,比如说我在这里啊要查询怎么查询呢?Select的把咱们这个语句直接拿过来吧,对吧?把这个语句直拿过来对吧,这个语直接拿过来对吧?那么select,什么where u的ID是不是得加上一个单引号,再查询的时候等于几呢?等于一是不是咱们要这么查呀,对吧?那所以说我现在呢,在这是在这里,你这个这个ad值可以获取,但是咱们在拼接的时候呢,那你这里别忘了加单引号,这里一个坑。
06:07
啊,这一个坑对吧,如果不加的话,到时执行的时候大家想想,我现在如果要是不加的话,有些啊,有些咱们这数据库可以在有些数据库呢,它会报错啊,有些可以有些他会帮你转换的,对吧?但有些会报错对吧?咱们现在这不行对吧?哎,那我现在把这东西加过来了,对吧?那么他呢,执行执行完之后返回一个什么呢?返回的是不是一个这个集合呀,对吧,这个呢,User space list返回一个集合,那接下来那咱就判断呗,如果说我们现在这个集合对吧,它不等于空啊,如果集合不等于空,那么并且咱们当前这个集合它的一个S大于零说明什么了。如果我现在这个集合不等于公,并且集合数个数大于零,说明什么?说明咱们现在这个东西在我分集格斯里面是不是查到数据了呀?查到数据意味着什么?意味着这哥们曾经在我这买过东西,是不是曾经下过单?那么如果同学下过单的话,咱们要干什么?是不是要把order in for对吧?然后它里面有个属性叫做is the first order,给它标记一下什么呢?给标记为零。
07:18
对吧,不是首单曾经下过单了,因为我从这里边找到了,对吧,找到你的一个消费记录了,那么这块呢,你就不是首单了,那么否则的话,如果说没找到,那么这个时候咱们现在是不是首单呀。对吧,好了,那这样的话,咱们现在呢,把我们这个判断是否为首单的这个给实验了一下,那么最终呢,这里你判断完之后,这里是不是还得把这order in inform给你返回回去啊对吧?然后接下来咱们呢,去点VAR一下,到VR一下,呃,然后呢,这个是我们这个order in it first flag stream好了,这呢是关于我们现在啊这个用信息,只不过这个时候呢,它携带了是否一个首单的标记,好那咱现在呢,来测试一下,来测试一下对吧,也是把它呢做一个打印输出啊,也是把它做一个打印输出,那么刚才咱们在输出的时候,同学们看对吧,刚才呢,咱们在我奥O在输出的时候,对吧?那么其中呢,那关于我们是否为首单的标记,对吧?在什么位置看一下对吧,你看这这是不是都是空的呀,对吧,咱们现。
08:33
在这里这个是不手段都是空的对吧,那现在呢,我要给它赋值了,要不然是一,要不然是零,那为了看到效果,我看看咱们的用户的ID是第几个啊。好等一第几个是用ID 1234,第四个是用ID,然后1234对呃用ID有一对不对,然后呢,四五找一个可能对吧,出现多一点的,比如说我现在呢,再去执行一个对吧,这个呢二啊也消费过。
09:03
啊,然后呢,咱现在三啊也消费过啊,那我现在呢,查询一下啊,查询一下我现在当前我们现在用户这个表里边是不是有三三条消费记录了呀,对吧?那么如果说正常的话,是不是咱们在获取订单的时候,如果是123这三个用户下的,那么他这个是否首单,那应该是我们这个零吧。对吧,如果说其他用户下载是不是应该是不是第一啊,对吧,那么咱现在呢,把它测试一下,对吧,还是把这个呢给运行起来,然后呢,咱们这个程序也运行起来啊,也运行起来。有可能生成一圈没有123的用户啊,有可能因为随机的嘛,对吧,那么咱们现在呢,在这里去执行一下我们这个这个模拟车数据的代码。把这个升了一下是吧,看一看有没有当123的用户啊,看一看有没有123对吧。
10:08
好了,那咱现在拿过来看一看,同学们和原来比是不是不太一样了,对吧,你看这里这个西是不是不会空了,对吧?那看看没有用过123吗。没有是吧,还真没有是吧,再来一次。一般三次的话呢,应该会有是吧,如果不有的话,你不用跟它较劲是吧,所以一天跟随机数较劲是不是,来来来再试一试啊,再试一试是吧。123啊在哪呢?这个是吧,那这个是不是零啊对吧,那看到他们是不是就可以了呀?啊但是这种方案啊不好,同学们。啊,这种方案呢,不好不好,为什么不好。
11:01
这个发音说有什么不好的地方,感觉挺好的,是不是好不容易听明白,是不是来找他不好的地方。来有什么不好的地方,朋友们。查询太多了呀,对吧,你想想咱们每次在这里我是不是都要执行一个查询呀,对吧,这查询不太多了,虽然说咱们用的是prepare STEM,但其实这块呢,那也是每次都查询一个,每次都这个拼,拼接一个咱们查询语句这个其实不太好的,对什么呢?对吧,对于我们这个每条订单啊,对于咱们每条订单对吧,那么他呢,都要去拼接或者执行啊一个我们这个circle口,对吧,那么这个circle语句啊,过多啊,过多听so过多对吧?那如果这种方案不好的话,那咱们就想办法让这S语句直接少一点呗。对吧,那么怎么样,少一点的,咱稍微休息一会儿回来继续对吧,稍休一下。
我来说两句