Commit 154a1ec4 by shuai.liu

增加获取平台渠道接口

parent f7bcafcd
Pipeline #36748 failed with stage
in 20 seconds
......@@ -415,14 +415,41 @@ void FlowControl::_onGetCode()
void FlowControl::_onGetMenu()
{
QByteArray request = DataManage::getMenuData(m_token);
m_http.Post(request
,[this](const QByteArray &data)
QByteArray request = DataManage::getChannels(m_token);
QByteArray channelReply;
QStringList channelList;
QString defaultChannel("eleme2");
m_http.Post(request, channelReply, 10000);
QLOG_INFO() << QString("门店平台列表: %1").arg(QString(channelReply).simplified());
if(channelReply.isEmpty())
{
QLOG_INFO() << QString("获取菜单返回数据: %1").arg(QString(data).simplified());
QJsonObject recvObj = QJsonDocument::fromJson(data).object();
QLOG_ERROR() << QString("门店平台列表接口调用失败,使用默认渠道 %1").arg(defaultChannel);
channelList.push_back(defaultChannel);
}
else
{
QJsonObject recvObj = QJsonDocument::fromJson(channelReply).object();
if(recvObj["statusCode"].toInt() == 100)
{
for(auto item : recvObj["channels"].toArray())
{
QJsonObject channelObj = item.toObject();
QString code = channelObj["code"].toString();
channelList.push_back(code);
}
}
else
{
QLOG_ERROR() << QString("门店平台列表接口返回错误: %1,使用默认渠道 %2").arg(recvObj["statusCode"].toInt()).arg(defaultChannel);
channelList.push_back(defaultChannel);
}
}
for(auto item : channelList)
{
QByteArray menuReply;
if(getChannelMenu(item, menuReply))
{
QTcpSocket *socket = new QTcpSocket();
socket->connectToHost("127.0.0.1", 34956);
if(! socket->waitForConnected(LOCAL_SOCKET_TIMEOUT))
......@@ -430,22 +457,26 @@ void FlowControl::_onGetMenu()
QLOG_ERROR() << "connect takeaway component failed!";
return;
}
QByteArray byteArray = QJsonDocument(recvObj).toJson(QJsonDocument::Compact);
sendTcpData(socket, byteArray);
sendTcpData(socket, menuReply);
socket->disconnectFromHost();
if (socket->state() == QAbstractSocket::UnconnectedState ||
socket->waitForDisconnected(1000))
delete socket;
}else
{
QLOG_ERROR() << QString("菜单接口返回错误: %1").arg(recvObj["msg"].toString());
}
break;
}
,[this](const QNetworkReply::NetworkError &error)
{
QLOG_ERROR() << QString("获取菜单失败: %1").arg(error);
}
);
}
bool FlowControl::getChannelMenu(QString channel, QByteArray& menuReply)
{
QByteArray request = DataManage::getMenuData(m_token,channel);
m_http.Post(request, menuReply, 10000);
QLOG_INFO() << QString("%1获取菜单返回数据: %2").arg(channel).arg(QString(menuReply).simplified());
QJsonObject recvObj = QJsonDocument::fromJson(menuReply).object();
if(recvObj["statusCode"].toInt() == 100 && !recvObj["categories"].toArray().isEmpty())
return true;
else
return false;
}
//TODO 转发组件请求
......
......@@ -80,6 +80,7 @@ public slots:
* 返回:NULL
* */
void _onGetMenu();
bool getChannelMenu(QString channel, QByteArray &menuReply);
private slots:
/* 功能:登录
......
......@@ -165,6 +165,14 @@ QByteArray DataManage::getMenuData(const QString &token)
return QJsonDocument(json).toJson().simplified();
}
QByteArray DataManage::getChannels(const QString &token)
{
QJsonObject json;
json.insert("reqtype", 28);
json.insert("token", token);
return QJsonDocument(json).toJson().simplified();
}
QByteArray DataManage::getRefundDetail(const QString &token, const QString &orderId)
{
QJsonObject json, order;
......
......@@ -24,6 +24,7 @@ public:
static QByteArray getMenuData(const QString& token, const QString& channel);
static QByteArray getCodeData(const QString& token);
static QByteArray getMenuData(const QString& token);
static QByteArray getChannels(const QString& token);
static QByteArray getRefundDetail(const QString& token, const QString& orderId);
};
......
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