// 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SCBCTOOLS_EXPORTS // 符号编译的。在使用此 DLL 的 // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 // SCBCTOOLS_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的 // 符号视为是被导出的。 #ifdef SCBCTOOLS_EXPORTS #define SCBCTOOLS_API __declspec(dllexport) #else #define SCBCTOOLS_API __declspec(dllimport) #endif #include "TableInfo.h" /* 0 描述:使用批次号初始化https接口环境。 DownloadMidData、ReportKeyCopyResults、BatchReportKeyCopyResults前调用; 参数:lpOrder 批次号; 返回: true成功;false失败; */ extern SCBCTOOLS_API bool ScbcInit(const char* lpOrder); /* 1 描述:查询指定批次MID信息。 一般用于DownloadMidData调用后,查询是否下载成功;或者下载前,查询该批次是否已经在下载中; 参数:lpOrder 批次号; 返回: 0=表示该批次未下载过,不存在数据库中; 1=表示该批次已存在,但未下载完成,请调用DownloadMidData完成下载; 2=表示该批次已完成下载; 3=表示该批次下载失败(再次调用DownloadMidData可断点下载); -1=表示lpOrder参数空; -2=表示打开db失败; -3=表示查询批次出错; -4=表示数据异常; */ extern SCBCTOOLS_API int QueryMidInfo(const char* lpOrder); /* 2 描述:下载指定批次MID数据;(后台线程下载),调用QueryMidInfo查询是否下载完成; 参数:lpOrder 批次号; 返回: 0=表示该批次不存在云服务器(批次信息未导入); 1=表示该批次在云服务器中存在,下载任务后台启动中; 2=表示该批次已完成下载; -1=表示lpOrder参数空; -2=表示打开db失败; -3=表示查询批次出错; -4=表示数据异常; -5=表示https网络请求失败; */ extern SCBCTOOLS_API int DownloadMidData(const char* lpOrder); /* 3 描述:查询SN对应的Keys; 参数: lpSN 条码; lpKeys 返回的字符串,json数组格式; len lpkeys缓存区长度; 返回: 0=表示没有该sn,不存在数据库中; 1=表示获取sn绑定的keys成功; -1=表示lpSN参数空; -2=表示打开数据库失败; -3=表示查询SN出错; -4=表示数据异常; */ extern SCBCTOOLS_API int QueryKeyInfo(const char* lpSN, SNKeys &snKeys); /* 4 描述:更新抄写状态;(在抄写key成功后调用该接口) 参数:lpSN 条码; 返回: 0=表示更新sn的抄写状态失败; 1=表示更新sn的抄写状态成功; -1=表示lpSN参数空; -2=表示打开数据库失败; */ extern SCBCTOOLS_API int UpdateKeyCopyStatus(const char* lpSN); /* 5 描述:更新上报状态;(的UpdateKeyCopyStatus成功后调用) 参数:lpSN 条码; 返回: 0=表示更新sn的上报状态失败; 1=表示更新sn的上报状态成功; -1=表示lpSN参数空; -2=表示打开数据库失败; */ extern SCBCTOOLS_API int UpdateKeyReportStatus(const char* lpSN); /* 6 描述:上报抄写结果; 参数:lpSN 条码; 返回: 0=表示在数据库中查询不到该sn的抄写信息,或者该sn未抄写成功; 1=表示上报抄写结果成功,且更新上报状态成功; -1=表示lpSN参数空; -2=表示打开db失败; -3=表示查询sn出错; -4=表示数据异常; -5=表示https网络请求失败; -6=表示解析https结果异常; -7=表示上报抄写结果失败; -8=表示上报抄写结果成功,但更新上报状态失败;此时,需调用UpdateKeyReportStatus更新上报状态; */ extern SCBCTOOLS_API int ReportKeyCopyResults(const char* lpSN); /* 7 描述:批量上报抄写结果。从数据库查询出1000条未上报的sn进行上报; 参数:无; 返回: 0=表示在数据库中查询不到未上报的sn抄写信息,或者所有sn未抄写成功; 1=表示上报抄写结果成功,且更新上报状态成功; -1=表示lpSN参数空; -2=表示打开db失败; -3=表示查询sn出错; ////-4=表示数据异常; -5=表示https网络请求失败; -6=表示解析https结果异常; -7=表示上报抄写结果失败; -8=表示上报抄写结果成功,但批量更新上报状态失败; */ extern SCBCTOOLS_API int BatchReportKeyCopyResults(); /* 8 描述:查询批次信息:应下载sn数、实际下载sn数、抄写成功数量、上报成功数量; 参数:lpOrder 批次号; binfo 返回的bid信息; 返回: 0=表示订单不存在数据库中; 1=表示获取bid信息成功; -1=表示lpOrder参数空; -2=表示打开数据库失败; -3=表示查询订单出错; -4=表示数据异常; 注意:一般情况下,应下载数sn数量=实际下载sn数量; */ extern SCBCTOOLS_API int QueryBidInfo(const char* lpOrder, BidInfo& binfo); /* 9 描述:删除批次相关的所有表数量; 参数:lpOrder 批次号; 返回: 0=表示删除失败; 1=表示删除成功; -1=表示lpOrder参数空; -2=表示打开数据库失败; */ extern SCBCTOOLS_API int RemoveBidData(const char* lpOrder);