package com.fdkankan.contro.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fdkankan.contro.entity.SceneBuildProcessLog;
import com.fdkankan.contro.mapper.ISceneBuildProcessLogMapper;
import com.fdkankan.contro.service.ISceneBuildProcessLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Objects;
/**
*
* 场景计算流程状态表 服务实现类
*
*
* @author
* @since 2023-01-28
*/
@Slf4j
@Service
public class SceneBuildProcessLogServiceImpl extends ServiceImpl implements ISceneBuildProcessLogService {
@Override
public void clearSceneBuildProcessLog(String num, String process, String queueName, String bizType) {
try {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper()
.eq(SceneBuildProcessLog::getNum, num)
.eq(SceneBuildProcessLog::getProcess, process);
if(StrUtil.isNotEmpty(bizType)){
wrapper.eq(SceneBuildProcessLog::getBizType, bizType);
}
this.remove(wrapper);
}catch (Exception e){
log.error("清楚计算流程日志报错", e);
}
}
@Override
public void saveSceneBuildProcessLog(String num, String process, String queueName, int status, String reason, String bizType) {
try {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper()
.eq(SceneBuildProcessLog::getNum, num)
.eq(SceneBuildProcessLog::getProcess, process)
.eq(SceneBuildProcessLog::getQueueName, queueName);
if(StrUtil.isNotEmpty(bizType)){
wrapper.eq(SceneBuildProcessLog::getBizType, bizType);
}
SceneBuildProcessLog log = this.getOne(wrapper);
if(Objects.isNull(log)){
log = new SceneBuildProcessLog();
}
log.setNum(num);
log.setProcess(process);
log.setProcess(process);
log.setQueueName(queueName);
log.setState(status);
log.setReason(reason);
log.setUpdateTime(new Date());
log.setBizType(bizType);
this.saveOrUpdate(log);
}catch (Exception e){
log.error("保存计算流程日志报错", e);
}
}
}