单种方式结账保存

首先开始的这里我使用了事务,事务的作用就是,假如要保存三张表的数据,如果其中的有一个保存失败了,到后提交事务的时候就不会保存这些数据。也就是说要么都成功要么都失败。事务也有一定的好处。

在此之前我要获取的数据,在添加项目时我声明了一个session列表让添加的时候添加到session列表中,保存的时候我就从这里的列表中提取出来。我们要保存这段数据的每个字段,所以要查询这个session列表,声明一个变量接收这个session列表查询打的第一条数据的订单ID,然后用这个ID,去查询消费项目是否已经存在有这条数据了,如果则查询到条数大于0表示已经存在这条数据不需保存这条数据,所以直接跳过这条数据就行了。如果查询到条数是等于0的则表示数据库中没有这条数据,则往下执行遍历session中的数据的字段添加到表中并且保存。

 

 

查询结账表的条数是否已经有这条数据了,如果有数据那么他查到的条数据就会大于0,则就要保存session的订单ID的第一个就行了。因为如果有几条消费项目的话它的订单都是同是同一个的,所以我们给个索引只拿到第一个就行了。

  根据订单的ID查询订单明细表,查询到这条信息的订单的状态,直接给这个状态赋值=‘结账’,然后就修改这条数据并且保存可以了。最后查询房间表,根据这个房间ID查询到这条的状态改为脏房(3代码表脏房),还要预定的改为无预约状态,关键代码修改刚刚修改的数据,保存返回状态就可以了。提交事务就完成这个保存的过程了。

 

 

结果如下图所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值