//package com.ruoyi.cwgl.service.impl; // // //import cn.hutool.http.HttpUtil; // //import com.alibaba.fastjson2.JSONObject; //import com.ruoyi.common.core.redis.RedisCache; //import com.ruoyi.common.exception.ServiceException; //import com.ruoyi.common.utils.sign.Md5Utils; // //import com.ruoyi.cwgl.domain.InvoicingVo; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Value; //import org.springframework.stereotype.Service; // //import java.util.HashMap; //import java.util.Map; //import java.util.concurrent.TimeUnit; // ///** // * 谷神开发的应用系统调用api // * @author wjw // */ //@Service //public class GdpaasApiService { // protected final Logger logger = LoggerFactory.getLogger(getClass()); // // @Autowired // private RedisCache redisCache; // private final String tokenKey = "GDPAAS_API_TOKEN_KEY"; // // private String ROOT_PATH = "http://172.16.24.46:9080/"; // @Value("${custom.gdpaasApi.path}") // private String ROOT_PATH; // @Value("${custom.gdpaasApi.appid}") // private String appId; // @Value("${custom.gdpaasApi.sign}") // private String sign; // /** // * 获取token // * @param appId // * @param sign // * @param time // * @return // */ // public String getToken(String appId, String sign, String time) { // Object token = redisCache.getCacheObject(tokenKey); // if (token == null) { // //签名摘要 // String hash = Md5Utils.hash(appId + time + sign); // String urlString = ROOT_PATH + "/gdpaas/apis/getAccessToken.htm" ; // Map parm = new HashMap<>(); // parm.put("appId", appId); // parm.put("sign", hash); // parm.put("t", time); // String json = null; // logger.info("获取第三方token请求参数{}",parm); // try { // json = HttpUtil.get(urlString, parm); // } catch (Exception e) { // e.printStackTrace(); // logger.error("请求获取第三方token接口失败"); // } // if (json == null) { // return null; // } // logger.info("获取第三方token响应参数{}",json); // // JSONObject jsonObject = JSONObject.parseObject(json); // Integer code = (Integer) jsonObject.get("code"); // if (code.equals(0)) { // String data = jsonObject.getString("data"); // JSONObject dataJson = JSONObject.parseObject(data); // String accessToken = dataJson.getString("accessToken"); // Integer expiresIn = (Integer) dataJson.get("expiresIn"); // redisCache.setCacheObject(tokenKey,accessToken,expiresIn, TimeUnit.SECONDS); // return accessToken; // } // return null; // } // return (String) token; // } // // /** // * 发票开具接口 // */ // public String invoicingApi(InvoicingVo order){ // String accessToken = getToken(appId, sign, System.currentTimeMillis() + ""); // if (accessToken==null){ // throw new ServiceException("获取令牌失败"); // } // String urlString = ROOT_PATH + "/gdpaas/apis/invoke.htm?appId="+appId+"&accessToken="+accessToken+"&method=com.golden.bdp.cwzx.invoice.submitInvoice" ; // String body = JSONObject.toJSONString(order); // String json = null; // // try { // json = HttpUtil.post(urlString, body); // } catch (Exception e) { // e.printStackTrace(); // logger.error("发票开具接口接口失败"); // } // logger.info("开票响应{}",json); // return json; //// String code = jsonObject.getString("code"); //// if (json == null) { //// logger.info("开票失败"); //// return null; //// } //// if ("0".equals(code)) { //// String data = jsonObject.getString("data"); //// //// JSONObject dataJson = JSONObject.parseObject(data); //// String invoiceSerialNum = dataJson.getString("invoiceSerialNum"); //// logger.info("开票成功发票序列号为{}",invoiceSerialNum); //// return invoiceSerialNum; //// } //// return null; // } // // /** // * 发票开具接口 // */ // public String invoicingApi(String body){ // String accessToken = getToken(appId, sign, System.currentTimeMillis() + ""); // if (accessToken==null){ // throw new ServiceException("获取令牌失败"); // } // String urlString = ROOT_PATH + "/gdpaas/apis/invoke.htm?appId="+appId+"&accessToken="+accessToken+"&method=com.golden.bdp.cwzx.invoice.submitInvoice" ; //// String body = JSONObject.toJSONString(order); // String json = null; // // try { // json = HttpUtil.post(urlString, body); // } catch (Exception e) { // e.printStackTrace(); // logger.error("发票开具接口接口失败"); // } // logger.info("开票响应{}",json); // return json; // } // //}