添加restTemplate调用http接口及单元测试文化

This commit is contained in:
623756217 2023-02-27 16:21:22 +08:00
parent bb0059e4ad
commit 6fac9b76e2
22 changed files with 364 additions and 144 deletions

View File

@ -0,0 +1,82 @@
package com.gitlink.softbot.config;
import org.apache.http.client.HttpClient;
import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
/**
* @author wxj
*/
@Configuration
public class RestTemplateConfig {
/**
* Http连接管理器配置
*
* @return
*/
@Bean
public HttpClientConnectionManager poolingHttpClientConnectionManager() {
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
// 最大连接数
connectionManager.setMaxTotal(500);
// 同路由并发数每个主机的并发
connectionManager.setDefaultMaxPerRoute(100);
return connectionManager;
}
/**
* HttpClient配置
*
* @param connectionManager
* @return
*/
@Bean
public HttpClient httpClient(HttpClientConnectionManager connectionManager) {
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// 设置http连接管理器
httpClientBuilder.setConnectionManager(connectionManager);
// 设置重试次数
httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(3, true));
return httpClientBuilder.build();
}
/**
* 请求连接配置
*
* @param httpClient
* @return
*/
@Bean
public ClientHttpRequestFactory clientHttpRequestFactory(HttpClient httpClient) {
HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
clientHttpRequestFactory.setHttpClient(httpClient);
// 连接池获取请求连接的超时时间不宜过长必须设置/毫秒超时间未拿到可用连接会抛出org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
clientHttpRequestFactory.setConnectionRequestTimeout(10 * 1000);
// 连接超时时间/毫秒连接上服务器(握手成功)的时间超时抛出connect timeout
clientHttpRequestFactory.setConnectTimeout(5 * 1000);
// 数据读取超时时间(socketTimeout)/毫秒服务器返回数据(response)的时间超时抛出read timeout
clientHttpRequestFactory.setReadTimeout(10 * 1000);
return clientHttpRequestFactory;
}
/**
* RestTemplate模板
*
* @return
*/
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory clientHttpRequestFactory) {
// 配置请求工厂
RestTemplate restTemplate = new RestTemplate();
restTemplate.setRequestFactory(clientHttpRequestFactory);
return restTemplate;
}
}

View File

@ -0,0 +1,34 @@
package com.gitlink.softbot.global.vo;
import lombok.Data;
/**
* @author wxj
*/
@Data
public class Response {
private String code;
private String message;
private Object data;
public Response(String code, String message) {
this.code = code;
this.message = message;
}
public static Response error(String message) {
return new Response("error", message);
}
public static Response ok() {
return new Response("ok", null);
}
public Response data(Object data) {
this.data = data;
return this;
}
}

View File

@ -0,0 +1,92 @@
package com.gitlink.softbot.utils;
import com.gitlink.softbot.global.vo.Response;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Objects;
public class RestTemplateUtil {
/**
* @Description 私有构造函数
*/
private RestTemplateUtil() {
}
/**
* @Description 获取自定义header
*/
private static HttpHeaders getCustomHeaders(Map<String, String> headerParams, MediaType mediaType) {
HttpHeaders headers = new HttpHeaders();
headers.setAll(headerParams);
if (mediaType != null) {
headers.setContentType(mediaType);
}
return headers;
}
/**
* @Description 处理调用结果
*/
private static Response handleResult(ResponseEntity<String> resp) {
if (resp.getStatusCodeValue() == 200) {
String body = resp.getBody();
return Response.ok().data(body);
}
return Response.error("调用异常");
}
/**
* httpRequest 发起HTTP请求
* inputParams必须为String
*
* @param customRestTemplate 调用RestTemplate
* @param method HttpMethod方法类型
* @param url 请求URL前缀
* @param pathParams 请求Path数据
* @param suffix 请求URL后缀
* @param inputParams 请求Params数据
* @param jsonParams 请求Json数据
* @param headerParams 头部参数
* @return Response 统一响应对象
*/
public static Response httpRequest(RestTemplate customRestTemplate, HttpMethod method, String url,Object[] pathParams, String suffix, Map<String, String> inputParams, String jsonParams, Map<String, String> headerParams){
HttpHeaders customHeaders;
if(Objects.isNull(jsonParams)){
customHeaders = getCustomHeaders(headerParams, null);
} else{
customHeaders = getCustomHeaders(headerParams, new MediaType("application", "json", StandardCharsets.UTF_8));
}
HttpEntity entity = new HttpEntity<>(jsonParams, customHeaders);
// url拼接 pathParams
if(!Objects.isNull(pathParams)){
for (Object pathParam : pathParams) {
url = url + "/" + pathParam;
}
}
// url拼接 suffix
if(!Objects.isNull(suffix)){
url = url + suffix;
}
// uri拼接 inputParams
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.setAll(inputParams);
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
URI uri = builder.queryParams(params).build().encode().toUri();
//System.out.println(uri);
ResponseEntity<String> resp = customRestTemplate.exchange(uri, method, entity, String.class);
return handleResult(resp);
}
}

View File

@ -0,0 +1,28 @@
package com.gitlink.softbot.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 文学奖
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Webhook {
private Boolean active;
private String content_type;
private String http_method;
private String secret;
private String url;
private String branch_filter;
private Object[] events;
}

View File

@ -5,7 +5,7 @@ es-url:
spring:
datasource:
username: root
password: tonglin0711
password: wu180532 #tonglin0711
url: jdbc:mysql://localhost:3306/soft_bot?useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver
elasticsearch:

View File

@ -0,0 +1,111 @@
package com.gitlink.softbot.service.market;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gitlink.softbot.global.vo.Response;
import com.gitlink.softbot.utils.RestTemplateUtil;
import com.gitlink.softbot.vo.Webhook;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpMethod;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
@ActiveProfiles("test")
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
class RestTemplateUtilTests {
private String URL = "https://testforgeplus.trustie.net";
@Autowired
private RestTemplate restTemplate;
private ObjectMapper mapper;
private Webhook webhooks;
private Map<String, String> headParams;
private final static String TOKEN = "eyJraWQiOiJUaEVSLVl3Ukg4TWYwOHM0UnJLUDYzXzZLWmVET2NZckZXcmdzN2VUVWdrIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJHaXRMaW5rIiwiaWF0IjoxNjc1NzYyMDkwLCJqdGkiOiI0MzA1ZDUwZC01ZGRkLTQ0MzUtODMyNS1iZDczYmVhMWMxYjciLCJ1c2VyIjp7ImlkIjpudWxsLCJsb2dpbiI6bnVsbCwibWFpbCI6bnVsbH19.hpHCJeU4Jyz-DM2NBUdB-tQW_E0-tu9H3LoGhsJ7kPHkSsdXJCII0jxhyPb9gwDsgd8SnlRZF8tZDDjnZSoztQ";
@BeforeEach
public void setUp() {
mapper = new ObjectMapper();
webhooks = new Webhook(true, "json", "GET", "123456", "http://localhost:10000", "*", new Object[]{"push"});
headParams = new HashMap<>();
headParams.put("Authorization", "Bearer "+TOKEN);
}
// 测试get params参数调用 以uid获取用户信息接口为例
@Test
public void getParams(){
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "85175");
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.GET, URL+"/api", null, "/users/get_user_info.json", inputParams, null ,headParams);
//Response response = RestTemplateUtil.getParams(restTemplate,URL +"/users/get_user_info.json",inputParams, headParams);
System.out.println(response.getData());
}
// 测试get PathParams参数调用 以获取用户仓库下webhooks为例
@Test
public void getPathParams(){
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "85175");
Object[] params = new Object[]{"xxq250", "ruoyi-vue-pro"};
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.GET, URL + "/api/v1", params, "/webhooks.json", inputParams, null ,headParams);
System.out.println(response.getData());
}
// 测试 post 接口调用 以auth_active接口为例
@Test
public void postTest(){
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "84993");
Object[] params = new Object[]{"800"};
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.POST, URL + "/app", params, "/auth_active", inputParams, null ,headParams);
System.out.println(response.getData());
}
// 测试 post JSon接口调用 以添加仓库webhook接口为例
@Test
public void postJson() throws JsonProcessingException {
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "85175");
Object[] params = new Object[]{"xxq250", "ruoyi-vue-pro"};
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.POST, URL + "/api/v1", params, "/webhooks.json", inputParams, mapper.writeValueAsString(webhooks) ,headParams);
System.out.println(response.getData());
}
// 测试 patch JSon接口调用 以更新仓库webhook接口为例
@Test
public void patchJson() throws JsonProcessingException {
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "85175");
Object[] params = new Object[]{"xxq250", "ruoyi-vue-pro"};
webhooks.setActive(false);
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.PATCH, URL + "/api/v1", params, "/webhooks/1079.json", inputParams, mapper.writeValueAsString(webhooks) ,headParams);
System.out.println(response.getData());
}
// 测试 delete 以删除仓库webhook接口为例
@Test
public void deleteTest() throws JsonProcessingException {
Map<String, String> inputParams = new HashMap<>();
inputParams.put("uid", "85175");
Object[] params = new Object[]{"xxq250", "ruoyi-vue-pro"};
Response response = RestTemplateUtil.httpRequest(restTemplate, HttpMethod.DELETE, URL + "/api/v1", params, "/webhooks/1079.json", inputParams, mapper.writeValueAsString(webhooks) ,headParams);
System.out.println(response.getData());
}
}

Binary file not shown.

View File

@ -11,7 +11,7 @@
Target Server Version : 50729
File Encoding : 65001
Date: 30/12/2022 14:24:09
Date: 12/01/2023 11:54:00
*/
SET NAMES utf8mb4;
@ -24,7 +24,7 @@ DROP TABLE IF EXISTS `bot`;
CREATE TABLE `bot` (
`id` int(255) NOT NULL AUTO_INCREMENT COMMENT '主键',
`bot_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'bot名称',
`bot_des` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'bot描述',
`bot_des` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT 'bot描述',
`webhook` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'bot回调url',
`is_public` tinyint(255) NULL DEFAULT NULL COMMENT '0:私有1公开',
`logo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'logo',
@ -38,7 +38,7 @@ CREATE TABLE `bot` (
`create_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`bot_name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 800 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 801 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of bot
@ -64,10 +64,16 @@ CREATE TABLE `bot_category` (
-- ----------------------------
-- Records of bot_category
-- ----------------------------
INSERT INTO `bot_category` VALUES (1, 'ASD');
INSERT INTO `bot_category` VALUES (2, 'FGD');
INSERT INTO `bot_category` VALUES (3, 'FGH');
INSERT INTO `bot_category` VALUES (4, 'TYU');
INSERT INTO `bot_category` VALUES (1, '接口管理');
INSERT INTO `bot_category` VALUES (2, '合情请求管理');
INSERT INTO `bot_category` VALUES (3, '文档管理');
INSERT INTO `bot_category` VALUES (4, '依赖管理');
INSERT INTO `bot_category` VALUES (5, '代码审阅');
INSERT INTO `bot_category` VALUES (6, '代码质量');
INSERT INTO `bot_category` VALUES (7, '构建');
INSERT INTO `bot_category` VALUES (8, '测试');
INSERT INTO `bot_category` VALUES (9, '部署');
INSERT INTO `bot_category` VALUES (10, '其他');
-- ----------------------------
-- Table structure for bot_limit_event
@ -130,7 +136,7 @@ CREATE TABLE `market_bot` (
`bot_id` int(255) NOT NULL COMMENT 'bot唯一 标识',
`market_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上市名称',
`market_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上市简介',
`market_intro` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '详细介绍',
`market_intro` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '详细介绍',
`first_func` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主要功能',
`second_func` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '次要功能',
`webhook` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回调url',
@ -197,6 +203,6 @@ CREATE TABLE `transfer_bot` (
-- ----------------------------
-- Records of transfer_bot
-- ----------------------------
INSERT INTO `transfer_bot` VALUES (1, 123, 456, 789, 1, '2022-10-05 19:37:56', '2022-10-05 19:38:00', '2022-10-05 19:38:02');
INSERT INTO `transfer_bot` VALUES (1, 782, 456, 789, 1, '2022-10-05 19:37:56', '2023-01-03 10:55:40', '2023-01-03 10:55:40');
SET FOREIGN_KEY_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +0,0 @@
artifactId=SoftBot
groupId=com.gitlink
version=1.0-SNAPSHOT

View File

@ -1,65 +0,0 @@
com\gitlink\softbot\config\AdminInterceptor.class
com\gitlink\softbot\vo\GetInstallBotResponse.class
com\gitlink\softbot\vo\ReceiveTransferBotRequest.class
com\gitlink\softbot\vo\GetMarketBotsRequest.class
com\gitlink\softbot\vo\InstallBotInfo.class
com\gitlink\softbot\entity\db\Bot.class
com\gitlink\softbot\config\MybatisPlusConfig.class
com\gitlink\softbot\global\exception\BotException.class
com\gitlink\softbot\vo\GetTransferToBotRequest.class
com\gitlink\softbot\vo\BotInputVO.class
com\gitlink\softbot\vo\GetTransferFromBotResponse.class
com\gitlink\softbot\dao\db\BotLimitMapper.class
com\gitlink\softbot\vo\BotOutputVO.class
com\gitlink\softbot\vo\InstallMarketBotRequest.class
com\gitlink\softbot\vo\GetRegisterBotResponse.class
com\gitlink\softbot\entity\es\MarketBot.class
com\gitlink\softbot\global\vo\Result.class
com\gitlink\softbot\vo\Limit.class
com\gitlink\softbot\dao\db\InstallMapper.class
com\gitlink\softbot\service\user\IUserService.class
com\gitlink\softbot\dao\db\RegisterMapper.class
com\gitlink\softbot\vo\GetMarketBotsResponse$GetMarketBot.class
com\gitlink\softbot\vo\RefuseTransferBotRequest.class
com\gitlink\softbot\controller\market\MarketController.class
com\gitlink\softbot\dao\db\TransferBotMapper.class
com\gitlink\softbot\entity\db\RegisterBot.class
com\gitlink\softbot\service\user\impl\UserService.class
com\gitlink\softbot\vo\GetBotResponse.class
com\gitlink\softbot\config\CustomMetaObjectHandler.class
com\gitlink\softbot\vo\DeleteBotRequest.class
com\gitlink\softbot\vo\GetAllBotCategory.class
com\gitlink\softbot\vo\GetTransferToBotResponse$GetTransferToBot.class
com\gitlink\softbot\vo\GetTransferFromBotRequest.class
com\gitlink\softbot\vo\GetBotDetailResponse.class
com\gitlink\softbot\vo\GetBotRequest.class
com\gitlink\softbot\vo\MarketBotVO.class
com\gitlink\softbot\service\user\AbstractUserBot.class
com\gitlink\softbot\vo\BotToMarketRequest.class
com\gitlink\softbot\global\exception\advice\GlobalExceptionAdvice.class
com\gitlink\softbot\entity\db\BotLimitEvent.class
com\gitlink\softbot\vo\GetStoreAllInstallBotResponse.class
com\gitlink\softbot\dao\db\BotMapper.class
com\gitlink\softbot\entity\db\TransferBot.class
com\gitlink\softbot\vo\MarketBotPagesVO.class
com\gitlink\softbot\controller\user\UserController.class
com\gitlink\softbot\vo\GetInstallBotRequest.class
com\gitlink\softbot\service\market\IMarketService.class
com\gitlink\softbot\entity\db\MarketBot.class
com\gitlink\softbot\config\SwaggerConfig.class
com\gitlink\softbot\vo\GetAllInstallBotsResponse.class
com\gitlink\softbot\vo\GetMarketBotsResponse.class
com\gitlink\softbot\vo\TransferBotRequest.class
com\gitlink\softbot\dao\db\BotCategoryMapper.class
com\gitlink\softbot\config\ElasticSearchConfig.class
com\gitlink\softbot\vo\CancelTransferBotRequest.class
com\gitlink\softbot\vo\GetTransferToBotResponse.class
com\gitlink\softbot\entity\db\BotCategory.class
com\gitlink\softbot\vo\LimitVO.class
com\gitlink\softbot\vo\DeleteInstallBotRequest.class
com\gitlink\softbot\dao\db\MarketBotMapper.class
com\gitlink\softbot\SoftBotApplication.class
com\gitlink\softbot\dao\es\MarketBotRepository.class
com\gitlink\softbot\entity\db\InstallBot.class
com\gitlink\softbot\service\market\impl\MarketService.class
com\gitlink\softbot\vo\UpdateInstallBotRequest.class

View File

@ -1,64 +0,0 @@
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\InstallMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\BotCategory.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\MarketBotPagesVO.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\InstallMarketBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\UpdateInstallBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\BotMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetBotDetailResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\MybatisPlusConfig.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\service\user\AbstractUserBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetInstallBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetAllInstallBotsResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetMarketBotsRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\MarketBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetStoreAllInstallBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\Limit.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetInstallBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetTransferToBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\AdminInterceptor.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\CrossConfig.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\BotCategoryMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\SwaggerConfig.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetMarketBotsResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\CustomMetaObjectHandler.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetTransferFromBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\service\market\impl\MarketService.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\DeleteBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\service\user\IUserService.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\global\exception\advice\GlobalExceptionAdvice.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\config\ElasticSearchConfig.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\es\MarketBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetTransferFromBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\RegisterBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\BotToMarketRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\BotInputVO.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\CancelTransferBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\service\user\impl\UserService.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\controller\user\UserController.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\LimitVO.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\TransferBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\MarketBotVO.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\BotLimitMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\MarketBotMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\RefuseTransferBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\ReceiveTransferBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\SoftBotApplication.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\es\MarketBotRepository.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\BotLimitEvent.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\service\market\IMarketService.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetRegisterBotResponse.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\TransferBotMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\InstallBotInfo.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\controller\market\MarketController.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\InstallBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\BotOutputVO.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetAllBotCategory.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\TransferBot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\GetTransferToBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\global\vo\Result.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\vo\DeleteInstallBotRequest.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\dao\db\RegisterMapper.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\entity\db\Bot.java
E:\IdeaProjects\SoftBot\src\main\java\com\gitlink\softbot\global\exception\BotException.java

View File

@ -1 +0,0 @@
E:\IdeaProjects\SoftBot\src\test\java\com\gitlink\softbot\service\market\MarketServiceTest.java