Commit a0e84269 by NitefullWind

1. 修改loading界面。 2. 暂留GetResponseWithType方法,待实现。

parent f3e61a35
......@@ -180,4 +180,6 @@ void Control::RequestWithType(ReqType type, QStringList list)
SendMessageToPayMent(json, outdata);
QLOG_INFO() << outdata.data();
JsonFactory::GetResponseWithType(type, outdata, _response);
}
......@@ -601,7 +601,7 @@
</size>
</property>
<property name="text">
<string>TextLabel</string>
<string/>
</property>
</widget>
</widget>
......
......@@ -7,6 +7,8 @@
#include <QJsonObject>
#include <QJsonArray>
#include <QStringList>
#include <QJsonParseError>
#include <QJsonDocument>
class JsonFactory
{
......@@ -20,9 +22,33 @@ public:
if(type == endday)
return GetDayEndJson(json, request, list);
if(type == againprint)
return GetAgainPrinter(json, request, list);
return GetAgainPrinteJson(json, request, list);
if(type == find)
return GetFind(json, request, list);
return GetFindJson(json, request, list);
return false;
}
static bool GetResponseWithType(ReqType type, const QByteArray &rspJsonData, AlipayResponse &response)
{
QJsonParseError parseError;
QJsonDocument doc = QJsonDocument::fromJson(rspJsonData, &parseError);
if(parseError.error != QJsonParseError::NoError) {
return false;
}
QJsonObject rspJsonObj = doc.object();
if(type == pay)
return GetPayResponse(rspJsonObj, response);
if(type == refund)
return GetRefundResponse(rspJsonObj, response);
if(type == endday)
return GetDayEndResponse(rspJsonObj, response);
if(type == againprint)
return GetAgainPrinteResponse(rspJsonObj, response);
if(type == find)
return GetFindResponse(rspJsonObj, response);
return false;
}
private:
......@@ -97,18 +123,66 @@ private:
//日结
static bool GetDayEndJson(QJsonObject &json, const AlipayRequest &request, QStringList list)
{
if(list.size() != 1 || list[0].isEmpty())
return false;
json.insert(JSON_KEY_VER, DEFAULT_JSON_VER_VALUE);
json.insert(JSON_KEY_REQTYPE, JSON_REQTYPE_REFUND);
json.insert(JSON_KEY_PARTNERID, FMTool::GetString((const void *)&(request.Reserved1), 48));
json.insert(JSON_KEY_STOREID, FMTool::GetString((const void *)&(request.StoreNo), 20));
json.insert(JSON_KEY_STATIONID, FMTool::GetString((const void *)&(request.DeviceNo), 6));
return true;
}
//重打小票
static bool GetAgainPrinter(QJsonObject &json, const AlipayRequest &request, QStringList list)
static bool GetAgainPrinteJson(QJsonObject &json, const AlipayRequest &request, QStringList list)
{
if(list.size() != 2 || list[0].isEmpty() || list[1].isEmpty())
return false;
json.insert(JSON_KEY_VER, DEFAULT_JSON_VER_VALUE);
json.insert(JSON_KEY_REQTYPE, JSON_REQTYPE_REFUND);
json.insert(JSON_KEY_PARTNERID, FMTool::GetString((const void *)&(request.Reserved1), 48));
json.insert(JSON_KEY_STOREID, FMTool::GetString((const void *)&(request.StoreNo), 20));
json.insert(JSON_KEY_STATIONID, FMTool::GetString((const void *)&(request.DeviceNo), 6));
json.insert(JSON_KEY_OPERATORID, FMTool::GetString((const void *)&(request.CashierNo), 6));
json.insert(JSON_KEY_FMID, list[1]);
return true;
}
//查询流水
static bool GetFind(QJsonObject &json, const AlipayRequest &request, QStringList list)
static bool GetFindJson(QJsonObject &json, const AlipayRequest &request, QStringList list)
{
return true;
}
// 支付AlipayResponse
static bool GetPayResponse(const QJsonObject &rspJsonObj, AlipayResponse &response)
{
return true;
}
// 退款AlipayResponse
static bool GetRefundResponse(const QJsonObject &rspJsonObj, AlipayResponse &response)
{
return true;
}
// 日结AlipayResponse
static bool GetDayEndResponse(const QJsonObject &rspJsonObj, AlipayResponse &response)
{
return true;
}
// 重打小票AlipayResponse
static bool GetAgainPrinteResponse(const QJsonObject &rspJsonObj, AlipayResponse &response)
{
return true;
}
// 查询AlipayResponse
static bool GetFindResponse(const QJsonObject &rspJsonObj, AlipayResponse &response)
{
return true;
}
};
#endif // JSONFACTORY
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment