00:00
下面呢,咱们继续把这个生成订单接口最终的部分给它完成,那咱下面啊,来到第六步,首先先封装数据到order info里面去,最终把数据加到订单的基本信息表里面去,那咱们看一下啊,首先我先new一个order info这个对象。New完之后向O的info里边来设置它的值,我们先设置几个,然后后面部分我从课件中直接复制了,因为值就是一个set过程,比如咱设置第一个U快递,另外还有其他值,依次往里面设置,然后最后我们调方法就是调这个。Base map中这个方法叫inser的方法,传入o info,把数据加到订单标边去,那剩下的set过程我来到课件中,咱们找一下,就是这些值,把这些给的都set进去,那咱复制过来,我们来看一下这个过程啊,因为代码并不复杂,我就直接拿过来了,咱们看一下首先第一个用户ID。
01:08
第二个什么用户昵称,这是省,这是你的电话号码,这是省,这是课程的价格,然后这是刚才说那个优惠券那个价格,然后看下面大家看这个说一下什么意思啊,首先如果说呢,我们现在啊,我的课程价格是100块钱,我的优惠券是十块钱,当我用了优惠券之后,我最终的价格是什么,是不是100减十,所以用你的课程订单的总价格,实际价格减上你的优惠券的价格,最终得到最终价格。另外下面有一个订单,这个叫订单号,或者咱说那个流水号,流水号呢,我这里边用了一个工具类,这工具类咱们刚才在U里边复制的工具类,它就是生成那个订单号,一个简单的规则,让每次值都不一样就可以了。
02:02
然后还有最后包括你这个当前这个课程的标题,还有一个订单的状态,咱目前状态应该是一个订单生成成功,但是一个未支付状态。所以现在啊,这部分就完成了,然后下面呢,我们用同样的方式封装这个O的detail t这个对象,把这个就封装,那我现在我同样妞上一个older。Detail这个对象,Order detail呢,上面应该是有这个重复的啊,咱们看一下啊,哪里有重复的,或者给它改个名字就可以了,我们来找一下啊,Order detail重复的地方。咱们来看啊,应该是刚才我们写的这个地方有了一个older detail啊,咱为了区分呢,把这名字给它改个名字,我就叫这个older detail。啊,名字你可以随便起啊,我叫这个名字,然后这个是否存在,如果它不等于空,咱直接返回订单的ID,然后下面我这里边还叫order detail,下面呢事项里边分别set它这些值,最后调方法,咱做个添加,就调这个order detail。
03:13
里边这个save方法传入对象,完成添加,然后同样这set过程我从课件中拿过来,就是里边的这些过程跟刚才的这个值类似啊,咱们把这个都再载进去,最终完成添加。所以以上这两段代码之后,我们像订单表还有订单的详情表中都添加了数据,然后下面有一个更新优惠券状态,咱就判断里面那个优惠券那个使用那个值是否等于空,如果不等于空,那我们远程调用自我更新。这一部分啊,拿过来咱们看一下啊。大家看我里面判断。得到你使用优惠券的ID,如果它不等于空,那咱们远程调用并更新,等于空表示没有使用,那咱就不更新,因为优惠券这个特点啊,各位同学都理解我优惠券有的话,我说可以不使用,我不使用也能进行支付啊,所以这里边做一个判断,最终咱们把订单号做一个返回就可以了,那我最后返回一下啊。
04:21
通过o info.get ID返回订单号,或者说订单ID,所以以上呢,咱们就是通过这些过程就完成了生成订单的接口,这咱就做到了,也是咱们这张图中的过程,这过程呢并不难,只是步骤要多一点,所以各位写的时候一步一步按照我刚才说的过程把它最终能实现出来。以上生成订单接口,我们就写到这里。
我来说两句