Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FMVip_Today
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
zhenfei.zhang
FMVip_Today
Commits
6bed3d8d
Commit
6bed3d8d
authored
Oct 26, 2016
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 使用定时器处理网络超时。 2. 数据库备份打印更多错误信息。
parent
a7ea91b5
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
50 additions
and
15 deletions
+50
-15
FMVip/backup/fmbackup.cpp
+12
-2
FMVip/fmloading.cpp
+1
-1
FMVip/fmvipdispatcher.cpp
+2
-0
FMVip/fmvipforward.cpp
+29
-7
FMVip/fmvipforward.h
+1
-1
FMVip/fmvipfund.cpp
+1
-1
FMVip/fmviplogin.cpp
+2
-1
FMVip/fmviporder.cpp
+1
-1
FMVip/fmvipwnd.cpp
+1
-1
No files found.
FMVip/backup/fmbackup.cpp
View file @
6bed3d8d
...
@@ -56,6 +56,11 @@ bool FMBackup::createTable(const QString &dbname)
...
@@ -56,6 +56,11 @@ bool FMBackup::createTable(const QString &dbname)
QSqlQuery
query
(
_db
);
QSqlQuery
query
(
_db
);
// 创建表
// 创建表
bool
isOk
=
query
.
exec
(
"create table tbl_req(id integer primary key, url varchar(100), req text)"
);
bool
isOk
=
query
.
exec
(
"create table tbl_req(id integer primary key, url varchar(100), req text)"
);
qDebug
()
<<
"创建数据库:"
<<
dbname
;
if
(
!
isOk
)
{
qDebug
()
<<
"创建数据库失败:"
<<
query
.
lastError
().
text
();
}
return
isOk
;
return
isOk
;
}
}
...
@@ -77,13 +82,18 @@ bool FMBackup::removeReqData(const int &id)
...
@@ -77,13 +82,18 @@ bool FMBackup::removeReqData(const int &id)
{
{
QSqlQuery
query
(
_db
);
QSqlQuery
query
(
_db
);
bool
isOk
=
query
.
exec
(
QString
(
"delete from tbl_req where id==%1"
).
arg
(
id
));
bool
isOk
=
query
.
exec
(
QString
(
"delete from tbl_req where id==%1"
).
arg
(
id
));
isOk
=
query
.
exec
(
"VACUUM"
);
if
(
!
isOk
)
{
qDebug
()
<<
"删除数据时出现错误:"
<<
query
.
lastError
().
text
();
}
return
isOk
;
return
isOk
;
}
}
QSqlQuery
FMBackup
::
reqDataQuery
()
const
QSqlQuery
FMBackup
::
reqDataQuery
()
const
{
{
QSqlQuery
query
(
_db
);
QSqlQuery
query
(
_db
);
query
.
exec
(
"select * from tbl_req"
);
bool
isOk
=
query
.
exec
(
"select * from tbl_req"
);
if
(
!
isOk
)
{
qDebug
()
<<
"查询数据时出现错误:"
<<
query
.
lastError
().
text
();
}
return
query
;
return
query
;
}
}
FMVip/fmloading.cpp
View file @
6bed3d8d
...
@@ -7,7 +7,7 @@ FMLoading::FMLoading(QDialog *parent) :
...
@@ -7,7 +7,7 @@ FMLoading::FMLoading(QDialog *parent) :
{
{
ui
->
setupUi
(
this
);
ui
->
setupUi
(
this
);
setWindowFlags
(
Qt
::
FramelessWindowHint
);
setWindowFlags
(
Qt
::
FramelessWindowHint
|
Qt
::
Tool
|
Qt
::
WindowStaysOnTopHint
);
setAttribute
(
Qt
::
WA_TranslucentBackground
,
true
);
setAttribute
(
Qt
::
WA_TranslucentBackground
,
true
);
movie
=
new
QMovie
(
":/loading.gif"
);
movie
=
new
QMovie
(
":/loading.gif"
);
...
...
FMVip/fmvipdispatcher.cpp
View file @
6bed3d8d
...
@@ -204,6 +204,7 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
...
@@ -204,6 +204,7 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
if
(
status
!=
100
)
{
if
(
status
!=
100
)
{
_vindow
->
resetWnd
();
_vindow
->
resetWnd
();
FMMsgWnd
::
FailureWnd
(
rspObj
[
"msg"
].
toString
());
FMMsgWnd
::
FailureWnd
(
rspObj
[
"msg"
].
toString
());
return
;
return
;
}
}
// 成功,且是最后一步,则弹出认证信息
// 成功,且是最后一步,则弹出认证信息
...
@@ -225,6 +226,7 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
...
@@ -225,6 +226,7 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
}
}
isLogin
=
false
;
isLogin
=
false
;
_vindow
->
deleteLater
();
_vindow
->
deleteLater
();
qDebug
()
<<
"delete..."
;
}
}
QJsonDocument
rspDoc
(
rspObj
);
QJsonDocument
rspDoc
(
rspObj
);
...
...
FMVip/fmvipforward.cpp
View file @
6bed3d8d
...
@@ -5,6 +5,8 @@
...
@@ -5,6 +5,8 @@
#include <QJsonArray>
#include <QJsonArray>
#include <QCryptographicHash>
#include <QCryptographicHash>
#include <QDateTime>
#include <QDateTime>
#include <QEventLoop>
#include <QTimer>
#include "backup/fmbackup.h"
#include "backup/fmbackup.h"
#include <QDebug>
#include <QDebug>
...
@@ -23,7 +25,6 @@ FMVipForward::FMVipForward(QObject *parent) : QObject(parent)
...
@@ -23,7 +25,6 @@ FMVipForward::FMVipForward(QObject *parent) : QObject(parent)
{
{
_urlStr
=
_cfg
.
GetTransUrlFormat
();
_urlStr
=
_cfg
.
GetTransUrlFormat
();
_sessionDataList
=
QString
(
"operator_id,pos_id,business_date"
).
split
(
","
);
_sessionDataList
=
QString
(
"operator_id,pos_id,business_date"
).
split
(
","
);
connect
(
&
_nam
,
SIGNAL
(
finished
(
QNetworkReply
*
)),
this
,
SLOT
(
onServerFinished
(
QNetworkReply
*
)));
}
}
FMVipForward
::~
FMVipForward
()
FMVipForward
::~
FMVipForward
()
...
@@ -92,10 +93,9 @@ void FMVipForward::request(const QJsonObject &reqJob)
...
@@ -92,10 +93,9 @@ void FMVipForward::request(const QJsonObject &reqJob)
if
(
reqJob
[
"reqType"
]
==
FM_VIP_FINAL
)
{
if
(
reqJob
[
"reqType"
]
==
FM_VIP_FINAL
)
{
if
(
trans
[
"codeAmount"
].
toInt
()
==
0
&&
if
(
trans
[
"codeAmount"
].
toInt
()
==
0
&&
trans
[
"scoreAmount"
].
toInt
()
==
0
&&
trans
[
"scoreAmount"
].
toInt
()
==
0
&&
trans
[
"coupons"
].
toArray
().
isEmpty
()
)
trans
[
"coupons"
].
toArray
().
isEmpty
()
)
{
_needBackupData
=
reqData
;
_needBackupData
=
reqData
;
}
else
{
}
_needBackupData
=
""
;
}
}
qDebug
()
<<
"向服务器发送 ===>
\n
"
<<
json
;
qDebug
()
<<
"向服务器发送 ===>
\n
"
<<
json
;
...
@@ -105,18 +105,37 @@ void FMVipForward::request(const QJsonObject &reqJob)
...
@@ -105,18 +105,37 @@ void FMVipForward::request(const QJsonObject &reqJob)
_req
.
setHeader
(
QNetworkRequest
::
ContentTypeHeader
,
"application/json"
);
_req
.
setHeader
(
QNetworkRequest
::
ContentTypeHeader
,
"application/json"
);
_req
.
setHeader
(
QNetworkRequest
::
ContentLengthHeader
,
reqData
.
length
());
_req
.
setHeader
(
QNetworkRequest
::
ContentLengthHeader
,
reqData
.
length
());
_nam
.
post
(
_req
,
reqData
);
auto
reply
=
_nam
.
post
(
_req
,
reqData
);
// 使用定时器处理超时
QEventLoop
loop
;
connect
(
&
_nam
,
SIGNAL
(
finished
(
QNetworkReply
*
)),
&
loop
,
SLOT
(
quit
()));
QTimer
timer
;
timer
.
setSingleShot
(
true
);
connect
(
&
timer
,
SIGNAL
(
timeout
()),
&
loop
,
SLOT
(
quit
()));
timer
.
start
(
1000
*
30
);
loop
.
exec
();
if
(
timer
.
isActive
())
{
timer
.
stop
();
onServerFinished
(
reply
,
false
);
}
else
{
//超时
qDebug
()
<<
"定时器超时"
;
onServerFinished
(
reply
,
true
);
}
}
}
void
FMVipForward
::
onServerFinished
(
QNetworkReply
*
reply
)
void
FMVipForward
::
onServerFinished
(
QNetworkReply
*
reply
,
bool
isTimeOut
)
{
{
QJsonObject
posObj
;
QJsonObject
posObj
;
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
)
{
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
||
isTimeOut
==
true
)
{
// 如果有需要备份的请求数据,则直接返回成功
// 如果有需要备份的请求数据,则直接返回成功
if
(
!
_needBackupData
.
isEmpty
())
{
if
(
!
_needBackupData
.
isEmpty
())
{
FMBackup
::
instance
()
->
insertReqData
(
_req
.
url
().
toString
(),
_needBackupData
);
FMBackup
::
instance
()
->
insertReqData
(
_req
.
url
().
toString
(),
_needBackupData
);
_needBackupData
.
clear
();
posObj
[
"statusCode"
]
=
100
;
posObj
[
"statusCode"
]
=
100
;
posObj
[
"msg"
]
=
"结算成功"
;
posObj
[
"msg"
]
=
"结算成功"
;
posObj
[
"prompt"
]
=
1
;
posObj
[
"prompt"
]
=
1
;
...
@@ -125,6 +144,9 @@ void FMVipForward::onServerFinished(QNetworkReply *reply)
...
@@ -125,6 +144,9 @@ void FMVipForward::onServerFinished(QNetworkReply *reply)
}
else
{
}
else
{
posObj
[
"statusCode"
]
=
404
;
posObj
[
"statusCode"
]
=
404
;
posObj
[
"msg"
]
=
reply
->
errorString
();
posObj
[
"msg"
]
=
reply
->
errorString
();
if
(
isTimeOut
)
{
posObj
[
"msg"
]
=
"向非码服务器请求超时"
;
}
}
}
}
else
{
}
else
{
...
...
FMVip/fmvipforward.h
View file @
6bed3d8d
...
@@ -109,7 +109,7 @@ private:
...
@@ -109,7 +109,7 @@ private:
signals
:
signals
:
void
serverResponsed
(
const
QJsonObject
&
rspData
);
void
serverResponsed
(
const
QJsonObject
&
rspData
);
private
slots
:
private
slots
:
void
onServerFinished
(
QNetworkReply
*
reply
);
void
onServerFinished
(
QNetworkReply
*
reply
,
bool
isTimeOut
);
};
};
#endif // FMVIPFORWARD_H
#endif // FMVIPFORWARD_H
FMVip/fmvipfund.cpp
View file @
6bed3d8d
...
@@ -53,6 +53,6 @@ void FMVipFund::on_fund_btn_clicked()
...
@@ -53,6 +53,6 @@ void FMVipFund::on_fund_btn_clicked()
ui
->
fund_btn
->
setEnabled
(
false
);
ui
->
fund_btn
->
setEnabled
(
false
);
emit
doPost
();
setIsBusy
(
true
);
setIsBusy
(
true
);
emit
doPost
();
}
}
FMVip/fmviplogin.cpp
View file @
6bed3d8d
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
#include "ui_fmviplogin.h"
#include "ui_fmviplogin.h"
#include "fmvippanel.h"
#include "fmvippanel.h"
#include <QFile>
#include <QFile>
#include <QMutex>
#include "fmvipforward.h"
#include "fmvipforward.h"
#include "fmloading.h"
#include "fmloading.h"
...
@@ -59,8 +60,8 @@ void FMVipLogin::on_login_btn_clicked()
...
@@ -59,8 +60,8 @@ void FMVipLogin::on_login_btn_clicked()
ui
->
login_btn
->
setEnabled
(
false
);
ui
->
login_btn
->
setEnabled
(
false
);
ui
->
login_edit
->
setEnabled
(
false
);
ui
->
login_edit
->
setEnabled
(
false
);
emit
doPost
();
setIsBusy
(
true
);
setIsBusy
(
true
);
emit
doPost
();
}
}
void
FMVipLogin
::
resetWnd
()
void
FMVipLogin
::
resetWnd
()
...
...
FMVip/fmviporder.cpp
View file @
6bed3d8d
...
@@ -68,8 +68,8 @@ void FMVipOrder::on_pay_btn_clicked()
...
@@ -68,8 +68,8 @@ void FMVipOrder::on_pay_btn_clicked()
ui
->
pay_btn
->
setEnabled
(
false
);
ui
->
pay_btn
->
setEnabled
(
false
);
ui
->
pay_chk
->
setEnabled
(
false
);
ui
->
pay_chk
->
setEnabled
(
false
);
emit
doPost
();
setIsBusy
(
true
);
setIsBusy
(
true
);
emit
doPost
();
}
}
void
FMVipOrder
::
on_pay_chk_clicked
(
bool
checked
)
void
FMVipOrder
::
on_pay_chk_clicked
(
bool
checked
)
...
...
FMVip/fmvipwnd.cpp
View file @
6bed3d8d
...
@@ -64,7 +64,7 @@ void FMVipWnd::setIsBusy(const bool isBusy)
...
@@ -64,7 +64,7 @@ void FMVipWnd::setIsBusy(const bool isBusy)
{
{
if
(
isBusy
)
if
(
isBusy
)
{
{
loadingWindow
->
exec
();
loadingWindow
->
show
();
}
else
{
}
else
{
loadingWindow
->
hide
();
loadingWindow
->
hide
();
}
}
...
...
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