package com.dji.sample.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dji.sample.manage.dao.IWorkspaceMapper; import com.dji.sample.manage.model.dto.WorkspaceDTO; import com.dji.sample.manage.model.entity.WorkspaceEntity; import com.dji.sample.manage.service.IWorkspaceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Optional; @Service @Transactional public class WorkspaceServiceImpl implements IWorkspaceService { @Autowired private IWorkspaceMapper mapper; @Override public Optional getWorkspaceById(int id) { return Optional.ofNullable(entityConvertToDto(mapper.selectById(id))); } @Override public Optional getWorkspaceByWorkspaceId(String workspaceId) { return Optional.ofNullable(entityConvertToDto( mapper.selectOne( new LambdaQueryWrapper() .eq(WorkspaceEntity::getWorkspaceId, workspaceId)))); } /** * Convert database entity objects into workspace data transfer object. * @param entity * @return */ private WorkspaceDTO entityConvertToDto(WorkspaceEntity entity) { WorkspaceDTO.WorkspaceDTOBuilder builder = WorkspaceDTO.builder(); if (entity == null) { return builder.build(); } return builder .id(entity.getId()) .workspaceId(entity.getWorkspaceId()) .platformName(entity.getPlatformName()) .workspaceDesc(entity.getWorkspaceDesc()) .workspaceName(entity.getWorkspaceName()) .build(); } }