|
@@ -714,7 +714,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
public void rollbackOrderUserDataVersion(Long orderId){
|
|
public void rollbackOrderUserDataVersion(Long orderId){
|
|
|
|
|
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeOrderUserMapper.delete(TradeOrderUserDO::getOrderId,orderId);
|
|
|
|
|
|
|
+ tradeOrderUserMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
@@ -772,8 +772,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderDetailDataVersion(Long orderId){
|
|
public void rollbackOrderDetailDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeDetailMapper.delete(TradeDetailDO::getOrderId,orderId);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ tradeDetailMapper.updateDeleted(orderId,1);
|
|
|
|
|
+
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
|
|
|
|
|
@@ -830,8 +830,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderDetailBaseDataVersion(Long orderId){
|
|
public void rollbackOrderDetailBaseDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeDetailBaseMapper.delete(TradeDetailBaseDO::getOrderId,orderId);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ tradeDetailBaseMapper.updateDeleted(orderId,1);
|
|
|
|
|
+
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
|
|
|
|
|
@@ -888,7 +888,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderTotalDataVersion(Long orderId){
|
|
public void rollbackOrderTotalDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeOrderTotalMapper.delete(TradeOrderTotalDO::getOldOrderId,orderId);
|
|
|
|
|
|
|
+ tradeOrderTotalMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
@@ -942,7 +942,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderCountryDataVersion(Long orderId){
|
|
public void rollbackOrderCountryDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeOrderCountryMapper.delete(TradeOrderCountryDO::getOrderId,orderId);
|
|
|
|
|
|
|
+ tradeOrderCountryMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
@@ -1000,7 +1000,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderRoomModelDataVersion(Long orderId){
|
|
public void rollbackOrderRoomModelDataVersion(Long orderId){
|
|
|
//首先把旧数据删除,26-6-8修改:作逻辑删除,然后回滚时手动设置deleted=0去insertOrUpdate
|
|
//首先把旧数据删除,26-6-8修改:作逻辑删除,然后回滚时手动设置deleted=0去insertOrUpdate
|
|
|
- tradeOrderRoomModelMapper.delete(TradeOrderRoomModelDO::getOrderId,orderId);
|
|
|
|
|
|
|
+ tradeOrderRoomModelMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
@@ -1058,7 +1058,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderVisitorDataVersion(Long orderId){
|
|
public void rollbackOrderVisitorDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeVisitorMapper.delete(TradeVisitorDO::getOrderId,orderId);
|
|
|
|
|
|
|
+ tradeVisitorMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
@@ -1116,7 +1116,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void rollbackOrderFloorDataVersion(Long orderId){
|
|
public void rollbackOrderFloorDataVersion(Long orderId){
|
|
|
//首先把旧数据删除
|
|
//首先把旧数据删除
|
|
|
- tradeOrderFloorMapper.delete(TradeOrderFloorDO::getOrderId,orderId);
|
|
|
|
|
|
|
+ tradeOrderFloorMapper.updateDeleted(orderId,1);
|
|
|
|
|
|
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
// ====================== 【关键1】加锁查询:锁住当前版本行 ======================
|
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|
|
// FOR UPDATE 行锁 → 并发请求会排队,绝对安全
|