Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmtakeout
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李定达
fmtakeout
Commits
142d8079
Commit
142d8079
authored
Jun 15, 2018
by
李定达
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修复心跳bug,窜单·bug
parent
56e0f4b3
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
228 additions
and
28 deletions
+228
-28
fmtakeout.pro.user
+1
-1
takeout/base/Arithmetic/util.cpp
+15
-2
takeout/control/ordergetwork.h
+7
-0
takeout/control/orderpushwork.cpp
+31
-5
takeout/control/orderpushwork.h
+9
-4
takeout/main.cpp
+46
-1
takeout/model/posorderpool.cpp
+11
-1
takeout/model/posorderpool.h
+2
-0
takeout/preDefine.h
+2
-0
takeout/takeout.pro
+1
-0
takeout/takeout.rc
+4
-4
takeout/view/detailForm.cpp
+9
-2
takeout/view/detailForm.h
+1
-0
takeout/view/mainForm.cpp
+85
-4
takeout/view/mainForm.ui
+4
-4
No files found.
fmtakeout.pro.user
View file @
142d8079
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.5.1, 2018-06-1
1T15:19:33
. -->
<!-- Written by QtCreator 3.5.1, 2018-06-1
5T16:14:14
. -->
<qtcreator>
<data>
<variable>
EnvironmentId
</variable>
...
...
takeout/base/Arithmetic/util.cpp
View file @
142d8079
...
...
@@ -23,9 +23,15 @@ QString GetOperByStatus(int status, bool bRefuse)
{
return
QString
::
fromLocal8Bit
(
OPERATION_REFUNDORDER
);
}
return
QString
::
fromLocal8Bit
(
OPERATION_
SENDOUT
);
return
QString
::
fromLocal8Bit
(
OPERATION_
MAKEOVER
);
break
;
case
5
:
if
(
bRefuse
)
{
return
QString
::
fromLocal8Bit
(
OPERATION_REFUNDORDER
);
}
return
QString
::
fromLocal8Bit
(
OPERATION_SENDOUT
);
break
;
case
4
:
if
(
bRefuse
)
{
...
...
@@ -66,9 +72,16 @@ QString GetOperNameByStatus(int status, bool bRefuse)
{
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
);
}
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_SENDOUT
);
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_MAKEOVER
);
break
;
case
5
:
if
(
bRefuse
)
{
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_REFUNDORDER
);
}
return
QString
::
fromLocal8Bit
(
OPERATIONNAME_SENDOUT
);
break
;
case
4
:
if
(
bRefuse
)
{
...
...
takeout/control/ordergetwork.h
View file @
142d8079
...
...
@@ -32,6 +32,8 @@
#define FMH_REFUNDORDER 9
#define FMH_GETRORDER 32
//
#define FMH_MAKEOVER 10
//...
...
...
@@ -205,6 +207,8 @@ private:
reqtype
=
FMH_REFUNDORDER
;
if
(
status
.
compare
(
OPERATION_GETDELIVERS
,
Qt
::
CaseInsensitive
)
==
0
)
reqtype
=
FMH_CONFIRM
;
if
(
status
.
compare
(
OPERATION_MAKEOVER
,
Qt
::
CaseInsensitive
)
==
0
)
reqtype
=
FMH_MAKEOVER
;
}
static
bool
getAction
(
int
REQ
,
QString
&
action
)
...
...
@@ -220,6 +224,9 @@ private:
case
FMH_GETORDER
:
action
=
QString
(
"saas.order.get"
);
return
true
;
case
FMH_MAKEOVER
:
action
=
QString
(
"saas.order.doneNotify"
);
return
true
;
case
FMH_CONFIRM
:
action
=
QString
(
"saas.order.confirmTake"
);
return
true
;
...
...
takeout/control/orderpushwork.cpp
View file @
142d8079
#include "orderpushwork.h"
#include <QEventLoop>
#include <QStringList>
#include <QSslConfiguration>
#include <QTimer>
#include "preDefine.h"
...
...
@@ -88,11 +89,29 @@ bool OrderPushWork::connectTcpServer()
QLOG_INFO
()
<<
"ip:"
<<
ip
<<
"; port:"
<<
port
;
_socket
=
new
Q
Tcp
Socket
();
_socket
=
new
Q
Ssl
Socket
();
_socket
->
connectToHost
(
ip
,
port
);
_socket
->
addCaCertificates
(
qApp
->
applicationDirPath
()
+
"/"
+
"microwstest.sandload.cn.pem"
);
return
_socket
->
waitForConnected
(
10
*
1000
);
QLOG_INFO
()
<<
_socket
->
errorString
();
_socket
->
ignoreSslErrors
();
QSslConfiguration
config
=
QSslConfiguration
::
defaultConfiguration
();
config
.
setPeerVerifyMode
(
QSslSocket
::
VerifyNone
);
_socket
->
setSslConfiguration
(
config
);
QLOG_INFO
()
<<
_socket
->
errorString
();
_socket
->
connectToHostEncrypted
(
ip
,
port
);
bool
flag
=
_socket
->
waitForConnected
(
10
*
1000
);
QLOG_INFO
()
<<
_socket
->
errorString
()
<<
flag
;
return
flag
;
}
bool
OrderPushWork
::
loginTcpServer
()
...
...
@@ -113,13 +132,13 @@ bool OrderPushWork::loginTcpServer()
if
(
!
_socket
->
waitForBytesWritten
(
10
*
1000
))
{
QLOG_ERROR
()
<<
"send msg to service failed"
;
QLOG_ERROR
()
<<
"send msg to service failed"
<<
_socket
->
errorString
()
;
return
false
;
}
if
(
!
_socket
->
waitForReadyRead
(
30
*
1000
))
{
QLOG_ERROR
()
<<
"receive msg from service failed"
;
QLOG_ERROR
()
<<
"receive msg from service failed"
<<
_socket
->
errorString
()
;
return
false
;
}
...
...
@@ -189,6 +208,8 @@ void OrderPushWork::heartBeatTcpService()
OrderPushDataProcess
::
getHeartResponseData
(
data
);
QLOG_INFO
()
<<
"heard beat response data : "
<<
data
.
toHex
();
_socket
->
write
(
data
);
_socket
->
waitForBytesWritten
();
...
...
@@ -305,3 +326,8 @@ void OrderPushWork::workStart()
EVENTWAIT
(
60000
);
}
}
void
OrderPushWork
::
setToken
(
const
QString
&
token
)
{
_token
=
token
;
}
takeout/control/orderpushwork.h
View file @
142d8079
...
...
@@ -7,6 +7,8 @@
#include <QJsonObject>
#include <QVariantMap>
#include <QJsonDocument>
#include <QSslSocket>
#include <QDebug>
#include <WinSock.h>
...
...
@@ -125,7 +127,9 @@ public:
virtual
bool
event
(
QEvent
*
e
);
private
:
void
setToken
(
const
QString
&
token
);
private
:
//链接到服务器
bool
connectTcpServer
();
//身份信息验证
...
...
@@ -154,7 +158,8 @@ private:
//停止标志位置
qint8
_stopflag
;
//长连接套接字
QTcpSocket
*
_socket
;
//QTcpSocket *_socket;
QSslSocket
*
_socket
;
//token
QString
_token
;
//token 锁
...
...
@@ -210,11 +215,11 @@ private:
char
*
buf
=
(
char
*
)
calloc
(
1
,
sizeof
(
Data_Head_Heart
)
+
1
);
DATAHEADINITHEART
(
head
,
1
,
COMMAND_
AUTH_REQ
,
0
);
DATAHEADINITHEART
(
head
,
1
,
COMMAND_
HEARDBEAT
,
0
);
memcpy
(
buf
,
(
void
*
)
&
head
,
sizeof
(
Data_Head_Heart
));
data
=
QByteArray
(
buf
);
data
=
QByteArray
(
buf
,
);
free
(
buf
);
}
...
...
takeout/main.cpp
View file @
142d8079
...
...
@@ -17,6 +17,49 @@
#include <QSettings>
#include <Windows.h>
#ifdef FM_MAIN_TEST
int
main
(
int
argc
,
char
*
argv
[])
{
QApplication
a
(
argc
,
argv
);
QsLogging
::
Logger
&
logger
=
QsLogging
::
Logger
::
instance
();
logger
.
setLoggingLevel
(
QsLogging
::
TraceLevel
);
QsLogging
::
DestinationPtr
consleDest
(
QsLogging
::
DestinationFactory
::
MakeDebugOutputDestination
());
logger
.
addDestination
(
consleDest
);
OrderPushWork
pwork
;
QThread
thread
;
pwork
.
setToken
(
"fff72b80-e745-4a2e-8ecb-9c184999d01c"
);
//pwork.setToken("1");
QVariantMap
map
;
map
.
insert
(
JSON_STOREID
,
"1036"
);
map
.
insert
(
JSON_STATIONID
,
"saas_bf_pos"
);
map
.
insert
(
JSON_KEY_USERID
,
"beiguo_saas"
);
map
.
insert
(
JSON_KEY_PWD
,
"beiguo_saas"
);
map
.
insert
(
JSON_KEY_PARTNERID
,
"1585"
);
pwork
.
setStoreinfo
(
map
);
QStringList
list
;
list
.
append
(
"118.89.167.51:9083"
);
pwork
.
setServicelist
(
list
);
QObject
::
connect
(
&
thread
,
&
QThread
::
started
,
&
pwork
,
&
OrderPushWork
::
workStart
);
pwork
.
moveToThread
(
&
thread
);
thread
.
start
();
return
a
.
exec
();
}
#else
using
namespace
QsLogging
;
...
...
@@ -136,7 +179,7 @@ int main(int argc, char *argv[])
work
.
setUrl
(
geturl
);
work
.
setAutoconfirm
(
autoconf
);
work
.
setStoreinfo
(
map
);
work
.
setTimeout
(
30
0000
);
work
.
setTimeout
(
18
0000
);
QStringList
list
;
...
...
@@ -162,3 +205,5 @@ int main(int argc, char *argv[])
return
a
.
exec
();
}
#endif
takeout/model/posorderpool.cpp
View file @
142d8079
...
...
@@ -127,7 +127,17 @@ void PosOrderPool::GetOrderStatusAndLastStatus(Order_Info orderinfo, int &status
{
if
(
orderinfo
.
order_last_refund
!=
orderinfo
.
order_refund
)
{
if
(
orderinfo
.
order_refund
==
ApplicationRefundOrder
||
orderinfo
.
order_refund
==
ApplicationPartialRefundOrder
)
if
((
orderinfo
.
order_status
==
ServiceOrder
||
orderinfo
.
order_status
==
CompleteOrder
||
orderinfo
.
order_status
==
CancelOrder
)
&&
orderinfo
.
order_last_status
==
DefaultOrder
)
{
status
=
orderinfo
.
order_status
;
laststatus
=
orderinfo
.
order_last_status
;
return
;
}
if
((
orderinfo
.
order_refund
==
ApplicationRefundOrder
||
orderinfo
.
order_refund
==
ApplicationPartialRefundOrder
))
{
status
=
orderinfo
.
order_refund
;
laststatus
=
orderinfo
.
order_status
;
...
...
takeout/model/posorderpool.h
View file @
142d8079
...
...
@@ -67,6 +67,8 @@ typedef enum
CancelOrder
=
3
,
//配送中
DispatchingOrder
=
4
,
//制作中
InDevelopment
=
5
,
//已送达
ServiceOrder
=
6
,
//申请退款
...
...
takeout/preDefine.h
View file @
142d8079
...
...
@@ -163,6 +163,7 @@
#define OPERATION_GETDELIVERS "getDelivers"
#define OPERATION_CONFRIM "confirm"
#define OPERATION_REFUSE "refuse"
#define OPERATION_MAKEOVER "makeover"
#define OPERATION_SENDOUT "sendOut"
#define OPERATION_COMPLETE "complete"
#define OPERATION_REFUND "refund"
...
...
@@ -171,6 +172,7 @@
// 订单操作名
#define OPERATIONNAME_GETDELIVERS "接单"
#define OPERATIONNAME_REFUSE "拒单"
#define OPERATIONNAME_MAKEOVER "制作完成"
#define OPERATIONNAME_SENDOUT "送出"
#define OPERATIONNAME_COMPLETE "完成"
#define OPERATIONNAME_REFUSEREFUND "拒绝"
...
...
takeout/takeout.pro
View file @
142d8079
...
...
@@ -27,6 +27,7 @@ CONFIG(release, debug|release) {
}
#DEFINES += FM_TEST
#DEFINES += FM_MAIN_TEST
RC_FILE
+=
takeout
.
rc
CONFIG
+=
c
++
11
...
...
takeout/takeout.rc
View file @
142d8079
...
...
@@ -4,8 +4,8 @@
#include <winver.h>
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,
1
PRODUCTVERSION 1,0,0,
1
FILEVERSION 1,0,0,
5
PRODUCTVERSION 1,0,0,
5
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
...
...
@@ -22,12 +22,12 @@ VS_VERSION_INFO VERSIONINFO
BEGIN
VALUE "CompanyName", "ShangHai Freemud Co., Ltd."
VALUE "FileDescription", "FREEMUD Manager System"
VALUE "FileVersion", "1.0.0.
1
"
VALUE "FileVersion", "1.0.0.
5
"
VALUE "InternalName", "FREEMUD"
VALUE "LegalCopyright", "Copyright (C)2017-2020"
VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "fmTakeout"
VALUE "ProductVersion", "1.0.0.
1
"
VALUE "ProductVersion", "1.0.0.
5
"
END
END
BLOCK "VarFileInfo"
...
...
takeout/view/detailForm.cpp
View file @
142d8079
...
...
@@ -33,15 +33,17 @@ DetailForm::~DetailForm()
void
DetailForm
::
InitData
(
OrderObject
*
orderObject
)
{
m_orderObject
=
orderObject
;
_orderid
=
orderObject
->
order_id
;
// 恢复界面
ui
->
detailTable0
->
clearContents
();
ui
->
detailTable0
->
setRowCount
(
0
);
ui
->
detailBtn2
->
show
();
ui
->
detailBtn3
->
show
();
ui
->
detailBtn1
->
hide
();
//
ui->detailBtn1->hide();
// 初始化界面
ui
->
detailLab0
->
setText
(
QString
::
fromLocal8Bit
(
"[%1][%2][%3]"
).
arg
(
orderObject
->
channel
N
ame
,
ui
->
detailLab0
->
setText
(
QString
::
fromLocal8Bit
(
"[%1][%2][%3]"
).
arg
(
orderObject
->
channel
_n
ame
,
orderObject
->
status_desc
,
orderObject
->
order_id
));
ui
->
detailLab1
->
setText
(
QString
::
fromLocal8Bit
(
"[%1]%2"
).
arg
(
orderObject
->
pay_type
,
...
...
@@ -216,7 +218,12 @@ void DetailForm::onOperaBtnClicked()
void
DetailForm
::
on_detailBtn1_clicked
()
{
QVariantMap
map
;
map
.
insert
(
EVENT_KEY_ORDERID
,
_orderid
);
map
.
insert
(
EVENT_KEY_MSG
,
DEFAULT_LOCATION_PRINT
);
POSTEVENTTYPE
(
PosEvent
::
s_order_location
,
map
,
QVariantMap
);
}
void
DetailForm
::
on_detailBtn0_clicked
()
...
...
takeout/view/detailForm.h
View file @
142d8079
...
...
@@ -31,6 +31,7 @@ private:
OrderObject
*
m_orderObject
;
RejectForm
*
m_rejectForm
;
QString
_orderid
;
/* 功能:初始化
* 参数:NULL
...
...
takeout/view/mainForm.cpp
View file @
142d8079
...
...
@@ -407,6 +407,8 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
return
ui
->
mainBtnMake
;
break
;
case
5
:
return
ui
->
mainBtnSend
;
break
;
case
4
:
return
ui
->
mainBtnSend
;
break
;
...
...
@@ -470,7 +472,46 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
// 非首次收到的订单需要现在原先表中删除
if
(
oldStatus
!=
-
100
)
{
tabBtn
=
_GetTabBtnByOrderStatus
(
oldStatus
);
tabBtn
=
_GetTabBtnByOrderStatus
(
1
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
6
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
2
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
5
);
table
=
findChild
<
QTableWidget
*>
(
tabBtn
->
property
(
"tableName"
).
toString
());
for
(
int
i
=
0
;
i
<
table
->
rowCount
();
i
++
)
{
...
...
@@ -482,6 +523,46 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
200
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
20
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
tabBtn
=
_GetTabBtnByOrderStatus
(
3
);
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
))
{
table
->
removeRow
(
i
);
QString
btnText
(
tabBtn
->
property
(
"name"
).
toString
());
btnText
=
QString
(
"%1
\n
%2"
).
arg
(
table
->
rowCount
()).
arg
(
btnText
);
tabBtn
->
setText
(
btnText
);
}
}
}
// 将数据插入到表中
tabBtn
=
_GetTabBtnByOrderStatus
(
orderObject
->
status
);
...
...
@@ -493,9 +574,9 @@ 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
));
//
item2->setTextAlignment(Qt::AlignCenter);
//
table->setItem(0, 2, item2); // 金额
QTableWidgetItem
*
item2
=
new
QTableWidgetItem
(
QString
::
number
(
orderObject
->
shop_fee
/
100.0
));
item2
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
2
,
item2
);
// 金额
QTableWidgetItem
*
item3
=
new
QTableWidgetItem
(
orderObject
->
customer
);
item3
->
setTextAlignment
(
Qt
::
AlignCenter
);
table
->
setItem
(
0
,
3
,
item3
);
// 姓名
...
...
takeout/view/mainForm.ui
View file @
142d8079
...
...
@@ -683,10 +683,10 @@
<bool>
false
</bool>
</property>
<property
name=
"operationName"
stdset=
"0"
>
<string>
送出
</string>
<string>
制作完成
</string>
</property>
<property
name=
"operation"
stdset=
"0"
>
<string>
sendOut
</string>
<string>
makeover
</string>
</property>
<attribute
name=
"horizontalHeaderCascadingSectionResizes"
>
<bool>
false
</bool>
...
...
@@ -764,10 +764,10 @@
<bool>
false
</bool>
</property>
<property
name=
"operationName"
stdset=
"0"
>
<string>
完成
</string>
<string>
送出
</string>
</property>
<property
name=
"operation"
stdset=
"0"
>
<string>
complete
</string>
<string>
sendOut
</string>
</property>
<attribute
name=
"horizontalHeaderCascadingSectionResizes"
>
<bool>
false
</bool>
...
...
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