diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiDatasetUpdateVo.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiDatasetUpdateVo.java index 1b7a20782..736d27e30 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiDatasetUpdateVo.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiDatasetUpdateVo.java @@ -1,5 +1,8 @@ package com.microservices.zone.resource.domain.vo; +import com.alibaba.fastjson2.JSONObject; +import com.microservices.zone.resource.domain.ZoneResource; +import com.microservices.zone.resource.utils.ResourceExtendDataUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -35,13 +38,26 @@ public class AiDatasetUpdateVo { @ApiModelProperty(value = "资源领域Id") private Long domainId; - public ZoneResourceUpdateVo toZoneResourceUpdateVo(){ + @ApiModelProperty(value = "README.md内容") + private String readmeContent; + + public ZoneResourceUpdateVo toZoneResourceUpdateVo(ZoneResource existing){ ZoneResourceUpdateVo zoneResourceUpdateVo = new ZoneResourceUpdateVo(); zoneResourceUpdateVo.setId(this.getId()); zoneResourceUpdateVo.setName(this.getName()); zoneResourceUpdateVo.setSummary(this.getSummary()); zoneResourceUpdateVo.setKeywords(this.getKeywords()); zoneResourceUpdateVo.setDomainId(this.getDomainId()); + + if (readmeContent != null) { + JSONObject extendData = existing.getExtendData(); + if (extendData == null) { + extendData = new JSONObject(); + } + extendData = ResourceExtendDataUtils.updateModelOrDatasetReadmeContent(existing.getResourceCategory(), extendData, readmeContent); + zoneResourceUpdateVo.setExtendData(extendData.toJSONString()); + } + return zoneResourceUpdateVo; } } diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiModelUpdateVo.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiModelUpdateVo.java index 4072c19bf..342fe97bd 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiModelUpdateVo.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/domain/vo/AiModelUpdateVo.java @@ -1,5 +1,8 @@ package com.microservices.zone.resource.domain.vo; +import com.alibaba.fastjson2.JSONObject; +import com.microservices.zone.resource.domain.ZoneResource; +import com.microservices.zone.resource.utils.ResourceExtendDataUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -35,13 +38,26 @@ public class AiModelUpdateVo { @ApiModelProperty(value = "资源领域Id") private Long domainId; - public ZoneResourceUpdateVo toZoneResourceUpdateVo(){ + @ApiModelProperty(value = "README.md内容") + private String readmeContent; + + public ZoneResourceUpdateVo toZoneResourceUpdateVo(ZoneResource existing){ ZoneResourceUpdateVo zoneResourceUpdateVo = new ZoneResourceUpdateVo(); zoneResourceUpdateVo.setId(this.getId()); zoneResourceUpdateVo.setName(this.getName()); zoneResourceUpdateVo.setSummary(this.getSummary()); zoneResourceUpdateVo.setKeywords(this.getKeywords()); zoneResourceUpdateVo.setDomainId(this.getDomainId()); + + if (readmeContent != null) { + JSONObject extendData = existing.getExtendData(); + if (extendData == null) { + extendData = new JSONObject(); + } + extendData = ResourceExtendDataUtils.updateModelOrDatasetReadmeContent(existing.getResourceCategory(), extendData, readmeContent); + zoneResourceUpdateVo.setExtendData(extendData.toJSONString()); + } + return zoneResourceUpdateVo; } } diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/ZoneResourceServiceImpl.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/ZoneResourceServiceImpl.java index a68162bb6..5d2a022b8 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/ZoneResourceServiceImpl.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/ZoneResourceServiceImpl.java @@ -762,14 +762,19 @@ public class ZoneResourceServiceImpl implements IZoneResourceService { } } - return updateModelOrDatasetResource(oldResource, updateVo.toZoneResourceUpdateVo(), updateVo.getFileId()); + return updateModelOrDatasetResource(oldResource, updateVo.toZoneResourceUpdateVo(oldResource), updateVo.getFileId()); } private ZoneResourceDataVo updateModelOrDatasetResource(ZoneResource oldResource, ZoneResourceUpdateVo updateVo, Long fileId) { - // 4. 获取现有 extendData - JSONObject extendData = oldResource.getExtendData(); + // 4. 获取 VO 层已合并的 extendData(可能包含 readmeContent),或使用旧的 + JSONObject extendData; + if (updateVo.getExtendData() != null) { + extendData = JSONObject.parseObject(updateVo.getExtendData()); + } else { + extendData = oldResource.getExtendData(); + } if (extendData == null) { extendData = new JSONObject(); } @@ -866,7 +871,7 @@ public class ZoneResourceServiceImpl implements IZoneResourceService { } } - return updateModelOrDatasetResource(oldResource, updateVo.toZoneResourceUpdateVo(), updateVo.getFileId()); + return updateModelOrDatasetResource(oldResource, updateVo.toZoneResourceUpdateVo(oldResource), updateVo.getFileId()); } @Override