feat: 站点名称/地址支持多值编辑,动态增删
- Sites.vue: 名称和地址改为动态列表 + 增删按钮 - SiteController: updateSite 接受 names[]/urls[] 数组 - SiteServiceImpl: 更新时直接覆盖整个名称/地址列表
This commit is contained in:
@@ -8,6 +8,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -47,15 +48,17 @@ public class SiteController {
|
||||
@RequestBody Map<String, Object> payload,
|
||||
HttpServletRequest request) {
|
||||
|
||||
String name = (String) payload.get("name");
|
||||
String description = (String) payload.get("description");
|
||||
String baseUrl = (String) payload.get("baseUrl");
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> names = (List<String>) payload.get("names");
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> urls = (List<String>) payload.get("urls");
|
||||
String siteType = (String) payload.get("siteType");
|
||||
String status = (String) payload.get("status");
|
||||
String description = (String) payload.get("description");
|
||||
Long operatorId = (Long) request.getAttribute("accountId");
|
||||
|
||||
try {
|
||||
Site site = siteService.updateSite(siteId, name, description, baseUrl, siteType, status, operatorId);
|
||||
Site site = siteService.updateSite(siteId, names, urls, description, siteType, status, operatorId);
|
||||
return ApiResponse.success(siteService.toDTO(site));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return ApiResponse.error(404, e.getMessage());
|
||||
|
||||
Reference in New Issue
Block a user