feat: 接收并保存提交的siteType,审核通过时使用

This commit is contained in:
mediabot-pt
2026-06-30 14:22:18 +08:00
parent 84940ead31
commit 7a53bdecb9
3 changed files with 13 additions and 5 deletions

View File

@@ -38,7 +38,7 @@ public interface SiteService {
* @param suggestedSiteId 建议的 siteId,为 null 时自动从名称生成
*/
void submitSiteInfo(String suggestedSiteId, String status, List<String> names,
List<String> urls, String notes, Long submitterId);
List<String> urls, String notes, String siteType, Long submitterId);
/**
* 管理员编辑站点基本信息

View File

@@ -129,8 +129,8 @@ public class SiteServiceImpl implements SiteService {
@Override
public void submitSiteInfo(String suggestedSiteId, String status, List<String> names,
List<String> urls, String notes, Long submitterId) {
// 尝试匹配已有站点
List<String> urls, String notes, String siteType,
Long submitterId) {
String resolvedSiteId = resolveSiteId(suggestedSiteId, names, urls);
Map<String, Object> raw = new LinkedHashMap<>();
@@ -138,6 +138,7 @@ public class SiteServiceImpl implements SiteService {
raw.put("urls", urls != null ? urls : List.of());
raw.put("notes", notes != null ? notes : "");
raw.put("siteStatus", status != null ? status : "正常");
raw.put("siteType", siteType != null ? siteType : "unknown");
SiteChange entry = new SiteChange();
entry.setSiteId(resolvedSiteId);
@@ -265,6 +266,11 @@ public class SiteServiceImpl implements SiteService {
if (notes != null && !notes.isBlank()) existing.setNotes(notes);
if (reviewerSiteType != null) {
try { existing.setSiteType(SiteType.fromValue(reviewerSiteType)); } catch (Exception ignored) {}
} else {
String rawSiteType = (String) raw.getOrDefault("siteType", null);
if (rawSiteType != null) {
try { existing.setSiteType(SiteType.fromValue(rawSiteType)); } catch (Exception ignored) {}
}
}
if (reviewerStatus != null) {
try { existing.setStatus(SiteStatus.fromValue(reviewerStatus)); } catch (Exception ignored) {}
@@ -279,7 +285,8 @@ public class SiteServiceImpl implements SiteService {
site.setNamesJson(toJsonArray(names));
site.setUrlsJson(toJsonArray(urls));
site.setNotes(notes);
site.setSiteType(reviewerSiteType != null ? SiteType.fromValue(reviewerSiteType) : SiteType.UNKNOWN);
String rawSiteType = (String) raw.getOrDefault("siteType", "unknown");
site.setSiteType(reviewerSiteType != null ? SiteType.fromValue(reviewerSiteType) : SiteType.fromValue(rawSiteType));
site.setSchemaVersion("1.0.0");
site.setStatus(reviewerStatus != null ? SiteStatus.fromValue(reviewerStatus) : SiteStatus.ACTIVE);
site.setSubmitterId(entry.getSubmitterId());