CatchTheLettersBackend/src/main/java/com/example/catchTheLetters/service/impl/VersionServiceImpl.java

34 lines
1.1 KiB
Java
Raw Normal View History

package com.example.catchTheLetters.service.impl;
import com.example.catchTheLetters.entity.Version;
import com.example.catchTheLetters.service.VersionService;
import jakarta.annotation.Resource;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
@Service
public class VersionServiceImpl implements VersionService {
@Resource
private MongoTemplate mongoTemplate;
@Override
public Long getVersion(String tableName) {
var res = mongoTemplate.findOne(new Query(Criteria.where("table").is(tableName)), Version.class);
return res == null ? null : res.getVersion();
}
@Override
public void setVersion(String tableName, Long version) {
var res = mongoTemplate.findOne(new Query(Criteria.where("table").is(tableName)), Version.class);
if (res == null) {
mongoTemplate.save(new Version(tableName, version));
} else {
res.setVersion(version);
mongoTemplate.save(res);
}
}
}