Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
takeout_sbk
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
yunpeng.song
takeout_sbk
Commits
fbaea4c6
Commit
fbaea4c6
authored
Jun 24, 2018
by
yunpeng.song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接新接口
parent
5565ea3f
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
796 additions
and
756 deletions
+796
-756
fmTakeaway/Control/flowControl.cpp
+285
-252
fmTakeaway/Control/flowControl.h
+15
-19
fmTakeaway/DTools/dataManger.cpp
+6
-12
fmTakeaway/DTools/dataManger.h
+1
-2
fmTakeaway/DTools/sysTray.cpp
+1
-1
fmTakeaway/DTools/util.cpp
+8
-8
fmTakeaway/Model/dishesObject.cpp
+58
-0
fmTakeaway/Model/dishesObject.h
+38
-37
fmTakeaway/Model/orderObject.cpp
+72
-14
fmTakeaway/Model/orderObject.h
+199
-335
fmTakeaway/Network/billSocket.cpp
+33
-0
fmTakeaway/Network/billSocket.h
+1
-0
fmTakeaway/detailForm.cpp
+29
-31
fmTakeaway/detailForm.h
+1
-1
fmTakeaway/detailForm.ui
+1
-1
fmTakeaway/disTabWdg.cpp
+3
-3
fmTakeaway/fmTakeaway.pro
+2
-4
fmTakeaway/fmTakeaway.rc
+2
-2
fmTakeaway/mainForm.cpp
+26
-24
fmTakeaway/preDefine.h
+13
-8
fmTakeaway/refdishesForm.cpp
+2
-2
No files found.
fmTakeaway/Control/flowControl.cpp
View file @
fbaea4c6
...
...
@@ -26,7 +26,7 @@ FlowControl &FlowControl::GetInstance()
return
fc
;
}
FlowControl
::
FlowControl
()
:
semaphore
(
0
)
FlowControl
::
FlowControl
()
{
m_bLoginResult
=
false
;
m_bFirstRecvInfo
=
true
;
...
...
@@ -35,21 +35,18 @@ FlowControl::FlowControl():semaphore(0)
m_pullOrderSocket
=
NULL
;
m_procOrderSocket
=
NULL
;
m_pullDishesSocket
=
NULL
;
m_pullOrderListSocket
=
NULL
;
m_clearTimer
=
new
QTimer
(
this
);
m_heartTimer
=
new
QTimer
(
this
);
m_pullTimer
=
new
QTimer
(
this
);
m_pullTimer
->
setSingleShot
(
true
);
m_operateTimer
=
new
QTimer
(
this
);
m_loginTimer
=
new
QTimer
(
this
);
m_operateTimer
->
setSingleShot
(
true
);
connect
(
m_loginTimer
,
&
QTimer
::
timeout
,
this
,
&
FlowControl
::
_ClickToLogin
);
connect
(
m_pullTimer
,
&
QTimer
::
timeout
,
this
,
&
FlowControl
::
_PullOrder
);
connect
(
m_clearTimer
,
&
QTimer
::
timeout
,
this
,
&
FlowControl
::
_ClearOrder
);
connect
(
m_heartTimer
,
&
QTimer
::
timeout
,
this
,
&
FlowControl
::
_SendHeart
);
connect
(
m_operateTimer
,
&
QTimer
::
timeout
,
this
,
&
FlowControl
::
_OperateTimeOut
);
connect
(
this
,
&
FlowControl
::
doStartOperateTimer
,
this
,
&
FlowControl
::
_StartOperateTimer
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doPullOrder
,
this
,
&
FlowControl
::
_GetOrder
);
connect
(
this
,
&
FlowControl
::
doConfirmOrder
,
this
,
&
FlowControl
::
_ConfirmOrder
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doRefundOrder
,
this
,
&
FlowControl
::
_RefundOrder
,
Qt
::
BlockingQueuedConnection
);
...
...
@@ -112,13 +109,11 @@ FlowControl::FlowControl():semaphore(0)
Orderstatus
::
getInstance
();
_ClickOMSAssignArea
();
m_loginTimer
->
start
(
20
*
1000
);
semaphore
.
release
(
1
);
}
QString
FlowControl
::
_GetIpAddress
()
{
QString
ipAddress
;
ipAddress
=
ConfigManger
::
GetInstance
().
GetIpAddress
();
QHostInfo
info
=
QHostInfo
::
fromName
(
QHostInfo
::
localHostName
());
foreach
(
QHostAddress
address
,
info
.
addresses
())
...
...
@@ -168,11 +163,113 @@ void FlowControl::_ClickToLogin()
}
}
void
FlowControl
::
_
StartOperateTimer
(
)
void
FlowControl
::
_
OrderAnalysis
(
const
QJsonObject
&
jsonObject
)
{
qDebug
()
<<
__FUNCTION__
;
m_operateTimer
->
start
(
15
*
1000
);
semaphore
.
acquire
(
1
);
OrderObject
*
orderObject
=
NULL
;
orderObject
=
m_ordersMap
.
value
(
jsonObject
[
JSON_ID
].
toString
());
if
(
orderObject
==
NULL
)
{
//新数据
orderObject
=
new
OrderObject
(
this
);
orderObject
->
FromJson
(
jsonObject
);
orderObject
->
isPut
=
false
;
orderObject
->
isCancle
=
false
;
m_ordersMap
.
insert
(
orderObject
->
id
,
orderObject
);
QLOG_INFO
()
<<
QString
(
"new order[%1:%2].[data:]"
)
.
arg
(
orderObject
->
id
,
orderObject
->
getOrderStatusDec
())
<<
jsonObject
;
if
(
!
Orderstatus
::
getInstance
().
isorderexit
(
orderObject
->
id
))
{
Orderstatus
::
getInstance
().
statusinsert
(
orderObject
->
id
,
QDate
::
currentDate
().
toString
(
"yyyy-MM-dd"
));
if
((
OrderObject
::
NewOrder
==
orderObject
->
orderStatus
||
OrderObject
::
Confirmed
==
orderObject
->
orderStatus
))
{
emit
startRemind
(
0
);
}
}
emit
changeOrderStatus
(
orderObject
);
}
else
{
//旧数据有更新
int
oldStatus
=
orderObject
->
orderStatus
;
orderObject
->
FromJson
(
jsonObject
);
QLOG_INFO
()
<<
QString
(
"old order[%1:%3].[data:%3]"
)
.
arg
(
orderObject
->
id
,
orderObject
->
getOrderStatusDec
())
<<
jsonObject
;
if
(
oldStatus
!=
orderObject
->
orderStatus
)
{
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
orderObject
->
updateTime
=
QDateTime
::
currentDateTime
().
toTime_t
();
if
(
OrderObject
::
RequestRefund
==
orderObject
->
orderStatus
)
{
emit
startRemind
(
1
);
}
if
(
Orderstatus
::
getInstance
().
isput
(
orderObject
->
id
))
{
orderObject
->
isPut
=
true
;
}
if
(
Orderstatus
::
getInstance
().
isrefund
(
orderObject
->
id
))
{
orderObject
->
isCancle
=
true
;
}
QString
posSaledId
=
m_orderIdToPosSalesIdMap
.
value
(
orderObject
->
id
);
if
(
posSaledId
.
isEmpty
())
{
Orderstatus
::
getInstance
().
getPosSalesId
(
orderObject
->
id
,
posSaledId
);
}
orderObject
->
possaleId
=
posSaledId
;
switch
(
orderObject
->
orderStatus
){
case
OrderObject
:
:
NewOrder
:
case
OrderObject
:
:
Confirmed
:
case
OrderObject
:
:
Sendout
:
case
OrderObject
:
:
ToSend
:
case
OrderObject
:
:
Finished
:
case
OrderObject
:
:
RequestRefund
:
if
(
!
orderObject
->
isPut
)
{
orderObject
->
putType
=
1
;
orderObject
->
putTimes
=
0
;
m_OrderEntryMutex
.
lock
();
if
(
!
m_ordersEntryList
.
contains
(
orderObject
->
id
))
{
m_ordersEntryList
.
append
(
orderObject
->
id
);
}
m_OrderEntryMutex
.
unlock
();
_ClickOMSAssignArea
();
}
break
;
case
OrderObject
:
:
AgreeRefund
:
case
OrderObject
:
:
Refunded
:
case
OrderObject
:
:
Cancled
:
if
(
!
orderObject
->
isCancle
)
{
if
(
!
orderObject
->
isPut
)
{
m_OrderEntryMutex
.
lock
();
m_ordersEntryList
.
removeOne
(
orderObject
->
id
);
m_OrderEntryMutex
.
unlock
();
}
else
{
if
(
!
posSaledId
.
isEmpty
())
{
orderObject
->
putType
=
0
;
orderObject
->
putTimes
=
0
;
m_OrderEntryMutex
.
lock
();
if
(
!
m_ordersEntryList
.
contains
(
orderObject
->
id
))
{
m_ordersEntryList
.
append
(
orderObject
->
id
);
}
_ClickOMSAssignArea
();
m_OrderEntryMutex
.
unlock
();
}
}
}
break
;
default
:
break
;
}
}
void
FlowControl
::
onGetNewStoreInfo
()
...
...
@@ -182,6 +279,7 @@ void FlowControl::onGetNewStoreInfo()
m_pullOrderSocket
=
new
BillSocket
(
this
);
m_procOrderSocket
=
new
BillSocket
(
this
);
m_pullDishesSocket
=
new
BillSocket
(
this
);
m_pullOrderListSocket
=
new
BillSocket
(
this
);
_GetStoreInfo
();
_Login
();
m_bFirstRecvInfo
=
false
;
...
...
@@ -215,6 +313,8 @@ bool FlowControl::_Login()
{
m_loginSocket
->
SetSslConfig
();
}
qDebug
()
<<
ConfigManger
::
GetInstance
().
GetLoginServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_ILOGIN
);
m_loginSocket
->
SetUrl
(
QUrl
(
ConfigManger
::
GetInstance
().
GetLoginServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_ILOGIN
)));
result
=
m_loginSocket
->
Request
(
sendJson
,
recvJson
,
error
);
...
...
@@ -253,23 +353,31 @@ bool FlowControl::_Login()
return
result
;
}
bool
FlowControl
::
_PullOrder
()
void
FlowControl
::
_PullOrder
()
{
QLOG_INFO
()
<<
__FUNCTION__
;
if
(
m_orderPullList
.
isEmpty
())
return
true
;
return
;
emit
hideAlert
();
PullOrderInfo
info
=
m_orderPullList
.
takeFirst
();
if
(
info
.
orderId
.
isEmpty
())
{
_PullOrderList
(
info
.
pageSize
,
info
.
pageNumber
);
}
else
{
_PullOrderDetail
(
info
.
orderId
);
}
return
;
}
bool
FlowControl
::
_PullOrderDetail
(
const
QString
&
orderId
)
{
if
(
m_pullOrderSocket
==
NULL
)
m_pullOrderSocket
=
new
BillSocket
(
this
);
QString
error
;
bool
result
;
QJsonObject
sendJson
;
QJsonObject
recvJson
;
int
ordertotalSum
;
PullOrderInfo
info
=
m_orderPullList
.
takeFirst
();
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderData
(
info
.
orderId
,
info
.
channel
,
info
.
pageNumber
,
info
.
pageSize
);
QLOG_INFO
()
<<
QString
(
"[---pull order---][requestData:]"
)
<<
sendJson
;
if
(
ConfigManger
::
GetInstance
().
GetOrderSslConfig
())
{
m_pullOrderSocket
->
SetSslConfig
();
...
...
@@ -278,9 +386,12 @@ bool FlowControl::_PullOrder()
else
{
QLOG_INFO
()
<<
"load not ssl"
;
}
m_pullOrderSocket
->
SetUrl
(
QUrl
(
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_PULLORDER
)));
result
=
m_pullOrderSocket
->
Request
(
sendJson
,
recvJson
,
error
);
QString
url
=
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_PULLORDER
);
url
.
append
(
orderId
);
QLOG_INFO
()
<<
QString
(
"[---pull order---][requestUrl:]"
)
<<
url
;
m_pullOrderSocket
->
SetUrl
(
QUrl
(
url
));
result
=
m_pullOrderSocket
->
Get
(
recvJson
,
error
);
QLOG_INFO
()
<<
QString
(
"pull order finsh. [result:%1][msg:%2]"
)
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
if
(
!
result
)
...
...
@@ -299,140 +410,86 @@ bool FlowControl::_PullOrder()
}
else
{
//获取门店营业状态
// QString strOpeStatus("正常");
// emit setOpeStatus(strOpeStatus);
QJsonArray
orders
=
recvJson
[
JSON_DATA
].
toObject
()[
JSON_ORDERS
].
toArray
();
foreach
(
QJsonValue
order
,
orders
)
{
QJsonObject
jsonObject
=
order
.
toObject
();
OrderObject
*
orderObject
=
NULL
;
orderObject
=
m_ordersMap
.
value
(
jsonObject
[
JSON_ORDERID
].
toString
());
if
(
orderObject
==
NULL
)
{
//新数据
orderObject
=
new
OrderObject
(
this
);
orderObject
->
FromJson
(
jsonObject
);
orderObject
->
isPut
=
false
;
orderObject
->
isCancle
=
false
;
m_ordersMap
.
insert
(
orderObject
->
order_id
,
orderObject
);
QLOG_INFO
()
<<
QString
(
"new order[%1:%2].[data:]"
)
.
arg
(
orderObject
->
order_id
,
orderObject
->
status_desc
)
<<
jsonObject
;
if
(
!
Orderstatus
::
getInstance
().
isorderexit
(
orderObject
->
order_id
))
{
Orderstatus
::
getInstance
().
statusinsert
(
orderObject
->
order_id
,
QDate
::
currentDate
().
toString
(
"yyyy-MM-dd"
));
if
((
OrderObject
::
NewOrder
==
orderObject
->
status
||
OrderObject
::
Confirmed
==
orderObject
->
status
))
{
emit
startRemind
(
0
);
QString
strOpeStatus
=
QString
::
fromLocal8Bit
(
"正常"
);
emit
setOpeStatus
(
strOpeStatus
);
QJsonObject
order
=
recvJson
[
JSON_DATA
].
toObject
();
_OrderAnalysis
(
order
);
}
}
emit
changeOrderStatus
(
orderObject
);
}
else
{
//旧数据有更新
int
oldStatus
=
orderObject
->
status
;
orderObject
->
FromJson
(
jsonObject
);
QLOG_INFO
()
<<
QString
(
"old order[%1:%2].[data:%3]"
)
.
arg
(
orderObject
->
order_id
,
orderObject
->
status_desc
)
<<
jsonObject
;
if
(
oldStatus
!=
orderObject
->
status
)
{
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
if
(
m_orderOperatePair
.
contains
(
orderObject
->
order_id
))
{
_HandleOrderOperation
(
orderObject
->
order_id
);
}
}
}
orderObject
->
update_time
=
QDateTime
::
currentDateTime
().
toTime_t
();
if
(
OrderObject
::
RequestRefund
==
orderObject
->
status
)
if
(
!
result
)
{
emit
startRemind
(
1
);
m_pullTimer
->
start
(
1000
*
10
);
_AddOrderPull
(
orderId
);
}
if
(
Orderstatus
::
getInstance
().
isput
(
orderObject
->
order_id
))
qDebug
()
<<
"pull order result"
<<
result
;
return
result
;
}
bool
FlowControl
::
_PullOrderList
(
const
int
&
pageSize
,
const
int
&
pageNo
)
{
if
(
m_pullOrderListSocket
==
NULL
)
{
orderObject
->
isPut
=
true
;
m_pullOrderListSocket
=
new
BillSocket
(
this
)
;
}
if
(
Orderstatus
::
getInstance
().
isrefund
(
orderObject
->
order_id
))
QString
error
;
bool
result
;
QJsonObject
sendJson
;
QJsonObject
recvJson
;
int
ordertotalSum
;
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderListData
(
pageNo
,
pageSize
);
QLOG_INFO
()
<<
QString
(
"[---pull order---][requestData:]"
)
<<
sendJson
;
if
(
ConfigManger
::
GetInstance
().
GetOrderSslConfig
())
{
orderObject
->
isCancle
=
true
;
m_pullOrderSocket
->
SetSslConfig
();
QLOG_INFO
()
<<
"load ssl"
;
}
QString
posSaledId
=
m_orderIdToPosSalesIdMap
.
value
(
orderObject
->
order_id
);
if
(
posSaledId
.
isEmpty
())
{
Orderstatus
::
getInstance
().
getPosSalesId
(
orderObject
->
order_id
,
posSaledId
);
else
{
QLOG_INFO
()
<<
"load not ssl"
;
}
orderObject
->
possale_id
=
posSaledId
;
switch
(
orderObject
->
status
){
case
OrderObject
:
:
NewOrder
:
case
OrderObject
:
:
Confirmed
:
case
OrderObject
:
:
Sendout
:
case
OrderObject
:
:
ToSend
:
case
OrderObject
:
:
Finished
:
case
OrderObject
:
:
RequestRefund
:
if
(
!
orderObject
->
isPut
)
{
orderObject
->
putType
=
1
;
orderObject
->
putTimes
=
0
;
m_OrderEntryMutex
.
lock
();
if
(
!
m_ordersEntryList
.
contains
(
orderObject
->
order_id
))
m_pullOrderListSocket
->
SetUrl
(
QUrl
(
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_PULLORDERLIST
)));
QLOG_INFO
()
<<
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_PULLORDERLIST
);
result
=
m_pullOrderListSocket
->
Request
(
sendJson
,
recvJson
,
error
);
QLOG_INFO
()
<<
QString
(
"pull order finsh. [result:%1][msg:%2]"
)
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
if
(
!
result
)
{
m_ordersEntryList
.
append
(
orderObject
->
order_id
);
}
m_OrderEntryMutex
.
unlock
();
_ClickOMSAssignArea
();
}
break
;
case
OrderObject
:
:
AgreeRefund
:
case
OrderObject
:
:
Refunded
:
case
OrderObject
:
:
Cancled
:
if
(
!
orderObject
->
isCancle
)
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>异常</font>"
));
}
else
{
if
(
!
orderObject
->
isPut
)
qDebug
()
<<
recvJson
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
));
if
(
JSON_STATUSCODE_OK
!=
recvJson
[
JSON_ERRCODE
].
toInt
())
{
m_OrderEntryMutex
.
lock
();
m_ordersEntryList
.
removeOne
(
orderObject
->
order_id
);
m_OrderEntryMutex
.
unlock
();
}
else
{
if
(
!
posSaledId
.
isEmpty
())
QString
error
=
recvJson
[
JSON_ERRMSG
].
toString
();
QLOG_ERROR
()
<<
QString
(
"pull orders error.[msg->%1]"
).
arg
(
error
);
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"获取订单失败![%1]"
).
arg
(
error
));
result
=
false
;
}
else
{
orderObject
->
putType
=
0
;
orderObject
->
putTimes
=
0
;
m_OrderEntryMutex
.
lock
();
if
(
!
m_ordersEntryList
.
contains
(
orderObject
->
order_id
))
//获取门店营业状态
QString
strOpeStatus
=
QString
::
fromLocal8Bit
(
"正常"
);
emit
setOpeStatus
(
strOpeStatus
);
QJsonArray
orders
=
recvJson
[
JSON_DATA
].
toObject
()[
JSON_ORDERS
].
toArray
();
foreach
(
QJsonValue
order
,
orders
)
{
m_ordersEntryList
.
append
(
orderObject
->
order_id
);
}
_ClickOMSAssignArea
();
m_OrderEntryMutex
.
unlock
();
}
_OrderAnalysis
(
order
.
toObject
());
}
}
break
;
default
:
break
;
}
}
if
(
info
.
orderId
.
isEmpty
())
{
ordertotalSum
=
recvJson
[
JSON_DATA
].
toObject
()[
JSON_COUNT
].
toInt
();
m_orderCount
+=
10
0
;
m_orderCount
+=
5
0
;
if
(
m_orderCount
<
ordertotalSum
)
{
_AddOrderPull
(
QString
(),
QString
(),
info
.
pageNumber
+
1
,
info
.
pageSize
);
_AddOrderPull
(
QString
(),
QString
(),
pageNo
+
1
,
pageSize
);
_PullOrder
();
}
}
}
}
if
(
!
result
)
{
m_pullTimer
->
start
(
1000
*
5
);
_AddOrderPull
(
info
.
orderId
,
info
.
channel
,
info
.
pageNumber
,
info
.
pageSize
);
m_pullTimer
->
start
(
1000
*
10
);
_AddOrderPull
(
QString
(),
QString
(),
pageNo
,
pageSize
);
}
qDebug
()
<<
"pull order result"
<<
result
;
return
result
;
...
...
@@ -470,13 +527,8 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
{
QString
error
;
bool
result
;
QJsonObject
sendJson
;
QJsonObject
recvJson
;
sendJson
=
DataManger
::
GetInstance
().
GetConfirmOrderData
(
orderId
,
m_ordersMap
[
orderId
]
->
channel
);
emit
showAlert
(
AlertForm
::
LOADING
,
QString
::
fromLocal8Bit
(
"正在通信......"
));
QLOG_INFO
()
<<
QString
(
"[---confirm order---]. [requestData:%1]"
)
<<
sendJson
;
if
(
ConfigManger
::
GetInstance
().
GetOrderSslConfig
())
{
m_procOrderSocket
->
SetSslConfig
();
...
...
@@ -485,9 +537,12 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
else
{
QLOG_INFO
()
<<
"load not ssl"
;
}
m_procOrderSocket
->
SetUrl
(
QUrl
(
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_CONFIRM
)));
result
=
m_procOrderSocket
->
Request
(
sendJson
,
recvJson
,
error
);
QString
url
=
ConfigManger
::
GetInstance
().
GetOrderServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_CONFIRM
);
url
.
append
(
orderId
);
QLOG_INFO
()
<<
QString
(
"[---confirm order---][requestUrl:]"
)
<<
url
;
m_procOrderSocket
->
SetUrl
(
QUrl
(
url
));
result
=
m_procOrderSocket
->
Get
(
recvJson
,
error
);
QLOG_INFO
()
<<
QString
(
"confirm order finsh. [result:%1][msg:%2][recvData:%3]"
)
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
if
(
!
result
)
...
...
@@ -501,7 +556,20 @@ bool FlowControl::_ConfirmOrder(const QString &orderId)
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"接单失败![%1]"
).
arg
(
recvJson
[
JSON_ERRMSG
].
toString
()));
}
else
{
m_orderOperatePair
.
insert
(
orderId
,
1
);
QJsonObject
data
=
recvJson
[
JSON_DATA
].
toObject
();
int
status
=
data
[
JSON_RECEIVINGSTATUS
].
toInt
();
if
(
1
==
status
)
{
int
orderStatus
=
data
[
JSON_ORDERSTATUS
].
toInt
();
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldOrderStatus
=
orderObject
->
orderStatus
;
orderObject
->
orderStatus
=
orderStatus
;
emit
changeOrderStatus
(
orderObject
,
oldOrderStatus
);
}
else
{
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"接单失败![%1]"
).
arg
(
recvJson
[
JSON_ERRMSG
].
toString
()));
}
}
}
return
result
;
...
...
@@ -535,8 +603,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
::
fromLocal8Bit
(
"拒单成功!"
));
// 通知主界面移动订单
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldStatus
=
orderObject
->
s
tatus
;
orderObject
->
s
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
int
oldStatus
=
orderObject
->
orderS
tatus
;
orderObject
->
orderS
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
...
...
@@ -546,11 +614,12 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
bool
FlowControl
::
_SendOrder
(
const
QString
&
orderId
)
{
if
(
m_ordersMap
.
value
(
orderId
)
->
courier_name
.
isEmpty
()
&&
m_ordersMap
.
value
(
orderId
)
->
delivery_type
==
1
)
{
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"配送员暂未接单,请等待"
));
return
true
;
}
//TODO
// if(m_ordersMap.value(orderId)->riderName.isEmpty()&&m_ordersMap.value(orderId)->delivery_type==1)
// {
// emit showAlert(AlertForm::MSGERROR,QString::fromLocal8Bit("配送员暂未接单,请等待"));
// return true;
// }
QString
error
;
bool
result
;
QJsonObject
sendJson
;
...
...
@@ -578,8 +647,8 @@ bool FlowControl::_SendOrder(const QString& orderId)
// 通知主界面移动订单
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldStatus
=
orderObject
->
s
tatus
;
orderObject
->
s
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
int
oldStatus
=
orderObject
->
orderS
tatus
;
orderObject
->
orderS
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
// TODO 服务器端现还未开发
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
...
...
@@ -618,8 +687,8 @@ bool FlowControl::_CompleteOrder(const QString& orderId)
// 通知主界面移动订单
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldStatus
=
orderObject
->
s
tatus
;
orderObject
->
s
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
int
oldStatus
=
orderObject
->
orderS
tatus
;
orderObject
->
orderS
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
...
...
@@ -657,8 +726,8 @@ bool FlowControl::_RefuseRefund(const QString& orderId)
// 通知主界面移动订单
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldStatus
=
orderObject
->
s
tatus
;
orderObject
->
s
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
int
oldStatus
=
orderObject
->
orderS
tatus
;
orderObject
->
orderS
tatus
=
recvJson
[
JSON_STATUS
].
toInt
();
// TODO 服务器端现还未开发
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
...
...
@@ -704,7 +773,20 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"退单失败![%1]"
).
arg
(
recvJson
[
JSON_MESSAGE
].
toString
()));
}
else
{
m_orderOperatePair
.
insert
(
orderId
,
0
);
QJsonObject
data
=
recvJson
[
JSON_DATA
].
toObject
();
int
status
=
data
[
JSON_RECEIVINGSTATUS
].
toInt
();
if
(
1
==
status
)
{
int
orderStatus
=
data
[
JSON_ORDERSTATUS
].
toInt
();
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldOrderStatus
=
orderObject
->
orderStatus
;
orderObject
->
orderStatus
=
orderStatus
;
emit
changeOrderStatus
(
orderObject
,
oldOrderStatus
);
}
else
{
emit
showAlert
(
AlertForm
::
MSGERROR
,
QString
::
fromLocal8Bit
(
"退单失败![%1]"
).
arg
(
recvJson
[
JSON_ERRMSG
].
toString
()));
}
}
}
...
...
@@ -951,16 +1033,16 @@ void FlowControl::_ClearOrder()
OrderObject
*
order
=
NULL
;
m_OrderEntryMutex
.
lock
();
foreach
(
order
,
m_ordersMap
.
values
())
{
QDateTime
createDateTime
=
QDateTime
::
fromTime_t
(
order
->
update
_t
ime
);
QDateTime
createDateTime
=
QDateTime
::
fromTime_t
(
order
->
update
T
ime
);
qint64
days
=
createDateTime
.
daysTo
(
currentDateTime
);
if
(
days
>=
2
)
{
QLOG_INFO
()
<<
QString
(
"clear order %1"
).
arg
(
order
->
order_
id
);
emit
clearorder
(
order
->
order_id
,
order
->
s
tatus
);
m_ordersMap
.
value
(
order
->
order_
id
)
->
deleteLater
();
m_ordersEntryList
.
removeOne
(
order
->
order_
id
);
QLOG_INFO
()
<<
QString
(
"clear order %1"
).
arg
(
order
->
id
);
emit
clearorder
(
order
->
id
,
order
->
orderS
tatus
);
m_ordersMap
.
value
(
order
->
id
)
->
deleteLater
();
m_ordersEntryList
.
removeOne
(
order
->
id
);
delete
m_ordersMap
.
take
(
order
->
order_
id
);
delete
m_ordersMap
.
take
(
order
->
id
);
}
}
m_OrderEntryMutex
.
unlock
();
...
...
@@ -1021,7 +1103,7 @@ bool FlowControl::_Get01ReplyJson(const QJsonObject &content, QJsonObject &data,
{
result
=
_GetLoginReplyJson
(
content
,
error
);
}
if
(
result
&&
content
.
contains
(
"orderId"
)
){
if
(
result
/*&&content.contains("orderId")*/
){
result
=
_GetQueryReplyJson
(
data
,
error
,
content
[
"orderId"
].
toString
());
}
else
{
...
...
@@ -1035,7 +1117,9 @@ bool FlowControl::_Get01ReplyJson(const QJsonObject &content, QJsonObject &data,
}
bool
FlowControl
::
_Get02ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
QLOG_INFO
()
<<
__FUNCTION__
;
return
true
;
//TODO
/*QLOG_INFO()<<__FUNCTION__;
bool result = true;
if(m_bLoginResult&&content.contains("orderId")){
QString orderId=content["orderId"].toString();
...
...
@@ -1065,11 +1149,13 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
result=false;
error=QString::fromLocal8Bit("请求参数错误");
}
return
result
;
return result;
*/
}
bool
FlowControl
::
_Get03ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
QLOG_INFO
()
<<
__FUNCTION__
;
return
true
;
//TODO
/*QLOG_INFO()<<__FUNCTION__;
bool result = true;
if(m_bLoginResult&&content.contains("orderId")){
QString orderId=content["orderId"].toString();
...
...
@@ -1101,7 +1187,7 @@ bool FlowControl::_Get03ReplyJson(const QJsonObject &content, QJsonObject &data,
result=false;
error=QString::fromLocal8Bit("请求参数错误");
}
return
result
;
return result;
*/
}
bool
FlowControl
::
_Get04ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
...
...
@@ -1171,12 +1257,12 @@ bool FlowControl::_Get11ReplyJson(const QJsonObject &content, QJsonObject &data,
return
false
;
}
else
{
if
(
content
[
JSON_ORDERID
].
toString
().
isEmpty
())
if
(
content
[
JSON_ORDER
_
ID
].
toString
().
isEmpty
())
{
error
=
QString
::
fromLocal8Bit
(
"订单号不能为空"
);
return
false
;
}
emit
doPullOrder
(
content
[
JSON_ORDERID
].
toString
(),
content
[
JSON_CHANNEL
].
toString
());
emit
doPullOrder
(
content
[
JSON_ORDER
_
ID
].
toString
(),
content
[
JSON_CHANNEL
].
toString
());
error
=
QString
(
"success"
);
result
=
true
;
}
...
...
@@ -1243,6 +1329,7 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
{
orderObject
->
putTimes
=
0
;
}
orderObject
->
putTimes
=
orderObject
->
putTimes
+
1
;
QJsonObject
rObj
,
cObj
;
if
(
orderObject
->
putType
==
1
)
{
...
...
@@ -1254,38 +1341,39 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
rObj
.
insert
(
"fm_ver"
,
"1.0"
);
cObj
.
insert
(
"pay_id"
,
"002"
);
cObj
.
insert
(
"pay_str"
,
QString
::
fromLocal8Bit
(
"非码外卖"
));
cObj
.
insert
(
"pos_sale_id"
,
orderObject
->
possale
_i
d
);
cObj
.
insert
(
"order_status"
,
orderObject
->
s
tatus
);
//订单的状态
cObj
.
insert
(
"pos_sale_id"
,
orderObject
->
possale
I
d
);
cObj
.
insert
(
"order_status"
,
orderObject
->
orderS
tatus
);
//订单的状态
cObj
.
insert
(
"pay_ebcode"
,
orderObject
->
channel
);
cObj
.
insert
(
"order_index"
,
orderObject
->
order
_i
ndex
);
cObj
.
insert
(
"customer_name"
,
orderObject
->
customer
);
cObj
.
insert
(
"order_index"
,
orderObject
->
order
I
ndex
);
cObj
.
insert
(
"customer_name"
,
orderObject
->
customer
Name
);
cObj
.
insert
(
"customer_phone"
,
orderObject
->
phone
);
cObj
.
insert
(
"customer_address"
,
orderObject
->
address
);
cObj
.
insert
(
"delivery_time"
,
orderObject
->
delivery_time
);
cObj
.
insert
(
"create_time"
,
orderObject
->
create_time
);
cObj
.
insert
(
"remark"
,
orderObject
->
remark
);
cObj
.
insert
(
"has_invoice"
,
orderObject
->
has_invoiced
);
cObj
.
insert
(
"invoice_title"
,
orderObject
->
invoice_title
);
cObj
.
insert
(
"pay_ebcode_str"
,
orderObject
->
channel_name
);
cObj
.
insert
(
"products_fee"
,
orderObject
->
product_fee
-
orderObject
->
package_fee
);
// 商品金额
cObj
.
insert
(
"service_fee"
,
orderObject
->
service_fee
);
// 平台佣金
cObj
.
insert
(
"discount_fee"
,
orderObject
->
discount_fee
);
// 优惠总额
cObj
.
insert
(
"dis_shop_fee"
,
orderObject
->
dis_shop_fee
);
// 商家承担优惠金额
cObj
.
insert
(
"dis_platform_fee"
,
orderObject
->
dis_platform_fee
);
// 平台承担优惠金额
cObj
.
insert
(
"send_fee"
,
orderObject
->
send_fee
);
// 配送费
cObj
.
insert
(
"shop_fee"
,
orderObject
->
total_fee
-
orderObject
->
send_fee
-
orderObject
->
service_fee
-
orderObject
->
dis_shop_fee
);
// 商户能够拿到的钱(去除平台佣金)
cObj
.
insert
(
"package_fee"
,
orderObject
->
package_fee
);
// 打包费
cObj
.
insert
(
"invoice_amount"
,
orderObject
->
user_fee
);
cObj
.
insert
(
"paid_trans_id"
,
orderObject
->
order_id
);
cObj
.
insert
(
"fm_id"
,
orderObject
->
fm_id
);
cObj
.
insert
(
"customer_address"
,
orderObject
->
addressDetail
);
cObj
.
insert
(
"delivery_time"
,
orderObject
->
deliveryTime
);
cObj
.
insert
(
"create_time"
,
orderObject
->
createTime
);
cObj
.
insert
(
"remark"
,
orderObject
->
memo
);
cObj
.
insert
(
"has_invoice"
,
orderObject
->
needInvoice
);
cObj
.
insert
(
"invoice_title"
,
orderObject
->
invoiceTitle
);
cObj
.
insert
(
"pay_ebcode_str"
,
orderObject
->
channel
);
//TODO
cObj
.
insert
(
"products_fee"
,
orderObject
->
productPrice
);
// 商品金额
cObj
.
insert
(
"service_fee"
,
/*orderObject->service_fee*/
0
);
// 平台佣金
cObj
.
insert
(
"discount_fee"
,
/*orderObject->discount_fee*/
0
);
// 优惠总额
cObj
.
insert
(
"dis_shop_fee"
,
/*orderObject->dis_shop_fee*/
0
);
// 商家承担优惠金额
cObj
.
insert
(
"dis_platform_fee"
,
/*orderObject->dis_platform_fee*/
0
);
// 平台承担优惠金额
cObj
.
insert
(
"send_fee"
,
orderObject
->
deliveryPrice
);
// 配送费
cObj
.
insert
(
"shop_fee"
,
/*orderObject->total_fee-orderObject->send_fee-orderObject->service_fee-orderObject->dis_shop_fee*/
0
);
// 商户能够拿到的钱(去除平台佣金)
cObj
.
insert
(
"package_fee"
,
orderObject
->
totalPrice
);
// 打包费
cObj
.
insert
(
"invoice_amount"
,
orderObject
->
totalPrice
);
cObj
.
insert
(
"paid_trans_id"
,
orderObject
->
id
);
//cObj.insert("fm_id",orderObject->fm_id);
rObj
.
insert
(
"pay_id"
,
cObj
);
QJsonArray
products
;
for
(
int
i
=
0
;
i
<
orderObject
->
proList
.
count
();
i
++
)
{
QJsonObject
tObj
;
Dish
Object
*
dish
=
orderObject
->
proList
.
at
(
i
);
tObj
.
insert
(
"consume_num"
,
orderObject
->
proList
.
at
(
i
)
->
productAmount
);
tObj
.
insert
(
"pid"
,
orderObject
->
proList
.
at
(
i
)
->
p
id
);
dishes
Object
*
dish
=
orderObject
->
proList
.
at
(
i
);
tObj
.
insert
(
"consume_num"
,
orderObject
->
proList
.
at
(
i
)
->
qty
);
tObj
.
insert
(
"pid"
,
orderObject
->
proList
.
at
(
i
)
->
id
);
tObj
.
insert
(
"original_price"
,
orderObject
->
proList
.
at
(
i
)
->
price
);
if
(
!
dish
->
sub_products
.
isEmpty
())
{
...
...
@@ -1293,11 +1381,11 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
for
(
int
j
=
0
;
j
<
dish
->
sub_products
.
count
();
j
++
)
{
QJsonObject
sObj
;
Dish
Object
*
subDish
=
dish
->
sub_products
.
at
(
j
);
if
(
!
subDish
->
p
id
.
isEmpty
())
dishes
Object
*
subDish
=
dish
->
sub_products
.
at
(
j
);
if
(
!
subDish
->
id
.
isEmpty
())
{
sObj
.
insert
(
"consume_num"
,
subDish
->
productAmount
);
sObj
.
insert
(
"pid"
,
subDish
->
p
id
);
sObj
.
insert
(
"consume_num"
,
subDish
->
qty
);
sObj
.
insert
(
"pid"
,
subDish
->
id
);
sObj
.
insert
(
"original_price"
,
subDish
->
price
);
subProduct
.
insert
(
0
,
sObj
);
}
...
...
@@ -1312,61 +1400,6 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
return
result
;
}
void
FlowControl
::
_HandleOrderOperation
(
const
QString
&
orderId
)
{
QLOG_INFO
()
<<
__FUNCTION__
;
int
index
=
m_ordersMap
.
value
(
orderId
)
->
order_index
;
QString
channel
=
m_ordersMap
.
value
(
orderId
)
->
channel_name
;
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
status
=
orderObject
->
status
;
int
operation
=
m_orderOperatePair
.
value
(
orderId
);
switch
(
status
)
{
case
3
:
case
100
:
if
(
0
==
operation
)
{
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
::
fromLocal8Bit
(
"%1%2号单取消成功!"
).
arg
(
channel
).
arg
(
index
));
QLOG_INFO
()
<<
orderId
<<
QString
::
fromLocal8Bit
(
"取消订单成功!"
);
}
break
;
default
:
if
(
1
==
operation
)
{
QString
remark
(
orderObject
->
remark
),
deliveryTime
;
remark
=
remark
.
isEmpty
()
?
""
:
QString
::
fromLocal8Bit
(
"
\r\n
[备注: %1]"
).
arg
(
remark
);
deliveryTime
=
QString
::
fromLocal8Bit
(
"
\r\n
[期望送达时间: %1]"
).
arg
(
QDateTime
::
fromTime_t
(
orderObject
->
delivery_time
).
toString
(
"MM/dd hh:mm"
));
emit
showAlert
(
AlertForm
::
SUCCESS
,
QString
::
fromLocal8Bit
(
"%1%2号单接单成功!%3%4"
).
arg
(
channel
).
arg
(
index
).
arg
(
remark
).
arg
(
deliveryTime
));
QLOG_INFO
()
<<
orderId
<<
QString
::
fromLocal8Bit
(
"接单成功!%1%2"
).
arg
(
remark
).
arg
(
deliveryTime
);
}
break
;
}
if
(
orderOperation
.
orderId
==
orderId
/*&&0==orderOperation.operation*/
)
{
orderOperation
.
result
=
1
;
if
(
0
==
semaphore
.
available
())
{
semaphore
.
release
(
1
);
}
}
auto
iter
=
m_orderOperatePair
.
find
(
orderId
);
if
(
iter
!=
m_orderOperatePair
.
end
())
{
m_orderOperatePair
.
erase
(
iter
);
}
}
void
FlowControl
::
_OperateTimeOut
()
{
QLOG_INFO
()
<<
__FUNCTION__
;
m_bOperateResult
=
false
;
semaphore
.
release
(
1
);
auto
iter
=
m_orderOperatePair
.
find
(
orderOperation
.
orderId
);
if
(
iter
!=
m_orderOperatePair
.
end
())
{
m_orderOperatePair
.
erase
(
iter
);
}
}
QString
FlowControl
::
_Penny2Dollar
(
int
penny
)
{
...
...
fmTakeaway/Control/flowControl.h
View file @
fbaea4c6
...
...
@@ -30,15 +30,6 @@ private:
FlowControl
(
FlowControl
const
&
);
FlowControl
&
operator
=
(
FlowControl
const
&
);
// typedef struct ORDER_PROPERPY
// {
// bool bReaded;//是否成功入账过
// bool bCancled;//是否成功退款入账过
// bool entryType;//入账类型
// int pullNum;//入账失败次数
// //QDateTime btimeStamp;
// }OrderProperpy;
typedef
struct
TOPULL_ORDER
{
int
pageSize
;
...
...
@@ -68,11 +59,11 @@ private:
QTimer
*
m_clearTimer
;
QTimer
*
m_heartTimer
;
QTimer
*
m_pullTimer
;
QTimer
*
m_operateTimer
;
QTimer
*
m_loginTimer
;
// 网络通信
BillSocket
*
m_loginSocket
;
BillSocket
*
m_pullOrderSocket
;
BillSocket
*
m_pullOrderListSocket
;
BillSocket
*
m_procOrderSocket
;
BillSocket
*
m_pullDishesSocket
;
// 订单容器
...
...
@@ -94,9 +85,7 @@ private:
//订单拉取记录
QList
<
PullOrderInfo
>
m_orderPullList
;
//订单操作互斥信号
QSemaphore
semaphore
;
//订单操作状态
OrderOperation
orderOperation
;
//QSemaphore semaphore;
QMutex
m_OrderEntryMutex
;
signals
:
...
...
@@ -194,10 +183,20 @@ private slots:
* */
bool
_Login
();
/* 功能:拉取订单
* 参数:[1]订单编号
* 返回:是否成功
* */
void
_PullOrder
();
/* 功能:拉取指定订单
* 参数:[1]订单编号
* 返回:是否成功
* */
bool
_PullOrderDetail
(
const
QString
&
orderId
);
/* 功能:拉取订单
* 参数:NULL
* 返回:是否成功
* */
bool
_PullOrder
(
);
bool
_PullOrder
List
(
const
int
&
pageSize
,
const
int
&
pageNo
);
/* 功能:发送心跳
* 参数:NULL
* 返回:是否成功
...
...
@@ -258,20 +257,17 @@ private slots:
bool
_Get12ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_GetLoginReplyJson
(
const
QJsonObject
&
content
,
QString
&
error
);
bool
_GetQueryReplyJson
(
QJsonObject
&
data
,
QString
&
error
,
const
QString
&
orderId
);
void
_HandleOrderOperation
(
const
QString
&
orderId
);
void
_OperateTimeOut
();
// 单位转换
QString
_Penny2Dollar
(
int
penny
);
QString
_GetIpAddress
();
void
_AddOrderPull
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
int
&
pageNumber
=
1
,
const
int
&
pageSize
=
100
);
void
_AddOrderPull
(
const
QString
&
orderId
=
0
,
const
QString
&
channel
=
0
,
const
int
&
pageNumber
=
1
,
const
int
&
pageSize
=
100
);
void
_GetOrder
(
const
QString
&
orderId
,
const
QString
&
channel
);
//点击屏幕指定区域
void
_ClickOMSAssignArea
();
void
_ClickToLogin
();
void
_
StartOperateTimer
(
);
void
_
OrderAnalysis
(
const
QJsonObject
&
jsonObject
);
...
...
fmTakeaway/DTools/dataManger.cpp
View file @
fbaea4c6
...
...
@@ -63,17 +63,11 @@ QJsonObject DataManger::GetHeartData(const QString &password,
return
rObj
;
}
QJsonObject
DataManger
::
GetPullOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
int
&
pageNumber
,
const
int
&
pageSize
)
QJsonObject
DataManger
::
GetPullOrderListData
(
const
int
&
pageNumber
,
const
int
&
pageSize
)
{
QJsonObject
rObj
;
if
(
orderId
.
isEmpty
())
{
rObj
.
insert
(
JSON_PAGENUMBER
,
pageNumber
);
rObj
.
insert
(
JSON_PAGESIZE
,
pageSize
);
}
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
return
rObj
;
...
...
@@ -136,15 +130,15 @@ QJsonObject DataManger::GetCompleteOrderData(const QString &orderId)
QJsonObject
DataManger
::
GetRefundOrderData
(
int
reasonCode
,
const
QString
&
reason
,
const
QString
&
orderId
,
const
QString
&
channel
)
{
QJsonObject
rObj
;
rObj
.
insert
(
JSON_
BUSINESS
ID
,
orderId
);
rObj
.
insert
(
JSON_
ORDER
ID
,
orderId
);
//TEST
//rObj.insert(JSON_REASON, "其它");
rObj
.
insert
(
JSON_REASON
,
reason
);
rObj
.
insert
(
JSON_CODE
,
reasonCode
);
rObj
.
insert
(
"canceledCause"
,
reason
);
//
rObj.insert(JSON_CODE, reasonCode);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
//
rObj.insert(JSON_CHANNEL,channel);
//
rObj.insert(JSON_SHOPCODE, m_storeId);
return
rObj
;
}
...
...
fmTakeaway/DTools/dataManger.h
View file @
fbaea4c6
...
...
@@ -39,8 +39,7 @@ public:
* 参数:[1]时间戳
* 返回:登录数据
* */
QJsonObject
GetPullOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
int
&
pageNumber
=
0
,
const
int
&
pageSize
=
100
);
QJsonObject
GetPullOrderListData
(
const
int
&
pageNumber
=
0
,
const
int
&
pageSize
=
100
);
/* 功能:获取拉取配送员数据
* 参数:[1]门店号[2]渠道代码
* 返回:登录数据
...
...
fmTakeaway/DTools/sysTray.cpp
View file @
fbaea4c6
...
...
@@ -16,7 +16,7 @@ void SysTray::_CreatMenu()
{
m_menu
=
new
QMenu
();
m_menu
->
setObjectName
(
"trayMenu"
);
QAction
*
acQuit
=
new
QAction
(
"退出"
,
m_menu
);
QAction
*
acQuit
=
new
QAction
(
QString
::
fromLocal8Bit
(
"退出"
)
,
m_menu
);
connect
(
acQuit
,
&
QAction
::
triggered
,
this
,
&
SysTray
::
onActionQuitTriggered
);
m_menu
->
addAction
(
acQuit
);
...
...
fmTakeaway/DTools/util.cpp
View file @
fbaea4c6
...
...
@@ -57,24 +57,24 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case
1
:
if
(
bRefuse
)
{
return
OPERATIONNAME_REFUSE
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUSE
)
;
}
return
OPERATIONNAME_GETDELIVERS
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_GETDELIVERS
)
;
break
;
case
2
:
if
(
bRefuse
)
{
return
OPERATIONNAME_REFUNDORDER
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
}
return
OPERATIONNAME_SENDOUT
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_SENDOUT
)
;
break
;
case
5
:
case
4
:
if
(
bRefuse
)
{
return
OPERATIONNAME_REFUNDORDER
;
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
}
return
OPERATIONNAME_COMPLETE
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_COMPLETE
)
;
break
;
case
6
:
case
200
:
...
...
@@ -83,9 +83,9 @@ QString GetOperNameByStatus(int status, bool bRefuse)
case
20
:
if
(
bRefuse
)
{
return
OPERATIONNAME_REFUSEREFUND
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUSEREFUND
)
;
}
return
OPERATIONNAME_REFUNDORDER
;
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
)
;
break
;
default
:
return
"NULL"
;
...
...
fmTakeaway/Model/dishesObject.cpp
View file @
fbaea4c6
#
include
"dishesObject.h"
#include <QJsonArray>
dishesObject
::
dishesObject
(
const
dishesObject
&
dish
,
QObject
*
parent
)
:
QObject
(
parent
)
{
qDeleteAll
(
sub_products
);
sub_products
.
clear
();
const
QMetaObject
*
m
=
dish
.
metaObject
();
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
{
QMetaProperty
qmp
=
m
->
property
(
i
);
QString
key
=
QString
::
fromLatin1
(
qmp
.
name
());
QVariant
value
=
dish
.
property
(
key
.
toUtf8
());
this
->
setProperty
(
key
.
toUtf8
(),
value
);
}
foreach
(
auto
ptr
,
dish
.
sub_products
)
{
dishesObject
*
product
=
new
dishesObject
(
*
ptr
,
this
);
this
->
sub_products
.
append
(
product
);
}
}
dishesObject
&
dishesObject
::
operator
=
(
const
dishesObject
&
dish
)
{
qDeleteAll
(
sub_products
);
sub_products
.
clear
();
const
QMetaObject
*
m
=
dish
.
metaObject
();
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
{
QMetaProperty
qmp
=
m
->
property
(
i
);
QString
key
=
QString
::
fromLatin1
(
qmp
.
name
());
QVariant
value
=
dish
.
property
(
key
.
toUtf8
());
this
->
setProperty
(
key
.
toUtf8
(),
value
);
}
foreach
(
auto
ptr
,
dish
.
sub_products
)
{
dishesObject
*
product
=
new
dishesObject
(
*
ptr
,
this
);
this
->
sub_products
.
append
(
product
);
}
return
*
this
;
}
void
dishesObject
::
FetchDataFromJson
(
const
QJsonObject
&
json
)
{
foreach
(
QString
key
,
json
.
keys
())
{
setProperty
(
key
.
toUtf8
(),
json
[
key
].
toVariant
());
}
qDeleteAll
(
sub_products
);
sub_products
.
clear
();
QJsonArray
subDishesArray
=
json
[
"sub_products"
].
toArray
();
foreach
(
QJsonValue
subDish
,
subDishesArray
)
{
dishesObject
*
item
=
new
dishesObject
(
this
);
item
->
FetchDataFromJson
(
subDish
.
toObject
());
sub_products
.
append
(
item
);
}
return
;
}
fmTakeaway/Model/dishesObject.h
View file @
fbaea4c6
#
ifndef
DISHESOBJECT_H
#define DISHESOBJECT_H
#include <QObject>
#include "baseObject.h"
class
dishesObject
:
public
BaseObject
#include <QJsonObject>
#include <QVariant>
#include <QMetaProperty>
class
dishesObject
:
public
QObject
{
Q_OBJECT
public
:
explicit
dishesObject
(
QObject
*
parent
=
0
)
:
BaseObject
(
parent
){}
public
:
Q_PROPERTY
(
QString
code
READ
getcode
WRITE
setcode
)
Q_PROPERTY
(
QString
id
READ
getId
WRITE
setId
)
Q_PROPERTY
(
QString
specId
READ
getspecId
WRITE
setspecId
)
Q_PROPERTY
(
QString
name
READ
getname
WRITE
setname
)
Q_PROPERTY
(
int
status
READ
getstatus
WRITE
setstatus
)
Q_PROPERTY
(
QString
pic
READ
getpic
WRITE
setpic
)
Q_PROPERTY
(
QString
specName
READ
getspecName
WRITE
setspecName
)
Q_PROPERTY
(
QString
code
READ
getcode
WRITE
setcode
)
Q_PROPERTY
(
int
packagePrice
READ
getpackagePrice
WRITE
setpackagePrice
)
Q_PROPERTY
(
int
qty
READ
getqty
WRITE
setqty
)
Q_PROPERTY
(
int
price
READ
getprice
WRITE
setprice
)
Q_PROPERTY
(
QString
unit
READ
getunit
WRITE
setunit
)
Q_PROPERTY
(
int
rank
READ
getrank
WRITE
setrank
)
Q_PROPERTY
(
QString
description
READ
getdescription
WRITE
setdescription
)
QString
code
;
public
:
explicit
dishesObject
(
QObject
*
parent
=
0
)
:
QObject
(
parent
){}
dishesObject
(
const
dishesObject
&
dish
,
QObject
*
parent
=
0
);
dishesObject
&
operator
=
(
const
dishesObject
&
dish
);
void
FetchDataFromJson
(
const
QJsonObject
&
json
);
QString
id
;
QString
name
;
int
status
;
QString
pic
;
QString
specId
;
QString
specName
;
QString
code
;
int
qty
;
int
packagePrice
;
int
price
;
QString
unit
;
int
rank
;
QString
description
;
QList
<
dishesObject
*>
sub_products
;
protected
:
inline
QString
getcode
(){
return
code
;
}
inline
void
setcode
(
const
QString
&
v
){
code
=
v
;
}
inline
QString
getname
(){
return
name
;
}
inline
void
setname
(
const
QString
&
v
){
name
=
v
;
}
inline
QString
getId
(){
return
id
;
}
inline
void
setId
(
const
QString
&
v
){
id
=
v
;
}
inline
int
getstatus
(){
return
status
;
}
inline
void
sets
tatus
(
const
int
&
v
){
status
=
v
;
}
inline
QString
getspecId
(){
return
specId
;
}
inline
void
sets
pecId
(
const
QString
&
v
){
specId
=
v
;
}
inline
QString
get
pic
(){
return
pic
;
}
inline
void
set
pic
(
const
QString
&
v
){
pic
=
v
;
}
inline
QString
get
name
(){
return
name
;
}
inline
void
set
name
(
const
QString
&
v
){
name
=
v
;
}
inline
int
getprice
(){
return
price
;
}
inline
void
setprice
(
const
int
&
v
){
price
=
v
;
}
inline
void
setprice
(
const
int
&
v
){
price
=
v
;
}
inline
QString
getunit
(){
return
unit
;
}
inline
void
set
unit
(
const
QString
&
v
){
unit
=
v
;
}
inline
int
getpackagePrice
(){
return
packagePrice
;
}
inline
void
set
packagePrice
(
const
int
&
v
){
packagePrice
=
v
;
}
inline
int
getrank
(){
return
rank
;
}
inline
void
setrank
(
const
int
&
v
){
rank
=
v
;
}
inline
QString
getspecName
(){
return
specName
;
}
inline
void
setspecName
(
const
QString
&
v
){
specName
=
v
;
}
inline
QString
getcode
(){
return
code
;
}
inline
void
setcode
(
const
QString
&
v
){
code
=
v
;
}
inline
QString
getdescription
(){
return
description
;
}
inline
void
set
description
(
const
QString
&
v
){
description
=
v
;
}
inline
int
getqty
(){
return
qty
;
}
inline
void
set
qty
(
const
int
&
v
){
qty
=
v
;
}
};
#endif // DISHESOBJECT_H
fmTakeaway/Model/orderObject.cpp
View file @
fbaea4c6
#
include
"orderObject.h"
#include "preDefine.h"
#include <QJsonArray>
OrderObject
::
OrderObject
(
const
OrderObject
&
order
,
QObject
*
parent
)
:
QObject
(
parent
)
{
qDeleteAll
(
proList
);
proList
.
clear
();
const
QMetaObject
*
m
=
order
.
metaObject
();
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
{
QMetaProperty
qmp
=
m
->
property
(
i
);
QString
key
=
QString
::
fromLatin1
(
qmp
.
name
());
QVariant
value
=
order
.
property
(
key
.
toUtf8
());
this
->
setProperty
(
key
.
toUtf8
(),
value
);
}
foreach
(
auto
ptr
,
order
.
proList
)
{
dishesObject
*
product
=
new
dishesObject
(
*
ptr
,
this
);
this
->
proList
.
append
(
product
);
}
}
OrderObject
&
OrderObject
::
operator
=
(
const
OrderObject
&
order
)
{
qDeleteAll
(
proList
);
proList
.
clear
();
const
QMetaObject
*
m
=
order
.
metaObject
();
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
{
QMetaProperty
qmp
=
m
->
property
(
i
);
QString
key
=
QString
::
fromLatin1
(
qmp
.
name
());
QVariant
value
=
order
.
property
(
key
.
toUtf8
());
this
->
setProperty
(
key
.
toUtf8
(),
value
);
}
foreach
(
auto
ptr
,
order
.
proList
)
{
dishesObject
*
product
=
new
dishesObject
(
*
ptr
,
this
);
this
->
proList
.
append
(
product
);
}
return
*
this
;
}
void
OrderObject
::
FromJson
(
const
QJsonObject
&
json
)
{
...
...
@@ -10,28 +46,50 @@ void OrderObject::FromJson(const QJsonObject &json)
QJsonArray
products
=
json
[
JSON_PRODUCTS
].
toArray
();
foreach
(
QJsonValue
product
,
products
)
{
QJsonObject
dish
Json
=
product
.
toObject
();
DishObject
*
dishObject
=
new
Dish
Object
(
this
);
dishObject
->
FetchDataFromJson
(
dish
Json
);
proList
.
append
(
dish
Object
);
QJsonObject
pro
Json
=
product
.
toObject
();
dishesObject
*
proObject
=
new
dishes
Object
(
this
);
proObject
->
FetchDataFromJson
(
pro
Json
);
proList
.
append
(
pro
Object
);
}
return
;
}
void
DishObject
::
FetchDataFromJson
(
const
QJsonObject
&
json
)
void
OrderObject
::
FetchDataFromJson
(
const
QJsonObject
&
json
)
{
foreach
(
QString
key
,
json
.
keys
())
QStringList
keys
=
json
.
keys
();
foreach
(
QString
key
,
keys
)
{
setProperty
(
key
.
toUtf8
(),
json
[
key
].
toVariant
());
}
qDeleteAll
(
sub_products
);
sub_products
.
clear
();
QJsonArray
subDishesArray
=
json
[
"sub_product"
].
toArray
();
foreach
(
QJsonValue
subDish
,
subDishesArray
)
return
;
}
QString
OrderObject
::
getChannelName
()
{
int
value
=
channel
.
toInt
();
qDebug
()
<<
"value----------"
<<
value
;
switch
(
value
)
{
DishObject
*
item
=
new
DishObject
(
this
);
item
->
FetchDataFromJson
(
subDish
.
toObject
());
sub_products
.
append
(
item
);
case
1
:
return
QString
::
fromLocal8Bit
(
"星巴克"
);
case
2
:
return
QString
::
fromLocal8Bit
(
"百度外卖"
);
case
3
:
return
QString
::
fromLocal8Bit
(
"饿了么"
);
deafult
:
return
QString
::
fromLocal8Bit
(
"未知"
);
}
return
;
return
QString
::
fromLocal8Bit
(
"未知"
);
}
QString
OrderObject
::
getOrderStatusDec
()
{
switch
(
orderStatus
)
{
case
1
:
return
QString
::
fromLocal8Bit
(
"下单待支付"
);
case
2
:
return
QString
::
fromLocal8Bit
(
"已支付"
);
case
3
:
return
QString
::
fromLocal8Bit
(
"接单"
);
case
4
:
return
QString
::
fromLocal8Bit
(
"配送中"
);
case
5
:
return
QString
::
fromLocal8Bit
(
"完成"
);
case
6
:
return
QString
::
fromLocal8Bit
(
"取消"
);
deafult
:
return
QString
::
fromLocal8Bit
(
"未知"
);
}
return
QString
::
fromLocal8Bit
(
"未知"
);
}
fmTakeaway/Model/orderObject.h
View file @
fbaea4c6
...
...
@@ -2,106 +2,68 @@
#define ORDEROBJECT_H
#include "Model/baseObject.h"
#include "Model/dishesObject.h"
class
DishObject
:
public
QObject
class
OrderObject
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QString
pid
READ
getpid
WRITE
setpid
)
Q_PROPERTY
(
QString
upc
READ
getupc
WRITE
setupc
)
Q_PROPERTY
(
QString
name
READ
getname
WRITE
setname
)
Q_PROPERTY
(
int
price
READ
getprice
WRITE
setprice
)
Q_PROPERTY
(
int
productAmount
READ
getproduct_amount
WRITE
setproduct_amount
)
Q_PROPERTY
(
QString
spec_id
READ
getspec_id
WRITE
setspec_id
)
Q_PROPERTY
(
QString
spec_name
READ
getspec_name
WRITE
setspec_name
)
Q_PROPERTY
(
QString
unit
READ
getunit
WRITE
setunit
)
Q_PROPERTY
(
QString
property_tags
READ
getproperty_tags
WRITE
setproperty_tags
)
Q_PROPERTY
(
int
unit_ratio
READ
getunit_ratio
WRITE
setunit_ratio
)
Q_PROPERTY
(
int
weight
READ
getweight
WRITE
setweight
)
Q_PROPERTY
(
int
cost
READ
getcost
WRITE
setcost
)
Q_PROPERTY
(
QString
stock_barcode
READ
getstock_barcode
WRITE
setstock_barcode
)
Q_PROPERTY
(
QString
bsk_num
READ
getbsk_num
WRITE
setbsk_num
)
Q_PROPERTY
(
int
qty
READ
getqty
WRITE
setqty
)
private
:
inline
QString
getpid
(){
return
pid
;
}
inline
void
setpid
(
const
QString
&
v
){
pid
=
v
;
}
inline
QString
getupc
(){
return
upc
;
}
inline
void
setupc
(
const
QString
&
v
){
upc
=
v
;
}
inline
QString
getname
(){
return
name
;
}
inline
void
setname
(
const
QString
&
v
){
name
=
v
;
}
inline
int
getprice
(){
return
price
;
}
inline
void
setprice
(
const
int
&
v
){
price
=
v
;
}
inline
int
getproduct_amount
(){
return
productAmount
;
}
inline
void
setproduct_amount
(
const
int
&
v
){
productAmount
=
v
;
}
inline
QString
getspec_id
(){
return
spec_id
;
}
inline
void
setspec_id
(
const
QString
&
v
){
spec_id
=
v
;
}
inline
QString
getspec_name
(){
return
spec_name
;
}
inline
void
setspec_name
(
const
QString
&
v
){
spec_name
=
v
;
}
inline
QString
getunit
(){
return
unit
;
}
inline
void
setunit
(
const
QString
&
v
){
unit
=
v
;
}
inline
QString
getproperty_tags
(){
return
property_tags
;
}
inline
void
setproperty_tags
(
const
QString
&
v
){
property_tags
=
v
;
}
inline
int
getunit_ratio
(){
return
unit_ratio
;
}
inline
void
setunit_ratio
(
const
int
&
v
){
unit_ratio
=
v
;
}
inline
int
getweight
(){
return
weight
;
}
inline
void
setweight
(
const
int
&
v
){
weight
=
v
;
}
inline
int
getqty
(){
return
qty
;
}
inline
void
setqty
(
const
int
&
v
){
qty
=
v
;
}
inline
int
getcost
(){
return
cost
;
}
inline
void
setcost
(
const
int
&
v
){
cost
=
v
;
}
inline
QString
getstock_barcode
(){
return
stock_barcode
;
}
inline
void
setstock_barcode
(
const
QString
&
v
){
stock_barcode
=
v
;
}
inline
QString
getbsk_num
(){
return
bsk_num
;
}
inline
void
setbsk_num
(
const
QString
&
v
){
bsk_num
=
v
;
}
public
:
DishObject
(
QObject
*
parent
=
0
)
:
QObject
(
parent
){}
~
DishObject
(){}
void
FetchDataFromJson
(
const
QJsonObject
&
json
);
public
:
QString
pid
;
//商品编号
QString
upc
;
//商品UPC码
QString
name
;
//商品名称
int
price
;
//单价
int
productAmount
;
//商品数量
QString
spec_id
;
//规格编码
QString
spec_name
;
//规格名称
QString
unit
;
//单位:如“份”、“杯”
QString
property_tags
;
//属性描述
int
unit_ratio
;
//商家入账单位(规格)转换系数
int
weight
;
//重量
int
cost
;
//成本价
QString
stock_barcode
;
//商户入账商品编号
QString
bsk_num
;
// 商品篮子号
QList
<
DishObject
*>
sub_products
;
//子商品
int
qty
;
};
Q_PROPERTY
(
QString
id
READ
getId
WRITE
setId
)
Q_PROPERTY
(
QString
orgOrderId
READ
getOrgOrderId
WRITE
setOrgOrderId
)
Q_PROPERTY
(
QString
waybillId
READ
getWaybillId
WRITE
setWaybillId
)
Q_PROPERTY
(
QString
watercourseId
READ
getWatercourseId
WRITE
setWatercourseId
)
Q_PROPERTY
(
QString
customerId
READ
getCustomerId
WRITE
setCustomerId
)
Q_PROPERTY
(
QString
customerName
READ
getCustomerName
WRITE
setCustomerName
)
Q_PROPERTY
(
QString
phone
READ
getPhone
WRITE
setPhone
)
class
OrderObject
:
public
BaseObject
{
Q_OBJECT
Q_PROPERTY
(
QString
msr_no
READ
getMsr_no
WRITE
setMsr_no
)
Q_PROPERTY
(
QString
storeId
READ
getStoreId
WRITE
setStoreId
)
Q_PROPERTY
(
QString
storeName
READ
getStoreName
WRITE
setStoreName
)
Q_PROPERTY
(
QString
storeAddress
READ
getStoreAddress
WRITE
setStoreAddress
)
Q_PROPERTY
(
QString
channel
READ
getChannel
WRITE
setChannel
)
Q_PROPERTY
(
QString
payWay
READ
getPayWay
WRITE
setPayWay
)
Q_PROPERTY
(
QString
deliveryTime
READ
getDeliveryTime
WRITE
setDeliveryTime
)
Q_PROPERTY
(
QString
riderName
READ
getRiderName
WRITE
setRiderName
)
Q_PROPERTY
(
QString
riderPhone
READ
getRiderPhone
WRITE
setRiderPhone
)
Q_PROPERTY
(
QString
createTime
READ
getCreateTime
WRITE
setCreateTime
)
Q_PROPERTY
(
QString
confirmTime
READ
getConfirmTime
WRITE
setConfirmTime
)
Q_PROPERTY
(
QString
sendTime
READ
getSendTime
WRITE
setSendTime
)
Q_PROPERTY
(
QString
finishTime
READ
getFinishTime
WRITE
setFinishTime
)
Q_PROPERTY
(
QString
cancelTime
READ
getCancelTime
WRITE
setCancelTime
)
Q_PROPERTY
(
QString
cancelReason
READ
getCancelReason
WRITE
setCancelReason
)
Q_PROPERTY
(
QString
memo
READ
getMemo
WRITE
setMemo
)
Q_PROPERTY
(
QString
invoiceType
READ
getInvoiceType
WRITE
setInvoiceType
)
Q_PROPERTY
(
QString
invoiceTitle
READ
getInvoiceTitle
WRITE
setInvoiceTitle
)
Q_PROPERTY
(
QString
invoiceTaxpayerId
READ
getInvoiceTaxpayerId
WRITE
setInvoiceTaxpayerId
)
Q_PROPERTY
(
QString
firstName
READ
getFirstName
WRITE
setFirstName
)
Q_PROPERTY
(
QString
lastName
READ
getLastName
WRITE
setLastName
)
Q_PROPERTY
(
QString
longitude
READ
getLongitude
WRITE
setLongitude
)
Q_PROPERTY
(
QString
latitude
READ
getLatitude
WRITE
setLatitude
)
Q_PROPERTY
(
QString
street
READ
getStreet
WRITE
setStreet
)
Q_PROPERTY
(
QString
addressDetail
READ
getAddressDetail
WRITE
setAddressDetail
)
Q_PROPERTY
(
QString
possaleId
READ
getPossaleId
WRITE
setPossaleId
)
Q_PROPERTY
(
int
updateTime
READ
getUpdateTime
WRITE
setUpdateTime
)
Q_PROPERTY
(
int
needInvoice
READ
getNeedInvoice
WRITE
setNeedInvoice
)
Q_PROPERTY
(
int
deliveryPrice
READ
getDeliveryPrice
WRITE
setDeliveryPrice
)
Q_PROPERTY
(
int
productPrice
READ
getProductPrice
WRITE
setProductPrice
)
Q_PROPERTY
(
int
totalPrice
READ
getTotalPrice
WRITE
setTotalPrice
)
Q_PROPERTY
(
int
orderStatus
READ
getOrderStatus
WRITE
setOrderStatus
)
Q_PROPERTY
(
int
deliveryStatus
READ
getDeliveryStatus
WRITE
setDeliveryStatus
)
Q_PROPERTY
(
int
payStatus
READ
getPayStatus
WRITE
setPayStatus
)
Q_PROPERTY
(
int
refundStatus
READ
getRefundStatus
WRITE
setRefundStatus
)
Q_PROPERTY
(
int
deliveryChannel
READ
getDeliveryChannel
WRITE
setDeliveryChannel
)
Q_PROPERTY
(
int
customerSex
READ
getCustomerSex
WRITE
setCustomerSex
)
Q_PROPERTY
(
int
orderIndex
READ
getOrderIndex
WRITE
setOrderIndex
)
public
:
OrderObject
(
QObject
*
parent
=
0
)
:
BaseObject
(
parent
){}
:
QObject
(
parent
){}
OrderObject
(
const
OrderObject
&
order
,
QObject
*
parent
);
OrderObject
&
operator
=
(
const
OrderObject
&
order
);
typedef
enum
{
NewOrder
=
1
,
Confirmed
,
Cancled
,
Sendout
,
ToSend
,
NewOrder
=
2
,
Confirmed
,
Cancled
,
Sendout
,
ToSend
,
Finished
,
Locked
=-
1
,
RequestRefund
=
20
,
AgreeRefund
=
30
,
RefuseRefund
=
40
,
Refunded
=
100
}
OrderStatus
;
...
...
@@ -110,303 +72,205 @@ public:
* 参数:[1]JSon对象
* 返回:NULL
* */
void
FromJson
(
const
QJsonObject
&
json
);
void
FromJson
(
const
QJsonObject
&
json
);
void
FetchDataFromJson
(
const
QJsonObject
&
json
);
QList
<
dishesObject
*>
proList
;
public
:
Q_PROPERTY
(
QString
channel
READ
getChannel
WRITE
setChannel
)
Q_PROPERTY
(
QString
channel_name
READ
getchannelName
WRITE
setchannelName
)
Q_PROPERTY
(
QString
phone
READ
getphone
WRITE
setphone
)
Q_PROPERTY
(
QString
address
READ
getaddress
WRITE
setaddress
)
Q_PROPERTY
(
QString
customer
READ
getcustomer
WRITE
setcustomer
)
Q_PROPERTY
(
QString
delivery_party
READ
getdelivery_party
WRITE
setdelivery_party
)
Q_PROPERTY
(
QString
order_id
READ
getOrder_id
WRITE
setOrder_id
)
Q_PROPERTY
(
QString
posorder_id
READ
getposorder_id
WRITE
setposorder_id
)
Q_PROPERTY
(
QString
coupon
READ
getCoupon
WRITE
setCoupon
)
Q_PROPERTY
(
QString
remark
READ
getRemark
WRITE
setRemark
)
Q_PROPERTY
(
QString
timestamp
READ
getTimestamp
WRITE
setTimestamp
)
Q_PROPERTY
(
QString
pay_type
READ
getpay_type
WRITE
setpay_type
)
Q_PROPERTY
(
QString
printcfg
READ
getprintcfg
WRITE
setprintcfg
)
Q_PROPERTY
(
int
delivery_type
READ
getDelivery_type
WRITE
setDelivery_type
)
Q_PROPERTY
(
int
paid_fee
READ
getpaid_fee
WRITE
setpaid_fee
)
Q_PROPERTY
(
int
rest_fee
READ
getrest_fee
WRITE
setrest_fee
)
Q_PROPERTY
(
int
user_fee
READ
getuser_fee
WRITE
setuser_fee
)
Q_PROPERTY
(
int
shop_fee
READ
getshop_fee
WRITE
setshop_fee
)
Q_PROPERTY
(
int
status
READ
getstatus
WRITE
setstatus
)
Q_PROPERTY
(
int
create_time
READ
getCreate_time
WRITE
setCreate_time
)
Q_PROPERTY
(
int
expire_time
READ
getExpire_time
WRITE
setExpire_time
)
Q_PROPERTY
(
int
total_fee
READ
gettotal_fee
WRITE
settotal_fee
)
Q_PROPERTY
(
int
discount_fee
READ
getdiscount_fee
WRITE
setdiscount_fee
)
Q_PROPERTY
(
int
send_fee
READ
getsend_fee
WRITE
setsend_fee
)
Q_PROPERTY
(
int
total_amount
READ
gettotal_Amount
WRITE
settotal_Amount
)
Q_PROPERTY
(
int
channelNum
READ
getchannelNum
WRITE
setchannelNum
)
Q_PROPERTY
(
int
order_index
READ
getorder_index
WRITE
setorder_index
)
Q_PROPERTY
(
bool
has_invoiced
READ
gethas_invoiced
WRITE
sethas_invoiced
)
Q_PROPERTY
(
bool
isPut
READ
getisPut
WRITE
setisPut
)
Q_PROPERTY
(
bool
isCancle
READ
getisCancle
WRITE
setisCancle
)
Q_PROPERTY
(
QString
invoice_title
READ
getinvoice_title
WRITE
setinvoice_title
)
Q_PROPERTY
(
QString
courier_name
READ
getcourier_name
WRITE
setcourier_name
)
Q_PROPERTY
(
QString
courier_phone
READ
getcourier_phone
WRITE
setcourier_phone
)
Q_PROPERTY
(
QString
status_desc
READ
getstatus_desc
WRITE
setstatus_desc
)
Q_PROPERTY
(
int
delivery_time
READ
getdelivery_time
WRITE
setdelivery_time
)
Q_PROPERTY
(
int
delivery_status
READ
getdelivery_status
WRITE
setdelivery_status
)
Q_PROPERTY
(
QString
fm_id
READ
getfm_id
WRITE
setfm_id
)
Q_PROPERTY
(
QString
possale_id
READ
getpossale_id
WRITE
setpossale_id
)
Q_PROPERTY
(
QStringList
records
READ
getrecords
WRITE
setrecords
)
Q_PROPERTY
(
int
service_fee
READ
getservice_fee
WRITE
setservice_fee
)
Q_PROPERTY
(
int
dis_platform_fee
READ
getdis_platform_fee
WRITE
setdis_platform_fee
)
Q_PROPERTY
(
int
dis_shop_fee
READ
getdis_shop_fee
WRITE
setdis_shop_fee
)
Q_PROPERTY
(
int
package_fee
READ
getpackage_fee
WRITE
setpackage_fee
)
Q_PROPERTY
(
int
product_fee
READ
getproduct_fee
WRITE
setproduct_fee
)
Q_PROPERTY
(
int
order_type
READ
getorder_type
WRITE
setorder_type
)
Q_PROPERTY
(
int
update_time
READ
getupdate_time
WRITE
setupdate_time
)
Q_PROPERTY
(
int
putType
READ
getputType
WRITE
setputType
)
Q_PROPERTY
(
int
putTimes
READ
getputTimes
WRITE
setputTimes
)
int
service_fee
;
//平台佣金
int
dis_platform_fee
;
//平台承担的优惠金额
int
dis_shop_fee
;
//商户承担的优惠金额
int
package_fee
;
//打包费
QString
possale_id
;
//pos短号
bool
isPut
;
//是否入账
bool
isCancle
;
//是否撤单
int
putType
;
//入账类型
int
putTimes
;
//入账次数
QString
address
;
//地址
QString
channel
;
//渠道
QString
channel_name
;
//渠道名称
QString
customer
;
//用户姓名
QString
coupon
;
//码
QString
courier_name
;
//配送员信息
QString
courier_phone
;
//配送员电话
int
channelNum
;
//渠道当天序号
int
create_time
;
//订单时间
int
delivery_type
;
//自配送/平台配送
QString
delivery_party
;
//派送方式
int
delivery_time
;
//期望送达时间
int
delivery_status
;
//配送状态
int
discount_fee
;
//商品优惠
int
expire_time
;
//订单倒计时
QString
fm_id
;
//非码订单编号
bool
has_invoiced
;
//是否需要发票
QString
invoice_title
;
//发票抬头
QString
order_id
;
//订单号
int
order_index
;
//渠道当天序号
QString
pay_type
;
//支付方式
QString
phone
;
//电话
QString
posorder_id
;
//pos订单号
QString
printcfg
;
//打印联
QList
<
DishObject
*>
proList
;
//商品明细
int
paid_fee
;
//已付金额
QString
remark
;
//备注
int
rest_fee
;
//未付
QString
status_desc
;
//订单状态描述
int
status
;
//订单状态
int
shop_fee
;
//应收金额(商家和骑士看到的)
int
send_fee
;
//运费金额
QString
timestamp
;
//时间戳
int
total_fee
;
//商品金额
int
total_amount
;
//总件数
int
user_fee
;
//应付金额
QStringList
records
;
//订单操作记录
int
product_fee
;
// 商户商品金额=商品金额+打包费
int
order_type
;
//订单类型
int
update_time
;
//期望送达时间
protected
:
inline
bool
getisPut
()
const
{
return
isPut
;}
inline
void
setisPut
(
const
bool
&
v
){
isPut
=
v
;}
inline
bool
getisCancle
()
const
{
return
isCancle
;}
inline
void
setisCancle
(
const
bool
&
v
){
isCancle
=
v
;}
inline
int
getputType
()
const
{
return
putType
;}
inline
void
setputType
(
const
int
&
v
){
putType
=
v
;}
inline
int
getputTimes
()
const
{
return
putTimes
;}
inline
void
setputTimes
(
const
int
&
v
){
putTimes
=
v
;}
inline
int
getupdate_time
()
const
{
return
update_time
;}
inline
void
setupdate_time
(
const
int
&
v
){
update_time
=
v
;}
inline
int
getproduct_fee
()
const
{
return
product_fee
;}
inline
void
setproduct_fee
(
const
int
&
v
){
product_fee
=
v
;}
inline
int
getservice_fee
()
const
{
return
service_fee
;}
QString
id
;
//编号
QString
orgOrderId
;
//原始订单编号
QString
waybillId
;
//运单号
QString
watercourseId
;
//流水号(取餐号)
QString
customerId
;
//用户编号
QString
customerName
;
//用户名称
QString
possaleId
;
QString
phone
;
QString
msr_no
;
QString
storeId
;
QString
storeName
;
QString
storeAddress
;
QString
channel
;
QString
payWay
;
QString
deliveryTime
;
QString
riderName
;
QString
riderPhone
;
QString
createTime
;
QString
confirmTime
;
QString
sendTime
;
QString
finishTime
;
QString
cancelTime
;
QString
cancelReason
;
QString
memo
;
QString
invoiceType
;
QString
invoiceTitle
;
QString
invoiceTaxpayerId
;
QString
firstName
;
QString
lastName
;
QString
longitude
;
QString
latitude
;
QString
street
;
QString
addressDetail
;
int
orderIndex
;
int
updateTime
;
int
customerSex
;
//用户性别 1- 男2- 女
int
needInvoice
;
int
deliveryPrice
;
int
productPrice
;
int
totalPrice
;
int
orderStatus
;
int
deliveryStatus
;
int
payStatus
;
int
refundStatus
;
int
deliveryChannel
;
int
putType
;
int
putTimes
;
bool
isPut
;
bool
isCancle
;
QString
getChannelName
();
QString
getOrderStatusDec
();
inline
QString
getId
()
const
{
return
id
;}
inline
void
setId
(
const
QString
&
v
){
id
=
v
;}
inline
void
setservice_fee
(
const
int
&
v
){
service_fee
=
v
;}
inline
QString
getOrgOrderId
()
const
{
return
orgOrderId
;}
inline
void
setOrgOrderId
(
const
QString
&
v
){
orgOrderId
=
v
;}
inline
int
getdis_platform_fee
()
const
{
return
dis_platform_fee
;}
inline
QString
getWaybillId
()
const
{
return
waybillId
;}
inline
void
setWaybillId
(
const
QString
&
v
){
waybillId
=
v
;}
inline
void
setdis_platform_fee
(
const
int
&
v
){
dis_platform_fee
=
v
;}
inline
QString
getWatercourseId
()
const
{
return
watercourseId
;}
inline
void
setWatercourseId
(
const
QString
&
v
){
watercourseId
=
v
;}
inline
int
getdis_shop_fee
()
const
{
return
dis_shop_fee
;}
inline
QString
getCustomerId
()
const
{
return
customerId
;}
inline
void
setCustomerId
(
const
QString
&
v
){
customerId
=
v
;}
inline
void
setdis_shop_fee
(
const
int
&
v
){
dis_shop_fee
=
v
;}
inline
QString
getCustomerName
()
const
{
return
customerName
;}
inline
void
setCustomerName
(
const
QString
&
v
){
customerName
=
v
;}
inline
int
getpackage_fee
()
const
{
return
package_fee
;}
inline
QString
getPhone
()
const
{
return
phone
;}
inline
void
setPhone
(
const
QString
&
v
){
phone
=
v
;}
inline
void
setpackage_fee
(
const
int
&
v
){
package_fee
=
v
;}
inline
QString
getMsr_no
()
const
{
return
msr_no
;}
inline
void
setMsr_no
(
const
QString
&
v
){
msr_no
=
v
;}
inline
int
getDelivery_type
()
const
{
return
delivery_type
;}
inline
QString
getStoreId
()
const
{
return
storeId
;}
inline
void
setStoreId
(
const
QString
&
v
){
storeId
=
v
;}
inline
void
setDelivery_type
(
const
int
&
v
){
delivery_type
=
v
;}
inline
QString
getStoreName
()
const
{
return
storeName
;}
inline
void
setStoreName
(
const
QString
&
v
){
storeName
=
v
;}
inline
int
getstatus
()
const
{
return
status
;}
inline
QString
getStoreAddress
()
const
{
return
storeAddress
;}
inline
void
setStoreAddress
(
const
QString
&
v
){
storeAddress
=
v
;}
inline
void
setstatus
(
const
int
&
v
){
status
=
v
;}
inline
QString
getChannel
()
const
{
return
channel
;}
inline
void
setChannel
(
const
QString
&
v
){
channel
=
v
;}
inline
QString
getChannel
()
const
{
return
channel
;}
inline
QString
getPayWay
()
const
{
return
payWay
;}
inline
void
setPayWay
(
const
QString
&
v
){
payWay
=
v
;}
inline
void
setChannel
(
const
QString
&
v
){
channel
=
v
;}
inline
QString
getDeliveryTime
()
const
{
return
deliveryTime
;}
inline
void
setDeliveryTime
(
const
QString
&
v
){
deliveryTime
=
v
;}
inline
QString
getchannelName
()
const
{
return
channel_name
;}
inline
QString
getRiderName
()
const
{
return
riderName
;}
inline
void
setRiderName
(
const
QString
&
v
){
riderName
=
v
;}
inline
void
setchannelName
(
const
QString
&
v
){
channel_name
=
v
;}
inline
QString
getRiderPhone
()
const
{
return
riderPhone
;}
inline
void
setRiderPhone
(
const
QString
&
v
){
riderPhone
=
v
;}
inline
void
setpossale_id
(
const
QString
&
v
){
possale_id
=
v
;}
inline
QString
getCreateTime
()
const
{
return
createTime
;}
inline
void
setCreateTime
(
const
QString
&
v
){
createTime
=
v
;}
inline
QString
getpossale_id
()
const
{
return
possale_id
;}
inline
QString
getConfirmTime
()
const
{
return
confirmTime
;}
inline
void
setConfirmTime
(
const
QString
&
v
){
confirmTime
=
v
;}
inline
QString
getphone
()
const
{
return
phone
;}
inline
QString
getSendTime
()
const
{
return
sendTime
;}
inline
void
setSendTime
(
const
QString
&
v
){
sendTime
=
v
;}
inline
void
setphone
(
const
QString
&
v
){
phone
=
v
;}
inline
QString
getFinishTime
()
const
{
return
finishTime
;}
inline
void
setFinishTime
(
const
QString
&
v
){
finishTime
=
v
;}
inline
QString
getaddress
()
const
{
return
address
;}
inline
QString
getCancelTime
()
const
{
return
cancelTime
;}
inline
void
setCancelTime
(
const
QString
&
v
){
cancelTime
=
v
;}
inline
void
setaddress
(
const
QString
&
v
){
address
=
v
;}
inline
QString
getCancelReason
()
const
{
return
cancelReason
;}
inline
void
setCancelReason
(
const
QString
&
v
){
cancelReason
=
v
;}
inline
QString
getcustomer
()
const
{
return
customer
;}
inline
QString
getMemo
()
const
{
return
memo
;}
inline
void
setMemo
(
const
QString
&
v
){
memo
=
v
;}
inline
void
setcustomer
(
const
QString
&
v
){
customer
=
v
;}
inline
QString
getInvoiceType
()
const
{
return
invoiceType
;}
inline
void
setInvoiceType
(
const
QString
&
v
){
invoiceType
=
v
;}
inline
QString
getdelivery_party
()
const
{
return
delivery_party
;}
inline
QString
getInvoiceTitle
()
const
{
return
invoiceTitle
;}
inline
void
setInvoiceTitle
(
const
QString
&
v
){
invoiceTitle
=
v
;}
inline
void
setdelivery_party
(
const
QString
&
v
){
delivery_party
=
v
;}
inline
QString
getInvoiceTaxpayerId
()
const
{
return
invoiceTaxpayerId
;}
inline
void
setInvoiceTaxpayerId
(
const
QString
&
v
){
invoiceTaxpayerId
=
v
;}
inline
QString
getOrder_id
()
const
{
return
order_id
;}
inline
QString
getFirstName
()
const
{
return
firstName
;}
inline
void
setFirstName
(
const
QString
&
v
){
firstName
=
v
;}
inline
void
setOrder_id
(
const
QString
&
v
){
order_id
=
v
;}
inline
QString
getLastName
()
const
{
return
lastName
;}
inline
void
setLastName
(
const
QString
&
v
){
lastName
=
v
;}
inline
QString
getposorder_id
()
const
{
return
posorder_id
;}
inline
QString
getLongitude
()
const
{
return
longitude
;}
inline
void
setLongitude
(
const
QString
&
v
){
longitude
=
v
;}
inline
void
setposorder_id
(
const
QString
&
v
){
posorder_id
=
v
;}
inline
QString
getLatitude
()
const
{
return
latitude
;}
inline
void
setLatitude
(
const
QString
&
v
){
latitude
=
v
;}
inline
int
getpaid_fee
()
const
{
return
paid_fee
;}
inline
QString
getStreet
()
const
{
return
street
;}
inline
void
setStreet
(
const
QString
&
v
){
street
=
v
;}
inline
void
setpaid_fee
(
const
int
&
v
){
paid_fee
=
v
;}
inline
QString
getAddressDetail
()
const
{
return
addressDetail
;}
inline
void
setAddressDetail
(
const
QString
&
v
){
addressDetail
=
v
;}
inline
int
getshop_fee
()
const
{
return
shop_fee
;}
inline
QString
getPossaleId
()
const
{
return
possaleId
;}
inline
void
setPossaleId
(
const
QString
&
v
){
possaleId
=
v
;}
inline
void
setshop_fee
(
const
int
&
v
){
shop_fee
=
v
;}
inline
int
getOrderIndex
()
const
{
return
orderIndex
;}
inline
void
setOrderIndex
(
const
int
&
v
){
orderIndex
=
v
;}
inline
int
getrest_fee
()
const
{
return
rest_fee
;}
inline
int
getUpdateTime
()
const
{
return
updateTime
;}
inline
void
setUpdateTime
(
const
int
&
v
){
updateTime
=
v
;}
inline
void
setrest_fee
(
const
int
&
v
){
rest_fee
=
v
;}
inline
int
getNeedInvoice
()
const
{
return
needInvoice
;}
inline
void
setNeedInvoice
(
const
int
&
v
){
needInvoice
=
v
;}
inline
int
getuser_fee
()
const
{
return
user_fee
;
}
inline
int
getDeliveryPrice
()
const
{
return
deliveryPrice
;}
inline
void
setDeliveryPrice
(
const
int
&
v
){
deliveryPrice
=
v
;}
inline
void
setuser_fee
(
const
int
&
v
)
{
user_fee
=
v
;
}
inline
int
getProductPrice
()
const
{
return
productPrice
;}
inline
void
setProductPrice
(
const
int
&
v
){
productPrice
=
v
;}
inline
QString
getCoupon
()
const
{
return
coupon
;
}
inline
int
getTotalPrice
()
const
{
return
totalPrice
;}
inline
void
setTotalPrice
(
const
int
&
v
){
totalPrice
=
v
;}
inline
void
setCoupon
(
const
QString
&
v
)
{
coupon
=
v
;
}
inline
int
getOrderStatus
()
const
{
return
orderStatus
;}
inline
void
setOrderStatus
(
const
int
&
v
){
orderStatus
=
v
;}
inline
QString
getRemark
()
const
{
return
remark
;
}
inline
int
getDeliveryStatus
()
const
{
return
deliveryStatus
;}
inline
void
setDeliveryStatus
(
const
int
&
v
){
deliveryStatus
=
v
;}
inline
void
setRemark
(
const
QString
&
v
)
{
remark
=
v
;
}
inline
int
getPayStatus
()
const
{
return
payStatus
;}
inline
void
setPayStatus
(
const
int
&
v
){
payStatus
=
v
;}
inline
int
getCreate_time
()
const
{
return
create_time
;
}
inline
int
getDeliveryChannel
()
const
{
return
deliveryChannel
;}
inline
void
setDeliveryChannel
(
const
int
&
v
){
deliveryChannel
=
v
;}
inline
void
setCreate_time
(
const
int
&
v
){
create_time
=
v
;}
inline
int
getRefundStatus
()
const
{
return
refundStatus
;}
inline
void
setRefundStatus
(
const
int
&
v
){
refundStatus
=
v
;}
inline
int
getExpire_time
()
const
{
return
expire_time
;}
inline
void
setExpire_time
(
const
int
&
v
){
expire_time
=
v
;}
inline
QString
getTimestamp
()
const
{
return
timestamp
;}
inline
void
setTimestamp
(
const
QString
&
v
){
timestamp
=
v
;}
inline
QString
getpay_type
()
const
{
return
pay_type
;}
inline
void
setpay_type
(
const
QString
&
v
){
pay_type
=
v
;}
inline
QString
getprintcfg
()
const
{
return
printcfg
;}
inline
void
setprintcfg
(
const
QString
&
v
){
printcfg
=
v
;}
inline
int
gettotal_fee
()
const
{
return
total_fee
;}
inline
void
settotal_fee
(
const
int
&
v
){
total_fee
=
v
;}
inline
int
getdiscount_fee
()
const
{
return
discount_fee
;}
inline
void
setdiscount_fee
(
const
int
&
v
){
discount_fee
=
v
;}
inline
int
getsend_fee
()
const
{
return
send_fee
;}
inline
void
setsend_fee
(
const
int
&
v
){
send_fee
=
v
;}
inline
int
gettotal_Amount
()
const
{
return
total_amount
;}
inline
void
settotal_Amount
(
const
int
&
v
){
total_amount
=
v
;}
inline
int
getchannelNum
()
const
{
return
channelNum
;}
inline
void
setchannelNum
(
const
int
&
v
){
channelNum
=
v
;}
inline
int
getorder_index
()
const
{
return
order_index
;}
inline
void
setorder_index
(
const
int
&
v
){
order_index
=
v
;}
inline
bool
gethas_invoiced
()
const
{
return
has_invoiced
;}
inline
void
sethas_invoiced
(
const
bool
&
v
){
has_invoiced
=
v
;}
inline
QString
getinvoice_title
()
const
{
return
invoice_title
;}
inline
void
setinvoice_title
(
const
QString
&
v
){
invoice_title
=
v
;}
inline
QString
getcourier_name
()
const
{
return
courier_name
;}
inline
void
setcourier_name
(
const
QString
&
v
){
courier_name
=
v
;}
inline
QString
getcourier_phone
()
const
{
return
courier_phone
;}
inline
void
setcourier_phone
(
const
QString
&
v
){
courier_phone
=
v
;}
inline
QString
getstatus_desc
()
const
{
return
status_desc
;}
inline
void
setstatus_desc
(
const
QString
&
v
){
status_desc
=
v
;}
inline
int
getdelivery_time
()
const
{
return
delivery_time
;}
inline
void
setdelivery_time
(
const
int
&
v
){
delivery_time
=
v
;}
inline
QString
getfm_id
()
const
{
return
fm_id
;}
inline
void
setfm_id
(
const
QString
&
v
){
fm_id
=
v
;}
inline
int
getdelivery_status
()
const
{
return
delivery_status
;}
inline
void
setdelivery_status
(
const
int
&
v
){
delivery_status
=
v
;}
inline
int
getCustomerSex
()
const
{
return
customerSex
;}
inline
void
setCustomerSex
(
const
int
&
v
){
customerSex
=
v
;}
};
inline
QStringList
getrecords
()
const
{
return
records
;}
inline
void
setrecords
(
const
QStringList
&
v
){
records
=
v
;}
inline
int
getorder_type
()
const
{
return
order_type
;}
inline
void
setorder_type
(
const
int
&
v
){
order_type
=
v
;}
};
#endif // ORDEROBJECT_H
fmTakeaway/Network/billSocket.cpp
View file @
fbaea4c6
...
...
@@ -51,6 +51,39 @@ bool BillSocket::Request(const QJsonObject &requestJson, QJsonObject &recvJson,
return
true
;
}
bool
BillSocket
::
Get
(
QJsonObject
&
recvJson
,
QString
&
error
)
{
if
(
QNetworkAccessManager
::
Accessible
!=
m_networkManger
.
networkAccessible
())
{
m_networkManger
.
setNetworkAccessible
(
QNetworkAccessManager
::
Accessible
);
}
QEventLoop
eventLoop
;
QNetworkReply
*
reply
=
m_networkManger
.
get
(
m_networkRequest
);
connect
(
&
m_networkManger
,
SIGNAL
(
networkAccessibleChanged
(
QNetworkAccessManager
::
NetworkAccessibility
)),
&
eventLoop
,
SLOT
(
quit
()));
connect
(
reply
,
SIGNAL
(
finished
()),
&
eventLoop
,
SLOT
(
quit
()));
connect
(
reply
,
SIGNAL
(
error
(
QNetworkReply
::
NetworkError
)),
&
eventLoop
,
SLOT
(
quit
()));
// 加用定时器防止网络出现异常长时间不返回导致的阻塞
QTimer
::
singleShot
(
VALUE_NETTIMEOUT
,
&
eventLoop
,
&
QEventLoop
::
quit
);
eventLoop
.
exec
();
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
)
{
error
=
reply
->
errorString
();
return
false
;
}
QByteArray
recvArray
=
reply
->
readAll
();
if
(
recvArray
.
size
()
==
0
)
{
error
=
"nothing recved"
;
return
false
;
}
recvJson
=
QJsonDocument
::
fromJson
(
recvArray
).
object
();
reply
->
deleteLater
();
return
true
;
}
void
BillSocket
::
SetUrl
(
QUrl
url
)
{
m_networkRequest
.
setUrl
(
url
);
...
...
fmTakeaway/Network/billSocket.h
View file @
fbaea4c6
...
...
@@ -15,6 +15,7 @@ public:
~
BillSocket
();
bool
Request
(
const
QJsonObject
&
requestJson
,
QJsonObject
&
recvJson
,
QString
&
error
);
bool
Get
(
QJsonObject
&
recvJson
,
QString
&
error
);
void
SetUrl
(
QUrl
url
);
void
SetSslConfig
();
...
...
fmTakeaway/detailForm.cpp
View file @
fbaea4c6
...
...
@@ -34,19 +34,17 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailBtn1
->
hide
();
ui
->
detailBtn0
->
hide
();
// 初始化界面
ui
->
detailLab0
->
setText
(
QString
(
"[%1 # %2][%3][%4]"
).
arg
(
QString
::
number
(
orderObject
->
order_index
),
orderObject
->
channel_name
,
orderObject
->
status_desc
,
orderObject
->
order_id
));
//ui->detailLab5->setText(QString("[%1]").arg(orderObject->remark));
ui
->
detailLab1
->
setText
(
QString
(
"%1:%2"
).
arg
(
orderObject
->
customer
,
orderObject
->
phone
));
//ui->detailLab3->setText(orderObject->address);
//ui->detailLab4->setText(QString("[配送方式]%1 [配送费]%2").arg(orderObject->delivery_party,Penny2Dollar(orderObject->send_fee)));
ui
->
detailLab2
->
setText
(
orderObject
->
delivery_time
==
0
?
QString
::
fromLocal8Bit
(
"立即送出"
)
:
QDateTime
::
fromTime_t
(
orderObject
->
delivery_time
).
toString
(
"MM/dd hh:mm"
));
ui
->
detailLab3
->
setText
(
orderObject
->
courier_name
.
isEmpty
()
?
QString
::
fromLocal8Bit
(
"暂未指定"
)
:
QString
::
fromLocal8Bit
(
"[姓名]%1 [电话]%2"
)
.
arg
(
orderObject
->
courier_name
,
orderObject
->
courier_phone
));
ui
->
detailLab4
->
setText
(
Penny2Dollar
(
orderObject
->
product_fee
));
//ui->detailLab8->setText(orderObject->has_invoiced? QString("发票抬头:%1").arg(orderObject->invoice_title) : "不需要发票");
ui
->
detailLab5
->
setText
(
QString
(
"[%1]"
).
arg
(
orderObject
->
remark
));
ui
->
detailLab0
->
setText
(
QString
(
"[%1 # %2][%3][%4]"
).
arg
(
QString
::
number
(
orderObject
->
orderIndex
),
orderObject
->
getChannelName
(),
orderObject
->
getOrderStatusDec
(),
orderObject
->
id
));
ui
->
detailLab1
->
setText
(
QString
(
"%1:%2"
).
arg
(
orderObject
->
customerName
,
orderObject
->
phone
));
ui
->
detailLab2
->
setText
(
orderObject
->
deliveryTime
.
isEmpty
()
?
QString
::
fromLocal8Bit
(
"立即送出"
)
:
orderObject
->
deliveryTime
);
ui
->
detailLab3
->
setText
(
orderObject
->
riderName
.
isEmpty
()
?
QString
::
fromLocal8Bit
(
"暂未指定"
)
:
QString
::
fromLocal8Bit
(
"[姓名]%1 [电话]%2"
)
.
arg
(
orderObject
->
riderName
,
orderObject
->
riderPhone
));
//TODO
ui
->
detailLab4
->
setText
(
Penny2Dollar
(
orderObject
->
productPrice
));
ui
->
detailLab6
->
setText
(
orderObject
->
needInvoice
?
orderObject
->
invoiceTitle
:
QString
::
fromLocal8Bit
(
"不需要发票"
));
ui
->
detailLab5
->
setText
(
QString
(
"[%1]"
).
arg
(
orderObject
->
memo
));
for
(
int
i
=
0
;
i
<
orderObject
->
proList
.
count
();
i
++
)
{
ui
->
detailTable0
->
insertRow
(
i
);
...
...
@@ -54,35 +52,35 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailTable0
->
item
(
i
,
0
)
->
setTextAlignment
(
Qt
::
AlignCenter
);
ui
->
detailTable0
->
setItem
(
i
,
1
,
new
QTableWidgetItem
(
Penny2Dollar
(
orderObject
->
proList
.
at
(
i
)
->
price
)));
// 价格
ui
->
detailTable0
->
item
(
i
,
1
)
->
setTextAlignment
(
Qt
::
AlignCenter
);
ui
->
detailTable0
->
setItem
(
i
,
2
,
new
QTableWidgetItem
(
QString
::
number
(
orderObject
->
proList
.
at
(
i
)
->
productAmount
)));
// 数量
ui
->
detailTable0
->
setItem
(
i
,
2
,
new
QTableWidgetItem
(
QString
::
number
(
orderObject
->
proList
.
at
(
i
)
->
qty
)));
// 数量
ui
->
detailTable0
->
item
(
i
,
2
)
->
setTextAlignment
(
Qt
::
AlignCenter
);
}
QString
records
;
foreach
(
QString
record
,
orderObject
->
records
)
{
records
.
append
(
record
+
"
\r\n
"
);
}
ui
->
detailLabRecord
->
setText
(
records
);
//TODO
//
QString records;
//
foreach(QString record, orderObject->records)
//
{
//
records.append(record+"\r\n");
//
}
//
ui->detailLabRecord->setText(records);
// if(!ConfigManger::GetInstance().GetIsExistReEntryOrder())
// {
// ui->detailBtn0->hide();
// }
ui
->
detailBtn2
->
setText
(
GetOperNameByStatus
(
orderObject
->
s
tatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
s
tatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"orderId"
,
orderObject
->
order_
id
);
if
(
orderObject
->
status
!=
1
&&
orderObject
->
status
!=
20
&&
orderObject
->
status
!=
2
&&
orderObject
->
s
tatus
!=
4
)
ui
->
detailBtn2
->
setText
(
GetOperNameByStatus
(
orderObject
->
orderS
tatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
orderS
tatus
,
true
));
ui
->
detailBtn2
->
setProperty
(
"orderId"
,
orderObject
->
id
);
if
(
orderObject
->
orderStatus
!=
1
&&
orderObject
->
orderStatus
!=
20
&&
orderObject
->
orderStatus
!=
2
&&
orderObject
->
orderS
tatus
!=
4
)
{
ui
->
detailBtn2
->
hide
();
}
ui
->
detailBtn3
->
setText
(
GetOperNameByStatus
(
orderObject
->
s
tatus
));
ui
->
detailBtn3
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
s
tatus
));
ui
->
detailBtn3
->
setProperty
(
"orderId"
,
orderObject
->
order_
id
);
ui
->
detailBtn3
->
setText
(
GetOperNameByStatus
(
orderObject
->
orderS
tatus
));
ui
->
detailBtn3
->
setProperty
(
"operation"
,
GetOperByStatus
(
orderObject
->
orderS
tatus
));
ui
->
detailBtn3
->
setProperty
(
"orderId"
,
orderObject
->
id
);
if
(
!
GetOperByStatus
(
orderObject
->
s
tatus
).
compare
(
"NULL"
))
if
(
!
GetOperByStatus
(
orderObject
->
orderS
tatus
).
compare
(
"NULL"
))
{
ui
->
detailBtn3
->
hide
();
}
...
...
@@ -109,12 +107,12 @@ void DetailForm::_Init()
ui
->
detailTable0
->
horizontalHeader
()
->
setSectionResizeMode
(
QHeaderView
::
Fixed
);
}
QString
DetailForm
::
GetProductName
(
DishObject
*
dish
)
QString
DetailForm
::
GetProductName
(
dishesObject
*
dish
)
{
QString
name
;
QString
propertyTags
;
name
.
append
(
dish
->
name
).
append
(
"
\r\n
"
);
propertyTags
=
dish
->
property_tags
;
propertyTags
=
dish
->
specId
;
if
(
!
propertyTags
.
isEmpty
())
{
name
.
append
(
QString
(
"(%1)"
).
arg
(
propertyTags
));
...
...
fmTakeaway/detailForm.h
View file @
fbaea4c6
...
...
@@ -39,7 +39,7 @@ private:
RejectForm
*
m_rejectForm
;
RefuseForm
*
m_refuseForm
;
QString
GetProductName
(
Dish
Object
*
dish
);
QString
GetProductName
(
dishes
Object
*
dish
);
signals
:
/* 功能:处理订单
...
...
fmTakeaway/detailForm.ui
View file @
fbaea4c6
...
...
@@ -668,7 +668,7 @@
</size>
</property>
<property name="text">
<string
/
>
<string
>发票抬头:</string
>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
...
...
fmTakeaway/disTabWdg.cpp
View file @
fbaea4c6
...
...
@@ -26,7 +26,7 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis
QMap
<
int
,
dishesObject
>
sortMap
;
foreach
(
dishesObject
obj
,
disObjList
)
{
sortMap
.
insert
(
obj
.
rank
,
obj
);
//
sortMap.insert(obj.rank, obj);
}
QMap
<
int
,
dishesObject
>::
iterator
iter
;
...
...
@@ -40,14 +40,14 @@ void disTabWdg::IniDishesData(QString channelCode, QList<dishesObject> disObjLis
foreach
(
dishesObject
dObj
,
m_disObjList
)
//foreach(dishesObject dObj, disObjList)
{
dishesItem
*
item
=
new
dishesItem
(
m_channelCode
,
dObj
.
code
,
dObj
.
status
,
dObj
.
name
,
this
);
//
dishesItem *item = new dishesItem(m_channelCode, dObj.code, dObj.status, dObj.name,this);
if
(
index
==
0
)
{
row
=
ui
->
disTabWdg_tablewdg
->
rowCount
();
ui
->
disTabWdg_tablewdg
->
insertRow
(
row
);
}
ui
->
disTabWdg_tablewdg
->
setCellWidget
(
row
,
index
,
item
);
//
ui->disTabWdg_tablewdg->setCellWidget(row, index, item);
index
++
;
if
(
index
==
2
)
{
...
...
fmTakeaway/fmTakeaway.pro
View file @
fbaea4c6
...
...
@@ -32,7 +32,7 @@ SOURCES += main.cpp\
DTools
/
dataManger
.
cpp
\
Model
/
orderObject
.
cpp
\
Model
/
baseObject
.
cpp
\
Model
/
product
Object
.
cpp
\
Model
/
dishes
Object
.
cpp
\
DTools
/
util
.
cpp
\
settingForm
.
cpp
\
floatForm
.
cpp
\
...
...
@@ -50,7 +50,6 @@ SOURCES += main.cpp\
disTabWdg
.
cpp
\
refdishesForm
.
cpp
\
refuseForm
.
cpp
\
Model
/
dishesObject
.
cpp
\
dailyreportForm
.
cpp
\
Model
/
dailyObject
.
cpp
...
...
@@ -64,7 +63,7 @@ HEADERS += \
DTools
/
dataManger
.
h
\
Model
/
orderObject
.
h
\
Model
/
baseObject
.
h
\
Model
/
product
Object
.
h
\
Model
/
dishes
Object
.
h
\
DTools
/
util
.
h
\
settingForm
.
h
\
floatForm
.
h
\
...
...
@@ -82,7 +81,6 @@ HEADERS += \
disTabWdg
.
h
\
refdishesForm
.
h
\
refuseForm
.
h
\
Model
/
dishesObject
.
h
\
dailyreportForm
.
h
\
Model
/
dailyObject
.
h
\
DTools
/
dump
.
h
...
...
fmTakeaway/fmTakeaway.rc
View file @
fbaea4c6
IDI_ICON1 ICON DISCARDABLE "logo.ico"
\ No newline at end of file
IDI_ICON ICON DISCARDABLE "logo.ico"
\ No newline at end of file
fmTakeaway/mainForm.cpp
View file @
fbaea4c6
...
...
@@ -342,19 +342,20 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
// 非首次收到的订单需要现在原先表中删除
if
(
oldStatus
!=
-
100
)
{
if
(
2
==
orderObject
->
order_type
&&
(
1
==
oldStatus
||
2
==
oldStatus
))
{
table
=
ui
->
mainTableReserve
;
tabBtn
=
ui
->
mainBtnReserve
;
}
else
{
//TODO
// if(/*2==orderObject->order_type&&*/(1==oldStatus||2==oldStatus))
// {
// table=ui->mainTableReserve;
// tabBtn = ui->mainBtnReserve;
// }
//else{
tabBtn
=
_GetTabBtnByOrderStatus
(
oldStatus
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
}
//
}
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
order_
id
))
if
(
!
table
->
item
(
i
,
1
)
->
text
().
compare
(
orderObject
->
id
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
...
...
@@ -364,39 +365,40 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
}
}
// 将数据插入到表中
if
(
2
==
orderObject
->
order_type
&&
(
1
==
orderObject
->
status
||
2
==
orderObject
->
status
))
{
table
=
ui
->
mainTableReserve
;
tabBtn
=
ui
->
mainBtn
Reserve
;
}
else
{
tabBtn
=
_GetTabBtnByOrderStatus
(
orderObject
->
s
tatus
);
//TODO
// if(/*2==orderObject->order_type&&*/(1==orderObject->orderStatus||2==orderObject->orderStatus))
// {
// table = ui->mainTable
Reserve;
// tabBtn = ui->mainBtnReserve;
// }
//else{
tabBtn
=
_GetTabBtnByOrderStatus
(
orderObject
->
orderS
tatus
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
}
//
}
table
->
insertRow
(
0
);
QTableWidgetItem
*
item0
=
new
QTableWidgetItem
(
orderObject
->
channel_name
);
QTableWidgetItem
*
item0
=
new
QTableWidgetItem
(
orderObject
->
getChannelName
()
);
item0
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
0
,
item0
);
// 渠道
QTableWidgetItem
*
item1
=
new
QTableWidgetItem
(
orderObject
->
order_
id
);
QTableWidgetItem
*
item1
=
new
QTableWidgetItem
(
orderObject
->
id
);
item1
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
1
,
item1
);
// 订单ID
QTableWidgetItem
*
item2
=
new
QTableWidgetItem
(
Penny2Dollar
(
orderObject
->
product_fe
e
));
QTableWidgetItem
*
item2
=
new
QTableWidgetItem
(
Penny2Dollar
(
orderObject
->
totalPric
e
));
item2
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
2
,
item2
);
// 金额
QTableWidgetItem
*
item3
=
new
QTableWidgetItem
(
orderObject
->
customer
);
QTableWidgetItem
*
item3
=
new
QTableWidgetItem
(
orderObject
->
customer
Name
);
item3
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
3
,
item3
);
// 姓名
QTableWidgetItem
*
item4
=
new
QTableWidgetItem
(
orderObject
->
phone
);
item4
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
4
,
item4
);
// 联系方式
QTableWidgetItem
*
item5
=
new
QTableWidgetItem
(
QDateTime
::
fromTime_t
(
orderObject
->
create_time
).
toString
(
"MM-dd hh:mm"
));
//QTableWidgetItem *item5 = new QTableWidgetItem(QDateTime::fromTime_t(orderObject->createTime).toString("MM-dd hh:mm"));
QTableWidgetItem
*
item5
=
new
QTableWidgetItem
(
orderObject
->
createTime
);
item5
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
5
,
item5
);
// 下单时间
if
(
table
!=
ui
->
mainTableFinsh
)
{
if
(
!
table
->
property
(
"operationName"
).
toString
().
compare
(
"接单"
)
&&
1
==
orderObject
->
s
tatus
)
if
(
/*!table->property("operationName").toString().compare("接单")&&*/
2
==
orderObject
->
orderS
tatus
)
{
qDebug
()
<<
table
->
objectName
()
<<
"------"
;
QWidget
*
pWdg
=
new
QWidget
(
table
);
...
...
@@ -405,7 +407,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
pBtn
->
setFixedSize
(
70
,
30
);
pBtn
->
setFocusPolicy
(
Qt
::
NoFocus
);
pBtn
->
setObjectName
(
"mainProcBtn"
);
pBtn
->
setProperty
(
"orderId"
,
orderObject
->
order_
id
);
pBtn
->
setProperty
(
"orderId"
,
orderObject
->
id
);
pBtn
->
setProperty
(
"operation"
,
table
->
property
(
"operation"
).
toString
());
pBtn
->
setText
(
table
->
property
(
"operationName"
).
toString
());
hLayout
->
addWidget
(
pBtn
);
...
...
fmTakeaway/preDefine.h
View file @
fbaea4c6
...
...
@@ -55,11 +55,13 @@
#define JSON_USERID "userId"
#define JSON_BUSINESSDATE "business_date"
#define JSON_STATUSCODE "statusCode"
#define JSON_ERRCODE "
err
code"
#define JSON_ERRCODE "code"
#define JSON_STATUS "status"
#define JSON_ORDERSTATUS "orderStatus"
#define JSON_STATUSDESC "status_desc"
#define JSON_MESSAGE "msg"
#define JSON_ERRMSG "errmsg"
#define JSON_ERRMSG "msg"
#define JSON_RECEIVINGSTATUS "receivingStatus"
#define JSON_TIMESTAMPS "timestamp"
#define JSON_AUTOCONFIRM "autoconfirm"
#define JSON_TOKEN "PosToken"
...
...
@@ -68,17 +70,19 @@
#define JSON_ORDERS "orders"
#define JSON_COUNT "count"
#define JSON_PRODUCTS "products"
#define JSON_ORDERID "order_id"
#define JSON_ID "id"
#define JSON_ORDERID "orderId"
#define JSON_ORDER_ID "order_id"
#define JSON_BUSINESSID "businessId"
#define JSON_REASON "reason"
#define JSON_REASONCODE "reason_code"
#define JSON_SYNCTIME "sync_time"
#define JSON_SHOPCODE "s
hopCode
"
#define JSON_SHOPCODE "s
toreId
"
#define JSON_CHANNEL "channel"
#define JSON_BUSINESSSTATUS "business_status"
#define JSON_CODE "code"
#define JSON_PAGENUMBER "page
Number
"
#define JSON_PAGESIZE "page
S
ize"
#define JSON_PAGENUMBER "page
_no
"
#define JSON_PAGESIZE "page
_s
ize"
#define JSON_DELIVERS "deliverymans"
#define JSON_DELIVERYID "deliveryman_id"
#define JSON_DELIVERYNAME "deliveryman_name"
...
...
@@ -122,9 +126,10 @@
//接口地址
#define INI_INTERFACE_ILOGIN "login"
#define INI_INTERFACE_GETSTORESTATE "get
stores
tate"
#define INI_INTERFACE_UPDATESTATE "update
s
tate"
#define INI_INTERFACE_GETSTORESTATE "get
StoreS
tate"
#define INI_INTERFACE_UPDATESTATE "update
S
tate"
#define INI_INTERFACE_PULLORDER "pullOrder"
#define INI_INTERFACE_PULLORDERLIST "pullOrderList"
#define INI_INTERFACE_HEART "heart"
#define INI_INTERFACE_CONFIRM "confirm"
#define INI_INTERFACE_CANCLE "cancle"
...
...
fmTakeaway/refdishesForm.cpp
View file @
fbaea4c6
...
...
@@ -26,13 +26,13 @@ void refDishesForm::InitData(OrderObject *obj)
_Init
();
int
i
=
0
;
foreach
(
Dish
Object
*
product
,
obj
->
proList
)
foreach
(
dishes
Object
*
product
,
obj
->
proList
)
{
QPushButton
*
btn
=
new
QPushButton
(
this
);
btn
->
setFixedSize
(
260
,
50
);
btn
->
setCheckable
(
true
);
btn
->
setText
(
product
->
name
);
btn
->
setObjectName
(
product
->
p
id
);
btn
->
setObjectName
(
product
->
id
);
btn
->
setStyleSheet
(
"QPushButton{ color: #3d3d3d; \
background-color: rgb(255, 255, 255); \
border: 1px solid #C0C0C0; \
...
...
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