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
72e0fa36
Commit
72e0fa36
authored
Sep 28, 2018
by
李定达
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修复跨线程使用套接字的问题;2.修复重新登录导致界面展示的异常;3.修复信号绑定错误导致的重复拉单问题;4.推模式登录json改为压缩的json
parent
b096f645
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
23 deletions
+54
-23
takeout/control/ordergetwork.cpp
+30
-3
takeout/control/ordergetwork.h
+2
-0
takeout/control/orderpushwork.cpp
+21
-19
takeout/control/orderpushwork.h
+1
-1
No files found.
takeout/control/ordergetwork.cpp
View file @
72e0fa36
...
...
@@ -27,7 +27,7 @@ OrderGetWork::OrderGetWork(QObject *parent) : QObject(parent)
if
(
!
_storeinfo
.
isEmpty
())
{
_islogin
=
false
;
login
Start
();
login
();
}
});
...
...
@@ -38,7 +38,7 @@ OrderGetWork::OrderGetWork(QObject *parent) : QObject(parent)
//
FMApplication
::
subscibeEvent
(
this
,
PosEvent
::
s_login_storeinfo
);
_timer
.
start
(
7
*
24
*
60
*
60
*
1000
);
_timer
.
start
(
5
*
60
*
1000
);
}
void
OrderGetWork
::
workStart
()
...
...
@@ -72,7 +72,7 @@ void OrderGetWork::workStart()
QEventLoop
loop
;
QTimer
::
singleShot
(
tmptime
,
this
,
&
OrderGetWork
::
quit
);
QTimer
::
singleShot
(
tmptime
,
&
loop
,
&
QEventLoop
::
quit
);
connect
(
this
,
&
OrderGetWork
::
quit
,
&
loop
,
&
QEventLoop
::
quit
);
...
...
@@ -667,6 +667,33 @@ void OrderGetWork::setAutoconfirm(const QString &autoconfirm)
_autoconfirm
=
autoconfirm
;
}
void
OrderGetWork
::
login
()
{
QString
error
;
do
{
if
(
!
OrderGetDataProcess
::
isBind
())
{
if
(
!
bingToServer
(
error
))
{
QLOG_ERROR
()
<<
QThread
::
currentThreadId
()
<<
"loginToServer failed"
;
break
;
}
}
if
(
!
_islogin
)
{
if
(
!
loginToServer
(
error
))
{
QLOG_ERROR
()
<<
QThread
::
currentThreadId
()
<<
"loginToServer failed"
;
break
;
}
}
}
while
(
0
);
}
void
OrderGetWork
::
loginStart
()
{
QString
error
;
...
...
takeout/control/ordergetwork.h
View file @
72e0fa36
...
...
@@ -80,6 +80,8 @@ private:
void
optOrderWithType
(
const
QVariantMap
&
map
);
//登录成功回写数据
void
SetStoreInfoToConfig
();
//内部登录不推送消息到界面
void
login
();
private
:
//门店信息 门店编号 pos编号 用户名 密码
QVariantMap
_storeinfo
;
...
...
takeout/control/orderpushwork.cpp
View file @
72e0fa36
...
...
@@ -16,7 +16,7 @@
OrderPushWork
::
OrderPushWork
(
QObject
*
parent
)
:
QObject
(
parent
)
{
_socket
=
new
QSslSocket
;
_socket
=
NULL
;
_stopflag
=
1
;
_needlogin
=
1
;
_server_index
=
-
1
;
...
...
@@ -24,21 +24,6 @@ OrderPushWork::OrderPushWork(QObject *parent) : QObject(parent)
_serurl
.
clear
();
_istimeout
=
true
;
connect
(
_socket
,
&
QSslSocket
::
connected
,
[
this
]
()
{
_istimeout
=
false
;
emit
connected
();
});
connect
(
_socket
,
&
QSslSocket
::
readyRead
,
[
this
]
()
{
_istimeout
=
false
;
emit
readready
();
});
connect
(
_socket
,
&
QSslSocket
::
bytesWritten
,
[
this
]
(
quint64
writebyte
)
{
_istimeout
=
false
;
emit
writeready
();
});
FMApplication
::
subscibeEvent
(
this
,
PosEvent
::
s_token_change
);
FMApplication
::
subscibeEvent
(
this
,
PosEvent
::
s_login_storeinfo
);
}
...
...
@@ -123,7 +108,24 @@ bool OrderPushWork::connectTcpServer()
QLOG_INFO
()
<<
"ip:"
<<
ip
<<
"; port:"
<<
port
;
//_socket = new QSslSocket();
_socket
=
new
QSslSocket
();
connect
(
_socket
,
&
QSslSocket
::
connected
,
[
this
]
()
{
_istimeout
=
false
;
emit
connected
();
});
connect
(
_socket
,
static_cast
<
void
(
QSslSocket
::*
)(
QAbstractSocket
::
SocketError
)
>
(
&
QSslSocket
::
error
),
this
,
&
OrderPushWork
::
quit
);
connect
(
_socket
,
&
QSslSocket
::
readyRead
,
[
this
]
()
{
_istimeout
=
false
;
emit
readready
();
});
connect
(
_socket
,
&
QSslSocket
::
bytesWritten
,
[
this
]
(
quint64
writebyte
)
{
_istimeout
=
false
;
emit
writeready
();
});
_socket
->
addCaCertificates
(
qApp
->
applicationDirPath
()
+
"/"
+
"microwstest.sandload.cn.pem"
);
...
...
@@ -515,8 +517,8 @@ void OrderPushWork::workStart()
//网络异常断开重连
CLOSESOCKES
(
_socket
);
//
delete _socket;
//
_socket = NULL;
delete
_socket
;
_socket
=
NULL
;
EVENTWAIT
(
60000
);
}
...
...
takeout/control/orderpushwork.h
View file @
72e0fa36
...
...
@@ -208,7 +208,7 @@ private:
{
Data_Head
head
=
{
0
};
QByteArray
tmpdata
=
QString
(
QJsonDocument
(
json
).
toJson
()).
toUtf8
();
QByteArray
tmpdata
=
QString
(
QJsonDocument
(
json
).
toJson
(
QJsonDocument
::
Compact
)).
toUtf8
();
char
*
buf
=
(
char
*
)
calloc
(
1
,
sizeof
(
Data_Head
)
+
tmpdata
.
size
()
+
1
);
...
...
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