package com.dji.sample.map.service; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.map.model.dto.ElementCreateDTO; import com.dji.sample.map.model.dto.ElementUpdateDTO; import com.dji.sample.map.model.dto.GroupDTO; import com.dji.sample.map.model.dto.GroupElementDTO; import java.util.List; import java.util.Optional; /** * @author sean * @version 0.2 * @date 2021/11/30 */ public interface IWorkspaceElementService { /** * Query all groups in the workspace based on the workspace's id, * including the information of the elements in the group, and the coordinate information in the elements. * @param workspaceId * @param groupId * @param isDistributed * @return */ List getAllGroupsByWorkspaceId(String workspaceId, String groupId, Boolean isDistributed); /** * Save all the elements, including the information of the elements in the group, * and the coordinate information in the elements. * @param groupId * @param elementCreate * @return */ ResponseResult saveElement(String groupId, ElementCreateDTO elementCreate); /** * Update the element information based on the element id, * including the information of the elements in the group, and the coordinate information in the elements. * @param elementId * @param elementUpdate * @param username * @return */ ResponseResult updateElement(String elementId, ElementUpdateDTO elementUpdate, String username); /** * Delete the element information based on the element id, * including the information of the elements in the group, and the coordinate information in the elements. * @param elementId * @return */ ResponseResult deleteElement(String elementId); /** * Query an element based on the element id, * including the information of the elements in the group, and the coordinate information in the elements. * @param elementId * @return */ Optional getElementByElementId(String elementId); /** * Delete all the elements information based on the group id, * including the information of the elements in the group, and the coordinate information in the elements. * @param groupId * @return */ ResponseResult deleteAllElementByGroupId(String groupId); }