======================================================================== 预抄写SDK:scbc.tools.dll概述 ======================================================================== ///////////////////////////////////////////////////////////////////////////// sdk包含以下文件: scbc.tools.h sdk头文件。 tableinfo.h sdk相关结构体头文件。 scbc.tools.lib sdk静态库文件。 scbc.tools.dll sdk动态库文件。 ///////////////////////////////////////////////////////////////////////////// SDK开发说明: IDE:VS2008(共享DLL),使用多字节字符集 数据库:使用sqlite3做为本地数据库 https:curlib+openssl+zlib 校验:md5 Windows:xp sp3 /************************************************************************************************/ /* 简要接口说明: */ /************************************************************************************************/ 1、extern SCBCTOOLS_API bool ScbcInit(const char* lpOrder); 描述:使用批次号初始化https接口环境。 DownloadMidData、ReportKeyCopyResults、BatchReportKeyCopyResults前调用; 参数:lpOrder 批次号; 返回: true成功;false失败; 2、extern SCBCTOOLS_API int QueryMidInfo(const char* lpOrder); 描述:查询指定批次MID信息。 一般用于DownloadMidData调用后,查询是否下载成功;或者下载前,查询该批次是否已经在下载中; 参数:lpOrder 批次号; 返回: 0=表示该批次未下载过,不存在数据库中; 1=表示该批次已存在,但未下载完成,请调用DownloadMidData完成下载; 2=表示该批次已完成下载; 3=表示该批次下载失败(再次调用DownloadMidData可断点下载); -1=表示lpOrder参数空; -2=表示打开db失败; -3=表示查询批次出错; -4=表示数据异常; 3、extern SCBCTOOLS_API int DownloadMidData(const char* lpOrder); 描述:下载指定批次MID数据;(后台线程下载),调用QueryMidInfo查询是否下载完成; 参数:lpOrder 批次号; 返回: 0=表示该批次不存在云服务器(批次信息未导入); 1=表示该批次在云服务器中存在,下载任务后台启动中; 2=表示该批次已完成下载; -1=表示lpOrder参数空; -2=表示打开db失败; -3=表示查询批次出错; -4=表示数据异常; -5=表示https网络请求失败; 4、extern SCBCTOOLS_API int QueryKeyInfo(const char* lpSN, SNKeys &snKeys); 描述:查询SN对应的Keys; 参数: lpSN 条码; lpKeys 返回的字符串,json数组格式; len lpkeys缓存区长度; 返回: 0=表示没有该sn,不存在数据库中; 1=表示获取sn绑定的keys成功; -1=表示lpSN参数空; -2=表示打开数据库失败; -3=表示查询SN出错; -4=表示数据异常; 5、extern SCBCTOOLS_API int UpdateKeyCopyStatus(const char* lpSN); 描述:更新抄写状态;(在抄写key成功后调用该接口) 参数:lpSN 条码; 返回: 0=表示更新sn的抄写状态失败; 1=表示更新sn的抄写状态成功; -1=表示lpSN参数空; -2=表示打开数据库失败; 6、extern SCBCTOOLS_API int UpdateKeyReportStatus(const char* lpSN); 描述:更新上报状态;(的UpdateKeyCopyStatus成功后调用) 参数:lpSN 条码; 返回: 0=表示更新sn的上报状态失败; 1=表示更新sn的上报状态成功; -1=表示lpSN参数空; -2=表示打开数据库失败; 7、extern SCBCTOOLS_API int ReportKeyCopyResults(const char* lpSN); 描述:上报抄写结果; 参数:lpSN 条码; 返回: 0=表示在数据库中查询不到该sn的抄写信息,或者该sn未抄写成功; 1=表示上报抄写结果成功,且更新上报状态成功; -1=表示lpSN参数空; -2=表示打开db失败; -3=表示查询sn出错; -4=表示数据异常; -5=表示https网络请求失败; -6=表示解析https结果异常; -7=表示上报抄写结果失败; -8=表示上报抄写结果成功,但更新上报状态失败;此时,需调用UpdateKeyReportStatus更新上报状态; 8、extern SCBCTOOLS_API int BatchReportKeyCopyResults(); 描述:批量上报抄写结果。从数据库查询出200条未上报的sn进行上报; 参数:无; 返回: 0=表示在数据库中查询不到未上报的sn抄写信息,或者所有sn未抄写成功; 1=表示上报抄写结果成功,且更新上报状态成功; -1=表示lpSN参数空; -2=表示打开db失败; -3=表示查询sn出错; ////-4=表示数据异常; -5=表示https网络请求失败; -6=表示解析https结果异常; -7=表示上报抄写结果失败; -8=表示上报抄写结果成功,但批量更新上报状态失败; 9、extern SCBCTOOLS_API int QueryBidInfo(const char* lpOrder, BidInfo& binfo); 描述:查询批次信息:应下载sn数、实际下载sn数、抄写成功数量、上报成功数量; 参数:lpOrder 批次号; binfo 返回的bid信息; 返回: 0=表示订单不存在数据库中; 1=表示获取bid信息成功; -1=表示lpOrder参数空; -2=表示打开数据库失败; -3=表示查询订单出错; -4=表示数据异常; 注意:一般情况下,应下载数sn数量=实际下载sn数量; 10、extern SCBCTOOLS_API int RemoveBidData(const char* lpOrder); 描述:删除批次相关的所有表数量; 参数:lpOrder 批次号; 返回: 0=表示删除失败; 1=表示删除成功; -1=表示lpOrder参数空; -2=表示打开数据库失败;