Commit 3b00463b by 李定达

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

parent df32babd
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>EnvironmentId</variable>
......@@ -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.DisplayName">Desktop Qt 5.5.1 MSVC2010 32bit</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.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
......
......@@ -40,6 +40,10 @@ void OrderGetWork::workStart()
{
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))
{
QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed";
......@@ -59,6 +63,11 @@ void OrderGetWork::workStart()
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))
{
QLOG_ERROR() << QThread::currentThreadId() << "loginToServer failed";
......@@ -581,6 +590,11 @@ void OrderGetWork::setTimeout(unsigned int timeout)
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))
return ;
......@@ -662,7 +676,7 @@ void OrderGetWork::optOrderWithType(const QVariantMap &map)
maps.insert(EVENT_KEY_ORDERID, tmpid);
maps.insert(EVENT_KEY_MSG, tmpstatus.toInt());
if(!refundstatus.isEmpty())
if(!refundstatus.isEmpty() && refundstatus.toInt() != 0)
maps.insert(EVENT_KEY_STATUS, refundstatus.toInt());
POSTEVENTTYPE(PosEvent::s_change_orderpool,maps,QVariantMap);
......
......@@ -146,6 +146,7 @@ private:
//data.insert(JSON_KEY_PWD, json[JSON_KEY_PWD].toString());
data.insert(JSON_KEY_PARTNERID, token);
data.insert(JSON_KEY_TIMESTAMP, timestamp);
//data.insert(JSON_KEY_TIMESTAMP, 0);
data.insert(JSON_KEY_AUTOCONFIRM, autoconfirm);
return true;
......@@ -170,6 +171,11 @@ private:
json = QJsonObject::fromVariantMap(map);
if(map.contains(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)
......
......@@ -7,6 +7,7 @@
#include "view/floatForm.h"
#include "control/orderlocalizework.h"
#include "control/orderpushwork.h"
#include "control/orderprintwork.h"
#include "base/Dump/dump.h"
#include <QVariantMap>
#include <QThread>
......@@ -43,7 +44,7 @@ int main(int argc, char *argv[])
{
SetUnhandledExceptionFilter(FMExcpHandler);
HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"Global\\fmTakeaway" );
HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"Global\\fmtakeout");
if(m_hMutex != NULL)
{
......@@ -79,6 +80,7 @@ int main(int argc, char *argv[])
QLOG_INFO() << "Thread List :" << &thread << &threadt << QThread::currentThread();
OrderGetWork work;
orderprintwork printwork;
MainForm mainform;
......@@ -146,6 +148,7 @@ int main(int argc, char *argv[])
loac.moveToThread(&thread);
work.moveToThread(&thread);
printwork.moveToThread(&thread);
pwork.moveToThread(&threadt);
......
......@@ -18,6 +18,9 @@ OrderObject::OrderObject(const OrderObject &p, QObject *parent):BaseObject(paren
ProductObject *product=new ProductObject(*ptr,this);
this->proList.append(product);
}
if(this->refund_status == 0)
this->refund_status = -100;
}
OrderObject &OrderObject::operator =(const OrderObject &p)
......@@ -37,6 +40,9 @@ OrderObject &OrderObject::operator =(const OrderObject &p)
this->proList.append(product);
}
if(this->refund_status == 0)
this->refund_status = -100;
return *this;
}
......@@ -53,6 +59,10 @@ void OrderObject::FromJson(const QJsonObject &json)
proObject->FromJson(proJson);
proList.append(proObject);
}
if(this->refund_status == 0)
this->refund_status = -100;
return;
}
......
......@@ -147,6 +147,22 @@ void PosOrderPool::GetOrderStatusAndLastStatus(Order_Info orderinfo, int &status
laststatus = orderinfo.order_last_refund;
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;
......@@ -180,8 +196,8 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
INITORDERINFO(order, info);
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_refund << info.order_last_refund;
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_status << info.order_last_status;
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_id << info.order_refund << info.order_last_refund;
QLOG_INFO() << "%%%%%%%%%%%%%%%%%%%%%%%%%%%" << info.order_id << info.order_status << info.order_last_status;
s_order_pool.insert(order.order_id,info);
......@@ -195,9 +211,17 @@ bool PosOrderPool::TryInsertOrder(OrderObject order)
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);
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);
......@@ -308,7 +332,7 @@ bool PosOrderPool::GetOrderObject(QString key, OrderObject &order, int &last_sta
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.status = status;
......
......@@ -140,6 +140,7 @@
#define JSON_KEY_DATA "data"
#define JSON_KEY_UNIFYID "unify_id"
#define JSON_KEY_TOKEN "token"
#define JSON_KEY_REASON "reason"
#define JSON_KEY_ORDERID "order_id"
#define JSON_KEY_REASONCODE "reason_code"
......@@ -204,7 +205,7 @@
// 服务器返回正确值
#define JSON_STATUSCODE_OK 100
// 默认拉取订单的间隔时间
#define VALUE_PULLSYNCTIME 300000
#define VALUE_PULLSYNCTIME 180000
// 默认网络超时时间
#define VALUE_NETTIMEOUT 10000
// 默认重新尝试登录的时间
......
......@@ -84,42 +84,54 @@ void RejectForm::InitUi(int rejecttype)
void RejectForm::on_rejectBtnOk_clicked()
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
this->accept();
}
void RejectForm::on_rejectBtnCancle_clicked()
{
this->reject();
}
void RejectForm::on_rejectRbtn0_toggled(bool)
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 1;
}
void RejectForm::on_rejectRbtn1_toggled(bool)
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 2;
}
void RejectForm::on_rejectRbtn2_toggled(bool)
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 3;
}
void RejectForm::on_rejectRbtn3_toggled(bool)
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 4;
}
void RejectForm::on_rejectRbtn4_toggled(bool)
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 5;
}
void RejectForm::on_rejectRbtn5_toggled(bool )
{
QRadioButton *btn=(QRadioButton*)sender();
m_rejectReason=btn->text();
m_rejectCode = 6;
}
......@@ -159,9 +159,41 @@ void DetailForm::onOperaBtnClicked()
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_STATUS, pBtn->property("operation").toString());
POSTEVENTTYPE(PosEvent::s_opt_order,value,QVariantMap);
}
......
......@@ -165,6 +165,12 @@ bool MainForm::event(QEvent *e)
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)
{
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