TestServiceImpl.java
5.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.exception.ClientEndExceptions;
import com.infoloop.tianting.exception.ErrorCodeEnum;
import com.infoloop.tianting.model.common.CreatedResult;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.create.TestExampleDbCreate;
import com.infoloop.tianting.model.dto.TestExampleDbDTO;
import com.infoloop.tianting.model.query.TestExampleDbQuery;
import com.infoloop.tianting.model.update.TestExampleDbUpdate;
import com.infoloop.tianting.model.vo.TestExampleDbVO;
import com.infoloop.tianting.service.TestService;
import com.infoloop.tianting.service.client.ExampleServiceRpcClient;
import com.infoloop.tianting.utils.DateUtil;
import com.infoloop.tianting.utils.PageUtil;
import com.tianting.infoloop.grpc.exampleservice.SingleTestExampleDbRpcResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TestServiceImpl implements TestService {
private final ExampleServiceRpcClient exampleServiceRpcClient;
@Override
public PageResult<TestExampleDbVO> queryPage(TestExampleDbDTO.@Valid QueryPage queryPage) {
TestExampleDbQuery query = TestExampleDbQuery.builder()
.name(queryPage.getName())
.status(queryPage.getStatus())
.build();
final var response = exampleServiceRpcClient.queryTestExampleDbByPagination(queryPage.getPageInfo(), query);
final var results = response.getResponsesList().stream().map(e -> TestExampleDbVO.builder()
.id(e.getId())
.name(e.getName())
.status(e.getStatus())
.createdAt(DateUtil.formatDate(e.getCreatedAt()))
.updatedAt(DateUtil.formatDate(e.getUpdatedAt()))
.build()).collect(Collectors.toList());
return PageUtil.from(results, response.getTotal(), response.getPages(), queryPage.getPageInfo().getPageNo(), queryPage.getPageInfo().getPageSize());
}
@Override
public List<TestExampleDbVO> queryAll() {
final var responseList = exampleServiceRpcClient.getAllTestExampleDb();
return responseList.stream().map(e -> TestExampleDbVO.builder()
.id(e.getId())
.name(e.getName())
.status(e.getStatus())
.createdAt(DateUtil.formatDate(e.getCreatedAt()))
.updatedAt(DateUtil.formatDate(e.getUpdatedAt()))
.build()).collect(Collectors.toList());
}
@Override
public CreatedResult<TestExampleDbVO> createTestExampleDb(TestExampleDbDTO.CreateTestExampleDb createTestExampleDb) {
final var create = TestExampleDbCreate.builder()
.name(createTestExampleDb.getName())
.status(createTestExampleDb.getStatus())
.build();
final var response = exampleServiceRpcClient.createTestExampleDb(create);
final var testExampleDbVO = TestExampleDbVO.builder()
.id(response.getId())
.name(create.getName())
.status(create.getStatus())
//TODO: 其他新增信息
.build();
return CreatedResult.<TestExampleDbVO>builder().isCreated(response.getIsCreated()).id(response.getId()).data(testExampleDbVO).build();
}
@Override
public void updateTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse, TestExampleDbDTO.UpdateTestExampleDb updateTestExampleDb) {
final var update = TestExampleDbUpdate.builder()
.id(testExampleDbRpcResponse.getId())
.name(updateTestExampleDb.getName())
.status(updateTestExampleDb.getStatus())
.build();
final var isUpdated = exampleServiceRpcClient.updateTestExampleDb(update);
if (!isUpdated) {
throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.UPDATE_DATA_ERROR);
}
}
@Override
public void deleteTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
final var isDeleted = exampleServiceRpcClient.deleteTestExampleDbByIds(List.of(testExampleDbRpcResponse.getId()));
if (!isDeleted) {
throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.DELETE_DATA_ERROR);
}
}
@Override
public TestExampleDbVO getTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
// final var testExampleDb = exampleServiceRpcClient.getTestExampleDbById(testExampleDbRpcResponse.getId());
return TestExampleDbVO.builder()
.id(testExampleDbRpcResponse.getId())
.name(testExampleDbRpcResponse.getName())
.status(testExampleDbRpcResponse.getStatus())
.createdAt(DateUtil.formatDate(testExampleDbRpcResponse.getCreatedAt()))
.updatedAt(DateUtil.formatDate(testExampleDbRpcResponse.getUpdatedAt()))
.build();
}
}