package com.template.controller; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.template.annotation.PassToken; import com.template.api.WelcomePayControllerAPI; import com.template.api.WelcomeVisitorControllerAPI; import com.template.common.exception.MyCustomException; import com.template.common.result.ResponseStatusEnum; import com.template.common.utils.HttpsClient; import com.template.model.query.WelcomeVisitorQuery; import com.template.model.request.WelcomeVisitorRequest; import com.template.model.result.CommonResult; import com.template.model.result.PageUtils; import com.template.model.vo.JsonPayVo; import com.template.model.vo.WelcomeVisitorVO; import com.template.services.WelcomeVisitorService; import com.tencentcloudapi.tci.v20190318.models.Person; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 访客相关接口 * @author codingliang * @date 2025-06-16 */ @RestController @RequiredArgsConstructor public class WelcomePayController implements WelcomePayControllerAPI { static String urlStr = "https://pay.ncjti.edu.cn:8068/";//正式 //static String urlStr = "http://pay.ncjti.edu.cn:8081/";//测试 //获取全量数据 @Override @PassToken public CommonResult getDatas() { String timeStr = String.valueOf(System.currentTimeMillis()); String sds = querySign(timeStr); Map tokenParams = new HashMap<>(); String queryStr = "?token="+sds+"×tamp="+timeStr; // wecode换取token //String respon = HttpsClient.post(urlStr +"api/getXsffDataAll"+queryStr, tokenParams); //正式 String respon = HttpsClient.post(urlStr +"api/getXsffDataAll"+queryStr, tokenParams); return CommonResult.ok(respon); } //根据学校及收费区间获取欠费 @Override @PassToken public CommonResult getDataOne(String cardNo,String year) throws JsonProcessingException { String timeStr = String.valueOf(System.currentTimeMillis()); String token = querySign(timeStr); Map tokenParams = new HashMap<>(); String queryStr = "?token="+token+"×tamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo; // wecode换取token String respon = HttpsClient.post(urlStr +"api/getXsffDataOne"+queryStr, tokenParams); Gson gson = new Gson(); List travelers = gson.fromJson(respon, new TypeToken>(){}.getType()); return CommonResult.ok(travelers); } //根据学号、入学年度和收费区间获取欠费 @Override @PassToken public CommonResult getDataTwo(String cardNo,String year) { String timeStr = String.valueOf(System.currentTimeMillis()); String sds = querySign(timeStr); Map tokenParams = new HashMap<>(); // tokenParams.put("sign", sds); // tokenParams.put("timestamp", timeStr); // tokenParams.put("xh", cardNo); // tokenParams.put("sfqjdm", year); // tokenParams.put("rxnd", year); String queryStr = "?token="+sds+"×tamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo+"&rxnd="+year; // wecode换取token String respon = HttpsClient.post(urlStr +"api/getXsffDataTwo"+queryStr, tokenParams); Gson gson = new Gson(); List travelers = gson.fromJson(respon, new TypeToken>(){}.getType()); return CommonResult.ok(travelers); } //根据入学年度及收费区间获取欠费 @Override @PassToken public CommonResult getDataThree(String year) { String timeStr = String.valueOf(System.currentTimeMillis()); String sds = querySign(timeStr); Map tokenParams = new HashMap<>(); // tokenParams.put("sign", sds); // tokenParams.put("timestamp", timeStr); // tokenParams.put("sfqjdm", year); // tokenParams.put("rxnd", year); String queryStr = "?token="+sds+"×tamp="+timeStr+"&sfqjdm="+year+"&rxnd="+year; // wecode换取token String respon = HttpsClient.post(urlStr +"api/getXsffDataThree"+queryStr, tokenParams); return CommonResult.ok(respon); } public static List queryStudentPayInfo(String cardNo,String year) { String timeStr = String.valueOf(System.currentTimeMillis()); String token = querySign(timeStr); Map tokenParams = new HashMap<>(); // tokenParams.put("sign", sds); // tokenParams.put("timestamp", timeStr); // tokenParams.put("xh", cardNo); // tokenParams.put("sfqjdm", year); // tokenParams.put("rxnd", year); // String queryStr = "?token="+token+"×tamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo+"&rxnd="+year; // // wecode换取token // String respon = HttpsClient.post("http://pay.ncjti.edu.cn:8068/api/getXsffDataTwo"+queryStr, tokenParams); String queryStr = "?token="+token+"×tamp="+timeStr+"&sfqjdm="+year+"&xh="+cardNo; // wecode换取token String respon = HttpsClient.post(urlStr +"api/getXsffDataOne"+queryStr, tokenParams); Gson gson = new Gson(); List travelers = gson.fromJson(respon, new TypeToken>(){}.getType()); return travelers; } private static String querySign(String timestr){ String devId = "ncjt00001"; Map tokenParams = new HashMap<>(); tokenParams.put("devId", devId); tokenParams.put("timestamp", timestr); // wecode换取token String sign = HttpsClient.post(urlStr +"api/getSign", tokenParams); return sign; } }