package com.xiaopeng.operation.service.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xiaopeng.api.model.operation.XpAppVersion;
|
import com.xiaopeng.common.core.exception.ServiceException;
|
import com.xiaopeng.operation.mapper.XpAppVersionMapper;
|
import com.xiaopeng.operation.service.IXpAppVersionService;
|
import com.xiaopeng.operation.vo.XpAppVersionVO;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Objects;
|
|
/**
|
* App版本管理 服务实现类
|
*
|
* @author mitao
|
* @since 2026-02-14
|
*/
|
@Slf4j
|
@Service
|
public class XpAppVersionServiceImpl extends ServiceImpl<XpAppVersionMapper, XpAppVersion> implements IXpAppVersionService {
|
|
@Override
|
public XpAppVersionVO getLatestVersion() {
|
// 查询最新版本(按ID倒序,取第一条)
|
XpAppVersion latestVersion = this.lambdaQuery()
|
.orderByDesc(XpAppVersion::getId)
|
.last("LIMIT 1")
|
.one();
|
|
if (Objects.isNull(latestVersion)) {
|
log.warn("未找到App版本信息");
|
throw new ServiceException("App版本信息不存在");
|
}
|
|
// 转换为 VO
|
XpAppVersionVO vo = BeanUtil.copyProperties(latestVersion, XpAppVersionVO.class);
|
log.info("获取最新App版本成功, version={}", vo.getVersion());
|
return vo;
|
}
|
}
|