Java阶段五Day19

Java阶段五Day19

问题解析

需求单查询列表功能的bug

业务逻辑:

需要用户登录,师傅入驻,审核入驻通过

查询师傅详情(areaIdscategoryIds

demand-server-dao-impl 包含持久层实现

requestOrderMapper.xml

需求单

需求单抢单

为了防止 多个师傅同时争抢一个订单,demand服务需求单抢单操作使用的乐观锁 CAS(compare and swap)逻辑

乐观锁: 在做数据操作时,采取乐观的态度,总是人为没有别的而线程 / 没有别的操作和我同时进行,但是一旦有,操作的数据中可以使用cas 先比较在交换的逻辑防止线程安全,数据冲突

sql 复制代码
update request_order set grab_status=1,version=1 where request_order_id=21 and version=0

上述sql语句满足乐观锁的一个实现逻辑原理CAS 比较并交换

  • 比较: 条件中判断version=0
  • 交换: 抢单状态和版本同时+1

订单

生单功能

订单列表

https://sparrowzoo.feishu.cn/docx/My4mdlLuMovmQixHko4c6qXbnYc

订单列表订单详情

业务流程

订单状态更新(略)

  • 状态值status
  • orderLog写入
  • 保证事务

图片上传绑定

attach中上传的图片id 绑定到当前订单

相关推荐
有梦想的攻城狮2 分钟前
Java 11中的Collections类详解
java·windows·python·java11·collections
忒可君8 分钟前
C# winform FTP功能
开发语言·windows·c#
六千江山23 分钟前
从字符串中提取符合规则的汽车车牌
java
33255_40857_2805932 分钟前
从韩立结婴看Java进阶:一个10年老码农的修仙式成长指南
java
赵星星52032 分钟前
透彻理解Java中的深拷贝与浅拷贝:从误区到最佳实践
java·后端
minji...33 分钟前
C++ string类(STL简介 , string类 , 访问修改字符)
开发语言·c++
心月狐的流火号34 分钟前
Java CompletableFuture 核心API
java
Forward♞38 分钟前
Qt——文件操作
开发语言·c++·qt
黑客影儿44 分钟前
Java技术总监的成长之路(技术干货分享)
java·jvm·后端·程序人生·spring·tomcat·maven
京东云开发者1 小时前
EXCEL导入—设计与思考
java·架构