Commit 3b00463b by 李定达

1.修复决绝退款bug;2.调整拒拒绝退单原因显示

parent df32babd
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.5.1, 2018-06-07T14:18:04. --> <!-- Written by QtCreator 3.5.1, 2018-06-11T15:19:33. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.1 MSVC2010 32bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.1 MSVC2010 32bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.1 MSVC2010 32bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.1 MSVC2010 32bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.win32_msvc2010_kit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.win32_msvc2010_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
......
...@@ -40,6 +40,10 @@ void OrderGetWork::workStart() ...@@ -40,6 +40,10 @@ void OrderGetWork::workStart()
{ {
if(!OrderGetDataProcess::isBind()) if(!OrderGetDataProcess::isBind())
{ {
QVariantMap tmpmap;
tmpmap.insert(EVENT_KEY_ORDERSTATUS, 0);
tmpmap.insert(EVENT_KEY_MSG, QString::fromLocal8Bit("绑定中..."));
POSTEVENTTYPE(PosEvent::s_opt_status,tmpmap,QVariantMap);
if(!bingToServer(error)) if(!bingToServer(error))
{ {
QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed"; QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed";
...@@ -59,6 +63,11 @@ void OrderGetWork::workStart() ...@@ -59,6 +63,11 @@ void OrderGetWork::workStart()
if(!_islogin) if(!_islogin)
{ {
QVariantMap tmpmap;
tmpmap.insert(EVENT_KEY_ORDERSTATUS, 0);
tmpmap.insert(EVENT_KEY_MSG, QString::fromLocal8Bit("登录中..."));
POSTEVENTTYPE(PosEvent::s_opt_status,tmpmap,QVariantMap);
if(!loginToServer(error)) if(!loginToServer(error))
{ {
QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed"; QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed";
...@@ -581,6 +590,11 @@ void OrderGetWork::setTimeout(unsigned int timeout) ...@@ -581,6 +590,11 @@ void OrderGetWork::setTimeout(unsigned int timeout)
void OrderGetWork::optOrderWithType(const QVariantMap &map) void OrderGetWork::optOrderWithType(const QVariantMap &map)
{ {
QVariantMap smap;
smap.insert(EVENT_KEY_ORDERSTATUS, 0);
smap.insert(EVENT_KEY_MSG, QString::fromLocal8Bit("通讯中..."));
POSTEVENTTYPE(PosEvent::s_opt_status,smap,QVariantMap);
if(!map.contains(EVENT_KEY_STATUS) || !map.contains(EVENT_KEY_ORDERID)) if(!map.contains(EVENT_KEY_STATUS) || !map.contains(EVENT_KEY_ORDERID))
return ; return ;
...@@ -662,7 +676,7 @@ void OrderGetWork::optOrderWithType(const QVariantMap &map) ...@@ -662,7 +676,7 @@ void OrderGetWork::optOrderWithType(const QVariantMap &map)
maps.insert(EVENT_KEY_ORDERID, tmpid); maps.insert(EVENT_KEY_ORDERID, tmpid);
maps.insert(EVENT_KEY_MSG, tmpstatus.toInt()); maps.insert(EVENT_KEY_MSG, tmpstatus.toInt());
if(!refundstatus.isEmpty()) if(!refundstatus.isEmpty() && refundstatus.toInt() != 0)
maps.insert(EVENT_KEY_STATUS, refundstatus.toInt()); maps.insert(EVENT_KEY_STATUS, refundstatus.toInt());
POSTEVENTTYPE(PosEvent::s_change_orderpool,maps,QVariantMap); POSTEVENTTYPE(PosEvent::s_change_orderpool,maps,QVariantMap);
......
...@@ -146,6 +146,7 @@ private: ...@@ -146,6 +146,7 @@ private:
//data.insert(JSON_KEY_PWD, json[JSON_KEY_PWD].toString()); //data.insert(JSON_KEY_PWD, json[JSON_KEY_PWD].toString());
data.insert(JSON_KEY_PARTNERID, token); data.insert(JSON_KEY_PARTNERID, token);
data.insert(JSON_KEY_TIMESTAMP, timestamp); data.insert(JSON_KEY_TIMESTAMP, timestamp);
//data.insert(JSON_KEY_TIMESTAMP, 0);
data.insert(JSON_KEY_AUTOCONFIRM, autoconfirm); data.insert(JSON_KEY_AUTOCONFIRM, autoconfirm);
return true; return true;
...@@ -170,6 +171,11 @@ private: ...@@ -170,6 +171,11 @@ private:
json = QJsonObject::fromVariantMap(map); json = QJsonObject::fromVariantMap(map);
if(map.contains(EVENT_KEY_STATUS)) if(map.contains(EVENT_KEY_STATUS))
json.remove(EVENT_KEY_STATUS); json.remove(EVENT_KEY_STATUS);
if(map.contains(EVENT_KEY_MSG))
{
json.remove(EVENT_KEY_MSG);
json.insert(JSON_KEY_REASON, map[EVENT_KEY_MSG].toString());
}
} }
static void getComplateJson(QString action, QString access_token, QString ver, const QJsonObject &json, QJsonObject &complatejson) static void getComplateJson(QString action, QString access_token, QString ver, const QJsonObject &json, QJsonObject &complatejson)
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "view/floatForm.h" #include "view/floatForm.h"
#include "control/orderlocalizework.h" #include "control/orderlocalizework.h"
#include "control/orderpushwork.h" #include "control/orderpushwork.h"
#include "control/orderprintwork.h"
#include "base/Dump/dump.h" #include "base/Dump/dump.h"
#include <QVariantMap> #include <QVariantMap>
#include <QThread> #include <QThread>
...@@ -43,7 +44,7 @@ int main(int argc, char *argv[]) ...@@ -43,7 +44,7 @@ int main(int argc, char *argv[])
{ {
SetUnhandledExceptionFilter(FMExcpHandler); SetUnhandledExceptionFilter(FMExcpHandler);
HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"Global\\fmTakeaway" ); HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"Global\\fmtakeout");
if(m_hMutex != NULL) if(m_hMutex != NULL)
{ {
...@@ -79,6 +80,7 @@ int main(int argc, char *argv[]) ...@@ -79,6 +80,7 @@ int main(int argc, char *argv[])
QLOG_INFO() << "Thread List :" << &thread << &threadt << QThread::currentThread(); QLOG_INFO() << "Thread List :" << &thread << &threadt << QThread::currentThread();
OrderGetWork work; OrderGetWork work;
orderprintwork printwork;
MainForm mainform; MainForm mainform;
...@@ -146,6 +148,7 @@ int main(int argc, char *argv[]) ...@@ -146,6 +148,7 @@ int main(int argc, char *argv[])
loac.moveToThread(&thread); loac.moveToThread(&thread);
work.moveToThread(&thread); work.moveToThread(&thread);
printwork.moveToThread(&thread);
pwork.moveToThread(&threadt); pwork.moveToThread(&threadt);
......
...@@ -18,6 +18,9 @@ OrderObject::OrderObject(const OrderObject &p, QObject *parent):BaseObject(paren ...@@ -18,6 +18,9 @@ OrderObject::OrderObject(const OrderObject &p, QObject *parent):BaseObject(paren
ProductObject *product=new ProductObject(*ptr,this); ProductObject *product=new ProductObject(*ptr,this);
this->proList.append(product); this->proList.append(product);
} }
if(this->refund_status == 0)
this->refund_status = -100;
} }
OrderObject &OrderObject::operator =(const OrderObject &p) OrderObject &OrderObject::operator =(const OrderObject &p)
...@@ -37,6 +40,9 @@ OrderObject &OrderObject::operator =(const OrderObject &p) ...@@ -37,6 +40,9 @@ OrderObject &OrderObject::operator =(const OrderObject &p)
this->proList.append(product); this->proList.append(product);
} }
if(this->refund_status == 0)
this->refund_status = -100;
return *this; return *this;
} }
...@@ -53,6 +59,10 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -53,6 +59,10 @@ void OrderObject::FromJson(const QJsonObject &json)
proObject->FromJson(proJson); proObject->FromJson(proJson);
proList.append(proObject); proList.append(proObject);
} }
if(this->refund_status == 0)
this->refund_status = -100;
return; return;
} }
......
...@@ -147,6 +147,22 @@ void PosOrderPool::GetOrderStatusAndLastStatus(Order_Info orderinfo, int &status ...@@ -147,6 +147,22 @@ void PosOrderPool::GetOrderStatusAndLastStatus(Order_Info orderinfo, int &status
laststatus = orderinfo.order_last_refund; laststatus = orderinfo.order_last_refund;
return ; return ;
} }
if(orderinfo.order_last_refund == ApplicationPartialRefundOrder && orderinfo.order_refund == RefusingRefundOrder)
{
status = orderinfo.order_status;
laststatus = orderinfo.order_last_refund;
return ;
}
if(orderinfo.order_last_refund == ApplicationRefundOrder && orderinfo.order_refund == RefusingRefundOrder)
{
status = orderinfo.order_status;
laststatus = orderinfo.order_last_refund;
return ;
}
} }
status = orderinfo.order_status; status = orderinfo.order_status;
...@@ -180,8 +196,8 @@ bool PosOrderPool::TryInsertOrder(OrderObject order) ...@@ -180,8 +196,8 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
INITORDERINFO(order, info); INITORDERINFO(order, info);
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_refund << info.order_last_refund; QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_id << info.order_refund << info.order_last_refund;
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_status << info.order_last_status; QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_id << info.order_status << info.order_last_status;
s_order_pool.insert(order.order_id,info); s_order_pool.insert(order.order_id,info);
...@@ -195,9 +211,17 @@ bool PosOrderPool::TryInsertOrder(OrderObject order) ...@@ -195,9 +211,17 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
Order_Info info; Order_Info info;
QLOG_INFO() << "$$$$$$$$$$$$$$$$$$$$$$$$$$$" << info.order_id << info.order_refund << info.order_last_refund;
QLOG_INFO() << "$$$$$$$$$$$$$$$$$$$$$$$$$$$" << info.order_id << info.order_status << info.order_last_status;
UPDATEORDERINFO(oldinfo, order, info); UPDATEORDERINFO(oldinfo, order, info);
if(info.order_last_status != info.order_status || info.order_last_refund != info.order_refund) QLOG_INFO() << "@@@@@@@@@@@@@@@@@@@@@@@@@@@" << info.order_id << info.order_refund << info.order_last_refund;
QLOG_INFO() << "@@@@@@@@@@@@@@@@@@@@@@@@@@@" << info.order_id << info.order_status << info.order_last_status;
if(oldinfo.order_status != order.status || oldinfo.order_refund != order.refund_status)
{ {
s_order_pool.insert(order.order_id, info); s_order_pool.insert(order.order_id, info);
...@@ -308,7 +332,7 @@ bool PosOrderPool::GetOrderObject(QString key, OrderObject &order, int &last_sta ...@@ -308,7 +332,7 @@ bool PosOrderPool::GetOrderObject(QString key, OrderObject &order, int &last_sta
GetOrderStatusAndLastStatus(info, status, last_status); GetOrderStatusAndLastStatus(info, status, last_status);
QLOG_WARN() << "###############order status : " << status << "; last status : " << last_status; QLOG_WARN() << "####################" << info.order_id << "order status : " << status << "; last status : " << last_status;
order = info.order_data; order = info.order_data;
order.status = status; order.status = status;
......
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
#define JSON_KEY_DATA "data" #define JSON_KEY_DATA "data"
#define JSON_KEY_UNIFYID "unify_id" #define JSON_KEY_UNIFYID "unify_id"
#define JSON_KEY_TOKEN "token" #define JSON_KEY_TOKEN "token"
#define JSON_KEY_REASON "reason"
#define JSON_KEY_ORDERID "order_id" #define JSON_KEY_ORDERID "order_id"
#define JSON_KEY_REASONCODE "reason_code" #define JSON_KEY_REASONCODE "reason_code"
...@@ -204,7 +205,7 @@ ...@@ -204,7 +205,7 @@
// 服务器返回正确值 // 服务器返回正确值
#define JSON_STATUSCODE_OK 100 #define JSON_STATUSCODE_OK 100
// 默认拉取订单的间隔时间 // 默认拉取订单的间隔时间
#define VALUE_PULLSYNCTIME 300000 #define VALUE_PULLSYNCTIME 180000
// 默认网络超时时间 // 默认网络超时时间
#define VALUE_NETTIMEOUT 10000 #define VALUE_NETTIMEOUT 10000
// 默认重新尝试登录的时间 // 默认重新尝试登录的时间
......
...@@ -84,42 +84,54 @@ void RejectForm::InitUi(int rejecttype) ...@@ -84,42 +84,54 @@ void RejectForm::InitUi(int rejecttype)
void RejectForm::on_rejectBtnOk_clicked() void RejectForm::on_rejectBtnOk_clicked()
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
this->accept(); this->accept();
} }
void RejectForm::on_rejectBtnCancle_clicked() void RejectForm::on_rejectBtnCancle_clicked()
{ {
this->reject(); this->reject();
} }
void RejectForm::on_rejectRbtn0_toggled(bool) void RejectForm::on_rejectRbtn0_toggled(bool)
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 1; m_rejectCode = 1;
} }
void RejectForm::on_rejectRbtn1_toggled(bool) void RejectForm::on_rejectRbtn1_toggled(bool)
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 2; m_rejectCode = 2;
} }
void RejectForm::on_rejectRbtn2_toggled(bool) void RejectForm::on_rejectRbtn2_toggled(bool)
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 3; m_rejectCode = 3;
} }
void RejectForm::on_rejectRbtn3_toggled(bool) void RejectForm::on_rejectRbtn3_toggled(bool)
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 4; m_rejectCode = 4;
} }
void RejectForm::on_rejectRbtn4_toggled(bool) void RejectForm::on_rejectRbtn4_toggled(bool)
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 5; m_rejectCode = 5;
} }
void RejectForm::on_rejectRbtn5_toggled(bool ) void RejectForm::on_rejectRbtn5_toggled(bool )
{ {
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 6; m_rejectCode = 6;
} }
...@@ -159,9 +159,41 @@ void DetailForm::onOperaBtnClicked() ...@@ -159,9 +159,41 @@ void DetailForm::onOperaBtnClicked()
QVariantMap value; QVariantMap value;
if(pBtn->text()=="拒单")
{
m_rejectForm->InitUi(REJECTUITYPE_REFUSEORDER);
m_rejectForm->show();
if(m_rejectForm->exec()!=QDialog::Accepted)
return ;
value.insert(EVENT_KEY_MSG, m_rejectForm->GetReason());
}
if(pBtn->text()==QString::fromLocal8Bit("退单"))
{
m_rejectForm->InitUi(REJECTUITYPE_CANCLEORDER);
m_rejectForm->show();
if(m_rejectForm->exec()!=QDialog::Accepted)
return ;
value.insert(EVENT_KEY_MSG, m_rejectForm->GetReason());
}
if(pBtn->text()==QString::fromLocal8Bit("拒绝"))
{
m_rejectForm->InitUi(REJECTUITYPE_REFUSEREFUND);
m_rejectForm->show();
if(m_rejectForm->exec() != QDialog::Accepted)
return ;
value.insert(EVENT_KEY_MSG, m_rejectForm->GetReason());
}
value.insert(EVENT_KEY_ORDERID, pBtn->property("orderId").toString()); value.insert(EVENT_KEY_ORDERID, pBtn->property("orderId").toString());
value.insert(EVENT_KEY_STATUS, pBtn->property("operation").toString()); value.insert(EVENT_KEY_STATUS, pBtn->property("operation").toString());
POSTEVENTTYPE(PosEvent::s_opt_order,value,QVariantMap); POSTEVENTTYPE(PosEvent::s_opt_order,value,QVariantMap);
} }
......
...@@ -165,6 +165,12 @@ bool MainForm::event(QEvent *e) ...@@ -165,6 +165,12 @@ bool MainForm::event(QEvent *e)
GETEVENTINFO(value,e,QVariantMap); GETEVENTINFO(value,e,QVariantMap);
if(value.contains(EVENT_KEY_ORDERSTATUS) && value[EVENT_KEY_ORDERSTATUS].toInt() == 0)
{
onShowAlert(AlertForm::LOADING, value[EVENT_KEY_MSG].toString());
return true;
}
if(value.contains(EVENT_KEY_STATUS) && value[EVENT_KEY_STATUS].toBool() == false) if(value.contains(EVENT_KEY_STATUS) && value[EVENT_KEY_STATUS].toBool() == false)
{ {
QLOG_INFO() << value[EVENT_KEY_MSG].toString(); QLOG_INFO() << value[EVENT_KEY_MSG].toString();
......
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