微服务版本相关bug修改
This commit is contained in:
@@ -29,6 +29,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
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 {
|
||||
|
||||
private final PqFrontLogsChildService pqFrontLogsChildService;
|
||||
// 创建可重入锁
|
||||
private final Lock lock = new ReentrantLock();
|
||||
|
||||
@Override
|
||||
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()
|
||||
.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);
|
||||
|
||||
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
|
||||
pqFrontLogsChild.setMainId(one.getId());
|
||||
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
|
||||
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
|
||||
pqFrontLogsChild.setState(1);
|
||||
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
|
||||
pqFrontLogsChild.setMainId(one.getId());
|
||||
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
|
||||
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
|
||||
pqFrontLogsChild.setState(1);
|
||||
|
||||
|
||||
pqFrontLogsChildService.save(pqFrontLogsChild);
|
||||
}else {
|
||||
PqFrontLogs pqFrontLogs = new PqFrontLogs();
|
||||
BeanUtils.copyProperties(pqFrontLogsDTO,pqFrontLogs);
|
||||
pqFrontLogs.setState(1);
|
||||
this.save(pqFrontLogs);
|
||||
pqFrontLogsChildService.save(pqFrontLogsChild);
|
||||
}else {
|
||||
PqFrontLogs pqFrontLogs = new PqFrontLogs();
|
||||
BeanUtils.copyProperties(pqFrontLogsDTO,pqFrontLogs);
|
||||
pqFrontLogs.setState(1);
|
||||
this.save(pqFrontLogs);
|
||||
|
||||
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
|
||||
pqFrontLogsChild.setMainId(pqFrontLogs.getId());
|
||||
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
|
||||
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
|
||||
pqFrontLogsChild.setState(1);
|
||||
PqFrontLogsChild pqFrontLogsChild = new PqFrontLogsChild();
|
||||
pqFrontLogsChild.setMainId(pqFrontLogs.getId());
|
||||
pqFrontLogsChild.setLog(pqFrontLogsDTO.getLog());
|
||||
pqFrontLogsChild.setGrade(pqFrontLogsDTO.getGrade());
|
||||
pqFrontLogsChild.setState(1);
|
||||
|
||||
|
||||
pqFrontLogsChildService.save(pqFrontLogsChild);
|
||||
pqFrontLogsChildService.save(pqFrontLogsChild);
|
||||
|
||||
}
|
||||
} finally {
|
||||
lock.unlock(); // 释放锁
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user