package com.uas.eis.service.Impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.TypeReference; import com.uas.eis.config.DonlimConfig; import com.uas.eis.core.config.SpObserver; import com.uas.eis.dao.BaseDao; import com.uas.eis.dto.*; import com.uas.eis.service.CommonService; import com.uas.eis.service.NuoNuoSDKService; import com.uas.eis.utils.Constant; import com.uas.eis.utils.DateUtil; import nuonuo.open.sdk.NNOpenSDK; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.Map; import java.util.UUID; @Service public class NuoNuoSDKServiceImpl implements NuoNuoSDKService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private DonlimConfig donlimConfig; //nuonuo.OpeMplatform.queryInvoiceRedConfirm(诺税通saas红字确认单查询接口) @Override public QueryInvoiceRedConfirmResp queryInvoiceRedConfirm(QueryInvoiceRedConfirmReq qircReq, Map m) { String url=donlimConfig.getRoute(); String taxnum = m.get("taxnum").toString(); String appKey = m.get("appKey").toString(); String appSecret = m.get("appSecret").toString(); String token = m.get("token").toString(); NNOpenSDK sdk = NNOpenSDK.getIntance(); String method = "nuonuo.OpeMplatform.queryInvoiceRedConfirm"; // API方法名 String content = sdk.convertToUtf8(JSONArray.toJSONString(qircReq)); logger.info("ElecI-queryInvoiceRedConfirm:master {} content {}", SpObserver.getSp(),content); String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可 String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content); // System.out.println(result); QueryInvoiceRedConfirmResp resp = JSON.parseObject(result, new TypeReference() {}); return resp; } //nuonuo.OpeMplatform.queryInvoiceResult(诺税通saas发票详情查询接口) @Override public QueryInvoiceResultResp queryInvoiceResult(QueryInvoiceResultReq qirReq, Map m) { String url=donlimConfig.getRoute(); String taxnum = m.get("taxnum").toString(); String appKey = m.get("appKey").toString(); String appSecret = m.get("appSecret").toString(); String token = m.get("token").toString(); NNOpenSDK sdk = NNOpenSDK.getIntance(); String method = "nuonuo.OpeMplatform.queryInvoiceResult"; // API方法名 String content = sdk.convertToUtf8(JSONArray.toJSONString(qirReq)); logger.info("ElecI-queryInvoiceResult:master {} content {}",SpObserver.getSp(),content); String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可 String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content); // System.out.println(result); QueryInvoiceResultResp resp = JSON.parseObject(result, new TypeReference() {}); return resp; } /* * nuonuo.OpeMplatform.findOrderState(诺税通Saas订单状态查询接口) * */ @Override public FindOrderRelationInvoiceResp findOrderRelationInvoice(FindOrderRelationInvoiceReq foriReq, Map m) { String url=donlimConfig.getRoute(); String taxnum = m.get("taxnum").toString(); String appKey = m.get("appKey").toString(); String appSecret = m.get("appSecret").toString(); String token = m.get("token").toString(); NNOpenSDK sdk = NNOpenSDK.getIntance(); String method = "nuonuo.OpeMplatform.findOrderRelationInvoice"; // API方法名 String content =sdk.convertToUtf8(JSONArray.toJSONString(foriReq)); logger.info("ElecI-findOrderRelationInvoice:master {} content {}",SpObserver.getSp(),content); String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可 String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content); FindOrderRelationInvoiceResp resp = JSON.parseObject(result , new TypeReference() {}); return resp; } }