Commit 9b5294df by guoxuejian Committed by gdj

feat: implement update functionality for wayline file information

parent 3bc62ba8
...@@ -309,4 +309,19 @@ public class WaylineFileController implements IHttpWaylineService { ...@@ -309,4 +309,19 @@ public class WaylineFileController implements IHttpWaylineService {
return HttpResultResponse.success(data); return HttpResultResponse.success(data);
} }
/**
* Update wayline file information (name, drone_model_key, payload_model_keys, template_types)
* @param workspaceId
* @param waylineId
* @param waylineFileDTO
* @return
*/
@PutMapping(PREFIX + "/workspaces/{workspace_id}/waylines/{wayline_id}")
public HttpResultResponse updateWaylineFile(@PathVariable("workspace_id") String workspaceId,
@PathVariable("wayline_id") String waylineId,
@RequestBody WaylineFileDTO waylineFileDTO) {
boolean success = waylineFileService.updateWaylineFile(workspaceId, waylineId, waylineFileDTO);
return success ? HttpResultResponse.success() : HttpResultResponse.error("Failed to update wayline file.");
}
} }
...@@ -159,4 +159,13 @@ public interface IWaylineFileService extends IService<WaylineFileEntity> { ...@@ -159,4 +159,13 @@ public interface IWaylineFileService extends IService<WaylineFileEntity> {
PaginationData<GetWaylineListResponse> getWaylinesByParam(WaylineSearchParam param, String workspaceId, GetWaylineListRequest request); PaginationData<GetWaylineListResponse> getWaylinesByParam(WaylineSearchParam param, String workspaceId, GetWaylineListRequest request);
/**
* update wayline file info (name, drone_model_key, payload_model_keys, template_types)
* @param workspaceId
* @param waylineId
* @param waylineFileDTO
* @return
*/
boolean updateWaylineFile(String workspaceId, String waylineId, WaylineFileDTO waylineFileDTO);
} }
...@@ -765,4 +765,32 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl ...@@ -765,4 +765,32 @@ public class WaylineFileServiceImpl extends ServiceImpl<IWaylineFileMapper, Wayl
return new PaginationData<>(records, new Pagination(page.getCurrent(), page.getSize(), page.getTotal())); return new PaginationData<>(records, new Pagination(page.getCurrent(), page.getSize(), page.getTotal()));
} }
@Override
public boolean updateWaylineFile(String workspaceId, String waylineId, WaylineFileDTO waylineFileDTO) {
LambdaUpdateWrapper<WaylineFileEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(WaylineFileEntity::getWorkspaceId, workspaceId)
.eq(WaylineFileEntity::getWaylineId, waylineId);
// 只更新非空字段
if (waylineFileDTO.getName() != null) {
updateWrapper.set(WaylineFileEntity::getName, waylineFileDTO.getName());
}
// if (waylineFileDTO.getDroneModelKey() != null) {
// updateWrapper.set(WaylineFileEntity::getDroneModelKey, waylineFileDTO.getDroneModelKey());
// }
// if (waylineFileDTO.getPayloadModelKeys() != null) {
// String payloadKeys = waylineFileDTO.getPayloadModelKeys().stream()
// .collect(Collectors.joining(","));
// updateWrapper.set(WaylineFileEntity::getPayloadModelKeys, payloadKeys);
// }
// if (waylineFileDTO.getTemplateTypes() != null) {
// String templateTypes = waylineFileDTO.getTemplateTypes().stream()
// .map(String::valueOf)
// .collect(Collectors.joining(","));
// updateWrapper.set(WaylineFileEntity::getTemplateTypes, templateTypes);
// }
return mapper.update(null, updateWrapper) > 0;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment