34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|