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
c63739b6
Commit
c63739b6
authored
Sep 22, 2017
by
yunpeng.song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
针对私有化部署新接口的修改
parent
6f06a3d6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
326 additions
and
153 deletions
+326
-153
fmTakeaway/Control/flowControl.cpp
+0
-0
fmTakeaway/Control/flowControl.h
+31
-26
fmTakeaway/DTools/configManger.cpp
+24
-5
fmTakeaway/DTools/configManger.h
+19
-5
fmTakeaway/DTools/dataManger.cpp
+89
-33
fmTakeaway/DTools/dataManger.h
+19
-6
fmTakeaway/DTools/sysTray.cpp
+2
-2
fmTakeaway/Model/baseObject.cpp
+3
-4
fmTakeaway/Model/baseObject.h
+1
-1
fmTakeaway/Model/orderObject.h
+6
-0
fmTakeaway/Network/billSocket.cpp
+6
-4
fmTakeaway/Network/billSocket.h
+2
-0
fmTakeaway/alertForm.cpp
+10
-2
fmTakeaway/alertForm.h
+3
-0
fmTakeaway/dailyreportForm.cpp
+16
-16
fmTakeaway/detailForm.cpp
+14
-11
fmTakeaway/floatForm.cpp
+1
-2
fmTakeaway/fmTakeaway.pro
+2
-0
fmTakeaway/main.cpp
+1
-1
fmTakeaway/mainForm.cpp
+23
-13
fmTakeaway/preDefine.h
+35
-9
fmTakeaway/refuseForm.cpp
+19
-13
No files found.
fmTakeaway/Control/flowControl.cpp
View file @
c63739b6
This diff is collapsed.
Click to expand it.
fmTakeaway/Control/flowControl.h
View file @
c63739b6
...
...
@@ -17,6 +17,7 @@
#include <QMutex>
#include <QDateTime>
#include <QTimer>
#include <QPair>
class
FlowControl
:
public
QObject
{
...
...
@@ -34,9 +35,17 @@ private:
bool
bReaded
;
bool
bCancled
;
bool
entryType
;
QDateTime
btimeStamp
;
//
QDateTime btimeStamp;
}
OrderProperpy
;
typedef
struct
TOPULL_ORDER
{
int
pageSize
;
int
pageNumber
;
QString
channel
;
QString
orderId
;
}
PullOrderInfo
;
private
:
// 门店信息
QString
m_storeId
;
...
...
@@ -45,10 +54,12 @@ private:
QString
m_cashierId
;
QDateTime
m_bDate
;
QString
m_storeName
;
int
m_orderCount
;
QPair
<
QString
,
QString
>
m_orderPair
;
//订单清除定时器
QTimer
*
m_clearTimer
;
QTimer
*
m_heartTimer
;
QTimer
*
m_pullTimer
;
// 网络通信
BillSocket
*
m_loginSocket
;
BillSocket
*
m_pullOrderSocket
;
...
...
@@ -67,10 +78,11 @@ private:
QMap
<
QString
,
QMultiMap
<
QString
,
dishesObject
>
>
m_dishesMap
;
// 已接单的订单
QMap
<
QString
,
OrderProperpy
>
m_ordersMap
Zhy
;
QMap
<
QString
,
OrderProperpy
>
m_ordersMap
Xbk
;
QMap
<
QString
,
QString
>
m_view2Id
;
QMutex
m_mutex
;
QList
<
PullOrderInfo
>
m_orderPullList
;
signals
:
...
...
@@ -152,6 +164,8 @@ signals:
* */
void
showDailyReportData
(
QJsonObject
);
void
doPullOrder
(
const
QString
&
orderId
,
const
QString
&
channel
);
private
slots
:
bool
_GetStoreInfo
();
/* 功能:登录
...
...
@@ -164,6 +178,12 @@ private slots:
* 返回:是否成功
* */
bool
_PullOrder
();
/* 功能:发送心跳
* 参数:NULL
* 返回:是否成功
* */
bool
_SendHeart
();
/* 功能:获取配送员
* 参数:[1]订单编号
* 返回:是否成功
...
...
@@ -209,42 +229,27 @@ private slots:
* 返回:Json对象
* */
QJsonObject
_GetHttpReplyJson
(
const
int
status
,
const
QString
&
msg
,
const
QJsonObject
&
data
,
const
int
&
iscontinue
);
/* 功能:解析周黑鸭发送过来的数据
* 参数:NULL
* 返回:是否成功
* */
bool
_ParseRequest
(
const
int
actionId
,
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
/**
*功能:清空订单Map里的订单
*参数:无
*返回:无
**/
void
_ClearOrder
();
// 返回订单列表
bool
_Get43ReplyJson
(
int
type
,
QString
date
,
QJsonObject
&
data
,
QString
&
error
);
// 返回订单详情
bool
_Get12ReplyJson
(
QString
orderId
,
QJsonObject
&
data
,
QString
&
error
);
// 设置订单已读
bool
_Get44ReplyJson
(
QStringList
orderdId
,
QJsonObject
&
data
,
QString
&
error
);
// 查询订单
bool
_Get99ReplyJson
(
QString
begin
,
QString
end
,
QJsonObject
&
data
,
QString
&
error
);
bool
_GetReplyJson
(
const
int
&
actionId
,
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
,
const
QString
&
orderId
);
bool
_GetLoginReplyJson
(
const
QJsonObject
&
content
,
Q
JsonObject
&
data
,
Q
String
&
error
);
bool
_GetLoginReplyJson
(
const
QJsonObject
&
content
,
QString
&
error
);
bool
_GetQueryReplyJson
(
QJsonObject
&
data
,
QString
&
error
,
const
QString
&
orderId
);
bool
_GetPushReplyJson
(
QJsonObject
&
data
,
QString
&
error
);
void
_HandleOrderOperation
(
bool
result
);
// 单位转换
QString
_Penny2Dollar
(
int
penny
);
// 转换订单状态
int
_ConverBillStatus
(
int
statusFm
);
// 获取周黑鸭的订单状态描述
QString
_GetBillStatusDsc
(
int
statusZhy
);
QString
_GetIpAddress
();
void
_AddOrder
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
int
&
pageNumber
=
1
,
const
int
&
pageSize
=
100
);
void
_GetOrder
(
const
QString
&
orderId
,
const
QString
&
channel
);
// 获取周黑鸭对应平台编号
void
_GetChannelName
(
const
QString
&
fmChannel
,
QString
&
zhyChannel
,
QString
&
zhyChannelname
);
public
slots
:
/* 功能:获取到新的门店信息
...
...
fmTakeaway/DTools/configManger.cpp
View file @
c63739b6
...
...
@@ -4,7 +4,7 @@
#include <QSqlError>
#include "preDefine.h"
void
ConfigManger
::
GetStoreInfo
(
QString
&
storeId
,
QString
&
posNo
,
QString
&
cashierId
,
QString
&
password
)
void
ConfigManger
::
GetStoreInfo
(
QString
&
storeId
,
/* QString &posNo,QString &cashierId,*/
QString
&
password
)
{
storeId
=
m_config
->
value
(
INI_STOREID
).
toString
();
//posNo=m_config->value(INI_POSNO).toString();
...
...
@@ -46,9 +46,18 @@ void ConfigManger::SetSqlConnectInfo(const ConfigManger::SqlConnectInfo &info)
m_userConfig
->
setValue
(
INI_DB_DATABASE
,
info
.
database
);
}
Q
Url
ConfigManger
::
Get
ServerUrl
()
Q
String
ConfigManger
::
GetLogin
ServerUrl
()
{
return
m_config
->
value
(
INI_SERVER
).
toUrl
();
return
m_config
->
value
(
INI_LOGINSERVER
).
toString
();
}
QString
ConfigManger
::
GetOrderServerUrl
()
{
return
m_config
->
value
(
INI_ORDERSERVER
).
toString
();
}
QString
ConfigManger
::
GetInterfaceName
(
const
QString
&
name
)
{
return
m_config
->
value
(
QString
(
"Interface/"
)
+
name
).
toString
();
}
QString
ConfigManger
::
GetPrinterName
()
...
...
@@ -111,9 +120,9 @@ int ConfigManger::GetHttpServerPort()
return
m_config
->
value
(
INI_HTTPSERVERPORT
,
80
).
toInt
();
}
QString
ConfigManger
::
GetP
erfix
()
QString
ConfigManger
::
GetP
artnerId
()
{
return
m_config
->
value
(
INI_P
ERFIX
).
toString
();
return
m_config
->
value
(
INI_P
ARTNERID
).
toString
();
}
int
ConfigManger
::
GetUpdDishesInterval
()
...
...
@@ -121,5 +130,15 @@ int ConfigManger::GetUpdDishesInterval()
return
m_config
->
value
(
INI_INTERVAL
).
toInt
();
}
int
ConfigManger
::
GetPushServerPort
()
{
return
m_config
->
value
(
INI_PUSHSERVERPORT
,
24409
).
toInt
();
}
QString
ConfigManger
::
GetIpAddress
()
{
return
m_config
->
value
(
"IpAddress/ip"
).
toString
();
}
fmTakeaway/DTools/configManger.h
View file @
c63739b6
...
...
@@ -19,7 +19,7 @@ public:
}
SqlConnectInfo
;
public
:
void
GetStoreInfo
(
QString
&
storeId
,
QString
&
posNo
,
QString
&
cashierId
,
QString
&
password
);
void
GetStoreInfo
(
QString
&
storeId
,
QString
&
password
);
static
ConfigManger
&
GetInstance
();
/* 功能:获取数据库连接信息
...
...
@@ -32,11 +32,21 @@ public:
* 返回:NULL
* */
void
SetSqlConnectInfo
(
const
SqlConnectInfo
&
info
);
/* 功能:读取服务器地址
/* 功能:读取
登入
服务器地址
* 参数:NULL
* 返回:服务器地址
* */
QUrl
GetServerUrl
();
QString
GetLoginServerUrl
();
/* 功能:读取订单服务器地址
* 参数:NULL
* 返回:服务器地址
* */
QString
GetOrderServerUrl
();
/* 功能:读取接口名称
* 参数:NULL
* 返回:服务器地址
* */
QString
GetInterfaceName
(
const
QString
&
name
);
/* 功能:读取打印机名称
* 参数:NULL
* 返回:服务器地址
...
...
@@ -95,11 +105,11 @@ public:
* */
int
GetHttpServerPort
();
/* 功能:获取
前缀
/* 功能:获取
商户号
* 参数:NULL
* 返回:前缀
* */
QString
GetP
erfix
();
QString
GetP
artnerId
();
/* 功能:获取同步库存的间隔
* 参数:NULL
...
...
@@ -107,6 +117,10 @@ public:
* */
int
GetUpdDishesInterval
();
int
GetPushServerPort
();
QString
GetIpAddress
();
private
:
ConfigManger
();
ConfigManger
(
ConfigManger
const
&
);
...
...
fmTakeaway/DTools/dataManger.cpp
View file @
c63739b6
...
...
@@ -26,26 +26,79 @@ void DataManger::SetToken(const QString &token)
m_token
=
token
;
}
QJsonObject
DataManger
::
GetLoginData
(
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashier
Id
)
void
DataManger
::
SetStoreId
(
const
QString
&
store
Id
)
{
QJsonObject
rObj
,
cObj
;
rObj
.
insert
(
JSON_REQTYPE
,
LOGIN
);
cObj
.
insert
(
JSON_USERNAME
,
storeId
);
cObj
.
insert
(
JSON_PASSWORD
,
password
);
rObj
.
insert
(
JSON_CURRENTUSER
,
cObj
);
rObj
.
insert
(
JSON_STATIONID
,
stationId
);
rObj
.
insert
(
JSON_OPERATORID
,
cashierId
);
m_storeId
=
storeId
;
}
QJsonObject
DataManger
::
GetLoginData
(
const
QString
&
partnerId
,
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashierId
,
const
QString
&
ipAddress
)
{
QJsonObject
rObj
;
#ifdef TEST
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
rObj
.
insert
(
JSON_PARTNERID
,
"7ba9ce8d-4ffd-4acf-96e6-42a117ad6fe6"
);
rObj
.
insert
(
JSON_ORGCODE
,
storeId
);
rObj
.
insert
(
JSON_PASSWORD
,
password
);
rObj
.
insert
(
JSON_MACHINECODE
,
stationId
);
//rObj.insert(JSON_USERID, cashierId);
#else
QJsonObject
rObj
;
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
rObj
.
insert
(
JSON_PARTNERID
,
partnerId
);
rObj
.
insert
(
JSON_ORGCODE
,
storeId
);
rObj
.
insert
(
JSON_PASSWORD
,
password
);
rObj
.
insert
(
JSON_MACHINECODE
,
stationId
);
//rObj.insert(JSON_USERID, cashierId);
#endif
return
rObj
;
}
QJsonObject
DataManger
::
GetPullOrderData
(
const
QString
&
timestamp
,
const
int
&
autoconfirm
)
QJsonObject
DataManger
::
GetHeartData
(
const
QString
&
partnerId
,
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashierId
,
const
QString
&
ipAddress
)
{
QJsonObject
rObj
;
rObj
.
insert
(
JSON_REQTYPE
,
PULL_ORDER
);
rObj
.
insert
(
JSON_TIMESTAMPS
,
timestamp
);
rObj
.
insert
(
JSON_AUTOCONFIRM
,
autoconfirm
);
rObj
.
insert
(
JSON_TOKEN
,
m_token
);
rObj
.
insert
(
JSON_POSVERSION
,
APP_VERSION
);
#ifdef TEST
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
rObj
.
insert
(
JSON_PARTNERID
,
"7ba9ce8d-4ffd-4acf-96e6-42a117ad6fe6"
);
rObj
.
insert
(
JSON_ORGCODE
,
storeId
);
rObj
.
insert
(
JSON_PASSWORD
,
password
);
rObj
.
insert
(
JSON_MACHINECODE
,
stationId
);
//rObj.insert(JSON_USERID, cashierId);
#else
QJsonObject
rObj
;
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
rObj
.
insert
(
JSON_PARTNERID
,
partnerId
);
rObj
.
insert
(
JSON_STOREID
,
storeId
);
rObj
.
insert
(
JSON_PASSWORD
,
password
);
rObj
.
insert
(
JSON_POSNO
,
stationId
);
//rObj.insert(JSON_USERID, cashierId);
#endif
return
rObj
;
}
QJsonObject
DataManger
::
GetPullOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
/*const int &autoconfirm,*/
const
QString
&
storeId
,
const
int
&
pageNumber
,
const
int
&
pageSize
)
{
QJsonObject
rObj
;
if
(
orderId
.
isEmpty
())
{
rObj
.
insert
(
JSON_PAGENUMBER
,
pageNumber
);
rObj
.
insert
(
JSON_PAGESIZE
,
pageSize
);
}
#ifdef TEST
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
storeId
);
#else
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
storeId
);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
#endif
return
rObj
;
}
...
...
@@ -60,17 +113,13 @@ QJsonObject DataManger::GetPullDeliverData(const QString &storeId, const QString
return
rObj
;
}
QJsonObject
DataManger
::
GetConfirmOrderData
(
const
QString
&
orderId
,
const
QString
&
deliverId
,
const
QString
&
deliverName
,
const
QString
&
deliverPhon
e
)
QJsonObject
DataManger
::
GetConfirmOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
QString
&
shopCod
e
)
{
QJsonObject
rObj
,
cObj
;
rObj
.
insert
(
JSON_REQTYPE
,
CONFIRM_ORDER
);
cObj
.
insert
(
JSON_ORDERID
,
orderId
);
cObj
.
insert
(
JSON_DELIVERYID
,
deliverId
);
cObj
.
insert
(
JSON_DELIVERYNAME
,
deliverName
);
cObj
.
insert
(
JSON_DELIVERYPHONE
,
deliverPhone
);
rObj
.
insert
(
JSON_ORDER
,
cObj
);
rObj
.
insert
(
JSON_TOKEN
,
m_token
);
rObj
.
insert
(
JSON_POSVERSION
,
APP_VERSION
);
QJsonObject
rObj
;
//rObj.insert(JSON_REQTYPE, CONFIRM_ORDER);
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
shopCode
);
return
rObj
;
}
...
...
@@ -108,15 +157,22 @@ QJsonObject DataManger::GetCompleteOrderData(const QString &orderId)
return
rObj
;
}
QJsonObject
DataManger
::
GetRefundOrderData
(
const
QString
&
reason
,
const
QString
&
orderId
)
QJsonObject
DataManger
::
GetRefundOrderData
(
const
QString
&
reason
,
const
QString
&
orderId
,
const
QString
&
channel
)
{
QJsonObject
rObj
,
cObj
;
rObj
.
insert
(
JSON_REQTYPE
,
REFUND_ORDER
);
cObj
.
insert
(
JSON_ORDERID
,
orderId
);
cObj
.
insert
(
JSON_REASON
,
reason
);
rObj
.
insert
(
JSON_ORDER
,
cObj
);
rObj
.
insert
(
JSON_TOKEN
,
m_token
);
rObj
.
insert
(
JSON_POSVERSION
,
APP_VERSION
);
QJsonObject
rObj
;
#ifdef TEST
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_REASON
,
reason
);
rObj
.
insert
(
JSON_CODE
,
-
1
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
#else
rObj
.
insert
(
JSON_BUSINESSID
,
orderId
);
rObj
.
insert
(
JSON_REASON
,
reason
);
rObj
.
insert
(
JSON_CODE
,
-
1
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
#endif
return
rObj
;
}
...
...
@@ -194,7 +250,7 @@ QJsonObject DataManger::GetOperatingStatusData(const QString &channel, int statu
rObj
.
insert
(
JSON_REQTYPE
,
SET_STORE_OPERATING_STATUS
);
rObj
.
insert
(
JSON_TOKEN
,
m_token
);
rObj
.
insert
(
JSON_CHANNEL
,
channel
);
rObj
.
insert
(
"business_status"
,
status
);
rObj
.
insert
(
JSON_BUSINESSSTATUS
,
status
);
return
rObj
;
}
QJsonObject
DataManger
::
GetDayReportData
(
const
QString
&
business
)
...
...
fmTakeaway/DTools/dataManger.h
View file @
c63739b6
...
...
@@ -13,17 +13,29 @@ public:
* 返回:NULL
* */
void
SetToken
(
const
QString
&
token
);
/* 功能:设置门店信息
* 参数:[1]token
* 返回:NULL
* */
void
SetStoreId
(
const
QString
&
storeId
);
/* 功能:获取登录数据
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据
* */
QJsonObject
GetLoginData
(
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashierId
);
QJsonObject
GetLoginData
(
const
QString
&
partnerId
,
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashierId
,
const
QString
&
ipAddress
);
/* 功能:获取心跳数据
* 参数:[1]门店号[2]密码[3]收银机号[4]收银员号
* 返回:登录数据
* */
QJsonObject
GetHeartData
(
const
QString
&
partnerId
,
const
QString
&
storeId
,
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
cashierId
,
const
QString
&
ipAddress
);
/* 功能:获取拉取订单数据
* 参数:[1]时间戳
* 返回:登录数据
* */
QJsonObject
GetPullOrderData
(
const
QString
&
timestamp
,
const
int
&
autoconfirm
);
QJsonObject
GetPullOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
QString
&
storeId
,
const
int
&
pageNumber
=
0
,
const
int
&
pageSize
=
100
);
/* 功能:获取拉取配送员数据
* 参数:[1]门店号[2]渠道代码
* 返回:登录数据
...
...
@@ -33,8 +45,8 @@ public:
* 参数:[1]订单编号[2]配送员编号[3]配送员姓名[4]配送员电话
* 返回:登录数据
* */
QJsonObject
GetConfirmOrderData
(
const
QString
&
orderId
,
const
QString
&
deliverId
,
const
QString
&
deliverName
,
const
QString
&
deliverPhon
e
);
QJsonObject
GetConfirmOrderData
(
const
QString
&
orderId
,
const
QString
&
channel
,
const
QString
&
shopCod
e
);
/* 功能:获取拒绝订单数据
* 参数:[1]拒单原因[2]订单编号
* 返回:登录数据
...
...
@@ -54,7 +66,7 @@ public:
* 参数:[1]时间戳
* 返回:登录数据
* */
QJsonObject
GetRefundOrderData
(
const
QString
&
reason
,
const
QString
&
orderId
);
QJsonObject
GetRefundOrderData
(
const
QString
&
reason
,
const
QString
&
orderId
,
const
QString
&
channel
);
/* 功能:获取拒绝退单数据
* 参数:[1]时间戳
* 返回:登录数据
...
...
@@ -99,6 +111,7 @@ private:
DataManger
&
operator
=
(
DataManger
const
&
);
// token
QString
m_token
;
QString
m_storeId
;
};
#endif // DATAMANGER_H
fmTakeaway/DTools/sysTray.cpp
View file @
c63739b6
#include "SysTray.h"
#include <QApplication>
#include <QThread>
extern
QThread
sInfo
Thread
;
extern
QThread
tcp
Thread
;
extern
QThread
workThread
;
SysTray
::
SysTray
(
QObject
*
parent
)
:
...
...
@@ -25,7 +25,7 @@ void SysTray::_CreatMenu()
void
SysTray
::
onActionQuitTriggered
()
{
sInfo
Thread
.
terminate
();
tcp
Thread
.
terminate
();
workThread
.
terminate
();
qApp
->
exit
(
-
1
);
}
fmTakeaway/Model/baseObject.cpp
View file @
c63739b6
...
...
@@ -3,7 +3,7 @@
#include <QVariant>
#include "preDefine.h"
BaseObject
::
BaseObject
(
const
BaseObject
&
p
)
BaseObject
::
BaseObject
(
const
BaseObject
&
p
,
QObject
*
parent
)
:
QObject
{
parent
}
{
const
QMetaObject
*
m
=
p
.
metaObject
();
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
...
...
@@ -18,15 +18,14 @@ BaseObject::BaseObject(const BaseObject &p)
BaseObject
&
BaseObject
::
operator
=
(
const
BaseObject
&
p
)
{
const
QMetaObject
*
m
=
p
.
metaObject
();
BaseObject
np
;
for
(
int
i
=
m
->
propertyOffset
();
i
<
m
->
propertyCount
();
i
++
)
{
QMetaProperty
qmp
=
m
->
property
(
i
);
QString
key
=
QString
::
fromLatin1
(
qmp
.
name
());
QVariant
value
=
p
.
property
(
key
.
toUtf8
());
np
.
setProperty
(
key
.
toUtf8
(),
value
);
this
->
setProperty
(
key
.
toUtf8
(),
value
);
}
return
np
;
return
*
this
;
}
void
BaseObject
::
FetchDataFromJson
(
const
QJsonObject
&
json
)
...
...
fmTakeaway/Model/baseObject.h
View file @
c63739b6
...
...
@@ -13,7 +13,7 @@ public:
BaseObject
(
QObject
*
parent
=
0
)
:
QObject
(
parent
){}
BaseObject
(
BaseObject
const
&
);
BaseObject
(
BaseObject
const
&
,
QObject
*
parent
=
0
);
BaseObject
&
operator
=
(
BaseObject
const
&
);
/* 功能:从Json对象初始化属性值
...
...
fmTakeaway/Model/orderObject.h
View file @
c63739b6
...
...
@@ -10,6 +10,12 @@ public:
OrderObject
(
QObject
*
parent
=
0
)
:
BaseObject
(
parent
){}
typedef
enum
{
NewOrder
=
1
,
Confirmed
,
Cancled
,
Sendout
,
ToSend
,
Finished
,
Locked
=-
1
,
RequestRefund
=
20
,
AgreeRefund
=
30
,
RefuseRefund
=
40
,
Refunded
=
100
}
OrderStatus
;
/* 功能:从Json对象初获取数据
* 参数:[1]JSon对象
* 返回:NULL
...
...
fmTakeaway/Network/billSocket.cpp
View file @
c63739b6
#include "billSocket.h"
#include <QtNetwork/QNetworkReply>
#include "DTools/configManger.h"
#include "preDefine.h"
#include <QEventLoop>
#include <QTimer>
...
...
@@ -9,8 +8,7 @@
BillSocket
::
BillSocket
(
QObject
*
parent
)
:
QObject
(
parent
)
{
m_networkRequest
.
setUrl
(
ConfigManger
::
GetInstance
().
GetServerUrl
());
m_networkRequest
.
setRawHeader
(
"Content-Type"
,
"text/json"
);
m_networkRequest
.
setRawHeader
(
"Content-Type"
,
"application/json"
);
}
BillSocket
::~
BillSocket
()
...
...
@@ -48,8 +46,12 @@ bool BillSocket::Request(const QJsonObject &requestJson, QJsonObject &recvJson,
return
false
;
}
recvJson
=
QJsonDocument
::
fromJson
(
recvArray
).
object
();
qDebug
()
<<
recvJson
;
reply
->
deleteLater
();
return
true
;
}
void
BillSocket
::
SetUrl
(
QUrl
url
)
{
m_networkRequest
.
setUrl
(
url
);
}
fmTakeaway/Network/billSocket.h
View file @
c63739b6
...
...
@@ -5,6 +5,7 @@
#include <QJsonDocument>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QUrl>
class
BillSocket
:
public
QObject
{
...
...
@@ -14,6 +15,7 @@ public:
~
BillSocket
();
bool
Request
(
const
QJsonObject
&
requestJson
,
QJsonObject
&
recvJson
,
QString
&
error
);
void
SetUrl
(
QUrl
url
);
private
:
QNetworkAccessManager
m_networkManger
;
...
...
fmTakeaway/alertForm.cpp
View file @
c63739b6
...
...
@@ -6,7 +6,9 @@ AlertForm::AlertForm(QWidget *parent) :
ui
(
new
Ui
::
AlertForm
)
{
ui
->
setupUi
(
this
);
m_timer
=
new
QTimer
(
this
);
m_timer
->
setSingleShot
(
true
);
connect
(
m_timer
,
&
QTimer
::
timeout
,
this
,
&
AlertForm
::
hideForm
);
_Init
();
}
...
...
@@ -39,7 +41,8 @@ void AlertForm::SetContent(AlertForm::Type type, const QString &msg)
break
;
}
ui
->
alertLabMsg
->
setText
(
msg
);
if
(
!
m_timer
->
isActive
())
m_timer
->
start
(
5000
);
return
;
}
...
...
@@ -61,6 +64,11 @@ void AlertForm::_Init()
ui
->
alertLabError
->
hide
();
}
void
AlertForm
::
hideForm
()
{
this
->
hide
();
}
void
AlertForm
::
on_alertBtnOk_clicked
()
{
this
->
hide
();
...
...
fmTakeaway/alertForm.h
View file @
c63739b6
...
...
@@ -4,6 +4,7 @@
// 通知窗口
#include <QDialog>
#include <QMovie>
#include <QTimer>
namespace
Ui
{
class
AlertForm
;
...
...
@@ -31,6 +32,7 @@ public:
void
SetContent
(
AlertForm
::
Type
type
,
const
QString
&
msg
);
private
:
QTimer
*
m_timer
;
Ui
::
AlertForm
*
ui
;
// 动画对象
QMovie
*
m_movie
;
...
...
@@ -40,6 +42,7 @@ private:
* 返回:NULL
* */
void
_Init
();
void
hideForm
();
private
slots
:
void
on_alertBtnOk_clicked
();
...
...
fmTakeaway/dailyreportForm.cpp
View file @
c63739b6
...
...
@@ -120,20 +120,20 @@ void DailyReportForm::paintEvent(QPaintEvent *event)
void
DailyReportForm
::
Initdata
(
QJsonObject
json
)
{
salesOrdersNumTotal
=
0
,
salesOrdersSumTotal
=
0.0
;
refundsOrdersNumTotal
=
0
,
refundsOrdersSumTotal
=
0.0
;
entrySuccessNum
=
0
,
entrySuccessSum
=
0.0
;
entryFailedNum
=
0
,
entryFailedSum
=
0.0
;
ui
->
label_businessday
->
setText
(
QString
(
"日结(<font color='#ff0000'>当前营业日:%1</font>)"
).
arg
(
json
[
JSON_BUSINESSDATE
].
toString
()));
ui
->
lable_storeName
->
setText
(
json
[
JSON_STORENAME
].
toString
());
ui
->
label_writePosNo
->
setText
(
json
[
JSON_STATIONID
].
toString
());
QString
storeId
=
json
[
JSON_STOREID
].
toString
().
remove
(
0
,
7
);
ui
->
label_writeStoreId
->
setText
(
storeId
);
ui
->
label_writeDateTime
->
setText
(
json
[
JSON_BUSINESSDATE
].
toString
());
ui
->
label_writeCashier
->
setText
(
json
[
JSON_OPERATORID
].
toString
());
QJsonArray
dailyArray
=
json
[
JSON_DAILYSUMMARYS
].
toArray
();
foreach
(
QJsonValue
value
,
dailyArray
)
{
QJsonObject
obj
=
value
.
toObject
();
_SetChannelData
(
obj
);
}
//
salesOrdersNumTotal=0, salesOrdersSumTotal=0.0;
//
refundsOrdersNumTotal=0, refundsOrdersSumTotal=0.0;
//
entrySuccessNum=0, entrySuccessSum=0.0;
//
entryFailedNum=0, entryFailedSum=0.0;
//
ui->label_businessday->setText(QString("日结(<font color='#ff0000'>当前营业日:%1</font>)").arg(json[JSON_BUSINESSDATE].toString()));
//
ui->lable_storeName->setText(json[JSON_STORENAME].toString());
//
ui->label_writePosNo->setText(json[JSON_STATIONID].toString());
//
QString storeId=json[JSON_STOREID].toString().remove(0,7);
//
ui->label_writeStoreId->setText(storeId);
//
ui->label_writeDateTime->setText(json[JSON_BUSINESSDATE].toString());
//
ui->label_writeCashier->setText(json[JSON_OPERATORID].toString());
//
QJsonArray dailyArray=json[JSON_DAILYSUMMARYS].toArray();
//
foreach (QJsonValue value, dailyArray) {
//
QJsonObject obj=value.toObject();
//
_SetChannelData(obj);
//
}
}
fmTakeaway/detailForm.cpp
View file @
c63739b6
...
...
@@ -34,8 +34,8 @@ void DetailForm::InitData(OrderObject *orderObject)
ui
->
detailBtn1
->
hide
();
// 初始化界面
ui
->
detailLab0
->
setText
(
QString
(
"[%1]
[%2][%3]"
).
arg
(
orderObject
->
channelName
,
orderObject
->
status_desc
,
ui
->
detailLab0
->
setText
(
QString
(
"[%1]
"
).
arg
(
/*
orderObject->channelName,
orderObject->status_desc,
*/
orderObject
->
order_id
));
ui
->
detailLab1
->
setText
(
QString
(
"[%1]%2"
).
arg
(
orderObject
->
pay_type
,
orderObject
->
remark
));
...
...
@@ -93,6 +93,9 @@ void DetailForm::InitData(OrderObject *orderObject)
m_rejectForm
=
new
RejectForm
(
this
);
if
(
m_refuseForm
==
NULL
)
m_refuseForm
=
new
RefuseForm
(
this
);
#ifdef TODO
ui
->
detailBtn3
->
hide
();
#endif
}
void
DetailForm
::
_Init
()
...
...
@@ -113,16 +116,16 @@ void DetailForm::onOperaBtnClicked()
{
hide
();
QPushButton
*
pBtn
=
(
QPushButton
*
)
sender
();
if
(
pBtn
->
text
()
==
"拒单"
)
{
m_rejectForm
->
show
();
if
(
m_rejectForm
->
exec
()
==
QDialog
::
Accepted
)
{
emit
processRejectOrder
(
pBtn
->
property
(
"orderId"
).
toString
(),
m_rejectForm
->
GetReasonCode
());
}
}
else
if
(
pBtn
->
text
()
==
"退单"
)
if
(
pBtn
->
text
()
==
"拒单"
||
pBtn
->
text
()
==
"退单"
)
{
// m_rejectForm->show();
// if(m_rejectForm->exec()==QDialog::Accepted)
// {
// emit processRejectOrder( pBtn->property("orderId").toString(),m_rejectForm->GetReasonCode());
// }
// }
// else if(pBtn->text()=="退单")
// {
m_refuseForm
->
show
();
if
(
m_refuseForm
->
exec
()
==
QDialog
::
Accepted
)
{
...
...
fmTakeaway/floatForm.cpp
View file @
c63739b6
...
...
@@ -7,7 +7,7 @@
#include <QProcess>
#include <QThread>
extern
QThread
sInfo
Thread
;
extern
QThread
tcp
Thread
;
extern
QThread
workThread
;
FloatForm
::
FloatForm
(
QWidget
*
parent
)
:
...
...
@@ -77,7 +77,6 @@ void FloatForm::mouseReleaseEvent(QMouseEvent *event)
int
y
=
m_absMove
.
y
();
if
(
!
m_bMouseMove
||
(((
x
>-
10
)
&&
(
x
<
10
))
&&
((
y
>-
10
)
&&
(
y
<
10
))))
{
qDebug
()
<<
"hide"
;
hide
();
m_raiseTimer
.
stop
();
emit
showMainForm
();
...
...
fmTakeaway/fmTakeaway.pro
View file @
c63739b6
...
...
@@ -16,6 +16,8 @@ TEMPLATE = app
INCLUDEPATH
+=
DTools
DEFINES
+=
TEST
TODO
SOURCES
+=
main
.
cpp
\
mainForm
.
cpp
\
alertForm
.
cpp
\
...
...
fmTakeaway/main.cpp
View file @
c63739b6
...
...
@@ -16,7 +16,7 @@ using namespace QsLogging;
QString
g_appDir
;
QThread
sInfo
Thread
;
QThread
tcp
Thread
;
QThread
workThread
;
void
InitLogger
()
...
...
fmTakeaway/mainForm.cpp
View file @
c63739b6
...
...
@@ -10,7 +10,7 @@
#include <QProcess>
#include <QThread>
extern
QThread
sInfo
Thread
;
extern
QThread
tcp
Thread
;
extern
QThread
workThread
;
MainForm
::
MainForm
(
QWidget
*
parent
)
:
...
...
@@ -55,7 +55,7 @@ MainForm::MainForm(QWidget *parent) :
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
setNetStatus
,
this
,
&
MainForm
::
onSetNetStatus
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
setStoreInfo
,
this
,
&
MainForm
::
onSetStoreInfo
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
setCashierInfo
,
this
,
&
MainForm
::
onSetCashierInfo
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
changeOrderStatus
,
this
,
&
MainForm
::
onChangeOrderStatus
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
changeOrderStatus
,
this
,
&
MainForm
::
onChangeOrderStatus
,
Qt
::
BlockingQueuedConnection
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showDeliverPickForm
,
this
,
&
MainForm
::
onShowDeliverPickForm
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
showOrderDetails
,
this
,
&
MainForm
::
onShowOrderDetails
);
connect
(
&
FlowControl
::
GetInstance
(),
&
FlowControl
::
clearorder
,
this
,
&
MainForm
::
onOrderClear
);
...
...
@@ -78,7 +78,7 @@ MainForm::~MainForm()
void
MainForm
::
MyShow
()
{
#if
n
def QT_DEBUG
#ifdef QT_DEBUG
this
->
show
();
#else
this
->
showFullScreen
();
...
...
@@ -113,6 +113,10 @@ void MainForm::MyShow()
m_dailyReportForm
=
new
DailyReportForm
(
this
);
ui
->
mainBtnDayReport
->
hide
();
#ifdef TODO
ui
->
mainBtnDishManager
->
hide
();
ui
->
mainBtnStoreManager
->
hide
();
#endif
//emit flowStart();
return
;
}
...
...
@@ -279,21 +283,21 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
{
switch
(
orderStatus
)
{
case
1
:
case
OrderObject
:
:
NewOrder
:
return
ui
->
mainBtnNew
;
break
;
case
2
:
case
OrderObject
:
:
Confirmed
:
return
ui
->
mainBtnMake
;
break
;
case
5
:
case
4
:
case
OrderObject
:
:
ToSend
:
case
OrderObject
:
:
Sendout
:
return
ui
->
mainBtnSend
;
break
;
case
6
:
case
200
:
case
OrderObject
:
:
Finished
:
//
case 200:
return
ui
->
mainBtnFinsh
;
break
;
case
20
:
case
OrderObject
:
:
RequestRefund
:
return
ui
->
mainBtnRefund
;
break
;
default
:
...
...
@@ -367,7 +371,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
QTableWidgetItem
*
item1
=
new
QTableWidgetItem
(
orderObject
->
order_id
);
item1
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
1
,
item1
);
// 订单ID
QTableWidgetItem
*
item2
=
new
QTableWidgetItem
(
Penny2Dollar
(
orderObject
->
shop
_fee
));
QTableWidgetItem
*
item2
=
new
QTableWidgetItem
(
Penny2Dollar
(
orderObject
->
product
_fee
));
item2
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
2
,
item2
);
// 金额
QTableWidgetItem
*
item3
=
new
QTableWidgetItem
(
orderObject
->
customer
);
...
...
@@ -393,8 +397,14 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
hLayout
->
addWidget
(
pBtn
);
hLayout
->
setMargin
(
0
);
pWdg
->
setLayout
(
hLayout
);
table
->
setCellWidget
(
0
,
6
,
pWdg
);
// 操作按钮
#ifdef TODO
if
(
!
table
->
property
(
"operationName"
).
toString
().
compare
(
"接单"
))
{
table
->
setCellWidget
(
0
,
6
,
pWdg
);
// 操作按钮
}
#else
table
->
setCellWidget
(
0
,
6
,
pWdg
);
#endif
connect
(
pBtn
,
&
QPushButton
::
clicked
,
this
,
&
MainForm
::
onMainProcBtnClicked
);
}
...
...
fmTakeaway/preDefine.h
View file @
c63739b6
...
...
@@ -19,7 +19,8 @@
#define INI_DB_PASSWORD "DbInfo/password"
#define INI_DB_DATABASE "DbInfo/database"
#define INI_DB_PORT "DbInfo/port"
#define INI_SERVER "FmServer/url"
#define INI_LOGINSERVER "FmServer/loginUrl"
#define INI_ORDERSERVER "FmServer/orderUrl"
#define INI_PRINTERNAME "Printer/name"
#define INI_FLOATPOSTION "Float/postion"
#define INI_FLOATOPACITY "Float/opacity"
...
...
@@ -33,35 +34,49 @@
#define INI_POSNO "Software/posno"
#define INI_PASSWORD "Software/password"
#define INI_AUTOCONFIRM "Software/autoconfirm"
#define INI_P
ERFIX "Software/perfix
"
#define INI_INTERVAL
"Software/interval"
#define INI_P
ARTNERID "Software/partnerid
"
#define INI_INTERVAL "Software/interval"
#define INI_HTTPSERVERPORT "HttpServer/port"
#define INI_PUSHSERVERPORT "PushServer/port"
#define JSON_REQTYPE "reqtype"
#define JSON_CURRENTUSER "current_user"
#define JSON_
USERNAME "username
"
#define JSON_
STOREID "storeId
"
#define JSON_PASSWORD "password"
#define JSON_STATIONID "station_id"
#define JSON_STORENAME "store_name"
#define JSON_OPERATORID "operator_id"
#define JSON_IPADDRESS "iPAddress"
#define JSON_MACHINECODE "machineCode"
#define JSON_PARTNERID "partnerId"
#define JSON_ORGCODE "orgCode"
#define JSON_POSNO "posNo"
#define JSON_STORENAME "StoreName"
#define JSON_USERID "userId"
#define JSON_BUSINESSDATE "business_date"
#define JSON_STATUSCODE "statusCode"
#define JSON_ERRCODE "errcode"
#define JSON_STATUS "status"
#define JSON_STATUSDESC "status_desc"
#define JSON_MESSAGE "msg"
#define JSON_ERRMSG "errmsg"
#define JSON_TIMESTAMPS "timestamp"
#define JSON_AUTOCONFIRM "autoconfirm"
#define JSON_TOKEN "token"
#define JSON_TOKEN "PosToken"
#define JSON_DATA "data"
#define JSON_POSVERSION "pos_version"
#define JSON_ORDERS "orders"
#define JSON_COUNT "count"
#define JSON_PRODUCTS "products"
#define JSON_ORDERID "order_id"
#define JSON_BUSINESSID "businessId"
#define JSON_REASON "reason"
#define JSON_REASONCODE "reason_code"
#define JSON_SYNCTIME "sync_time"
#define JSON_S
TOREID "store_id
"
#define JSON_S
HOPCODE "shopCode
"
#define JSON_CHANNEL "channel"
#define JSON_BUSINESSSTATUS "business_status"
#define JSON_CODE "code"
#define JSON_PAGENUMBER "pageNumber"
#define JSON_PAGESIZE "pageSize"
#define JSON_DELIVERS "deliverymans"
#define JSON_DELIVERYID "deliveryman_id"
#define JSON_DELIVERYNAME "deliveryman_name"
...
...
@@ -99,6 +114,15 @@
#define OPERATIONNAME_REFUSEREFUND "拒绝"
#define OPERATIONNAME_REFUNDORDER "退单"
//接口地址
#define INI_INTERFACE_ILOGIN "login"
#define INI_INTERFACE_PULLORDER "pullOrder"
#define INI_INTERFACE_HEART "heart"
#define INI_INTERFACE_CONFIRM "confirm"
#define INI_INTERFACE_CANCLE "cancle"
// 属性名称
#define PROPERTY_ID "id" // 人员编号
#define PROPERTY_NAME "name" // 人员姓名
...
...
@@ -114,6 +138,8 @@
#define VALUE_NETTIMEOUT 10000
// 默认重新尝试登录的时间
#define VALUE_RELOGINTIME 20000
// 默认心跳间隔的时间
#define VALUE_SENDHEARTTIME 20000
// 新订单提示音音频时长
#define VALUE_NEWORDERTIME 6000 //TODO
// 需退款提示音音频时长
...
...
fmTakeaway/refuseForm.cpp
View file @
c63739b6
...
...
@@ -4,8 +4,8 @@
RefuseForm
::
RefuseForm
(
QWidget
*
parent
)
:
QDialog
(
parent
),
m_orderObject
(
NULL
),
ui
(
new
Ui
::
RefuseForm
)
ui
(
new
Ui
::
RefuseForm
),
m_orderObject
(
NULL
)
{
ui
->
setupUi
(
this
);
setWindowFlags
(
this
->
windowFlags
()
|
Qt
::
FramelessWindowHint
);
...
...
@@ -50,18 +50,24 @@ void RefuseForm::on_reason1_toggled(bool checked)
void
RefuseForm
::
on_reason2_toggled
(
bool
checked
)
{
if
(
m_orderObject
!=
NULL
&&
checked
)
//TODO
// if(m_orderObject!=NULL&&checked)
// {
// m_refDishesForm->InitData(m_orderObject);
// if(QDialog::Accepted == m_refDishesForm->exec())
// {
// ui->refuseBtnOk->setEnabled(true);
// m_reasonCode="菜品已售完";
// on_refuseBtnOk_clicked();
// }else
// {
// _Init();
// }
// }
if
(
checked
)
{
m_refDishesForm
->
InitData
(
m_orderObject
);
if
(
QDialog
::
Accepted
==
m_refDishesForm
->
exec
())
{
ui
->
refuseBtnOk
->
setEnabled
(
true
);
m_reasonCode
=
"菜品已售完"
;
on_refuseBtnOk_clicked
();
}
else
{
_Init
();
}
ui
->
refuseBtnOk
->
setEnabled
(
true
);
m_reasonCode
=
"菜品已售完"
;
}
}
...
...
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