Skip to content

Commit 8cf0384

Browse files
committed
Renamed and upgraded
1 parent 2fa12b3 commit 8cf0384

14 files changed

+169
-259
lines changed

pom.xml

-5
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,6 @@
103103
<scope>test</scope>
104104
</dependency>
105105

106-
<dependency>
107-
<groupId>org.springframework.boot</groupId>
108-
<artifactId>spring-boot-starter-data-jpa</artifactId>
109-
</dependency>
110-
111106
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor -->
112107
<dependency>
113108
<groupId>org.springframework.boot</groupId>

src/main/java/ru/mika/vkpingpong/VkApi.java src/main/java/ru/mika/vkpingpong/api/VkApi.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ru.mika.vkpingpong;
1+
package ru.mika.vkpingpong.api;
22

33
import retrofit2.Call;
44
import retrofit2.http.*;

src/main/java/ru/mika/vkpingpong/helper/VkClient.java src/main/java/ru/mika/vkpingpong/api/VkClient.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ru.mika.vkpingpong.helper;
1+
package ru.mika.vkpingpong.api;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Component;
@@ -21,11 +21,11 @@ public VkClient(@Autowired SecretConfig secretConfig, @Autowired VkRepository vk
2121
this.vkRepository = vkRepository;
2222
}
2323

24-
public String createUri(CallbackAPIMessageDTO callbackDTO) {
24+
public String processRequest(CallbackAPIMessageDTO callbackDTO) {
2525
Random rand = new Random();
2626
var message = callbackDTO.getObject().getMessage();
2727
long randomId = Long.parseLong(message.getDate()) * rand.nextInt(10000);
28-
SendMessageRequest sendMessageRequest = SendMessageRequest.builder()
28+
var sendMessageRequest = SendMessageRequest.builder()
2929
.secret(secretConfig.getSecretKey())
3030
.userId(message.getFromId())
3131
.randomId(randomId)

src/main/java/ru/mika/vkpingpong/helper/VkRepository.java src/main/java/ru/mika/vkpingpong/api/VkRepository.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
package ru.mika.vkpingpong.helper;
1+
package ru.mika.vkpingpong.api;
22

33
import com.fasterxml.jackson.core.type.TypeReference;
44
import com.fasterxml.jackson.databind.ObjectMapper;
55
import org.springframework.stereotype.Component;
66
import retrofit2.Retrofit;
77
import retrofit2.converter.jackson.JacksonConverterFactory;
8-
import ru.mika.vkpingpong.VkApi;
98
import ru.mika.vkpingpong.dto.request.SendMessageRequest;
109
import ru.mika.vkpingpong.dto.response.SendMessageResponse;
1110

@@ -26,14 +25,14 @@ public VkRepository() {
2625
}
2726

2827
public SendMessageResponse send(SendMessageRequest request) {
29-
ObjectMapper objectMapper = new ObjectMapper();
28+
var objectMapper = new ObjectMapper();
3029
Map<String, Object> paramsMap = objectMapper.convertValue(request, new TypeReference<>() {});
31-
3230
try {
3331
return vkApi.sendMessage(paramsMap).execute().body();
3432
} catch (Exception e) {
3533
e.printStackTrace();
3634
}
35+
3736
return null;
38-
};
37+
}
3938
}

src/main/java/ru/mika/vkpingpong/controller/CallbackAPIController.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
import org.springframework.web.bind.annotation.RequestMapping;
99
import org.springframework.web.bind.annotation.RestController;
1010
import ru.mika.vkpingpong.dto.callback.CallbackAPIMessageDTO;
11-
import ru.mika.vkpingpong.helper.MessageHandlerService;
12-
13-
import java.io.IOException;
11+
import ru.mika.vkpingpong.service.MessageHandlerService;
1412

1513
/**
1614
* This class contains a controller responsible for handling responses from VK. It processes the incoming responses,
@@ -19,14 +17,14 @@
1917
@RestController
2018
@RequestMapping("/callback")
2119
public class CallbackAPIController {
22-
private final MessageHandlerService callbackMessageHelper;
23-
public CallbackAPIController(@Autowired MessageHandlerService callbackMessageHelper) {
24-
this.callbackMessageHelper = callbackMessageHelper;
20+
private final MessageHandlerService service;
21+
public CallbackAPIController(@Autowired MessageHandlerService service) {
22+
this.service = service;
2523
}
2624

2725
@PostMapping("/message")
28-
public ResponseEntity<String> handleMessageCallback(@RequestBody CallbackAPIMessageDTO callbackDTO) throws IOException {
29-
return new ResponseEntity<>(callbackMessageHelper.messageHandler(callbackDTO), HttpStatus.OK);
26+
public ResponseEntity<String> handleMessageCallback(@RequestBody CallbackAPIMessageDTO callbackDTO) {
27+
return new ResponseEntity<>(service.handle(callbackDTO), HttpStatus.OK);
3028
}
3129

3230
}

src/main/java/ru/mika/vkpingpong/dto/callback/CallbackAPIMessageDTO.java

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
@Builder
1313
@Getter
14+
@Setter
1415
@AllArgsConstructor
1516
@NoArgsConstructor
1617
@JsonIgnoreProperties(ignoreUnknown = true)

src/main/java/ru/mika/vkpingpong/helper/MessageHandlerService.java

-12
This file was deleted.

src/main/java/ru/mika/vkpingpong/helper/CallbackConfirmationHelper.java src/main/java/ru/mika/vkpingpong/service/CallbackConfirmationService.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ru.mika.vkpingpong.helper;
1+
package ru.mika.vkpingpong.service;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Component;
@@ -10,14 +10,15 @@
1010
* configured in the VK settings.
1111
*/
1212
@Component
13-
public class CallbackConfirmationHelper {
13+
public class CallbackConfirmationService implements MessageExecutorService {
1414
private final SecretConfig secretConfig;
1515

16-
public CallbackConfirmationHelper(@Autowired SecretConfig secretConfig) {
16+
public CallbackConfirmationService(@Autowired SecretConfig secretConfig) {
1717
this.secretConfig = secretConfig;
1818
}
1919

20-
public String confirmationHandler(CallbackAPIMessageDTO callbackDTO) {
20+
@Override
21+
public String execute(CallbackAPIMessageDTO callbackDTO) {
2122
if (callbackDTO.getGroupId() == secretConfig.getGroupId())
2223
return secretConfig.getAcceptString();
2324
return null;

src/main/java/ru/mika/vkpingpong/helper/CallbackMessageHelper.java src/main/java/ru/mika/vkpingpong/service/CallbackMessageServiceFacade.java

+15-19
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,50 @@
1-
package ru.mika.vkpingpong.helper;
1+
package ru.mika.vkpingpong.service;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Component;
55
import ru.mika.vkpingpong.dto.callback.CallbackAPIMessageDTO;
66
import ru.mika.vkpingpong.config.SecretConfig;
77

8-
import java.io.IOException;
98
import java.security.InvalidParameterException;
109

1110
/**
1211
* This class is responsible for handling incoming requests to the controller. It processes the requests by determining
1312
* the appropriate action based on the request type. If the request is for confirmation, the class will invoke the
1413
* confirmation handler. Alternatively, if the request is a message from the user, it will invoke the message handler.
1514
*/
16-
17-
1815
@Component
19-
public class CallbackMessageHelper implements MessageHandlerService {
16+
public class CallbackMessageServiceFacade implements MessageHandlerService {
2017
private final SecretConfig secretConfig;
21-
private final CallbackUserNewMessageHelper callbackUserNewMessageHelper;
22-
private final CallbackConfirmationHelper callbackConfirmationHelper;
18+
private final CallbackUserNewMessageService callbackUserNewMessageService;
19+
private final CallbackConfirmationService callbackConfirmationService;
2320

24-
public CallbackMessageHelper(
21+
public CallbackMessageServiceFacade(
2522
@Autowired SecretConfig secretConfig,
26-
@Autowired CallbackUserNewMessageHelper callbackUserNewMessageHelper,
27-
@Autowired CallbackConfirmationHelper callbackConfirmationHelper
23+
@Autowired CallbackUserNewMessageService callbackUserNewMessageService,
24+
@Autowired CallbackConfirmationService callbackConfirmationService
2825
)
2926
{
30-
this.callbackConfirmationHelper = callbackConfirmationHelper;
31-
this.callbackUserNewMessageHelper = callbackUserNewMessageHelper;
27+
this.callbackConfirmationService = callbackConfirmationService;
28+
this.callbackUserNewMessageService = callbackUserNewMessageService;
3229
this.secretConfig = secretConfig;
3330
}
3431

35-
public String messageHandler(CallbackAPIMessageDTO callbackDTO) throws IOException {
32+
@Override
33+
public String handle(CallbackAPIMessageDTO callbackDTO) {
3634
secretCheck(callbackDTO);
3735
switch (callbackDTO.getType()) {
3836
case message_new -> {
39-
return callbackUserNewMessageHelper.messageHandlerUserMessage(callbackDTO);
37+
return callbackUserNewMessageService.execute(callbackDTO);
4038
}
4139
case confirmation -> {
42-
return callbackConfirmationHelper.confirmationHandler(callbackDTO);
40+
return callbackConfirmationService.execute(callbackDTO);
4341
}
4442

45-
default -> {
46-
throw new InvalidParameterException("Invalid message type");
47-
}
43+
default -> throw new InvalidParameterException("Invalid message type");
4844
}
4945
}
5046

51-
public void secretCheck(CallbackAPIMessageDTO callbackDTO) {
47+
private void secretCheck(CallbackAPIMessageDTO callbackDTO) {
5248
if (!callbackDTO.getSecret().equals(secretConfig.getSecretKey())) {
5349
throw new InvalidParameterException("Invalid secret key");
5450
}
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
1-
package ru.mika.vkpingpong.helper;
1+
package ru.mika.vkpingpong.service;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Component;
55
import ru.mika.vkpingpong.dto.callback.CallbackAPIMessageDTO;
6-
7-
import java.io.IOException;
6+
import ru.mika.vkpingpong.api.VkClient;
87

98
/**
109
* This class is responsible for processing messages received from the user and generating appropriate response
1110
* from the bot.
1211
*/
1312
@Component
14-
public class CallbackUserNewMessageHelper {
13+
public class CallbackUserNewMessageService implements MessageExecutorService{
1514
private final VkClient client;
1615

17-
public CallbackUserNewMessageHelper(@Autowired VkClient client) {
16+
public CallbackUserNewMessageService(@Autowired VkClient client) {
1817
this.client = client;
1918
}
2019

21-
public String messageHandlerUserMessage(CallbackAPIMessageDTO callbackDTO) throws IOException {
22-
return client.createUri(callbackDTO);
20+
@Override
21+
public String execute(CallbackAPIMessageDTO callbackDTO){
22+
return client.processRequest(callbackDTO);
2323
}
24-
2524
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package ru.mika.vkpingpong.service;
2+
3+
import ru.mika.vkpingpong.dto.callback.CallbackAPIMessageDTO;
4+
5+
public interface MessageExecutorService {
6+
7+
String execute(CallbackAPIMessageDTO callbackDTO);
8+
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package ru.mika.vkpingpong.service;
2+
3+
import ru.mika.vkpingpong.dto.callback.CallbackAPIMessageDTO;
4+
5+
public interface MessageHandlerService {
6+
7+
String handle(CallbackAPIMessageDTO callbackDTO);
8+
}

0 commit comments

Comments
 (0)