微服务版本相关bug修改

This commit is contained in:
hzj
2025-09-04 11:21:05 +08:00
parent 0836f5fa57
commit 7e5aaa2df2

View File

@@ -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,43 +47,50 @@ 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()
.eq(PqFrontLogs::getLevel, pqFrontLogsDTO.getLevel())
.eq(PqFrontLogs::getNodeId, pqFrontLogsDTO.getNodeId())
.eq(PqFrontLogs::getFrontType, pqFrontLogsDTO.getFrontType())
.eq(PqFrontLogs::getCode, pqFrontLogsDTO.getCode())
.eq(StringUtils.isNotBlank(pqFrontLogsDTO.getBusinessId()),PqFrontLogs::getBusinessId, pqFrontLogsDTO.getBusinessId())
.eq(PqFrontLogs::getState,1).one();
if(Objects.nonNull(one)){
one.setUpdateTime(LocalDateTime.now());
this.updateById(one);
PqFrontLogs one = this.lambdaQuery() PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
.eq(PqFrontLogs::getLevel, pqFrontLogsDTO.getLevel()) pqFrontLogsChild.setMainId(one.getId());
.eq(PqFrontLogs::getNodeId, pqFrontLogsDTO.getNodeId()) pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
.eq(PqFrontLogs::getFrontType, pqFrontLogsDTO.getFrontType()) pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
.eq(PqFrontLogs::getCode, pqFrontLogsDTO.getCode()) pqFrontLogsChild.setState(1);
.eq(StringUtils.isNotBlank(pqFrontLogsDTO.getBusinessId()),PqFrontLogs::getBusinessId, pqFrontLogsDTO.getBusinessId())
.eq(PqFrontLogs::getState,1).one();
if(Objects.nonNull(one)){
one.setUpdateTime(LocalDateTime.now());
this.updateById(one);
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
pqFrontLogsChild.setMainId(one.getId());
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
pqFrontLogsChild.setState(1);
pqFrontLogsChildService.save(pqFrontLogsChild); pqFrontLogsChildService.save(pqFrontLogsChild);
}else { }else {
PqFrontLogs pqFrontLogs = new PqFrontLogs(); PqFrontLogs pqFrontLogs = new PqFrontLogs();
BeanUtils.copyProperties(pqFrontLogsDTO,pqFrontLogs); BeanUtils.copyProperties(pqFrontLogsDTO,pqFrontLogs);
pqFrontLogs.setState(1); pqFrontLogs.setState(1);
this.save(pqFrontLogs); this.save(pqFrontLogs);
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild(); PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
pqFrontLogsChild.setMainId(pqFrontLogs.getId()); pqFrontLogsChild.setMainId(pqFrontLogs.getId());
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog()); pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade()); pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
pqFrontLogsChild.setState(1); pqFrontLogsChild.setState(1);
pqFrontLogsChildService.save(pqFrontLogsChild); pqFrontLogsChildService.save(pqFrontLogsChild);
}
} finally {
lock.unlock(); // 释放锁
} }
} }