WelcomePayController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package com.template.controller;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.fasterxml.jackson.core.JsonProcessingException;
  5. import com.fasterxml.jackson.core.type.TypeReference;
  6. import com.fasterxml.jackson.databind.ObjectMapper;
  7. import com.google.common.reflect.TypeToken;
  8. import com.google.gson.Gson;
  9. import com.template.annotation.PassToken;
  10. import com.template.api.WelcomePayControllerAPI;
  11. import com.template.api.WelcomeVisitorControllerAPI;
  12. import com.template.common.exception.MyCustomException;
  13. import com.template.common.result.ResponseStatusEnum;
  14. import com.template.common.utils.HttpsClient;
  15. import com.template.model.query.WelcomeVisitorQuery;
  16. import com.template.model.request.WelcomeVisitorRequest;
  17. import com.template.model.result.CommonResult;
  18. import com.template.model.result.PageUtils;
  19. import com.template.model.vo.JsonPayVo;
  20. import com.template.model.vo.WelcomeVisitorVO;
  21. import com.template.services.WelcomeVisitorService;
  22. import com.tencentcloudapi.tci.v20190318.models.Person;
  23. import lombok.RequiredArgsConstructor;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import java.util.HashMap;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * 访客相关接口
  30. * @author codingliang
  31. * @date 2025-06-16
  32. */
  33. @RestController
  34. @RequiredArgsConstructor
  35. public class WelcomePayController implements WelcomePayControllerAPI {
  36. static String urlStr = "https://pay.ncjti.edu.cn:8068/";//正式
  37. //static String urlStr = "http://pay.ncjti.edu.cn:8081/";//测试
  38. //获取全量数据
  39. @Override
  40. @PassToken
  41. public CommonResult getDatas() {
  42. String timeStr = String.valueOf(System.currentTimeMillis());
  43. String sds = querySign(timeStr);
  44. Map<String, String> tokenParams = new HashMap<>();
  45. String queryStr = "?token="+sds+"&timestamp="+timeStr;
  46. // wecode换取token
  47. //String respon = HttpsClient.post(urlStr +"api/getXsffDataAll"+queryStr, tokenParams); //正式
  48. String respon = HttpsClient.post(urlStr +"api/getXsffDataAll"+queryStr, tokenParams);
  49. return CommonResult.ok(respon);
  50. }
  51. //根据学校及收费区间获取欠费
  52. @Override
  53. @PassToken
  54. public CommonResult getDataOne(String cardNo,String year) throws JsonProcessingException {
  55. String timeStr = String.valueOf(System.currentTimeMillis());
  56. String token = querySign(timeStr);
  57. Map<String, String> tokenParams = new HashMap<>();
  58. String queryStr = "?token="+token+"&timestamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo;
  59. // wecode换取token
  60. String respon = HttpsClient.post(urlStr +"api/getXsffDataOne"+queryStr, tokenParams);
  61. Gson gson = new Gson();
  62. List<JsonPayVo> travelers = gson.fromJson(respon, new TypeToken<List<JsonPayVo>>(){}.getType());
  63. return CommonResult.ok(travelers);
  64. }
  65. //根据学号、入学年度和收费区间获取欠费
  66. @Override
  67. @PassToken
  68. public CommonResult getDataTwo(String cardNo,String year) {
  69. String timeStr = String.valueOf(System.currentTimeMillis());
  70. String sds = querySign(timeStr);
  71. Map<String, String> tokenParams = new HashMap<>();
  72. // tokenParams.put("sign", sds);
  73. // tokenParams.put("timestamp", timeStr);
  74. // tokenParams.put("xh", cardNo);
  75. // tokenParams.put("sfqjdm", year);
  76. // tokenParams.put("rxnd", year);
  77. String queryStr = "?token="+sds+"&timestamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo+"&rxnd="+year;
  78. // wecode换取token
  79. String respon = HttpsClient.post(urlStr +"api/getXsffDataTwo"+queryStr, tokenParams);
  80. Gson gson = new Gson();
  81. List<JsonPayVo> travelers = gson.fromJson(respon, new TypeToken<List<JsonPayVo>>(){}.getType());
  82. return CommonResult.ok(travelers);
  83. }
  84. //根据入学年度及收费区间获取欠费
  85. @Override
  86. @PassToken
  87. public CommonResult getDataThree(String year) {
  88. String timeStr = String.valueOf(System.currentTimeMillis());
  89. String sds = querySign(timeStr);
  90. Map<String, String> tokenParams = new HashMap<>();
  91. // tokenParams.put("sign", sds);
  92. // tokenParams.put("timestamp", timeStr);
  93. // tokenParams.put("sfqjdm", year);
  94. // tokenParams.put("rxnd", year);
  95. String queryStr = "?token="+sds+"&timestamp="+timeStr+"&sfqjdm="+year+"&rxnd="+year;
  96. // wecode换取token
  97. String respon = HttpsClient.post(urlStr +"api/getXsffDataThree"+queryStr, tokenParams);
  98. return CommonResult.ok(respon);
  99. }
  100. public static List<JsonPayVo> queryStudentPayInfo(String cardNo,String year) {
  101. String timeStr = String.valueOf(System.currentTimeMillis());
  102. String token = querySign(timeStr);
  103. Map<String, String> tokenParams = new HashMap<>();
  104. // tokenParams.put("sign", sds);
  105. // tokenParams.put("timestamp", timeStr);
  106. // tokenParams.put("xh", cardNo);
  107. // tokenParams.put("sfqjdm", year);
  108. // tokenParams.put("rxnd", year);
  109. // String queryStr = "?token="+token+"&timestamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo+"&rxnd="+year;
  110. // // wecode换取token
  111. // String respon = HttpsClient.post("http://pay.ncjti.edu.cn:8068/api/getXsffDataTwo"+queryStr, tokenParams);
  112. String queryStr = "?token="+token+"&timestamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo;
  113. // wecode换取token
  114. String respon = HttpsClient.post(urlStr +"api/getXsffDataOne"+queryStr, tokenParams);
  115. Gson gson = new Gson();
  116. List<JsonPayVo> travelers = gson.fromJson(respon, new TypeToken<List<JsonPayVo>>(){}.getType());
  117. return travelers;
  118. }
  119. private static String querySign(String timestr){
  120. String devId = "ncjt00001";
  121. Map<String, String> tokenParams = new HashMap<>();
  122. tokenParams.put("devId", devId);
  123. tokenParams.put("timestamp", timestr);
  124. // wecode换取token
  125. String sign = HttpsClient.post(urlStr +"api/getSign", tokenParams);
  126. return sign;
  127. }
  128. }