| | |
| | | package com.dji.sample.manage.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dji.sample.common.error.CommonErrorEnum; |
| | | import com.dji.sample.common.model.Pagination; |
| | | import com.dji.sample.common.model.PaginationData; |
| | | import com.dji.sample.component.mqtt.model.*; |
| | | import com.dji.sample.component.mqtt.service.IMessageSenderService; |
| | | import com.dji.sample.manage.dao.IWorkspaceMapper; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | import java.util.UUID; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @Transactional |
| | |
| | | |
| | | @Autowired |
| | | private IMessageSenderService messageSenderService; |
| | | |
| | | @Override |
| | | public PaginationData<WorkspaceDTO> selectWorkspace(long page, long pageSize) { |
| | | Page<WorkspaceEntity> entityPage = mapper.selectPage( |
| | | new Page<>(page, pageSize), |
| | | new QueryWrapper<>()); |
| | | |
| | | List<WorkspaceDTO> list = entityPage.getRecords() |
| | | .stream() |
| | | .map(this::entityConvertToDto) |
| | | .collect(Collectors.toList()); |
| | | return new PaginationData<>(list, new Pagination(entityPage)); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean createWorkspace(WorkspaceDTO dto) { |
| | | dto.setWorkspaceId(UUID.randomUUID().toString()); |
| | | return mapper.insert(dtoConvertToEntity(dto)) > 0; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean deleteWorkspaceById(Integer id) { |
| | | return mapper.deleteById(id) > 0; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean updateWorkspaceById(WorkspaceDTO dto) { |
| | | return mapper.updateById(dtoConvertToEntity(dto)) > 0; |
| | | } |
| | | |
| | | @Override |
| | | public Optional<WorkspaceDTO> getWorkspaceByWorkspaceId(String workspaceId) { |
| | |
| | | messageSenderService.publish(topic, builder.build()); |
| | | } |
| | | |
| | | @Override |
| | | public WorkspaceEntity getWorkspaceById(int id) { |
| | | WorkspaceEntity entity=mapper.selectById(id); |
| | | return entity; |
| | | } |
| | | |
| | | /** |
| | | * Convert database entity objects into workspace data transfer object. |
| | | * @param entity |
| | |
| | | .bindCode(entity.getBindCode()) |
| | | .build(); |
| | | } |
| | | |
| | | private WorkspaceEntity dtoConvertToEntity(WorkspaceDTO dto) { |
| | | if (dto == null) { |
| | | return null; |
| | | } |
| | | return WorkspaceEntity.builder() |
| | | .id(dto.getId()) |
| | | .workspaceId(dto.getWorkspaceId()) |
| | | .platformName(dto.getPlatformName()) |
| | | .workspaceDesc(dto.getWorkspaceDesc()) |
| | | .workspaceName(dto.getWorkspaceName()) |
| | | .bindCode(dto.getBindCode()) |
| | | .build(); |
| | | } |
| | | } |