SyncHistoryTest.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package history;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONException;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.dayou.BaseApplication;
  7. import com.dayou.dto.history.HisMajorOrder;
  8. import com.dayou.dyoa.IDyoaHistoryService;
  9. import com.dayou.utils.HttpKit;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.apache.http.HttpEntity;
  12. import org.apache.http.HttpResponse;
  13. import org.apache.http.client.HttpClient;
  14. import org.apache.http.client.methods.HttpGet;
  15. import org.apache.http.client.methods.HttpPost;
  16. import org.apache.http.impl.client.DefaultHttpClient;
  17. import org.junit.Test;
  18. import org.junit.runner.RunWith;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.boot.test.context.SpringBootTest;
  21. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  22. import java.io.BufferedReader;
  23. import java.io.IOException;
  24. import java.io.InputStreamReader;
  25. import java.io.PrintWriter;
  26. import java.net.HttpURLConnection;
  27. import java.net.URL;
  28. import java.net.URLConnection;
  29. import java.util.Arrays;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. import java.util.Map;
  33. import java.util.regex.Matcher;
  34. import java.util.regex.Pattern;
  35. /**
  36. * 类说明:
  37. *
  38. * @author: wucl
  39. * @since: 2024/5/7
  40. * created with IntelliJ IDEA.
  41. */
  42. @Slf4j
  43. @SpringBootTest(classes = BaseApplication.class)
  44. @RunWith(value = SpringJUnit4ClassRunner.class)
  45. public class SyncHistoryTest {
  46. private static final String HISTORY_MAJOR_ORDER_URL = "http://noa.scdayou.com/dyoa/order/pageQuery";
  47. private static final String HISTORY_LOGIN_URL = "http://noa.scdayou.com/login";
  48. private static String COOKIE ;
  49. @Autowired
  50. private IDyoaHistoryService dyoaHistoryService;
  51. public static void main(String[] args) {
  52. COOKIE = historySystemLogin();
  53. syncMajorOrderTest();
  54. // try {
  55. // JSONObject jsonObject = JSON.parseObject("<!DOCTYPE html>\n" +"<html>");
  56. // } catch (JSONException e) {
  57. // log.error("JSONException");
  58. // }
  59. }
  60. public static void syncMajorOrderTest(){
  61. Map<String,Object> params = new HashMap<>();
  62. params.put("limit","15");
  63. params.put("orderBy","-createdDatetime");
  64. params.put("start","0");
  65. String respond = HttpKit.sendPost(HISTORY_MAJOR_ORDER_URL, params,COOKIE);
  66. JSONObject jsonObject = JSON.parseObject(respond);
  67. JSONObject data = jsonObject.getJSONObject("data");
  68. JSONArray data1 = data.getJSONArray("data");
  69. List<HisMajorOrder> hisMajorOrders = data1.toJavaList(HisMajorOrder.class);
  70. log.info(hisMajorOrders.toString());
  71. }
  72. public static String historySystemLogin(){
  73. try {
  74. // 创建HttpClient对象
  75. HttpClient httpClient = new DefaultHttpClient();
  76. // 创建HttpGet请求对象
  77. HttpPost httpPost = new HttpPost(HISTORY_LOGIN_URL+"?loginName=admin&password=ABC666000");
  78. // 发送请求并获取响应
  79. HttpResponse response = httpClient.execute(httpPost);
  80. // 获取cookie
  81. String cookies = Arrays.toString(response.getHeaders("Set-Cookie"));
  82. if (cookies != null) {
  83. String pattern = "(JSESSIONID)(.*?)( )";
  84. Pattern r = Pattern.compile(pattern);
  85. // 创建 matcher 对象
  86. Matcher m = r.matcher(cookies);
  87. if (m.find()) {
  88. return m.group(0);
  89. }
  90. }
  91. // 关闭连接
  92. httpClient.getConnectionManager().shutdown();
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. }
  96. return null;
  97. }
  98. @Test
  99. public void getLandTargetMajorTest() throws NoSuchFieldException, IllegalAccessException {
  100. dyoaHistoryService.fetchDyoaMajorOrderProduction();
  101. }
  102. }