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 com.fasterxml.jackson.databind.ObjectMapper;
|
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;
|
|
@Autowired
|
private ObjectMapper objectMapper;
|
|
@Override
|
public Optional<WorkspaceDTO> getWorkspaceByWorkspaceId(String workspaceId) {
|
return Optional.ofNullable(entityConvertToDto(
|
mapper.selectOne(
|
new LambdaQueryWrapper<WorkspaceEntity>()
|
.eq(WorkspaceEntity::getWorkspaceId, workspaceId))));
|
}
|
|
@Override
|
public Optional<WorkspaceDTO> getWorkspaceNameByBindCode(String bindCode) {
|
return Optional.ofNullable(entityConvertToDto(
|
mapper.selectOne(new LambdaQueryWrapper<WorkspaceEntity>().eq(WorkspaceEntity::getBindCode, bindCode))));
|
}
|
|
/**
|
* Convert database entity objects into workspace data transfer object.
|
* @param entity
|
* @return
|
*/
|
private WorkspaceDTO entityConvertToDto(WorkspaceEntity entity) {
|
if (entity == null) {
|
return null;
|
}
|
return WorkspaceDTO.builder()
|
.id(entity.getId())
|
.workspaceId(entity.getWorkspaceId())
|
.platformName(entity.getPlatformName())
|
.workspaceDesc(entity.getWorkspaceDesc())
|
.workspaceName(entity.getWorkspaceName())
|
.bindCode(entity.getBindCode())
|
.build();
|
}
|
}
|