feat: 接收并保存提交的siteType,审核通过时使用
This commit is contained in:
@@ -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", "站点信息已提交审核"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员编辑站点基本信息
|
* 管理员编辑站点基本信息
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user