| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.zswl.dataservice.httpRequest;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.json.JSONUtil;
- import com.zswl.dataservice.dao.payment.RequestInfoDao;
- import com.zswl.dataservice.httpRequest.apiConf.APIResponseModel;
- import com.zswl.dataservice.httpRequest.apiConf.ApiConfParam;
- import com.zswl.dataservice.httpRequest.conf.FullCardAPIConfig;
- import com.zswl.dataservice.httpRequest.conf.FullCardConf;
- import com.zswl.dataservice.service.base.SuperService;
- import com.zswl.dataservice.service.other.RequestInfoService;
- import com.zswl.dataservice.utils.net.apache.HttpClientUtil;
- import com.zswl.dataservice.utils.net.apache.HttpModel;
- import com.zswl.dataservice.utils.net.apache.ResponseModel;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.ObjectUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StopWatch;
- /**
- * @author TRX
- * @date 2024/6/25
- */
- @Slf4j
- @Service
- public class ApiRequestService extends SuperService {
- @Autowired
- FullCardConf fullCardConf;
- @Autowired
- RequestInfoDao requestInfoDao;
- @Autowired
- RequestInfoService requestInfoService;
- /**
- * 发送请求
- *
- * @param apiName
- * @param data
- * @return
- */
- public APIResponseModel sendFullCardAPI(String apiName, Object data) {
- APIResponseModel responseModel = new APIResponseModel();
- if (StringUtils.isEmpty(fullCardConf.getUrl())) {
- responseModel.setIsFailed("未配置物联网平台URL");
- return responseModel;
- }
- try {
- ApiConfParam apiConfParam = FullCardAPIConfig.getApiConfParam(apiName);
- if (ObjectUtils.isEmpty(apiConfParam)) {
- responseModel.setIsFailed("未找到API配置");
- return responseModel;
- }
- StopWatch stopWatch = new StopWatch();
- stopWatch.start();
- String url = fullCardConf.getUrl() + fullCardConf.getCardServerName() + apiConfParam.getApiName();
- ResponseModel request = HttpClientUtil.request(HttpModel.builder()
- .url(url).method(apiConfParam.getMethodType()).charset("utf-8").body(data).build());
- if (request.getCode() == 200) {
- responseModel = BeanUtil.copyProperties(request.getBody(), APIResponseModel.class);
- } else {
- responseModel = BeanUtil.copyProperties(request.getBody(), APIResponseModel.class);
- }
- responseModel.setParam(apiConfParam);
- stopWatch.stop();
- responseModel.setMillis(stopWatch.getTotalTimeMillis());
- } catch (Exception e) {
- e.printStackTrace();
- responseModel.setIsFailed(String.format("请求出错:%s", e.getMessage()));
- return responseModel;
- }
- // 记录请求日志
- requestInfoService.addRequestInfo(data, responseModel);
- return responseModel;
- }
- }
|