package com.fdkankan.contro.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.fdkankan.common.constant.CommonStatus; import com.fdkankan.common.constant.CommonSuccessStatus; import com.fdkankan.contro.entity.SceneColdStorage; import com.fdkankan.contro.entity.SceneColdStorageLog; import com.fdkankan.contro.mapper.ISceneColdStorageMapper; import com.fdkankan.contro.service.ISceneColdStorageLogService; import com.fdkankan.contro.service.ISceneColdStorageService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.model.utils.SceneUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Objects; /** *

* 场景封存状态表 服务实现类 *

* * @author * @since 2023-07-25 */ @Service public class SceneColdStorageServiceImpl extends ServiceImpl implements ISceneColdStorageService { @Autowired private ISceneColdStorageLogService sceneColdStorageLogService; @Override public void unfreeze(String num, String reason, String dataSource) { //修改封存状态 SceneColdStorage sceneColdStorage = this.getByNum(num); if(Objects.isNull(sceneColdStorage) || sceneColdStorage.getState() == 2){//如果是解冻状态就无需再记录解冻日志 return; } if(Objects.isNull(sceneColdStorage)){ sceneColdStorage = new SceneColdStorage(); } sceneColdStorage.setState(2); this.saveOrUpdate(sceneColdStorage); //插入日志表 SceneColdStorageLog sceneColdStorageLog = new SceneColdStorageLog(); sceneColdStorageLog.setNum(num); sceneColdStorageLog.setPath(SceneUtil.getHomePath(dataSource)); sceneColdStorageLog.setState(CommonSuccessStatus.SUCCESS.code()); sceneColdStorageLog.setReason(reason); sceneColdStorageLog.setType(2); sceneColdStorageLogService.save(sceneColdStorageLog); } @Override public SceneColdStorage getByNum(String num) { return this.getOne(new LambdaQueryWrapper().eq(SceneColdStorage::getNum, num)); } }