@tnwx/wxcp
Version:
TNWX 微信系开发脚手架之极速开发企业微信/企业号
120 lines • 5.2 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const util = require("util");
const kits_1 = require("@tnwx/kits");
const accesstoken_1 = require("@tnwx/accesstoken");
/**
* @author Javen
* @copyright javendev@126.com
* @description 电子发票相关接口
*/
class QyInvoiceApi {
/**
* 查询电子发票
* @param cardId 发票id
* @param encryptCode 加密code
* @param accessToken AccessToken
*/
static get(cardId, encryptCode, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.getUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
card_id: cardId,
encrypt_code: encryptCode
}));
});
}
/**
* 更新发票状态
* @param cardId 发票id
* @param encryptCode 加密code
* @param reimburseStatus 发报销状态 INVOICE_REIMBURSE_INIT:发票初始状态,未锁定; INVOICE_REIMBURSE_LOCK:发票已锁定,无法重复提交报销;INVOICE_REIMBURSE_CLOSURE:发票已核销,从用户卡包中移除
* @param accessToken AccessToken
*/
static update(cardId, encryptCode, reimburseStatus, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.updateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
card_id: cardId,
encrypt_code: encryptCode,
reimburse_status: reimburseStatus
}));
});
}
/**
* 批量更新发票状态
* @param openId 用户 openId
* @param reimburseStatus 发报销状态 INVOICE_REIMBURSE_INIT:发票初始状态,未锁定; INVOICE_REIMBURSE_LOCK:发票已锁定,无法重复提交报销;INVOICE_REIMBURSE_CLOSURE:发票已核销,从用户卡包中移除
* @param invoiceList 发票列表
* @param accessToken AccessToken
*/
static batchUpdate(openId, reimburseStatus, invoiceList, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.batchUpdateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
openid: openId,
reimburse_status: reimburseStatus,
invoice_list: invoiceList
}));
});
}
/**
* 批量查询电子发票
* @param itemList 发票列表
* @param accessToken AccessToken
*/
static batchGet(itemList, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.batchGetUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
item_list: itemList
}));
});
}
}
exports.QyInvoiceApi = QyInvoiceApi;
QyInvoiceApi.getUrl = 'https://qyapi.weixin.qq.com/cgi-bin/card/invoice/reimburse/getinvoiceinfo?access_token=%s';
QyInvoiceApi.updateUrl = 'https://qyapi.weixin.qq.com/cgi-bin/card/invoice/reimburse/updateinvoicestatus?access_token=%s';
QyInvoiceApi.batchUpdateUrl = 'https://qyapi.weixin.qq.com/cgi-bin/card/invoice/reimburse/updatestatusbatch?access_token=%s';
QyInvoiceApi.batchGetUrl = 'https://qyapi.weixin.qq.com/cgi-bin/card/invoice/reimburse/getinvoiceinfobatch?access_token=%s';
class QyInvoice {
constructor(cardId, encryptCode) {
this.card_id = cardId;
this.encrypt_code = encryptCode;
}
set cardId(cardId) {
this.card_id = cardId;
}
get cardId() {
return this.card_id;
}
set encryptCode(encryptCode) {
this.encrypt_code = encryptCode;
}
get encryptCode() {
return this.encrypt_code;
}
}
exports.QyInvoice = QyInvoice;
//# sourceMappingURL=QyInvoiceApi.js.map