zjk
2026-07-31 dc2872d6d346a7de629b3b0686057ab54f216f09
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVersionUpdateServiceImpl.java
@@ -16,6 +16,7 @@
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * 版本更新服务实现
@@ -34,6 +35,12 @@
        SysVersionUpdatePageRequest query = request == null ? new SysVersionUpdatePageRequest() : request;
        PageInfo<SysVersionUpdateVO> pageInfo = new PageInfo<SysVersionUpdateVO>(query.getPageNum(), query.getPageSize());
        List<SysVersionUpdateVO> list = versionUpdateMapper.pageList(query, pageInfo);
        SysVersionUpdateVO latest = versionUpdateMapper.selectLatest();
        Long latestUpdateId = latest == null ? null : latest.getUpdateId();
        for (SysVersionUpdateVO versionUpdate : list)
        {
            versionUpdate.setLatest(Objects.equals(versionUpdate.getUpdateId(), latestUpdateId));
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
@@ -41,7 +48,12 @@
    @Override
    public SysVersionUpdateVO latest()
    {
        return versionUpdateMapper.selectLatest();
        SysVersionUpdateVO latest = versionUpdateMapper.selectLatest();
        if (latest != null)
        {
            latest.setLatest(Boolean.TRUE);
        }
        return latest;
    }
    @Override
@@ -56,6 +68,8 @@
        {
            throw new ServiceException("版本更新记录不存在");
        }
        SysVersionUpdateVO latest = versionUpdateMapper.selectLatest();
        detail.setLatest(latest != null && Objects.equals(detail.getUpdateId(), latest.getUpdateId()));
        return detail;
    }
@@ -71,11 +85,13 @@
        {
            throw new ServiceException("版本号不能为空");
        }
        String updateContent = StringUtils.trim(request.getUpdateContent());
        if (StringUtils.isEmpty(updateContent))
        String versionNumber = versionNo.replaceFirst("^[vV]", "");
        if (!versionNumber.matches("\\d+(\\.\\d+)*"))
        {
            throw new ServiceException("更新内容不能为空");
            throw new ServiceException("版本号格式不正确,请输入数字或使用小数点分隔");
        }
        versionNo = versionNumber;
        String updateContent = StringUtils.trim(request.getUpdateContent());
        String packageUrl = StringUtils.trim(request.getPackageUrl());
        if (StringUtils.isEmpty(packageUrl))
        {
@@ -99,6 +115,11 @@
        {
            throw new ServiceException("更新主键集合不能为空");
        }
        SysVersionUpdateVO latest = versionUpdateMapper.selectLatest();
        if (latest != null && request.getUpdateIds().contains(latest.getUpdateId()))
        {
            throw new ServiceException("最新版本不能删除");
        }
        return versionUpdateMapper.deleteByIds(request.getUpdateIds());
    }
}