| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package space.anyi.serve.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import space.anyi.serve.entity.meta.Meta;
- import space.anyi.serve.service.MetaService;
- import space.anyi.serve.mapper.MetaMapper;
- import org.springframework.stereotype.Service;
- /**
- * @author yangyi
- * @description 针对表【meta(元数据表,用于存储键值对形式的配置或扩展属性)】的数据库操作Service实现
- * @createDate 2026-06-14 14:33:39
- */
- @Service
- public class MetaServiceImpl extends ServiceImpl<MetaMapper, Meta>
- implements MetaService{
- public static final Logger log = LoggerFactory.getLogger(MetaServiceImpl.class);
- public final ObjectMapper objectMapper;
- public MetaServiceImpl(ObjectMapper objectMapper) {
- this.objectMapper = objectMapper;
- }
- @Override
- public Boolean updateMeta(String key, Meta meta) {
- try {
- //UpdateWrapper<Meta> updateWrapper = new UpdateWrapper<Meta>().eq("key", key).set("value", objectMapper.writeValueAsString(meta.getValue()));
- //return update(updateWrapper);
- return getBaseMapper().updateValueByKey(key, objectMapper.writeValueAsString(meta.getValue()));
- } catch (JsonProcessingException e) {
- log.error("网站元素对象序列化为JSON失败",e);
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- @Override
- public Boolean updateMetaValue(String key, Object value) {
- try {
- String json = objectMapper.writeValueAsString(value);
- UpdateWrapper<Meta> updateWrapper = new UpdateWrapper<Meta>()
- .eq("key", key)
- .set("value", json);
- return update(updateWrapper);
- } catch (JsonProcessingException e) {
- log.error("序列化JSON失败", e);
- throw new RuntimeException(e);
- }
- }
- @Override
- public Meta getMeta(String key) {
- LambdaQueryWrapper<Meta> queryWrapper = new LambdaQueryWrapper<Meta>()
- .eq(Meta::getKey, key);
- return getOne(queryWrapper);
- }
- }
|