diff --git a/db/db.sql b/db/db.sql new file mode 100644 index 0000000000000000000000000000000000000000..77aed5c92d7af11dde170971032e4958d83c2c37 --- /dev/null +++ b/db/db.sql @@ -0,0 +1,163 @@ +DROP TABLE mock_log; +CREATE TABLE mock_log (log_id int NOT NULL AUTO_INCREMENT, request_method varchar(12), request_ip varchar(20), hit_url varchar(200), request_url varchar(200), response_detail varchar(5000), request_detail varchar(5000), del_flag int DEFAULT 0, create_by int, create_time bigint, update_by int, update_time bigint, remark varchar(200), PRIMARY KEY (log_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO mock_log (log_id, request_method, request_ip, hit_url, request_url, response_detail, request_detail, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (1151, 'Socket', '/127.0.0.1:54803', 'null', '/127.0.0.1:54803', '{\"hi\":\"hello world\"}', 'GET / HTTP/1.1\r\nHost: 127.0.0.1:10040\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2\r\nAccept-Encoding: gzip, deflate, br\r\nConnection: keep-alive\r\nCookie: JSESSIONID=50A3A78E8F33E3270B8889E0BC45FA7E; rememberMe=NtMDKDn/1o6oCECkwPPnrALNvSQVAzNLHDBijocDWttRB1v3hUXHWaEFWqpRD6hcKw3QwwwGh7K+7YQykWpziKCJMvEOAyODy5WGXno5G0gQ3wb58+c4uFEE+Rpj6G+2D5c45920x8Sk/icBAc9MtQ0/Ez51AQQxOF6m1OqFT5AZ9qXzzfixTP+1ni+q/zxfLKAiU3SDEPkZhQ/o6SaFq6Hft0rydFfWBa+YJgiK5ZgkxMMtvw9qccxAojGRQcf+Lw95udInHEeOA8HHwyDH1DU3xVbdRiL+r2Z8DwAWocRo6lFsV1Xw6X308HN3x8DRX7iR7r7q+2Y+2YueIyt6DkWy5AUkCI3+mWmbHGGINEDoADDqkYaewKg2tG39ZET4ecSmV3Ehr+ySBANKW0Hejr33ZthQxpqtExGjLCznMby3d/UP1e7ZtE/GETSWaYfR3kQGe4tCzFKuWUB+DtNTcw38HrB8qpHPOdjL+ijhKYQyq07nEQUEka/A0eaethnTIJEkabcu82UivwIAmgyV+9qprgGdcghOPhjxYtm7bBTSZfFRpb2LvSWiEiG8ac9zZ/TpKQ2EAQirC1rChrMrMN7WfzHwbBe0cwCX2lf9wZ0oaFMtzNp4Yq+mH5orL+t/a29eTqpp3EFfPHZoiypwmUfyHWCUAQdMZZqru68DFCOpIWKJB5YE/Up657ENdgGD2OmtqxEGNtO9OkBL8n6P1u+utqxcK9Bc1+r27+7UoUCklPzEADqRm71Kjvht56uum22AJYX66uqCM3CmYu+tsNzkfwWemj34cFrHB33dWrFsEmU1yhexAOxLH3Yc0NfTAQmWE+rcmiEdRSiHNyzDd0dwMc7aTEjgP3IN9nW2EQnIKHH9mFehDaHgHtipka05y1JE6G2fSjnFUwnByrjN0CzuF57MQB6piVbPsV3IrMSEFmbCQmml4j4FXNa6eqF4V9mo2DP+jfjMdPbazHay3Lod/zJW+uhRYmpqsC6dQ9O7TtRfYzZ0k4PAuAQifMtMcIT16/hjCBNvyasKYSYu7mDFTqL8zkU0H+ARCs5XE68nbKTYZKDReq2n9MmDq4oxqdp8qtMDOxY4R9BzSrRf/ichQZmkszT3RVZxzfBesi2lweO22d5wjF+BpiktL0OBcaFnKNvbq7PzB++7FHAj/0J+fWsVbs538YEXusvPpWMUAfzwONrFEpLVJ906Ojyl1ccdd9p0L8uyqpmF3PSIAbf8bRoKCpfIFikKP9083ODPsCLu49QxI21D4icTriq3ix6ooPWQMXfegujCaWWgOpOBbVUjZqvvoHtlPyxg0+/ZHQ9WSQw6wUY18KbFBi8bU0TNfJgvHeIjQzBo67+HmCdo3mLK382TaEACouJiKHYdI0wC8EujjnI2sGQurj952aA/7BaDao31aiNG8uz51KEsKL0ncbaetvWfJoMdzEMWe3vuM7Q3EOFq5PMann8gNI4k9ixgXC+VQhEtg3wr30rTbMfsonSgziX4Z+mrojmB1V3sId3LZMtb8YaFVKHjkZPO/Rhm6dCmexCidgUN9eC2JcdT2C69zjyPT4rPY4bDP14JaBVBAQZHQhIs+IHZ3DUTcF7YLDLy9olIQ07KmWHGP3txmReEXmMF64D6mkvppigkrN+H91lwFzE=\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nSec-Fetch-User: ?1\r\n\r\n', 0, null, 1689306315926, null, 1689306315926, null); +INSERT INTO mock_log (log_id, request_method, request_ip, hit_url, request_url, response_detail, request_detail, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (1152, 'Socket', '/127.0.0.1:54804', 'null', '/127.0.0.1:54804', '{\"hi\":\"hello world\"}', 'GET /favicon.ico HTTP/1.1\r\nHost: 127.0.0.1:10040\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2\r\nAccept-Encoding: gzip, deflate, br\r\nConnection: keep-alive\r\nReferer: http://127.0.0.1:10040/\r\nCookie: JSESSIONID=50A3A78E8F33E3270B8889E0BC45FA7E; rememberMe=NtMDKDn/1o6oCECkwPPnrALNvSQVAzNLHDBijocDWttRB1v3hUXHWaEFWqpRD6hcKw3QwwwGh7K+7YQykWpziKCJMvEOAyODy5WGXno5G0gQ3wb58+c4uFEE+Rpj6G+2D5c45920x8Sk/icBAc9MtQ0/Ez51AQQxOF6m1OqFT5AZ9qXzzfixTP+1ni+q/zxfLKAiU3SDEPkZhQ/o6SaFq6Hft0rydFfWBa+YJgiK5ZgkxMMtvw9qccxAojGRQcf+Lw95udInHEeOA8HHwyDH1DU3xVbdRiL+r2Z8DwAWocRo6lFsV1Xw6X308HN3x8DRX7iR7r7q+2Y+2YueIyt6DkWy5AUkCI3+mWmbHGGINEDoADDqkYaewKg2tG39ZET4ecSmV3Ehr+ySBANKW0Hejr33ZthQxpqtExGjLCznMby3d/UP1e7ZtE/GETSWaYfR3kQGe4tCzFKuWUB+DtNTcw38HrB8qpHPOdjL+ijhKYQyq07nEQUEka/A0eaethnTIJEkabcu82UivwIAmgyV+9qprgGdcghOPhjxYtm7bBTSZfFRpb2LvSWiEiG8ac9zZ/TpKQ2EAQirC1rChrMrMN7WfzHwbBe0cwCX2lf9wZ0oaFMtzNp4Yq+mH5orL+t/a29eTqpp3EFfPHZoiypwmUfyHWCUAQdMZZqru68DFCOpIWKJB5YE/Up657ENdgGD2OmtqxEGNtO9OkBL8n6P1u+utqxcK9Bc1+r27+7UoUCklPzEADqRm71Kjvht56uum22AJYX66uqCM3CmYu+tsNzkfwWemj34cFrHB33dWrFsEmU1yhexAOxLH3Yc0NfTAQmWE+rcmiEdRSiHNyzDd0dwMc7aTEjgP3IN9nW2EQnIKHH9mFehDaHgHtipka05y1JE6G2fSjnFUwnByrjN0CzuF57MQB6piVbPsV3IrMSEFmbCQmml4j4FXNa6eqF4V9mo2DP+jfjMdPbazHay3Lod/zJW+uhRYmpqsC6dQ9O7TtRfYzZ0k4PAuAQifMtMcIT16/hjCBNvyasKYSYu7mDFTqL8zkU0H+ARCs5XE68nbKTYZKDReq2n9MmDq4oxqdp8qtMDOxY4R9BzSrRf/ichQZmkszT3RVZxzfBesi2lweO22d5wjF+BpiktL0OBcaFnKNvbq7PzB++7FHAj/0J+fWsVbs538YEXusvPpWMUAfzwONrFEpLVJ906Ojyl1ccdd9p0L8uyqpmF3PSIAbf8bRoKCpfIFikKP9083ODPsCLu49QxI21D4icTriq3ix6ooPWQMXfegujCaWWgOpOBbVUjZqvvoHtlPyxg0+/ZHQ9WSQw6wUY18KbFBi8bU0TNfJgvHeIjQzBo67+HmCdo3mLK382TaEACouJiKHYdI0wC8EujjnI2sGQurj952aA/7BaDao31aiNG8uz51KEsKL0ncbaetvWfJoMdzEMWe3vuM7Q3EOFq5PMann8gNI4k9ixgXC+VQhEtg3wr30rTbMfsonSgziX4Z+mrojmB1V3sId3LZMtb8YaFVKHjkZPO/Rhm6dCmexCidgUN9eC2JcdT2C69zjyPT4rPY4bDP14JaBVBAQZHQhIs+IHZ3DUTcF7YLDLy9olIQ07KmWHGP3txmReEXmMF64D6mkvppigkrN+H91lwFzE=\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\n\r\n', 0, null, 1689306315971, null, 1689306315971, null); +DROP TABLE mock_response; +CREATE TABLE mock_response (response_id int NOT NULL AUTO_INCREMENT, url_id int, content varchar(2000), status_code int, main int DEFAULT 0, description varchar(500), custom_header varchar(2000), del_flag int DEFAULT 0, create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), method varchar(20), PRIMARY KEY (response_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (1, 1, '

示例接口请求成功~

', 200, 1, '示例接口默认返回体', '[{\"key\":\"content-type\",\"val\":\"text/html;charset=utf-8\"}]', 0, 1, '1577177140391', 1, '1577177410704', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (2, 3, 'adfasfasdfasdf', 200, 0, 'asdfasdfasdf', '', 0, 2, '1665742150931', 2, '1665742679831', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (3, 3, 'aaaaaaaaaaaaaaaaaaaaaaaaaa', 200, 1, 'adf', '', 0, 2, '1665742308025', 2, '1665742679893', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (4, 4, '{\r\n \"name\":\"张三\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010208810\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-01\",\r\n \"expiredDate\":\"2032-01-01\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '张三', '', 0, 2, '1666084010725', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (5, 2, '12345544', 200, 1, '测试', '', 0, 2, '1666161447716', 2, '1666161450347', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (6, 4, '{\r\n \"name\":\"李四\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010206110\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-02\",\r\n \"expiredDate\":\"2032-01-02\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '李四', '', 0, 2, '1666162922408', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (7, 4, '{\r\n \"name\":\"王五\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010205492\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-03\",\r\n \"expiredDate\":\"2032-01-03\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '王五', '', 0, 2, '1666162947182', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (8, 4, '{\r\n \"name\":\"赵六\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010204051\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-04\",\r\n \"expiredDate\":\"2032-01-04\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '赵六', '', 0, 2, '1666163007470', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (9, 4, '{\r\n \"name\":\"孙七\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010205118\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-05\",\r\n \"expiredDate\":\"2032-01-05\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '孙七', '', 0, 2, '1666163067813', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (10, 4, '{\r\n \"name\":\"龙八\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010208650\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-06\",\r\n \"expiredDate\":\"2032-01-06\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '龙八', '', 0, 2, '1666163165649', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (11, 5, 'true', 200, 1, '风控校验结果-成功', '', 0, 2, '1666166847075', 2, '1666250760865', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (12, 5, 'false', 200, 0, '风控校验结果-失败', '', 0, 2, '1666166894009', 2, '1666250760793', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (13, 6, 'true', 200, 1, '识别结果-成功', '', 0, 2, '1666167565731', 2, '1666167595097', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (14, 6, 'false', 200, 0, '识别结果-失败', '', 0, 2, '1666167586705', 2, '1666167586705', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (15, 4, '{\r\n \"name\":\"赵九\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010203032\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-07\",\r\n \"expiredDate\":\"2032-01-07\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '赵九', '', 0, 2, '1666235374759', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (16, 4, '{\r\n \"name\":\"胡十\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010205716\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-08\",\r\n \"expiredDate\":\"2032-01-08\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '胡十', '', 0, 2, '1666235408643', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (17, 4, '{\r\n \"name\":\"刘一\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010203139\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-09\",\r\n \"expiredDate\":\"2032-01-09\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '刘一', '', 0, 2, '1666235435067', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (18, 4, '{\r\n \"name\":\"孙二\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"520115199010203470\",\r\n \"birthDate\":\"19901020\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-10\",\r\n \"expiredDate\":\"2032-01-10\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '孙二', '', 0, 2, '1666235453581', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (19, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"521101199001301114\",\r\n\"expiredDate\": \"2028年1月1日\",\r\n\"name\": \"王老十\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022年1月1日\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, '王老十', '', 1, 2, '1666235459781', 2, '1670916097067', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (20, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"521101199001301113\",\r\n\"expiredDate\": \"2028年1月1日\",\r\n\"name\": \"王老九\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022年1月1日\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, '王老九', '', 1, 2, '1666235485939', 2, '1670916097067', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (21, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"521101199001301112\",\r\n\"expiredDate\": \"2028-1-1\",\r\n\"name\": \"王老八\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-1-1\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, '王老八', '', 0, 2, '1666254640130', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (22, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206157410\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"王良州\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '王良州', '', 0, 2, '1666315135461', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (23, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"520000199910100022\",\r\n\"expiredDate\": \"2028-01-01\",\r\n\"name\": \"貂蝉\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-01-01\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, '貂蝉', '', 0, 2, '1666760701714', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (24, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"520000199910100034\",\r\n\"expiredDate\": \"2028-01-01\",\r\n\"name\": \"貂蝉\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-01-01\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, 'zxz', '', 0, 2, '1667544654376', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (25, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"520000199910100035\",\r\n\"expiredDate\": \"2028-01-01\",\r\n\"name\": \"曾宪泽2\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-01-01\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, 'zxz2', '', 0, 2, '1667549017164', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (26, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"520000199910100035\",\r\n\"expiredDate\": \"2028-01-01\",\r\n\"name\": \"曾宪泽3\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-01-01\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, 'zxz3', '', 0, 2, '1667549042321', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (27, 4, '{\r\n\"address\": \"贵阳市观山湖区\",\r\n\"birthDate\": \"19900130\",\r\n\"cardNumber\": \"520000199910100036\",\r\n\"expiredDate\": \"2028-01-01\",\r\n\"name\": \"曾宪泽4\",\r\n\"nation\": \"GBN01\",\r\n\"sex\": \"MALE\",\r\n\"signDate\": \"2022-01-01\",\r\n\"signOrg\": \"XXX公安局\"\r\n}', 200, 0, 'zxz4', '', 0, 2, '1667549512598', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (28, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19900101\",\r\n \"cardNumber\":\"522130199307051215\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"曾1\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '曾1', '', 0, 2, '1667552578797', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (29, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19900101\",\r\n \"cardNumber\":\"522130199307051216\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"曾2\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '曾2', '', 0, 2, '1667552617534', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (30, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19900101\",\r\n \"cardNumber\":\"522130199307051217\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"曾3\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '曾3', '', 0, 2, '1667552636368', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (31, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240443\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"虞姬2\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '虞姬2', '', 0, 2, '1667557405705', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (32, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240444\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"虞姬3\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '虞姬3', '', 0, 2, '1667784857888', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (33, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240445\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"虞姬3\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '虞姬4', '', 0, 2, '1667807717307', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (34, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240446\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"虞姬3\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '虞姬5', '', 0, 2, '1667868869287', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (35, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240223\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"老王1\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '老王1', '', 0, 2, '1668474862364', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (36, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19970624\",\r\n \"cardNumber\":\"520103199706240222\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"老王2\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, 0, '老王2', '', 0, 2, '1668474892019', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (37, 7, 'true', 200, 1, '成功-true', '', 0, 2, '1675816099128', 2, '1675816114579', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (38, 7, 'false', 200, 0, '失败-false', '', 0, 2, '1675816146887', 2, '1675816146887', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (39, 8, '{\r\n \"name\":\"张三\",\r\n \"idCard\":\"520000199911118888\",\r\n \"accountInfos\":[\r\n {\r\n \"bankAccount\":\"88888888\",\r\n \"openBankAccount\":\"贵阳农商银行\"\r\n },\r\n {\r\n \"bankAccount\":\"66666666\",\r\n \"openBankAccount\":\"贵阳农商银行\"\r\n },\r\n {\r\n \"bankAccount\":\"99999999\",\r\n \"openBankAccount\":\"贵阳农商银行\"\r\n }\r\n ]\r\n}', 200, 1, '卡号', '', 0, 2, '1676276765602', 2, '1676279459206', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (40, 4, '{\r\n \"name\":\"鲍思\",\r\n \"sex\":\"FEMALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"522501199107157365\",\r\n \"birthDate\":\"19910715\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2022-01-01\",\r\n \"expiredDate\":\"2032-01-01\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '鲍思', '', 0, 2, '1676345804379', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (41, 4, '{\r\n\"name\": \"耿1\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"520100198808103333\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2022-01-01\",\r\n\"expiredDate\": \"2032-01-01\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '耿1', '', 0, 2, '1677826464329', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (42, 4, '{\r\n\"name\": \"耿2\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"520100198808113333\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2022-01-01\",\r\n\"expiredDate\": \"2032-01-01\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '耿2', '', 0, 2, '1677826489848', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (43, 4, '{\r\n\"name\": \"耿3\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"520100198808123333\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2022-01-01\",\r\n\"expiredDate\": \"2032-01-01\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '耿3', '', 0, 2, '1677826510466', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (44, 4, '{\r\n\"name\": \"耿4\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"520100198808133333\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2022-01-01\",\r\n\"expiredDate\": \"2032-01-01\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '耿4', '', 0, 2, '1677826534083', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (45, 4, '{\r\n\"name\": \"鲍思\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522501199107157365\",\r\n\"birthDate\": \"19901020\",\r\n\"address\": \"贵阳市白云区俊发城\",\r\n\"signDate\": \"2022-01-04\",\r\n\"expiredDate\": \"2032-01-04\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍思', '', 0, 2, '1678151595993', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (46, 4, '{\r\n \"name\":\"王某某\",\r\n \"sex\":\"MALE\",\r\n \"nation\":\"GBN01\",\r\n \"cardNumber\":\"52011319870818282X\",\r\n \"birthDate\":\"19870818\",\r\n \"address\":\"贵阳市观山湖区中天会展城B区\",\r\n \"signDate\":\"2015-01-06\",\r\n \"expiredDate\":\"2032-01-06\",\r\n \"signOrg\":\"贵阳市观山湖区公安局\"\r\n }', 200, 0, '王某某(征信数据不要动)', '', 0, 2, '1678671860369', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (47, 4, '{\r\n\"name\": \"曾宪一\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"362202199410105791\",\r\n\"birthDate\": \"19941010\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾宪一(征信勿动)', '', 0, 2, '1678695593670', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (48, 4, '{\r\n\"name\": \"曾宪二\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"362202199410105792\",\r\n\"birthDate\": \"19941010\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾宪二(征信勿动)', '', 0, 2, '1678704127310', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (49, 4, '{\r\n\"name\": \"曾宪三\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"362202199410105793\",\r\n\"birthDate\": \"19941010\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾宪三(征信勿动)', '', 0, 2, '1678704155148', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (50, 4, '{\r\n\"name\": \"曾宪四\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"362202199410105794\",\r\n\"birthDate\": \"19941010\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾宪四(征信勿动)', '', 0, 2, '1678704354245', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (51, 4, '{\r\n\"name\": \"鲍思一\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522501199107157361\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍思一', '', 0, 2, '1678758672856', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (52, 4, '{\r\n\"name\": \"鲍思二\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522501199107157362\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍思二', '', 0, 2, '1678758719861', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (53, 4, '\r\n{\r\n\"name\": \"曾棋\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522601199002218024\",\r\n\"birthDate\": \"19900221\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2022-01-01\",\r\n\"expiredDate\": \"2032-01-01\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾棋征信数据勿动', '', 0, 2, '1678847701029', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (54, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206159999\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"王老板\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"贵阳市公安局\"\r\n }', 200, 0, '王良州1(sit 勿动)', '', 0, 2, '1679020646304', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (55, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206158888\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"王老板呀王老板\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"贵阳市公安局\"\r\n }', 200, 0, '王老板01', '', 0, 2, '1679108389649', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (56, 4, '{\r\n\"name\": \"鲍小花\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522501199107157330\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍小花', '', 0, 2, '1679111962727', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (57, 4, '{\r\n\"name\": \"鲍小四\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"431129198803143714\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍小四', '', 0, 2, '1679276984472', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (58, 4, '{\r\n\"name\": \"鲍小五\",\r\n\"sex\": \"FEMALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"522501199107157340\",\r\n\"birthDate\": \"19910715\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '鲍小五', '', 0, 2, '1679278285693', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (59, 4, '{\r\n\"name\": \"曾宪六\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"362202199410105796\",\r\n\"birthDate\": \"19941010\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 0, '曾宪六(征信勿动)', '', 0, 2, '1679297591693', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (60, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206158888\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"小花\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"贵阳市公安局\"\r\n }', 200, 0, '小花', '', 0, 2, '1679302720696', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (61, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206152222\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"王总\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"贵阳市公安局\"\r\n }', 200, 0, '王总', '', 0, 2, '1679305650536', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (62, 4, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19920615\",\r\n \"cardNumber\":\"522401199206153333\",\r\n \"expiredDate\":\"2028-01-01\",\r\n \"name\":\"王老板娘\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022-01-01\",\r\n \"signOrg\":\"贵阳市公安局\"\r\n }', 200, 0, '王老板娘', '', 0, 2, '1679309209264', 2, '1679400158992', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (63, 4, '{\r\n\"name\": \"鲍二宝\",\r\n\"sex\": \"MALE\",\r\n\"nation\": \"GBN01\",\r\n\"cardNumber\": \"43112919770519525X\",\r\n\"birthDate\": \"19770519\",\r\n\"address\": \"贵阳市观山湖区中天会展城B区\",\r\n\"signDate\": \"2015-01-06\",\r\n\"expiredDate\": \"2032-01-06\",\r\n\"signOrg\": \"贵阳市观山湖区公安局\"\r\n}', 200, 1, '陈小一', '', 0, 2, '1679310517306', 2, '1679401400321', null, 'POST'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (64, 9, '{\r\n\t\"appRes\": {\r\n\t\t\"head\": {\r\n\t\t\t\"timeStamp\": \"20230708214554405\",\r\n\t\t\t\"sendOrder\": \"BD2023070700000003\",\r\n\t\t\t\"appid\": \"00000000001\"\r\n\t\t},\r\n\t\t\"body\": {\r\n\t\t\t\"spidno\": \"522228199005303810\",\r\n\t\t\t\"01_04_16\": \"国有企业\",\r\n\t\t\t\"01_04_15\": \"贵州电网有限责任公司责安供电局\",\r\n\t\t\t\"01_04_14\": \"电力、热力、燃气及水生产和供应业\",\r\n\t\t\t\"01_04_09\": \"01\",\r\n\t\t\t\"01_04_08\": \"11\",\r\n\t\t\t\"01_04_07\": \"34\",\r\n\t\t\t\"01_04_11\": \"131\",\r\n\t\t\t\"01_04_10\": \"02\"\r\n\t\t}\r\n\t},\r\n\t\"retCodet\": \"0000\",\r\n\t\"retMsg\": \"请求成功\"\r\n}', 200, 1, '查询社保公积金', '', 0, 2, '1689142812071', 2, '1689143184433', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (65, 9, '{\r\n\t\"appRes\": {\r\n\t\t\"head\": {\r\n\t\t\t\"timeStamp\": \"20230708214554405\",\r\n\t\t\t\"sendOrder\": \"BD2023070700000003\",\r\n\t\t\t\"appid\": \"00000000001\"\r\n\t\t},\r\n\t\t\"body\": {\r\n\t\t\t\"spidno\": \"522228199005303810\",\r\n\t\t\t\"01_04_16\": \"国有企业\",\r\n\t\t\t\"01_04_15\": \"贵州电网有限责任公司责安供电局\",\r\n\t\t\t\"01_04_14\": \"电力、热力、燃气及水生产和供应业\",\r\n\t\t\t\"01_04_09\": \"01\",\r\n\t\t\t\"01_04_08\": \"11\",\r\n\t\t\t\"01_04_07\": \"34\",\r\n\t\t\t\"01_04_11\": \"131\",\r\n\t\t\t\"01_04_10\": \"02\"\r\n\t\t}\r\n\t},\r\n\t\"retCodet\": \"0000\",\r\n\t\"retMsg\": \"请求成功\"\r\n}', 500, 0, '查询社保公积金-403', '', 0, 2, '1689143062624', 2, '1689143184428', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (66, 10, '{\r\n\r\n -\r\n \"appRes\": {\r\n -\r\n \"head\": {\r\n \"timeStamp\": \"20230708214554405\",\r\n \"sendOrder\": \"BD2023070700000003\",\r\n \"appid\": \"00000000001\"\r\n },\r\n -\r\n \"body\": {\r\n \"spidno\": \"522228199005303810\",\r\n \"01_04_16\": \"国有企业\",\r\n \"01_04_15\": \"贵州电网有限责任公司责安供电局\",\r\n \"01_04_14\": \"电力、热力、燃气及水生产和供应业\",\r\n \"01_04_09\": \"01\",\r\n \"01_04_08\": \"11\",\r\n \"01_04_07\": \"34\",\r\n \"01_04_11\": \"131\",\r\n \"01_04_10\": \"02\"\r\n }\r\n },\r\n \"retCodet\": \"0000\",\r\n \"retMsg\": \"请求成功\"\r\n\r\n}', 200, 1, 't', '', 0, 1, '1689214094950', 1, '1689214097705', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (67, 11, '{\r\n\t\"appRes\": {\r\n\t\t\"head\": {\r\n\t\t\t\"timeStamp\": \"20230708214554405\",\r\n\t\t\t\"sendOrder\": \"BD2023070700000003\",\r\n\t\t\t\"appid\": \"00000000001\"\r\n\t\t},\r\n\t\t\"body\": {\r\n\t\t\t\"spidno\": \"522228199005303810\",\r\n\t\t\t\"01_04_16\": \"国有企业\",\r\n\t\t\t\"01_04_15\": \"贵州电网有限责任公司责安供电局\",\r\n\t\t\t\"01_04_14\": \"电力、热力、燃气及水生产和供应业\",\r\n\t\t\t\"01_04_09\": \"01\",\r\n\t\t\t\"01_04_08\": \"11\",\r\n\t\t\t\"01_04_07\": \"34\",\r\n\t\t\t\"01_04_11\": \"131\",\r\n\t\t\t\"01_04_10\": \"02\"\r\n\t\t}\r\n\t},\r\n\t\"retCode\": \"0000\",\r\n\t\"retMsg\": \"请求成功\"\r\n}', 200, 1, '返回企业社保公积金-json', '', 0, 2, '1689215666373', 2, '1689302952630', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (68, 12, '10040', 200, 1, 'asdf', '', 0, 2, '1689297820090', 2, '1689299752629', null, 'GET'); +INSERT INTO mock_response (response_id, url_id, content, status_code, main, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark, method) VALUES (69, 18, 'asdfasfdasfasfasfdasdfdas', 200, 1, 'asd', '', 0, 2, '1689302217056', 2, '1689302219570', null, 'GET'); +DROP TABLE mock_response_restful; +CREATE TABLE mock_response_restful (response_id int NOT NULL AUTO_INCREMENT, url_id int NOT NULL, http_method int NOT NULL, content varchar(2000), status_code int, description varchar(500), custom_header varchar(2000), del_flag int DEFAULT 0, create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), PRIMARY KEY (response_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (3, 1, 1, '{\"msg\" : \"success\", \"code\": 666}', 200, 'HEAD 方法的响应不会包含响应正文. 所以返回体可能被调用方忽略。', '', 0, 1, null, 1, '1589770482506', null); +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (4, 1, 2, '{\"text\": \"创建成功\", \n\"code\" : 10001\n}', 200, '创建资源', '', 0, 1, null, 1, '1589770365834', null); +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (5, 1, 0, '

示例Restful接口请求成功(GET)!!

', 200, '获取资源', '[{\"key\":\"content-type\",\"val\":\"text/html;charset=utf-8\"},{\"key\":\"cookies\",\"val\":\"vmock=test\"}]', 0, 1, '1589770119096', 1, '1589770380264', null); +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (6, 3, 2, 'restful', 200, 'asdf', '', 0, 2, '1665742483833', 2, '1665742555510', null); +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (7, 3, 0, 'get-restful', 200, 'get-restful', '', 0, 2, '1665742577444', 2, '1665742577444', null); +INSERT INTO mock_response_restful (response_id, url_id, http_method, content, status_code, description, custom_header, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (8, 4, 2, '{\r\n \"address\":\"贵阳市观山湖区\",\r\n \"birthDate\":\"19900101\",\r\n \"cardNumber\":\"520101199001013333\",\r\n \"expiredDate\":\"2028年1月1日\",\r\n \"name\":\"张三\",\r\n \"nation\":\"GBN01\",\r\n \"sex\":\"MALE\",\r\n \"signDate\":\"2022年1月1日\",\r\n \"signOrg\":\"XXX公安局\"\r\n }', 200, '张三', '', 0, 2, '1666160069770', 2, '1666161129864', null); +DROP TABLE mock_url; +CREATE TABLE mock_url (url_id int NOT NULL AUTO_INCREMENT, url varchar(255), name varchar(150) NOT NULL, description varchar(255), logic varchar(200), del_flag int DEFAULT 0, create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), response_type int DEFAULT 1, type varchar(20) DEFAULT 'http', port int DEFAULT 0, PRIMARY KEY (url_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (1, '/test', '示例接口', '示例请求接口, 已启用接收GET的响应体\r\n 访问ip:port/mock/test即可访问到该接口/test', '1', 0, 1, '1577177041874', 2, '1665656226241', null, 2, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (2, '/test2', '测试2', '示例请求接口, 已启用接收GET的响应体 访问ip:port/mock/test2即可访问到该接口test2', '2', 1, 1, '1665653147266', 1, '1665656143459', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (3, '/test3', 'test3', 'test3', '16', 1, 2, '1665742125001', 2, '1665742649912', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (4, '/ocr/idcard', '身份证识别(用户进件)', '', '17,18', 0, 2, '1666083094507', 2, '1675816394195', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (5, '/risk/auth', '风控认证(用户进件)', '', '19,20', 1, 2, '1666166823004', 2, '1666339471744', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (6, '/faceAuth', '人脸识别(用户进件)', '', '29', 0, 2, '1666167537953', 2, '1666167537953', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (7, '/riskAuth', '风控校验(用户进件)', '', '30', 0, 2, '1675816072375', 2, '1675816072375', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (8, '/query/bank/account', '查询银行卡号', '', '34,35,36', 0, 2, '1676276669996', 2, '1676276669996', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (9, '/kuaidata/company', '查询社保公积金', '', '37,38', 0, 2, '1689142780864', 2, '1689142780864', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (10, null, 'test', 'test', null, 1, 1, '1689214043802', 1, '1689214043802', null, 1, 'tcp', 8000); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (11, null, '块数据查询社保公积金', '块数据查询社保公积金', null, 0, 2, '1689215577624', 2, '1689302160359', null, 1, 'tcp', 10010); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (12, null, 'test2', 'test2', null, 1, 2, '1689296857113', 2, '1689296857113', null, 1, 'tcp', 10040); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (13, null, 'test3', 'test3', null, 1, 2, '1689297154366', 2, '1689297154366', null, 1, 'tcp', 10060); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (14, null, 'test', 'test', null, 1, 2, '1689297179592', 2, '1689297179592', null, 1, 'tcp', 10060); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (15, null, 'test', 'test', null, 1, 2, '1689299766165', 2, '1689299766165', null, 1, 'tcp', 10040); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (16, '/test22', 't', 't', '39', 1, 2, '1689300632249', 2, '1689300632249', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (17, '/', 'test', 'test', '', 1, 2, '1689301395829', 2, '1689301395829', null, 1, 'http', 0); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (18, null, 'asdf', 'asfd', null, 1, 2, '1689302193401', 2, '1689302193401', null, 1, 'tcp', 10050); +INSERT INTO mock_url (url_id, url, name, description, logic, del_flag, create_by, create_time, update_by, update_time, remark, response_type, type, port) VALUES (19, null, 'test', 'test', null, 0, 2, '1689303890560', 2, '1689303890560', null, 1, 'tcp', 10040); +DROP TABLE mock_url_logic; +CREATE TABLE mock_url_logic (logic_id int NOT NULL AUTO_INCREMENT, sub_url varchar(200) NOT NULL, del_flag int DEFAULT 0, create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), PRIMARY KEY (logic_id), CONSTRAINT sub_url UNIQUE (sub_url)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (1, 'example', 0, 1, '1577177041819', 1, '1577177041819', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (2, 'test2', 0, 1, '1665653147121', 1, '1665653147121', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (16, 'test3', 0, 2, '1665742124906', 2, '1665742124906', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (17, 'ocr', 0, 2, '1666083094331', 2, '1666083094331', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (18, 'idcard', 0, 2, '1666083094366', 2, '1666083094366', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (19, 'risk', 0, 2, '1666166822796', 2, '1666166822796', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (20, 'auth', 0, 2, '1666166822845', 2, '1666166822845', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (29, 'faceAuth', 0, 2, '1666167537837', 2, '1666167537837', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (30, 'riskAuth', 0, 2, '1675816072357', 2, '1675816072357', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (34, 'query', 0, 2, '1676276669942', 2, '1676276669942', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (35, 'bank', 0, 2, '1676276669950', 2, '1676276669950', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (36, 'account', 0, 2, '1676276669952', 2, '1676276669952', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (37, 'kuaidata', 0, 2, '1689142780743', 2, '1689142780743', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (38, 'company', 0, 2, '1689142780792', 2, '1689142780792', null); +INSERT INTO mock_url_logic (logic_id, sub_url, del_flag, create_by, create_time, update_by, update_time, remark) VALUES (39, 'test22', 0, 2, '1689300630907', 2, '1689300630907', null); +DROP TABLE sys_config; +CREATE TABLE sys_config (config_id int NOT NULL AUTO_INCREMENT, config_name varchar(50), config_key varchar(100), config_value varchar(100), create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), del_flag int DEFAULT 0, PRIMARY KEY (config_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO sys_config (config_id, config_name, config_key, config_value, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (1, '邀请码', 'system.invitation.code', 'vmock', 1, '1575425366734', 1, '1575958917712', '用户由前台自己注册系统时,需要输入该邀请码验证身份,才能注册成功。', 0); +DROP TABLE sys_dict_data; +CREATE TABLE sys_dict_data (dict_code int NOT NULL AUTO_INCREMENT, dict_sort int, dict_label varchar(50), dict_value varchar(50), dict_type varchar(50), css_class varchar(100), list_class varchar(50), is_default varchar(10), create_by int, create_time bigint, update_by int, update_time bigint, remark varchar(200), del_flag int DEFAULT 0, PRIMARY KEY (dict_code)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', 1, 1574842414507, 1, 1574842414507, '性别男', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', 1, 1574842414507, 1, 1574842414507, '性别女', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', 1, 1574842414507, 1, 1574842414507, '性别未知', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 1, 1574842414507, 1, 1574842414507, '显示菜单', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 1, 1574842414507, 1, 1574842414507, '隐藏菜单', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 1, 1574842414507, 1, 1574842414507, '正常状态', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 1, 1574842414507, 1, 1574842414507, '停用状态', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (8, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 1, 1574842414507, 1, 1574842414507, '系统默认是', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (9, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 1, 1574842414507, 1, 1574842414507, '系统默认否', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (10, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 1, 1574842414507, 1, 1574842414507, '正常状态', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (11, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 1, 1574842414507, 1, 1574842414507, '停用状态', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (12, 0, 'GET', 'GET', 'http_method', '', '', '', 1, 1574842414507, 1, 1574842414507, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (13, 1, 'HEAD', 'HEAD', 'http_method', '', '', '', 1, 1574842439909, 1, 1574842439909, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (14, 2, 'POST', 'POST', 'http_method', '', '', '', 1, 1574842448104, 1, 1574842448104, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (15, 3, 'PUT', 'PUT', 'http_method', '', '', '', 1, 1574842456031, 1, 1574842456031, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (16, 4, 'PATCH', 'PATCH', 'http_method', '', '', '', 1, 1574842473821, 1, 1574842473821, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (17, 5, 'DELETE', 'DELETE', 'http_method', '', '', '', 1, 1574842482767, 1, 1574842482767, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (18, 6, 'OPTIONS', 'OPTIONS', 'http_method', '', '', '', 1, 1574842497976, 1, 1574842497976, 'http请求方法', 0); +INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (19, 7, 'TRACE', 'TRACE', 'http_method', '', '', '', 1, 1574842506060, 1, 1574842506060, 'http请求方法', 0); +DROP TABLE sys_dict_type; +CREATE TABLE sys_dict_type (dict_id int NOT NULL AUTO_INCREMENT, dict_name varchar(50), dict_type varchar(50), create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(20), del_flag int DEFAULT 0, PRIMARY KEY (dict_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (1, '用户性别', 'sys_user_sex', 1, '2018-03-16 11:33:00', 1, '2018-03-16 11:33:00', '用户性别列表', null); +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (2, '菜单状态', 'sys_show_hide', 1, '2018-03-16 11:33:00', 1, '2018-03-16 11:33:00', '菜单状态列表', null); +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (3, '系统开关', 'sys_normal_disable', 1, '2018-03-16 11:33:00', 1, '2018-03-16 11:33:00', '系统开关列表', null); +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (4, '系统是否', 'sys_yes_no', 1, '2018-03-16 11:33:00', 1, '2018-03-16 11:33:00', '系统是否列表', null); +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (5, '系统状态', 'sys_common_status', 1, '2018-03-16 11:33:00', 1, '2018-03-16 11:33:00', '登录状态列表', null); +INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark, del_flag) VALUES (6, '请求方式', 'http_method', 1, '1574841344757', 1, '1574841344757', '', 0); +DROP TABLE sys_menu; +CREATE TABLE sys_menu (menu_id int NOT NULL AUTO_INCREMENT, menu_name varchar(50), parent_id int, order_num int, url varchar(200), target varchar(50), menu_type varchar(10), visible int, icon varchar(50), create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), user_display int DEFAULT 1, del_flag int DEFAULT 0, PRIMARY KEY (menu_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, icon, create_by, create_time, update_by, update_time, remark, user_display, del_flag) VALUES (1, '用户管理', 0, 1, '/system/user', 'menuItem', '3', 0, 'fa fa-user', 1, '1574406396326', 1, '1574406396326', '用户管理菜单', 0, 0); +INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, icon, create_by, create_time, update_by, update_time, remark, user_display, del_flag) VALUES (2, '系统参数', 0, 7, '/system/config', 'menuItem', '3', 0, 'fa fa-cogs', 1, '1574406396326', 1, '1574406396326', '参数设置菜单', 0, 0); +INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, icon, create_by, create_time, update_by, update_time, remark, user_display, del_flag) VALUES (3, '接口日志', 0, 2, '/system/log', 'menuItem', '3', 0, 'fa fa-book', 1, '1574406396326', 1, '1574406396326', '操作日志菜单', 1, 0); +INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, url, target, menu_type, visible, icon, create_by, create_time, update_by, update_time, remark, user_display, del_flag) VALUES (4, '接口一览', 0, 1, '/system/url', 'menuItem', '3', 0, 'fa fa-cloud', 1, '1574406396326', 1, '1574406396326', 'url路径菜单', 1, 0); +DROP TABLE sys_user; +CREATE TABLE sys_user (user_id int NOT NULL AUTO_INCREMENT, login_name varchar(100) NOT NULL, user_name varchar(100), user_type int DEFAULT 0, email varchar(100), phonenumber varchar(20), sex int, avatar varchar(500), password varchar(100), salt varchar(64), status int DEFAULT 0, del_flag int DEFAULT 0, login_ip varchar(128), login_date varchar(20), create_by int, create_time varchar(20), update_by int, update_time varchar(20), remark varchar(200), PRIMARY KEY (user_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_0900_ai_ci; +INSERT INTO sys_user (user_id, login_name, user_name, user_type, email, phonenumber, sex, avatar, password, salt, status, del_flag, login_ip, login_date, create_by, create_time, update_by, update_time, remark) VALUES (1, 'admin', '超级管理员', 1, '', '15085958874', 1, '', '1e6d75ed12d1732bde729412f4795a95', 'fc4a41', 0, 0, '192.168.3.20', '1665653236268', 0, '1574406396326', 1, '1665653236268', '管理员,能多看见【用户管理】和【系统参数】'); +INSERT INTO sys_user (user_id, login_name, user_name, user_type, email, phonenumber, sex, avatar, password, salt, status, del_flag, login_ip, login_date, create_by, create_time, update_by, update_time, remark) VALUES (2, 'test', '测试用户', 0, '', '15085958874', 0, null, '364b9a06fffc29b3832e8eac62a69b32', '530ef8', 0, 0, '172.31.243.21', '1689302132685', 1, '1665653206543', 2, '1689302132692', ''); diff --git a/pom.xml b/pom.xml index a200575e240b22548eb777f387c4a39a645dc544..b0b5902db56de98d9889e558cf2175987a263071 100644 --- a/pom.xml +++ b/pom.xml @@ -3,14 +3,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.vmock - v-mock + com.gysnh + mock 1.0.0 jar - V-Mock + Mock-Service - V-Mock 杞婚噺绾ф帴鍙fā鎷 + 鍐滃晢绉戦噾mock service org.springframework.boot @@ -26,8 +26,8 @@ 5.1.4 1.5.3 1.1.14 - 1.18.10 - 3.17 + 1.18.24 + 5.2.2 3.2.0 3.31.1 5.0.6 @@ -47,8 +47,11 @@ mybatis-plus-boot-starter ${mybatis.plus.version} - - + + mysql + mysql-connector-java + runtime + org.xerial sqlite-jdbc diff --git a/src/main/java/com/vmock/biz/controller/LogController.java b/src/main/java/com/vmock/biz/controller/LogController.java index 089c3361b36a664b783b00eb56d2f53e1acf9c3d..cb6cb9e00242afc67c775810a81def82e34006dc 100644 --- a/src/main/java/com/vmock/biz/controller/LogController.java +++ b/src/main/java/com/vmock/biz/controller/LogController.java @@ -67,10 +67,31 @@ public class LogController extends BaseController { Log mockLog = mockLogService.getById(logId); String requestDetail = mockLog.getRequestDetail(); mmap.put("mockLog", mockLog); - mmap.put("requestDetail", JSONUtil.parseObj(requestDetail)); + boolean json = JSONUtil.isJson(requestDetail); + if (json){ + mmap.put("requestDetail", JSONUtil.parseObj(requestDetail)); + }else { + mmap.put("requestDetail", requestDetail); + } + return PREFIX + "/requestdetail"; } + @GetMapping("/requestTcp/{logId}") + public String requestTcpDetail(@PathVariable("logId") Long logId, ModelMap mmap) { + Log mockLog = mockLogService.getById(logId); + String requestDetail = mockLog.getRequestDetail(); + mmap.put("mockLog", mockLog); + boolean json = JSONUtil.isJson(requestDetail); + if (json){ + mmap.put("requestDetail", JSONUtil.parseObj(requestDetail)); + }else { + mmap.put("requestDetail", requestDetail); + } + + return PREFIX + "/requestdetailTcp"; + } + @GetMapping("/response/{logId}") public String responseDetail(@PathVariable("logId") Long logId, ModelMap mmap) { Log mockLog = mockLogService.getById(logId); @@ -79,4 +100,18 @@ public class LogController extends BaseController { mmap.put("responseDetail", JSONUtil.parseObj(responseDetail)); return PREFIX + "/responsedetail"; } + @GetMapping("/responseTcp/{logId}") + public String responseTcpDetail(@PathVariable("logId") Long logId, ModelMap mmap) { + Log mockLog = mockLogService.getById(logId); + String responseDetail = mockLog.getResponseDetail(); + mmap.put("mockLog", mockLog); + boolean json = JSONUtil.isJson(responseDetail); + if (json){ + mmap.put("responseDetail", JSONUtil.parseObj(responseDetail)); + }else { + mmap.put("responseDetail", responseDetail); + } + return PREFIX + "/responsedetailTcp"; + } + } diff --git a/src/main/java/com/vmock/biz/controller/ResponseController.java b/src/main/java/com/vmock/biz/controller/ResponseController.java index 6fa1a5ea0d630ff153590c8248355982ea7842c3..277b1499c7cc44d60fcfbc611cc49253d489150f 100644 --- a/src/main/java/com/vmock/biz/controller/ResponseController.java +++ b/src/main/java/com/vmock/biz/controller/ResponseController.java @@ -4,8 +4,11 @@ import com.vmock.base.utils.ExcelUtil; import com.vmock.base.vo.Result; import com.vmock.base.vo.TableDataVo; import com.vmock.biz.entity.Response; +import com.vmock.biz.entity.Url; import com.vmock.biz.enums.ResponseTypeEnum; import com.vmock.biz.service.IResponseService; +import com.vmock.biz.service.IUrlService; +import com.vmock.biz.tcp.TcpServer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -28,6 +31,10 @@ public class ResponseController extends BaseController { @Autowired private IResponseService mockResponseService; + @Autowired + private TcpServer tcpServer; + @Autowired + private IUrlService mockUrlService; @GetMapping public String response(String urlId, Integer type, ModelMap mmap) { @@ -96,6 +103,9 @@ public class ResponseController extends BaseController { @PostMapping("/edit") @ResponseBody public Result editSave(Response mockResponse) { + if (null != mockResponse.getMain() && 1 == mockResponse.getMain() ){ + restartServer(mockResponse.getResponseId()); + } return create(mockResponseService.updateById(mockResponse)); } @@ -118,15 +128,27 @@ public class ResponseController extends BaseController { @ResponseBody public Result changeMain(@PathVariable(name = "responseId") Long responseId, @RequestParam Integer main) { mockResponseService.changeMain(responseId, main); + restartServer(responseId); return Result.success(); } + private void restartServer(Long responseId) { + Response resp = mockResponseService.selectResponseById(responseId); + Url url = mockUrlService.selectOneUrlById(String.valueOf(resp.getUrlId())); + tcpServer.removeServer(String.valueOf(url.getUrlId())); + tcpServer.addServer(url); + } + /** * 鍒犻櫎杩斿洖浣 */ @DeleteMapping @ResponseBody public Result remove(String ids) { + Response resp = mockResponseService.selectResponseById(Long.valueOf(ids)); + if (null != resp.getMain() && 1 == resp.getMain() ){ + restartServer(resp.getResponseId()); + } return create(mockResponseService.removeById(ids)); } } diff --git a/src/main/java/com/vmock/biz/controller/UrlController.java b/src/main/java/com/vmock/biz/controller/UrlController.java index e866770d7535f8bccdfa93d380eaa96dbe769370..4d5f83a5fcad7b4e8ca38464ebb2f9fed54d2ef2 100644 --- a/src/main/java/com/vmock/biz/controller/UrlController.java +++ b/src/main/java/com/vmock/biz/controller/UrlController.java @@ -5,6 +5,7 @@ import com.vmock.base.vo.Result; import com.vmock.base.vo.TableDataVo; import com.vmock.biz.entity.Url; import com.vmock.biz.service.IUrlService; +import com.vmock.biz.tcp.TcpServer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -27,6 +28,8 @@ public class UrlController extends BaseController { @Autowired private IUrlService mockUrlService; + @Autowired + private TcpServer tcpServer; @GetMapping public String url() { @@ -66,6 +69,7 @@ public class UrlController extends BaseController { return PREFIX + "/add"; } + /** * 鏂板淇濆瓨url璺緞 */ @@ -75,6 +79,27 @@ public class UrlController extends BaseController { return create(mockUrlService.insertMockUrl(mockUrl)); } + + /** + * 鏂板tcp璺緞 + */ + @GetMapping("/addtcp") + public String addTcp() { + return PREFIX + "/addtcp"; + } + + + /** + * 鏂板淇濆瓨url璺緞 + */ + @PostMapping("/addtcp") + @ResponseBody + public Result addTcpSave(Url mockUrl) { + Result result = create(mockUrlService.insertMockUrl(mockUrl)); + tcpServer.addServer(mockUrl); + return result; + } + /** * 淇敼url璺緞 */ @@ -85,6 +110,13 @@ public class UrlController extends BaseController { return PREFIX + "/edit"; } + @GetMapping("/edittcp/{urlId}") + public String edittcp(@PathVariable("urlId") Long urlId, ModelMap mmap) { + Url mockUrl = mockUrlService.getById(urlId); + mmap.put("mockUrl", mockUrl); + return PREFIX + "/edittcp"; + } + /** * 淇敼淇濆瓨url璺緞 */ @@ -93,15 +125,26 @@ public class UrlController extends BaseController { @PostMapping("/edit") @ResponseBody public Result editSave(Url mockUrl) { + tcpServer.removeServer(String.valueOf(mockUrl.getUrlId())); + tcpServer.addServer(mockUrl); return create(mockUrlService.updateMockUrl(mockUrl)); } + @PostMapping("/edittcp") + @ResponseBody + public Result edittcpSave(Url mockUrl) { + tcpServer.removeServer(String.valueOf(mockUrl.getUrlId())); + tcpServer.addServer(mockUrl); + return create(mockUrlService.updateTcp(mockUrl)); + } + /** * 鍒犻櫎url */ @DeleteMapping @ResponseBody public Result remove(String ids) { + tcpServer.removeServer(ids); return create(mockUrlService.deleteMockUrlByIds(ids)); } @@ -115,6 +158,11 @@ public class UrlController extends BaseController { return mockUrlService.isUniqueUrl(url, urlId); } + @GetMapping("/checkPort") + @ResponseBody + public Boolean checkPort(Integer port, Long urlId) { + return mockUrlService.isUniquePort(port, urlId); + } /** * 璇︽儏椤 diff --git a/src/main/java/com/vmock/biz/entity/Url.java b/src/main/java/com/vmock/biz/entity/Url.java index 84b6d3587233e65d6b0e923d65d9a6e361d573f3..0cebf93e8615deab379f473beba5ca416117c2cc 100644 --- a/src/main/java/com/vmock/biz/entity/Url.java +++ b/src/main/java/com/vmock/biz/entity/Url.java @@ -16,6 +16,8 @@ import lombok.Data; @TableName("mock_url") public class Url extends BaseEntity { + + /** * 涓婚敭 */ @@ -28,6 +30,18 @@ public class Url extends BaseEntity { @Excel(name = "url璺緞锛宲ath浼犲弬浣嶇疆鐢▄path}鍗犱綅") private String url; + /** + * url璺緞锛宲ath浼犲弬浣嶇疆鐢▄path}鍗犱綅 + */ + @Excel(name = "url璺緞锛宲ath浼犲弬浣嶇疆鐢▄path}鍗犱綅") + private Integer port; + + /** + * url鍚嶇О + */ + @Excel(name = "url鍚嶇О") + private String type; + /** * url鍚嶇О */ diff --git a/src/main/java/com/vmock/biz/mapper/UrlMapper.java b/src/main/java/com/vmock/biz/mapper/UrlMapper.java index 6e021589c53a4963170d79a5efccbba1f19686e9..d9f15ac737ff3350b519145ca07d05dba9824871 100644 --- a/src/main/java/com/vmock/biz/mapper/UrlMapper.java +++ b/src/main/java/com/vmock/biz/mapper/UrlMapper.java @@ -11,4 +11,6 @@ import com.vmock.biz.entity.Url; */ public interface UrlMapper extends BaseMapper { + + } diff --git a/src/main/java/com/vmock/biz/service/IResponseService.java b/src/main/java/com/vmock/biz/service/IResponseService.java index e16fbe1d4df5d526518bd141dfe638c67ac5de9b..ffc5b78771f4d9f363b08f43b61d7c12973e4ee1 100644 --- a/src/main/java/com/vmock/biz/service/IResponseService.java +++ b/src/main/java/com/vmock/biz/service/IResponseService.java @@ -36,4 +36,11 @@ public interface IResponseService extends IService { * @return MockResponse */ Response selectMainResponse(Long urlId); + + /** + * 鏍规嵁杩斿洖淇℃伅id鏌ヨ杩斿洖浣 + * @param responseId + * @return + */ + Response selectResponseById(Long responseId); } diff --git a/src/main/java/com/vmock/biz/service/IUrlService.java b/src/main/java/com/vmock/biz/service/IUrlService.java index bfd2aa589ebb7a40bf9637c4d308d638d98d7a08..76b3c823ea8e354ce11d71041d1a365c084b1be2 100644 --- a/src/main/java/com/vmock/biz/service/IUrlService.java +++ b/src/main/java/com/vmock/biz/service/IUrlService.java @@ -63,7 +63,6 @@ public interface IUrlService extends IService { /** * 澶勭悊url涓簂ogic - * * @param url 鍏ュ弬url * @return 澶勭悊濂界殑logic瀛楁 */ @@ -71,7 +70,6 @@ public interface IUrlService extends IService { /** * 澶勭悊url鏍煎紡 - * * @param url url鏍煎紡 * @return 绠鍗曞鐞嗗悗鐨剈rl */ @@ -79,27 +77,30 @@ public interface IUrlService extends IService { /** * url unique check - * * @param url url path * @param urlId has id, for edit page * @return true锛氬敮涓url锛 false 涓嶅敮涓 */ boolean isUniqueUrl(String url, Long urlId); + Boolean isUniquePort(Integer checkPort, Long urlId); + /** * 鏍规嵁閫昏緫鍒涘缓姝e垯鏌rl - * * @param requestUrlLogic logic string * @return mockUrl entity */ Url getUrlByRegexp(String requestUrlLogic); - /** * 淇敼杩斿洖绫诲瀷 - * * @param urlId url涓婚敭 * @param type 鐩爣杩斿洖绫诲瀷 */ void changeResponseType(Long urlId, Integer type); + + Url selectOneUrlById(String ids); + + boolean updateTcp(Url mockUrl); + } diff --git a/src/main/java/com/vmock/biz/service/impl/ResponseServiceImpl.java b/src/main/java/com/vmock/biz/service/impl/ResponseServiceImpl.java index 8bff7501fed095656dd3f1a7279ecfe8029ae4a7..5b5d7a017fdb6e16def91db30a620f69f49efdc2 100644 --- a/src/main/java/com/vmock/biz/service/impl/ResponseServiceImpl.java +++ b/src/main/java/com/vmock/biz/service/impl/ResponseServiceImpl.java @@ -85,4 +85,11 @@ public class ResponseServiceImpl extends ServiceImpl i // limit .last(CommonConst.LIMIT_ONE)); } + + @Override + public Response selectResponseById(Long responseId) { + return this.getOne(Wrappers.lambdaQuery() + .eq(Response::getResponseId, responseId) + .last(CommonConst.LIMIT_ONE)); + } } diff --git a/src/main/java/com/vmock/biz/service/impl/UrlLogicServiceImpl.java b/src/main/java/com/vmock/biz/service/impl/UrlLogicServiceImpl.java index 7b399818798824888459ed2ee43c9904fafc1a96..28af7f99d428be39e2721f120f2466c5fb2eb9b0 100644 --- a/src/main/java/com/vmock/biz/service/impl/UrlLogicServiceImpl.java +++ b/src/main/java/com/vmock/biz/service/impl/UrlLogicServiceImpl.java @@ -38,6 +38,9 @@ public class UrlLogicServiceImpl extends ServiceImpl i public List insertByUrl(String url) { // 鏍规嵁鏂滅嚎鍒嗗壊 鎻掑叆閫昏緫琛 String[] subUrls = url.split("\\/"); + if (subUrls.length == 0) { + return new ArrayList(); + } List mockUrlLogics = new ArrayList<>(); // 鍋氭垚闆嗗悎鎵归噺鎻掑叆 // db sub_url鏄 UNIQUE锛屽苟 ON CONFLICT IGNORE锛屼笉浼氶噸澶嶃 diff --git a/src/main/java/com/vmock/biz/service/impl/UrlServiceImpl.java b/src/main/java/com/vmock/biz/service/impl/UrlServiceImpl.java index 764b897088c93572d28b280288e30e4be2df90de..b76b71c8411fe330b0ab788e892e9e30dac91cb5 100644 --- a/src/main/java/com/vmock/biz/service/impl/UrlServiceImpl.java +++ b/src/main/java/com/vmock/biz/service/impl/UrlServiceImpl.java @@ -8,6 +8,7 @@ import com.vmock.base.constant.CommonConst; import com.vmock.base.utils.DataBaseUtils; import com.vmock.biz.entity.Url; import com.vmock.biz.entity.UrlLogic; +import com.vmock.biz.tcp.ProtocolTypeEnum; import com.vmock.biz.mapper.UrlMapper; import com.vmock.biz.service.IUrlLogicService; import com.vmock.biz.service.IUrlService; @@ -92,13 +93,23 @@ public class UrlServiceImpl extends ServiceImpl implements IUrlS @Transactional(rollbackFor = Exception.class) @Override public boolean insertMockUrl(Url mockUrl) { - // url format - String url = this.formatUrlStr(mockUrl.getUrl()); - // logic insert - String urlLogic = this.insertUrlLogic(url); - // 淇濆瓨杞崲鍚庣殑logic - mockUrl.setLogic(urlLogic); - return this.save(mockUrl); + + if (ProtocolTypeEnum.HTTP.getCode().equals(mockUrl.getType())){ + // url format + String url = this.formatUrlStr(mockUrl.getUrl()); + // logic insert + String urlLogic = this.insertUrlLogic(url); + // 淇濆瓨杞崲鍚庣殑logic + mockUrl.setLogic(urlLogic); + return this.save(mockUrl); + }else if (ProtocolTypeEnum.TCP.getCode().equals(mockUrl.getType())){ + Integer port = mockUrl.getPort(); + + System.out.println("port = "+port); + return this.save(mockUrl); + }else { + return false; + } } /** @@ -144,7 +155,6 @@ public class UrlServiceImpl extends ServiceImpl implements IUrlS /** * url unique check - * * @param url url path * @param urlId, for edit page */ @@ -160,6 +170,17 @@ public class UrlServiceImpl extends ServiceImpl implements IUrlS return count == 0; } + @Override + public Boolean isUniquePort(Integer checkPort, Long urlId){ + // format url + int count = this.count(Wrappers.lambdaQuery() + // url + .eq(Url::getPort, checkPort) + // id + .notIn(urlId != null, Url::getUrlId, urlId)); + return count == 0; + } + /** * 鏍规嵁閫昏緫鍒涘缓姝e垯鏌rl * @@ -206,6 +227,11 @@ public class UrlServiceImpl extends ServiceImpl implements IUrlS this.updateById(urlEntity); } + @Override + public Url selectOneUrlById(String id) { + return this.getOne(Wrappers.lambdaQuery().eq(Url::getUrlId, id)); + } + /** * 淇敼url璺緞 * @@ -223,6 +249,22 @@ public class UrlServiceImpl extends ServiceImpl implements IUrlS return this.updateById(mockUrl); } + /** + * 鏇存柊tcp + * @param mockUrl + * @return + */ + @Override + public boolean updateTcp(Url mockUrl) { + // url澶勭悊 + Integer port = mockUrl.getPort(); + if (port > 0 && port < 65536){ + return this.updateById(mockUrl); + }else { + return false; + } + } + /** * 鍒犻櫎url璺緞瀵硅薄 * diff --git a/src/main/java/com/vmock/biz/tcp/ProtocolTypeEnum.java b/src/main/java/com/vmock/biz/tcp/ProtocolTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..c940ad2ff51ed180fc71e0fa399148bca29c25b5 --- /dev/null +++ b/src/main/java/com/vmock/biz/tcp/ProtocolTypeEnum.java @@ -0,0 +1,31 @@ +package com.vmock.biz.tcp; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 鍗忚绫诲瀷鏋氫妇 + * + * @author wlz + * @since 2023骞7鏈12鏃22:53:13 + */ +@Getter +@AllArgsConstructor +public enum ProtocolTypeEnum { + + /** + * 鏅氱敤鎴 + */ + TCP("tcp"), + + /** + * admin + */ + HTTP("http"); + + /** + * 绫诲瀷鍊 + */ + private String code; + +} diff --git a/src/main/java/com/vmock/biz/tcp/TcpConn.java b/src/main/java/com/vmock/biz/tcp/TcpConn.java new file mode 100644 index 0000000000000000000000000000000000000000..ed76ee467bb0e0c2fd45280af7bf5a2684e9790a --- /dev/null +++ b/src/main/java/com/vmock/biz/tcp/TcpConn.java @@ -0,0 +1,201 @@ +package com.vmock.biz.tcp; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.vmock.biz.entity.Log; +import com.vmock.biz.entity.Response; +import com.vmock.biz.entity.Url; +import com.vmock.biz.service.ILogService; +import com.vmock.biz.service.IResponseService; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.SocketException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; + +//@Component +//@Scope("prototype") +@Getter +@Setter +@Slf4j +public class TcpConn { + + + private static Integer port; + private TcpServerStatusEnum status; + private ServerSocket serverSocket ; + private Thread masterThread ; + private Response response; + private Url item; + private IResponseService responseService; + private ILogService logService; +// private Executors + public TcpConn(Url item, IResponseService responseService, ILogService logService) { + this.responseService = responseService; + this.item = item; + this.logService = logService; + try { + serverSocket = new ServerSocket(item.getPort()); + status = TcpServerStatusEnum.RUNING; + } catch (IOException e) { + log.info(item.getPort() +" 鍚姩澶辫触: "+e.getMessage()); + return; + } + this.masterThread = new Thread(new TcpMaster(serverSocket,item,logService),"boss-thread-"+(item.getPort())); + this.masterThread.start(); + log.info(item.getPort()+" 鏈嶅姟鍚姩 success thread = "+masterThread.getName()); + } + + private class Workthrad implements ThreadFactory{ + private int workthradnum = 0 ; + public Workthrad(int workthradnum){ + this.workthradnum = workthradnum; + } + @Override + public Thread newThread(Runnable r) { + return new Thread(r,Thread.currentThread().getName()+"-work-thread-"+(++workthradnum)); + } + + } + private class TcpMaster implements Runnable { + private int workthradnum = 0; + ServerSocket serverSocket; + private ILogService logService; + Url item; + public TcpMaster(ServerSocket serverSocket, Url item,ILogService logService) { + this.serverSocket = serverSocket; + this.item = item; + this.logService = logService; + } + + @Override + public void run() { + ExecutorService executorService = Executors.newFixedThreadPool(5,new Workthrad(workthradnum)); + Response response = responseService.selectMainResponse(item.getUrlId()); + while (TcpServerStatusEnum.RUNING.equals(status)){ + try { + Socket client = serverSocket.accept(); + executorService.submit(new tcpWorker(client,response,logService)); + }catch(SocketException e1){ + log.warn(serverSocket.getLocalPort()+" 鏈嶅姟鍏抽棴: {}",e1.getMessage()); + } catch (IOException e) { + log.error(serverSocket.getLocalPort()+" 鏈嶅姟鍏抽棴寮傚父: {}",e.getMessage()); + throw new RuntimeException(e); + } + } + log.info(item.getPort()+" 鏈嶅姟鍋滄锛"+status.getStatus()); + + } + } + + + private static class tcpWorker implements Runnable { + + private Socket client; + private Response response ; + private ILogService logService; + public tcpWorker(Socket client, Response response, ILogService logService) { + this.client = client; + this.response = response; + this.logService = logService; + } + + @Override + public void run() { + log.info(client.getRemoteSocketAddress().toString()); + OutputStream outputStream = null; + InputStream inputStream = null; + ByteArrayOutputStream outByte = null; + String req = null; + try { + byte [] buff = new byte[1024]; + int len = 0; + inputStream = client.getInputStream(); + outByte = new ByteArrayOutputStream(); + while ( ( len = inputStream.read(buff)) > 0 ){ + outByte.write(buff,0,len); + if (len < buff.length) { + break; + } + } + req = outByte.toString(); + log.info("鏀跺埌鎶ユ枃锛歔 {} ]",req); + outputStream = client.getOutputStream(); + if (response == null || outByte.toString().contains("/favicon.ico")) { + String resp = "{\"hi\":\"hello world\"}"; + log.info("杩斿洖鎶ユ枃锛歔 {} ]",resp); + recodeLog(logService,req,resp); + outputStream.write(resp.getBytes()); + }else { + byte[] resBytes = response.getContent().getBytes(); + String headlens = StringUtils.leftPad(String.valueOf(resBytes.length), 10, "0"); + log.info("headlen =[ {} ]",headlens); +// String resp = headlens + response.getContent(); + String resp = response.getContent(); + log.info("杩斿洖鎶ユ枃锛歔 {} ]",resp); + recodeLog(logService,req,resp); + outputStream.write(resp.getBytes()); + } + outputStream.flush(); + client.close(); + } catch (IOException e) { + log.warn("outputStream closed",e); + throw new RuntimeException(e); + }finally { + try { + if (inputStream != null) { + inputStream.close(); + } + if (outputStream != null) { + outputStream.close(); + } + if (outByte != null) { + outByte.close(); + } + } catch (IOException e) { + log.error("鍏抽棴娴侀敊璇紒",e); + } + } + } + + private void recodeLog(ILogService logService, String req, String resp) { + Log mockLog = new Log(); + // 鍛戒腑url锛岀郴缁熶腑閰嶇疆鐨勶紝鍙兘鏄甫path鍗犱綅绗︾殑 + mockLog.setHitUrl(String.valueOf(port)); + // 瀹為檯url + mockLog.setRequestUrl(client.getRemoteSocketAddress().toString()); + // ip + mockLog.setRequestIp(client.getRemoteSocketAddress().toString()); + // request method + mockLog.setRequestMethod("Socket"); + // request detail + mockLog.setRequestDetail(req); + // 鏃ュ織澶勭悊锛屽彧鏈夋垚鍔熷懡涓殑鍦哄悎鎵嶈褰曡缁嗭紝闃叉浜х敓杩囧鍨冨溇鏁版嵁銆 +// JSONObject responseDetailJson = new JSONObject(); +// // 鍝嶅簲http鐮 +// responseDetailJson.put("respStatus", "200"); +// // header +//// String customHeader = mockResponse.getCustomHeader(); +//// if (StrUtil.isNotBlank(customHeader)) { +//// responseDetailJson.put("respHeader", new JSONArray(customHeader)); +//// } +// // 鐩稿簲鍐呭 +// responseDetailJson.put("respContent", resp); + // response detail + mockLog.setResponseDetail(resp); + // 寮傛鎻掑叆 + logService.asyncInsert(mockLog); + } + } +} diff --git a/src/main/java/com/vmock/biz/tcp/TcpServer.java b/src/main/java/com/vmock/biz/tcp/TcpServer.java new file mode 100644 index 0000000000000000000000000000000000000000..cb6e3703053ad1d019355a25f363399e22c7675c --- /dev/null +++ b/src/main/java/com/vmock/biz/tcp/TcpServer.java @@ -0,0 +1,74 @@ +package com.vmock.biz.tcp; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.servlet.ServletUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.vmock.base.core.response.IMockResponse; +import com.vmock.base.utils.BizUtils; +import com.vmock.biz.entity.Log; +import com.vmock.biz.entity.Response; +import com.vmock.biz.entity.Url; +import com.vmock.biz.service.ILogService; +import com.vmock.biz.service.IResponseService; +import com.vmock.biz.service.IUrlService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.net.ServerSocket; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +@Slf4j +@Component +public class TcpServer { + + private static ConcurrentMap serverMap = new ConcurrentHashMap(10) ; + + @Autowired + private IUrlService mockUrlService; + + @Autowired + private IResponseService mockResponseService; + + @Autowired + private ILogService logService; + @PostConstruct + public void init(){ + List urls = mockUrlService.selectMockUrlList(new Url()); + urls.stream().filter(item->(item.getType().equals(ProtocolTypeEnum.TCP.getCode()))).forEach((item)->{ + serverMap.put(item.getPort(),new TcpConn(item, mockResponseService,logService)); + }); + log.info("TCP server num = "+ serverMap.size()); + } + + public void removeServer(String id) { + Url url = mockUrlService.selectOneUrlById(id); + if (null != url && ProtocolTypeEnum.TCP.getCode().equals(url.getType())){ + TcpConn tcpConn = serverMap.get(url.getPort()); + tcpConn.setStatus(TcpServerStatusEnum.STOP); + serverMap.remove(url.getPort()); + try { + ServerSocket ss = tcpConn.getServerSocket(); + if (ss != null) { + tcpConn.getServerSocket().close(); + } + log.info(url.getPort()+" 鏈嶅姟绉诲嚭锛"); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + + public void addServer(Url item) { + if (null != item){ + Response response = mockResponseService.selectMainResponse(item.getUrlId()); + serverMap.put(item.getPort(),new TcpConn(item, mockResponseService, logService)); + } + } +} diff --git a/src/main/java/com/vmock/biz/tcp/TcpServerStatusEnum.java b/src/main/java/com/vmock/biz/tcp/TcpServerStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..a23feea6deb35516f2449701c338d21b0736d212 --- /dev/null +++ b/src/main/java/com/vmock/biz/tcp/TcpServerStatusEnum.java @@ -0,0 +1,21 @@ +package com.vmock.biz.tcp; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum TcpServerStatusEnum { + + RUNING(1,"runing"), + + STOP(0,"stop"); + + ; + + private Integer code; + + private String status; + + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 38716df7b4b180fc3db39891d50e0ca7e19272a7..89460cc32c6e277ccddc9e51fad5139b115c8277 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,101 @@ +#server: +# # 绔彛 +# port: 80 +# servlet: +# # 璁块棶璺緞 +# context-path: / +# tomcat: +# # tomcat鐨刄RI缂栫爜 +# uri-encoding: UTF-8 +# # tomcat鏈澶х嚎绋嬫暟 +# max-threads: 400 +# # tomcat鍒濆鍖栫殑绾跨▼鏁 +# min-spare-threads: 30 +# +## 鏃ュ織閰嶇疆 +#logging: +# level: +# com.vmock: debug +# org.springframework: warn +# +## Spring閰嶇疆 +#spring: +# # 妯℃澘寮曟搸 +# thymeleaf: +# mode: HTML +# encoding: utf-8 +# # 绂佺敤缂撳瓨 +# cache: false +# jackson: +# time-zone: GMT+8 +# date-format: yyyy-MM-dd HH:mm:ss +# profiles: +# active: druid +# datasource: +# type: com.alibaba.druid.pool.DruidDataSource +# driverClassName: org.sqlite.JDBC +# druid: +# # 鏁版嵁婧 +# url: jdbc:sqlite::resource:db/v-mock.sqlite +# # 鍒濆杩炴帴鏁 +# initialSize: 5 +# # 鏈灏忚繛鎺ユ睜鏁伴噺 +# minIdle: 5 +# # 鏈澶ц繛鎺ユ睜鏁伴噺 +# maxActive: 10 +# # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂 +# maxWait: 30000 +# # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 +# timeBetweenEvictionRunsMillis: 60000 +# # 閰嶇疆涓涓繛鎺ュ湪姹犱腑鏈灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 +# minEvictableIdleTimeMillis: 300000 +# # 閰嶇疆涓涓繛鎺ュ湪姹犱腑鏈澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 +# maxEvictableIdleTimeMillis: 900000 +# # 閰嶇疆妫娴嬭繛鎺ユ槸鍚︽湁鏁 +# validationQuery: SELECT 1 +# testWhileIdle: true +# webStatFilter: +# enabled: false +# statViewServlet: +# enabled: false +# filter: +# stat: +# enabled: true +# # 鎱QL璁板綍 +# log-slow-sql: true +# slow-sql-millis: 1000 +# merge-sql: true +# wall: +# config: +# multi-statement-allow: true +## MyBatis plus +#mybatis-plus: +# # package name range +# typeAliasesPackage: com.vmock.biz.entity +# # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵鏈夌殑mapper.xml鏄犲皠鏂囦欢 +# mapperLocations: classpath:mybatis/*Mapper.xml +# # 鍏ㄥ眬閰嶇疆 +# Configuration: +# # 鍏ㄥ眬鏄犲皠鍣ㄥ惎鐢ㄧ紦瀛 +# cacheEnabled: true +# # 鍏佽 JDBC 鏀寔鑷姩鐢熸垚涓婚敭 +# useGeneratedKeys: false +# # 榛樿鐨勬墽琛屽櫒 +# defaultExecutorType: REUSE +# logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl +# global-config: +# # banner print -> off +# banner: false +# # logic delete config +# db-config: +# # already delete value -> 1 +# logic-delete-value: 1 +# # not delete value -> 0 +# logic-not-delete-value: 0 + server: # 绔彛 - port: 80 + port: 8089 servlet: # 璁块棶璺緞 context-path: / @@ -33,10 +128,17 @@ spring: active: druid datasource: type: com.alibaba.druid.pool.DruidDataSource - driverClassName: org.sqlite.JDBC + # driverClassName: org.sqlite.JDBC + + # url: jdbc:mysql://120.77.38.34:13306/smlh?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8 + # driver-class-name: com.mysql.cj.jdbc.Driver druid: # 鏁版嵁婧 - url: jdbc:sqlite::resource:db/v-mock.sqlite + # url: jdbc:sqlite::resource:db/v-mock.sqlite + url: jdbc:mysql://172.31.214.117:13306/mock?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8 + password: mysql@2023 + username: root + driver-class-name: com.mysql.cj.jdbc.Driver # 鍒濆杩炴帴鏁 initialSize: 5 # 鏈灏忚繛鎺ユ睜鏁伴噺 @@ -68,6 +170,7 @@ spring: wall: config: multi-statement-allow: true + # MyBatis plus mybatis-plus: # package name range diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt index fda3fb23ec47f9e1215c4d584b80cceab0d2cda1..c31f09726d6dc6a3cef728628e3ae2c763015d84 100644 --- a/src/main/resources/banner.txt +++ b/src/main/resources/banner.txt @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------------------ -___ __ _____ ____ ____ | | __ -\ \/ / ______ / \ / _ \_/ ___\| |/ / - \ / /_____/ | Y Y ( <_> ) \___| < Power By Spring Boot ${spring-boot.version} - \_/ |__|_| /\____/ \___ >__|_ \ - \/ \/ \/ + _____ ____ ____ | | __ + / \ / _ \_/ ___\| |/ / + | Y Y ( <_> ) \___| < Power By Spring Boot ${spring-boot.version} + |__|_| /\____/ \___ >__|_ \ + \/ \/ \/ ------------------------------------------------------------------------------------------ \ No newline at end of file diff --git a/src/main/resources/db/v-mock.sqlite b/src/main/resources/db/v-mock.sqlite index 263484667086670629a481b31167004307808830..b5f1d5a1676e24569ba89eac07a39e08e610f392 100644 Binary files a/src/main/resources/db/v-mock.sqlite and b/src/main/resources/db/v-mock.sqlite differ diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 002312cbf5528492f70f93d8aee5ca0dbf9938a6..ec39c83a1a7eb0bb03ff29d94b2f5448e4a65e66 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/src/main/resources/static/favicon.ico b/src/main/resources/static/favicon.ico index 54d3d267da786afd82d9c7b302f119bd7b731878..d1aed610021e758eb4c63bcc4f9c13776808b877 100644 Binary files a/src/main/resources/static/favicon.ico and b/src/main/resources/static/favicon.ico differ diff --git a/src/main/resources/static/gyns-log.png b/src/main/resources/static/gyns-log.png new file mode 100644 index 0000000000000000000000000000000000000000..d1aed610021e758eb4c63bcc4f9c13776808b877 Binary files /dev/null and b/src/main/resources/static/gyns-log.png differ diff --git a/src/main/resources/static/sys/js/vmock.js b/src/main/resources/static/sys/js/vmock.js index 6a04bbaf147f3ae5fbe646546995d33018e3ed7c..ef6067787c3fe05bad8799ba2069a5ee0016d0cc 100644 --- a/src/main/resources/static/sys/js/vmock.js +++ b/src/main/resources/static/sys/js/vmock.js @@ -887,6 +887,11 @@ var table = { table.set(); $.modal.open("娣诲姞" + table.options.modalName, $.operate.addUrl(id)) }, + addtcp: function(id) { + table.set(); + console.log("table.options.modalName = "+table.options.modalName); + $.modal.open("娣诲姞tcp" + table.options.modalName, $.operate.addTcp(id)) + }, addTab: function(id) { table.set(); $.modal.openTab("娣诲姞" + table.options.modalName, $.operate.addUrl(id)) @@ -900,7 +905,12 @@ var table = { var url = $.common.isEmpty(id) ? table.options.createUrl.replace("{id}", "") : table.options.createUrl.replace("{id}", id); return url }, - edit: function(id) { + addTcp: function(id) { + console.log("url锛"+url); + var url = $.common.isEmpty(id) ? table.options.createTcp.replace("{id}", "") : table.options.createTcp.replace("{id}", id); + return url + }, + edit: function(id,type){ table.set(); if ($.common.isEmpty(id) && table.options.type == table_type.bootstrapTreeTable) { var row = $("#" + table.options.id).bootstrapTreeTable('getSelections')[0]; @@ -908,15 +918,23 @@ var table = { $.modal.alertWarning("璇疯嚦灏戦夋嫨涓鏉¤褰"); return } - var url = table.options.updateUrl.replace("{id}", row[table.options.uniqueId]); + var url; + if (type === "tcp"){ + url = table.options.updateTcp.replace("{id}", row[table.options.uniqueId]); + }else{ + url = table.options.updateUrl.replace("{id}", row[table.options.uniqueId]); + } + $.modal.open("淇敼" + table.options.modalName, url) } else { - $.modal.open("淇敼" + table.options.modalName, $.operate.editUrl(id)) + console.log("id = "+id) + console.log("type = "+type) + $.modal.open("淇敼" + table.options.modalName, $.operate.editUrl(id,type)) } }, editTab: function(id) { table.set(); - $.modal.openTab("淇敼" + table.options.modalName, $.operate.editUrl(id)) + $.modal.openTab("淇敼" + table.options.modalName, $.operate.editUrl(id,null)) }, editFull: function(id) { table.set(); @@ -929,10 +947,15 @@ var table = { } $.modal.openFull("淇敼" + table.options.modalName, url) }, - editUrl: function(id) { + editUrl: function(id,type) { var url = "/404.html"; if ($.common.isNotEmpty(id)) { - url = table.options.updateUrl.replace("{id}", id) + if (type === "tcp"){ + url = table.options.updateTcp.replace("{id}", id); + }else { + url = table.options.updateUrl.replace("{id}", id); + } + // url = table.options.updateUrl.replace("{id}", id) } else { var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId); if (id.length == 0) { diff --git a/src/main/resources/static/vmock.png b/src/main/resources/static/vmock.png index 55f26c1c423345f694a84bf8c4126753f045b98d..d1aed610021e758eb4c63bcc4f9c13776808b877 100644 Binary files a/src/main/resources/static/vmock.png and b/src/main/resources/static/vmock.png differ diff --git a/src/main/resources/templates/system/log/mocklog.html b/src/main/resources/templates/system/log/mocklog.html index eba8fbe3753327a704d2d425c2080013db36ce22..96c6ce77ad0d82d51460c338d294fa0106cfb395 100644 --- a/src/main/resources/templates/system/log/mocklog.html +++ b/src/main/resources/templates/system/log/mocklog.html @@ -102,8 +102,8 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push(` 璇锋眰璇︾粏 `); - actions.push(` 鍝嶅簲璇︾粏 `); + actions.push(` 璇锋眰璇︾粏 `); + actions.push(` 鍝嶅簲璇︾粏 `); return actions.join(''); } }] @@ -130,11 +130,23 @@ $("#businessTypes").selectpicker('refresh'); } - function requestDetail(logId){ - $.modal.openWithoutYes("璇锋眰璇︽儏", prefix + `/request/${logId}`); + function requestDetail(logId,requestMethod){ + console.log("requestMethod = "+requestMethod) + if (requestMethod === "Socket"){ + $.modal.openWithoutYes("璇锋眰璇︽儏", prefix + `/requestTcp/${logId}`); + }else { + $.modal.openWithoutYes("璇锋眰璇︽儏", prefix + `/request/${logId}`); + } + } - function responseDetail(logId){ - $.modal.openWithoutYes("鍝嶅簲璇︽儏", prefix + `/response/${logId}`); + function responseDetail(logId,requestMethod){ + console.log("requestMethod = "+requestMethod) + if (requestMethod === "Socket"){ + $.modal.openWithoutYes("鍝嶅簲璇︽儏", prefix + `/responseTcp/${logId}`); + }else { + $.modal.openWithoutYes("鍝嶅簲璇︽儏", prefix + `/response/${logId}`); + } + } diff --git a/src/main/resources/templates/system/log/requestdetail.html b/src/main/resources/templates/system/log/requestdetail.html index a2d35d1f8db23258a902c903c6936149dce4c229..3dce79a28eb1f4110f54277a15a3aaa5759a1a2c 100644 --- a/src/main/resources/templates/system/log/requestdetail.html +++ b/src/main/resources/templates/system/log/requestdetail.html @@ -54,7 +54,8 @@
-

+

+

@@ -71,8 +72,9 @@
-

-

+                

+

diff --git a/src/main/resources/templates/system/log/requestdetailTcp.html b/src/main/resources/templates/system/log/requestdetailTcp.html new file mode 100644 index 0000000000000000000000000000000000000000..de236e7d3101c4c0600d6f59c1399905753c3ba5 --- /dev/null +++ b/src/main/resources/templates/system/log/requestdetailTcp.html @@ -0,0 +1,87 @@ + + + + + + +
+
+ +
+

+
+
+
+
+
+ +
+ +
+

+
+
+
+
+
+
+ +
+ +

+

+ +
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/src/main/resources/templates/system/log/responsedetailTcp.html b/src/main/resources/templates/system/log/responsedetailTcp.html new file mode 100644 index 0000000000000000000000000000000000000000..35652daefbe2012310230055f829f964103e02ef --- /dev/null +++ b/src/main/resources/templates/system/log/responsedetailTcp.html @@ -0,0 +1,36 @@ + + + + + + +
+
+ +
+

+
+
+
+
+
+
+ +
+

+
+
+
+
+
+
+ +
+

+

+
+
+
+ + + \ No newline at end of file diff --git a/src/main/resources/templates/system/response/edit.html b/src/main/resources/templates/system/response/edit.html index c6cdb0d2ea88e88e0c3423f65ae910734baed410..b52b2769e20111ff4edf1b198c9cf3a8ba9a8e5b 100644 --- a/src/main/resources/templates/system/response/edit.html +++ b/src/main/resources/templates/system/response/edit.html @@ -8,6 +8,7 @@
+
diff --git a/src/main/resources/templates/system/response/response.html b/src/main/resources/templates/system/response/response.html index 1de2e2ea74d861a860811a23ae7079b42578a829..40142cfa863bf940f844833a380778f7d48d3cdd 100644 --- a/src/main/resources/templates/system/response/response.html +++ b/src/main/resources/templates/system/response/response.html @@ -106,7 +106,7 @@ formatter: function(value, row, index) { var actions = []; actions.push(`璇︽儏 `); - actions.push('缂栬緫 '); + actions.push('缂栬緫 '); actions.push('鍒犻櫎'); return actions.join(''); } diff --git a/src/main/resources/templates/system/url/add.html b/src/main/resources/templates/system/url/add.html index ad1c172ad1d602e93ab59857dde29038f2acc644..885903149e02e34cecaa71f984e7f6f5b54f162e 100644 --- a/src/main/resources/templates/system/url/add.html +++ b/src/main/resources/templates/system/url/add.html @@ -12,10 +12,11 @@
+ placeholder="渚嬶細/v1/{path}/category/{path}/product" value="/testpath"/> 鈥 URL璺緞浠/寮濮嬶紝濡傛灉鏈塒ath浼犲弬鎯呭喌锛岃鐢ㄥ崰浣嶇{path}鍗犱綅
+
diff --git a/src/main/resources/templates/system/url/addtcp.html b/src/main/resources/templates/system/url/addtcp.html new file mode 100644 index 0000000000000000000000000000000000000000..0141200a316a726fa39887e0ad0bd69f221fdb17 --- /dev/null +++ b/src/main/resources/templates/system/url/addtcp.html @@ -0,0 +1,81 @@ + + + + + + + + +
+ + + +
+ +
+ + 鈥 鐞嗚涓 1-65535涔嬮棿 +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+ +
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/system/url/edit.html b/src/main/resources/templates/system/url/edit.html index 1e79fbbfe8f275b62447e17791aa6998016e6298..5471d918cade93cf76cfe560284b674443c177e1 100644 --- a/src/main/resources/templates/system/url/edit.html +++ b/src/main/resources/templates/system/url/edit.html @@ -15,6 +15,7 @@ 鈥 URL璺緞浠/寮濮嬶紝濡傛灉鏈塒ath浼犲弬鎯呭喌锛岃鐢ㄥ崰浣嶇{path}鍗犱綅
+
diff --git a/src/main/resources/templates/system/url/edittcp.html b/src/main/resources/templates/system/url/edittcp.html new file mode 100644 index 0000000000000000000000000000000000000000..d85ab7bcfa7be98c6f327de1c26cdfc9b75e2332 --- /dev/null +++ b/src/main/resources/templates/system/url/edittcp.html @@ -0,0 +1,89 @@ + + + + + + +
+
+ + + +
+ +
+ + 鈥 鐞嗚涓 1-65535涔嬮棿 +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/system/url/url.html b/src/main/resources/templates/system/url/url.html index 32f7722bc8ce64a00d36e657d83c5234f7b0f762..038d5663cc5d4360d4ba3e5713bcbabca2e5873b 100644 --- a/src/main/resources/templates/system/url/url.html +++ b/src/main/resources/templates/system/url/url.html @@ -41,6 +41,9 @@ 娣诲姞 + + 娣诲姞TCP + 淇敼 @@ -69,7 +72,9 @@ uniqueId: "urlId", detailUrl: prefix + "/{id}", createUrl: prefix + "/add", + createTcp: prefix + "/addtcp", updateUrl: prefix + "/edit/{id}", + updateTcp: prefix + "/edittcp/{id}", removeUrl: prefix, exportUrl: prefix + "/export", modalName: "url璺緞", @@ -80,10 +85,18 @@ field: 'name', title: '鍚嶇О' }, + { + field: 'type', + title: '鍗忚绫诲瀷' + }, { field: 'url', title: 'URL璺緞' }, + { + field: 'port', + title: '绔彛' + }, { field: 'responseType', title: '鍝嶅簲妯″紡', @@ -105,7 +118,7 @@ actions.push(` 杩斿洖浣 `); actions.push(` 鏃ュ織 `); actions.push(`璇︽儏 `); - actions.push('缂栬緫 '); + actions.push('缂栬緫 '); actions.push('鍒犻櫎'); return actions.join(''); }