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

@@ -126,9 +126,10 @@ public class SiteController {
: List.of(); : List.of();
String notes = (String) payload.get("notes"); String notes = (String) payload.get("notes");
String siteType = (String) payload.get("siteType");
Long submitterId = (Long) request.getAttribute("accountId"); Long submitterId = (Long) request.getAttribute("accountId");
siteService.submitSiteInfo(siteId, status, names, urls, notes, submitterId); siteService.submitSiteInfo(siteId, status, names, urls, notes, siteType, submitterId);
return ApiResponse.success(Map.of("message", "站点信息已提交审核")); return ApiResponse.success(Map.of("message", "站点信息已提交审核"));
} }
} }

View File

@@ -38,7 +38,7 @@ public interface SiteService {
* @param suggestedSiteId 建议的 siteId,为 null 时自动从名称生成 * @param suggestedSiteId 建议的 siteId,为 null 时自动从名称生成
*/ */
void submitSiteInfo(String suggestedSiteId, String status, List<String> names, 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 @Override
public void submitSiteInfo(String suggestedSiteId, String status, List<String> names, 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); String resolvedSiteId = resolveSiteId(suggestedSiteId, names, urls);
Map<String, Object> raw = new LinkedHashMap<>(); 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("urls", urls != null ? urls : List.of());
raw.put("notes", notes != null ? notes : ""); raw.put("notes", notes != null ? notes : "");
raw.put("siteStatus", status != null ? status : "正常"); raw.put("siteStatus", status != null ? status : "正常");
raw.put("siteType", siteType != null ? siteType : "unknown");
SiteChange entry = new SiteChange(); SiteChange entry = new SiteChange();
entry.setSiteId(resolvedSiteId); entry.setSiteId(resolvedSiteId);
@@ -265,6 +266,11 @@ public class SiteServiceImpl implements SiteService {
if (notes != null && !notes.isBlank()) existing.setNotes(notes); if (notes != null && !notes.isBlank()) existing.setNotes(notes);
if (reviewerSiteType != null) { if (reviewerSiteType != null) {
try { existing.setSiteType(SiteType.fromValue(reviewerSiteType)); } catch (Exception ignored) {} 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) { if (reviewerStatus != null) {
try { existing.setStatus(SiteStatus.fromValue(reviewerStatus)); } catch (Exception ignored) {} try { existing.setStatus(SiteStatus.fromValue(reviewerStatus)); } catch (Exception ignored) {}
@@ -279,7 +285,8 @@ public class SiteServiceImpl implements SiteService {
site.setNamesJson(toJsonArray(names)); site.setNamesJson(toJsonArray(names));
site.setUrlsJson(toJsonArray(urls)); site.setUrlsJson(toJsonArray(urls));
site.setNotes(notes); 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.setSchemaVersion("1.0.0");
site.setStatus(reviewerStatus != null ? SiteStatus.fromValue(reviewerStatus) : SiteStatus.ACTIVE); site.setStatus(reviewerStatus != null ? SiteStatus.fromValue(reviewerStatus) : SiteStatus.ACTIVE);
site.setSubmitterId(entry.getSubmitterId()); site.setSubmitterId(entry.getSubmitterId());