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
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
314 additions
and
171 deletions
+314
-171
fmTakeaway/Control/flowControl.cpp
+0
-0
fmTakeaway/Control/flowControl.h
+15
-19
fmTakeaway/DTools/dataManger.cpp
+8
-14
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
+0
-0
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
This diff is collapsed.
Click to expand it.
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_PAGENUMBER
,
pageNumber
);
rObj
.
insert
(
JSON_PAGESIZE
,
pageSize
);
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
This diff is collapsed.
Click to expand it.
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