Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmtakeout
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李定达
fmtakeout
Commits
b3ac26ab
Commit
b3ac26ab
authored
Mar 20, 2019
by
xiaoqing.gu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
第三方配送信息展示开发完成
parent
f614c7cd
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
78 additions
and
21 deletions
+78
-21
takeout/control/driverinfogetwork.cpp
+11
-6
takeout/control/driverinfogetwork.h
+2
-1
takeout/control/orderpushwork.cpp
+19
-3
takeout/control/orderpushwork.h
+3
-0
takeout/model/posorderpool.cpp
+20
-1
takeout/model/posorderpool.h
+4
-1
takeout/view/newmainform.cpp
+3
-2
takeout/view/ordertypeform.cpp
+16
-7
No files found.
takeout/control/driverinfogetwork.cpp
View file @
b3ac26ab
...
...
@@ -4,10 +4,10 @@
#include "event/posevent.h"
#include "QsLog.h"
#include <QJsonArray>
#include "model/posorderpool.h"
DriverInfoGetWork
::
DriverInfoGetWork
(
WorkObject
*
parent
)
:
WorkObject
(
parent
)
{
_isgetorder
=
false
;
FMApplication
::
subscibeEvent
(
this
,
PosEvent
::
s_get_order_status
);
FMApplication
::
subscibeEvent
(
this
,
PosEvent
::
s_token_change
);
...
...
@@ -36,7 +36,10 @@ bool DriverInfoGetWork::event(QEvent *e)
QLOG_DEBUG
()
<<
"DriverInfoGetWork::event::PosEvent::s_get_order_status:"
<<
isgetorder
;
_isgetorder
=
isgetorder
;
if
(
isgetorder
)
{
emit
quitGetWork
();
}
return
true
;
}
...
...
@@ -93,12 +96,11 @@ void DriverInfoGetWork::workstart()
loop
.
exec
();
}
if
(
_isgetorder
)
{
QEventLoop
loop
;
connect
(
this
,
&
DriverInfoGetWork
::
quit
,
&
loop
,
&
QEventLoop
::
quit
);
connect
(
this
,
&
DriverInfoGetWork
::
quit
GetWork
,
&
loop
,
&
QEventLoop
::
quit
);
loop
.
exec
();
}
QLOG_DEBUG
()
<<
"DriverInfoGetWork::workstart loop start"
;
...
...
@@ -186,7 +188,10 @@ bool DriverInfoGetWork::praseRecvJson(QJsonObject &json)
map
.
insert
(
JSON_ORDERID
,
driverInfo
[
"order_id"
].
toString
());
map
.
insert
(
"rider_name"
,
driverInfo
[
"rider_name"
].
toString
());
map
.
insert
(
"rider_phone"
,
driverInfo
[
"rider_phone"
].
toString
());
POSTEVENTTYPE
(
PosEvent
::
s_get_driver_info
,
map
,
QVariantMap
);
}
return
true
;
}
takeout/control/driverinfogetwork.h
View file @
b3ac26ab
...
...
@@ -27,6 +27,8 @@ public:
signals
:
void
quitwork
();
void
quitGetWork
();
public
slots
:
void
workstart
();
...
...
@@ -43,7 +45,6 @@ private:
QString
_url
;
bool
_isgetorder
;
};
class
GetDriverInfoDataProcess
...
...
takeout/control/orderpushwork.cpp
View file @
b3ac26ab
...
...
@@ -357,6 +357,8 @@ void OrderPushWork::heartBeatTcpService()
QByteArray
msgdata
=
_socket
->
read
(
reallen
);
QLOG_ERROR
()
<<
"HeartBeat Msg : "
<<
msgdata
.
data
();
checkMsgData
(
msgdata
);
QByteArray
data
;
...
...
@@ -387,7 +389,7 @@ void OrderPushWork::heartBeatTcpService()
continue
;
}
else
if
(
cmd
==
COMMAND_LOGIN_RE
Q
)
else
if
(
cmd
==
COMMAND_LOGIN_RE
SP
)
{
quint32
reallen
=
0
;
...
...
@@ -439,8 +441,22 @@ bool OrderPushWork::checkMsgData(const QByteArray &msgdata)
QLOG_INFO
()
<<
"recv order info : "
<<
msgdata
;
//接口未能完善
//推送新订单事件
DEFAULTPOSTEVENT
(
PosEvent
::
s_need_get_order
,
QString
::
fromUtf8
(
msgdata
));
// QByteArray array = "{\"type\":1,\"content\":{\"oid\":\"139410923248945720\",\"deliveryStatus\":2}}";
//解析收到的消息,deliveryStatus字段为2时推送拉取骑手信息事件
QJsonDocument
document
=
QJsonDocument
::
fromJson
(
msgdata
);
QJsonObject
object
=
document
.
object
();
QJsonObject
content
=
object
[
"content"
].
toObject
();
if
(
content
.
contains
(
"deliveryStatus"
)
&&
content
[
"deliveryStatus"
].
toInt
()
==
2
)
{
//推送拉取骑手信息事件
DEFAULTPOSTEVENT
(
PosEvent
::
s_need_get_driver_info
,
QString
::
fromUtf8
(
msgdata
));
}
else
{
//推送新订单事件
DEFAULTPOSTEVENT
(
PosEvent
::
s_need_get_order
,
QString
::
fromUtf8
(
msgdata
));
}
return
false
;
}
...
...
takeout/control/orderpushwork.h
View file @
b3ac26ab
...
...
@@ -14,6 +14,7 @@
#include <WinSock.h>
#include "preDefine.h"
#include "workobject.h"
#include "QsLog.h"
#define CLOSESOCKES(socket) do{ \
if(socket != NULL && socket->isOpen()){ \
...
...
@@ -309,6 +310,8 @@ private:
if
(
data
.
size
()
<
sizeof
(
Data_Head
))
return
false
;
QLOG_ERROR
()
<<
"getHeadCMD::data: "
<<
data
.
toHex
();
Data_Head
head
=
{
0
};
memcpy
(
&
head
,
data
.
data
(),
sizeof
(
Data_Head
));
...
...
takeout/model/posorderpool.cpp
View file @
b3ac26ab
...
...
@@ -277,6 +277,8 @@ bool PosOrderPool::TryChangeOrderStatus(QString key, int order_status, int refun
Order_Info
tmpinfo
=
s_order_pool
[
key
];
Order_Info
info
=
s_order_pool
[
key
];
QLOG_DEBUG
()
<<
"TryChangeOrderStatus"
<<
info
.
order_status
<<
order_status
<<
info
.
order_refund
<<
refundstatus
<<
info
.
rider_name
<<
info
.
rider_phone
;
if
(
info
.
order_status
!=
order_status
||
info
.
order_refund
!=
refundstatus
)
{
if
(
info
.
order_status
!=
order_status
)
...
...
@@ -295,6 +297,8 @@ bool PosOrderPool::TryChangeOrderStatus(QString key, int order_status, int refun
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
info
.
order_status
;
QLOG_DEBUG
()
<<
"+++++++++++++++++++++++++++"
<<
order_status
<<
refundstatus
;
info
.
rider_name
=
tmpinfo
.
rider_name
;
info
.
rider_phone
=
tmpinfo
.
rider_phone
;
info
.
order_change_time
=
QDateTime
::
currentDateTime
().
toTime_t
();
s_order_pool
.
insert
(
key
,
info
);
...
...
@@ -438,6 +442,8 @@ bool PosOrderPool::GetDriverInfo(QString key, QString &rider_name, QString &ride
rider_phone
=
info
.
rider_phone
;
QLOG_DEBUG
()
<<
"GetDriverInfo"
<<
key
<<
rider_name
<<
rider_phone
;
return
true
;
}
...
...
@@ -452,6 +458,8 @@ bool PosOrderPool::GetDriverStatus(QString key, int &status)
status
=
info
.
driver_order_status
;
QLOG_DEBUG
()
<<
"status:"
<<
status
<<
info
.
driver_order_status
<<
info
.
rider_name
<<
info
.
rider_phone
;
return
true
;
}
...
...
@@ -493,12 +501,17 @@ bool PosOrderPool::TryChangeOrderRemindStatus(QString key, int order_remind_stat
return
true
;
}
bool
PosOrderPool
::
TryChangeDriverInfo
(
QString
key
,
QVariantMap
&
map
)
bool
PosOrderPool
::
TryChangeDriverInfo
(
QString
&
key
,
QVariantMap
&
map
)
{
QMutexLocker
loker
(
&
s_mutex
);
QLOG_DEBUG
()
<<
"s_order_pool:"
<<
key
<<
s_order_pool
.
keys
();
if
(
!
s_order_pool
.
contains
(
key
))
{
QLOG_DEBUG
()
<<
"TryChangeDriverInfo failed!"
;
return
false
;
}
Order_Info
info
=
s_order_pool
[
key
];
...
...
@@ -511,6 +524,8 @@ bool PosOrderPool::TryChangeDriverInfo(QString key, QVariantMap &map)
info
.
rider_phone
=
map
[
"rider_phone"
].
toString
();
s_order_pool
.
insert
(
key
,
info
);
QLOG_DEBUG
()
<<
"s_order_pool::KEY"
<<
s_order_pool
[
key
].
driver_order_status
;
// DEFAULTPOSTEVENT(PosEvent::s_driver_order_status, key);
QVariantMap
map
;
...
...
@@ -729,6 +744,8 @@ bool PosOrderPool::event(QEvent *e)
GETEVENTINFO
(
info
,
e
,
QVariantMap
);
QLOG_DEBUG
()
<<
"info map:"
<<
info
;
if
(
!
info
.
contains
(
EVENT_KEY_ORDERID
)
||
!
info
.
contains
(
EVENT_KEY_MSG
))
return
true
;
...
...
@@ -776,6 +793,8 @@ bool PosOrderPool::event(QEvent *e)
GETEVENTINFO
(
map
,
e
,
QVariantMap
);
QLOG_DEBUG
()
<<
"GETEVENTINFO(map,e,QVariantMap)"
<<
map
;
TryChangeDriverInfo
(
map
[
JSON_ORDERID
].
toString
(),
map
);
return
true
;
...
...
takeout/model/posorderpool.h
View file @
b3ac26ab
...
...
@@ -40,6 +40,9 @@
info.order_print_status = oldorder.order_print_status; \
info.order_change_time = QDateTime::currentDateTime().toTime_t(); \
info.reserved1 = oldorder.reserved1; \
info.driver_order_status = oldorder.driver_order_status; \
info.rider_name = oldorder.rider_name; \
info.rider_phone = oldorder.rider_phone; \
} while (0)
#define INITORDERINFO(neworder, info) do { \
...
...
@@ -256,7 +259,7 @@ private:
static
bool
TryChangeOrderRemindStatus
(
QString
key
,
int
order_remind_status
);
//修改骑手接单状态
static
bool
TryChangeDriverInfo
(
QString
key
,
QVariantMap
&
map
);
static
bool
TryChangeDriverInfo
(
QString
&
key
,
QVariantMap
&
map
);
static
void
removeOrderInfo
(
QString
key
);
...
...
takeout/view/newmainform.cpp
View file @
b3ac26ab
...
...
@@ -815,6 +815,7 @@ void NewMainForm::SetChecked(QPushButton *btn)
void
NewMainForm
::
UpdateTableWidget
(
OrderObject
&
orderObject
)
{
QLOG_DEBUG
()
<<
"UpdateTableWidget"
;
QTableWidget
*
table
=
ui
->
newmaintablewidget_order
;
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
...
...
@@ -824,7 +825,7 @@ void NewMainForm::UpdateTableWidget(OrderObject &orderObject)
if
(
orderObject
.
order_id
.
compare
(
pwd
->
order_id
())
==
0
)
{
int
driver_status
;
int
driver_status
=
0
;
PosOrderPool
::
GetDriverStatus
(
orderObject
.
order_id
,
driver_status
);
QString
channelName
;
getOrderChannelName
(
&
orderObject
,
channelName
);
...
...
@@ -903,7 +904,7 @@ void NewMainForm::getOrderChannelName(OrderObject *order, QString &channelname)
void
NewMainForm
::
InsertTableWidget
(
OrderObject
&
orderObject
)
{
QLOG_DEBUG
()
<<
"InsertTableWidget"
;
QTableWidget
*
table
=
ui
->
newmaintablewidget_order
;
ui
->
newmaintablewidget_order
->
setSortingEnabled
(
false
);
table
->
insertRow
(
0
);
...
...
takeout/view/ordertypeform.cpp
View file @
b3ac26ab
...
...
@@ -68,14 +68,23 @@ void OrderTypeForm::InitChannelShow(QString order_id, int order_status, int refu
// ui->ordertypelabel_type->setStyleSheet("#ordertypelabel_type{ border-image: url(:yy.png)}");
// }
if
(
!
(
_order_status
==
CancelOrder
||
_order_status
==
ServiceOrder
||
_order_status
==
RefusedOrder
||
_order_status
==
CompleteRefundOrder
||
_order_status
==
CompleteOrder
))
{
if
(
_drive_status
==
1
)
{
// if(!(_order_status == CancelOrder || _order_status == ServiceOrder || _order_status == RefusedOrder ||
// _order_status == CompleteRefundOrder || _order_status == CompleteOrder))
// {
int
ordertype
=
GetOrderStatus
();
QLOG_DEBUG
()
<<
"InitChannelShow ordertype:"
<<
ordertype
<<
_drive_status
;
if
(
_drive_status
==
1
&&
!
(
ordertype
==
CancelOrder
||
ordertype
==
ServiceOrder
||
ordertype
==
RefusedOrder
||
ordertype
==
CompleteRefundOrder
||
ordertype
==
CompleteOrder
))
{
ui
->
ordertypelabel_type
->
setStyleSheet
(
"#ordertypelabel_type{ border-image: url(:yy.png)}"
);
}
}
}
else
{
ui
->
ordertypelabel_type
->
setStyleSheet
(
"#ordertypelabel_type{ border-image: url(:tabBtn_normal.png)}"
);
}
ui
->
ordertypelabel_name
->
setText
(
channel
);
ui
->
ordertypelabel_name
->
adjustSize
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment