00:00
大家好,上节课呢,我们完成了这个购物车列表页面,但是呢,我们有一个问题还存在,我们得解决掉,比如说我们购买同样的商品,购买同样商品应该怎么样呢?这里边应该再出一条,出现一条记录,对吧?这是不对的,应该是购买同样的商品,我们选择数量,只要数量相加就可以了。来,我们继续购物,这个按钮应该我们还没有去写,我们找到购物车页面,找到继续购物。我直接到主页这。我们继续购物,你看,比如说我再到PP图书这块,我再买一本。我选择两个数量。往呃立即购买,然后你看又多出现了一个,那这样就不是我们想要的结果,那我们想要的结果什么,只要那个数量增加两个加三个是五个就可以了。那我们现在改写一下,这样在添加的时候,我们找到购物车添加这个,呃。
01:02
我们在这里面。如果用户啊是登录的,那登录的时候呢,我们先判断他传过来的,想想要购买这个商品在我们数据库里边是不是存在。我们一定要查出这条是不是存在,那我们判断它是不是存在啊。我们通过他的这两个去查找,一个是产品的ID,一个是这个用户的。是这个用户的产品ID,你不能说你要是一个条件,比如就通过产品ID去查找,那呃,张三也买了这产品,你四也买产品都在购物车里边,那你你判断诶有其实是在张三购物车里,不是在第四购物车,那这样会出问题,所以咱们需要通过两个条件,谁的购物车的哪个产品才可以获取到,所以呢,我们需要。这块有UID,然后呢,我们这块呃,也有这个PID就是。这块是只是通过一个呃,PID去得到这个呃。
02:00
产品这是从产品表里面,我们得从购物车里去找,所以呢,这个就不能用,那我们得这块啊通过。通过用户ID和怎样购物。购物车中的商品ID2个去查找啊,购物车有没有这条记录,有没有这条记录。我们得这么去做才可以,那我们就得通过呃,购物车。Monkey。下划线。三号线cart DAO通过它里边,我们这里边有得到购物车对吧,那我们得需要再做一个得到购物车里边的商品才可以,那我们就hop商品也需要通过两个字段来查找,一个是用户的idu ID,一个是产品的IDPID,这两个才可以查找出来,那我们看一下。
03:00
PID是什么?UID对吧,我们通过这两个把呃,这个查询出来。查询出来是一个什么,是一个购物车里边的一个商品,那我们这块L。还不?那获取到的就是什么?就是我们购物车里边的,呃,这条记录有没有,也就是原商品,你叫SRSP吧,看有没有这个原商品,从购物车里面我们找没找到这个原商品啊,这原商品我们应该用。呃,购物车的记录。用这个购物车的实体接触没问题。等于。假如说我们找到这个产品了,那我们先试一下,从这里边写一个这个方法。通过。
04:00
购物车里边得到商品,那我们找到购物车。Bo,这个是不是10D。购物车也从这里边,我们得做一个,呃,这样的一个。方法。Public stc查找什么呢?查找是一个商品就行,那我就是l mon啊CRT查找购物车这个记录存不存在,购物车的记录存不存在,然后得到。呃,两个参数。我们全是字符串的吧,在这里再转字符串的UID名,就不用在传参数的时候把那PID转成整数了。两个参数,然后我们查找这个呢,跟我们查找其他的,呃,方法都是一样的,比如说查找购物得到购物车,那我们就把这个。原封不动的搬过来。让我们去写的时候快一点。但是我们这块就不需要做一个什么,就不需要做一个这个列表对象了,我们直接做一个购物车的对象就可以,当然了。
05:07
呃,我们不需要去创建对象,是获取出来的,那我们这块随便写一个变量,比如说呃,ES吧。等于空。然后声明结果集啊,连接数据都没问题,然后执行SQ,对这选择通过这个,呃,购物车Y条件,那首先呢是用户ID等于问号没问题,然后但是我们还得加一个什么,加一个。并且cart。嗯。本身的通过查找哪个产品,通过他的产品。CRTCRT里边的。P_D等于问号,再通过产品的ID拿出来,其他都可以不用变。然后执行所有卷我们第一个参数。用户ID是自动的,呃,没问题,那第二个我们。
06:06
第二个用户ID,用户ID我们是什么类型的?用户ID是自动型的PID整的,那我们把这个。PID转成形in.P。反过来。两个参数,一个是UID,这是UID,它本身就是中的一个是PID。就是二。这个方法设置自串的。需要两个整形的。诶完执行最后一句,那这里边我们获取到的就不是,呃,这个购物车到购物车了E,那我们这块就变成什么。
07:05
啊,只用ES。用一个购物车,然后还是这几项,这还需要添加吗?不需要添加了,我们就获取一个。然后返回。Yes。这样的话,我们在呃购物车。添加购物车添加这块。就获取到了这个一条商品,那我们得判断这条,呃,判断这个商品是不是存在的,如果获取到了,它就是真正的对象,如果没获取到,它就是空,那我们判断一下,如果S原商品它不等于空。不等于空,那我们这块就证明它已经是存在的,是存在的,我们就从这个SRCSP原商品里边,我们。得到它的。什么得到它的这个数量,原商品里面得到这个数量,我们就叫做。
08:02
原数量吧。声明一个整形ins元数量。从这个商品里边把它原来的数量拿过来,然后呢,我们在做一个新的数量cut,等于这个s RC Co nt,从这产品里拿出来这个原数量,加上加上我们传过来这个数量cot,那我们传过参数是中串的,它就会是连接,所以我们int,呃,g.PI。我们把这个。过来这样的话,我们就获取这个,呃,新的数量,新的数量呢,我们只要把它更新到数据库里边就行,但是我们看一下新的数量加原数量加在一起,我们说假如说那个模板里边那个咱们试过了,它是限购的。你看限购五件,那如果超过了五件,有新买的超过五件,限购五件,那我们就判断一下就完了,New Co这个数怎么的,如果大于。
09:01
等于五,那么我们就。或者是如果呃,大于等于五都行吧,那就是new cut新的数量,这样它等于五,让它怎么也不超过,呃,五件限购五件,然后我们把它更新到。就不了。用这个。第二。比如说我们用更新数量update更新nu。把它更新到我们这条,呃,记入里边那更新,呃,我们都小写了,全小写吧,让这个。呃,哪条记录。原来这个商品里边的,我们把这个购物车这个这条记录的ID拿出来,SRSP里边的,呃,Get他的购物车的这个ID。传两项,更新这个ID,让它的数量ne e cot变成这个数量就可以了,当然这个方法我们现在还没有写,那我们先一会儿再写,那否则。
10:02
我们把下边添加到否则里边,否则我们才插入一条记录。正常我们更新我们,然后我们到我们的。这个。Bo里边这里边我们再写一个方法,就是更新数量。按照产品的ID和。解决吧。按产品的ID以及。呃,产新的数量,这两个我们去更新。做一个方法。In更新数量,Nu。两个参数,一个是呃,比如说我们叫eid吧,就是我们的呃,购物车的这个ID。D吧,这种个分类ID知S购买商品的这个ID数量。
11:02
两个参数,然后我们做一个。等于。Up更新表,Mort更新这个表设置什么呢?设置呃数量。也就是我们的。对。设置购物车的数量等于什么啊,等于。问号我们别直接填,用那个加油符的方式。条件,我们的购物车的这个ID。等于问号啊,然后把这两个小项做成那个对象参数。Object。呃,参数PM等于。嗯。把第一个是数量顺序别写错了,第二个是I。
12:00
这两个变写法了,然后返回BSEO,用它这里边的EE。这个执行这个语句和这条语句就可以了。大家再回到我们的。添加页面,我们再看看流程。就没有问题了。直行。然后我的插入我们试一下,但这里边已经有两条记录了,我们先清空下购物车,清删除一下,删除from从。Party。呃,全部清除,也清除用户表啊,你别出新分列表,很麻烦R们给CR。啊,没有了,那我们重新购买一下。嗯。需要重新启动一下吧。
13:03
我们回到古代。登录。一下。呃,登录一下。最初跳转的他也不是那个手页。到时多把的家长要要用。对吧。In select退出的话,到时候也改成就可以了,比如说图书。两个啊。加入购物车。然后。我再买一本别的书。数。立买两了,我们再继续再找一的书,原来买两我们买。两本。购买。你看就变成了四本对吧,我们我们在。读书。我们再买。三本立即购买,看最大值卖这样的数量就完了,对吧,不然的话我们记录重复,这样的话记录就不会,一个用户就不会重复,因为商品它已经加过物车了,再加上加上数量,他觉得不好,可以把这数量数量多了他再减减一下,那数量加减这个也只是在我们的,在我们前端这块加减了,没有在我们后端加减。
14:14
那下节课呢,我们把这个实现在后等加减这样的功能,那这里边。
我来说两句