Merge remote-tracking branch 'origin/liaoning' into liaoning
This commit is contained in:
@@ -29,6 +29,8 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.locks.Lock;
|
||||||
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,9 +47,13 @@ import java.util.Objects;
|
|||||||
public class PqFrontLogsServiceImpl extends ServiceImpl<PqFrontLogsMapper, PqFrontLogs> implements PqFrontLogsService {
|
public class PqFrontLogsServiceImpl extends ServiceImpl<PqFrontLogsMapper, PqFrontLogs> implements PqFrontLogsService {
|
||||||
|
|
||||||
private final PqFrontLogsChildService pqFrontLogsChildService;
|
private final PqFrontLogsChildService pqFrontLogsChildService;
|
||||||
|
// 创建可重入锁
|
||||||
|
private final Lock lock = new ReentrantLock();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFrontLogs(PqFrontLogsDTO pqFrontLogsDTO) {
|
public void addFrontLogs(PqFrontLogsDTO pqFrontLogsDTO) {
|
||||||
|
lock.lock(); // 获取锁,如果启动多实例要考虑分布式锁
|
||||||
|
try {
|
||||||
PqFrontLogs one = this.lambdaQuery()
|
PqFrontLogs one = this.lambdaQuery()
|
||||||
.eq(PqFrontLogs::getLevel, pqFrontLogsDTO.getLevel())
|
.eq(PqFrontLogs::getLevel, pqFrontLogsDTO.getLevel())
|
||||||
.eq(PqFrontLogs::getNodeId, pqFrontLogsDTO.getNodeId())
|
.eq(PqFrontLogs::getNodeId, pqFrontLogsDTO.getNodeId())
|
||||||
@@ -83,6 +89,9 @@ public class PqFrontLogsServiceImpl extends ServiceImpl<PqFrontLogsMapper, PqFro
|
|||||||
pqFrontLogsChildService.save(pqFrontLogsChild);
|
pqFrontLogsChildService.save(pqFrontLogsChild);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
lock.unlock(); // 释放锁
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user