Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmp_epay
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
fmp_epay
Commits
0e7142d5
Commit
0e7142d5
authored
Jul 11, 2017
by
guanghui.cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
列表展示
parent
9b836681
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
147 additions
and
42 deletions
+147
-42
cquerythread.cpp
+8
-1
cquerythread.h
+1
-0
fmp_epay_p.cpp
+101
-22
fmp_epay_p.h
+11
-9
fmp_epayview_dialog.cpp
+24
-8
fmp_epayview_dialog.ui
+1
-1
version.h
+1
-1
No files found.
cquerythread.cpp
View file @
0e7142d5
#include "cquerythread.h"
#include "cquerythread.h"
CQueryThread
::
CQueryThread
(
FMPePayPrivate
*
fmPay
)
CQueryThread
::
CQueryThread
(
FMPePayPrivate
*
fmPay
)
:
_fmPay
(
fmPay
)
:
QThread
(),
_fmPay
(
fmPay
)
,
_iReqCount
(
0
)
,
_iReqCount
(
0
)
,
_run
(
false
)
,
_run
(
false
)
{
{
}
}
CQueryThread
::~
CQueryThread
()
{
}
void
CQueryThread
::
run
()
void
CQueryThread
::
run
()
{
{
while
(
_run
)
{
while
(
_run
)
{
...
@@ -22,6 +28,7 @@ void CQueryThread::trySend()
...
@@ -22,6 +28,7 @@ void CQueryThread::trySend()
QJsonObject
outjson
;
QJsonObject
outjson
;
_query_request
[
"clientReqCount"
]
=
_iReqCount
+
1
;
_query_request
[
"clientReqCount"
]
=
_iReqCount
+
1
;
FMP_INFO
()
<<
"QThread trySend:"
<<
_query_request
;
_fmPay
->
HttpPost
(
outjson
,
_query_request
,
errors
);
_fmPay
->
HttpPost
(
outjson
,
_query_request
,
errors
);
if
(
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
].
toInt
()
!=
102
){
if
(
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
].
toInt
()
!=
102
){
_run
=
false
;
_run
=
false
;
...
...
cquerythread.h
View file @
0e7142d5
...
@@ -9,6 +9,7 @@ class CQueryThread:public QThread
...
@@ -9,6 +9,7 @@ class CQueryThread:public QThread
{
{
public
:
public
:
CQueryThread
(
FMPePayPrivate
*
fmPay
);
CQueryThread
(
FMPePayPrivate
*
fmPay
);
virtual
~
CQueryThread
();
void
run
();
void
run
();
void
trySend
();
void
trySend
();
...
...
fmp_epay_p.cpp
View file @
0e7142d5
...
@@ -32,7 +32,8 @@
...
@@ -32,7 +32,8 @@
unsigned
int
FMPePayPrivate
::
s_ClientReqCount
=
10000
;
unsigned
int
FMPePayPrivate
::
s_ClientReqCount
=
10000
;
FMPePayPrivate
::
FMPePayPrivate
(
FMPePay
*
parent
)
FMPePayPrivate
::
FMPePayPrivate
(
FMPePay
*
parent
)
:
q_ptr
(
parent
),
:
QObject
(
parent
),
q_ptr
(
parent
),
_payDialog
(
nullptr
),
_payDialog
(
nullptr
),
_setting
(
nullptr
),
_setting
(
nullptr
),
_network
(
nullptr
),
_network
(
nullptr
),
...
@@ -149,7 +150,9 @@ void FMPePayPrivate::Init()
...
@@ -149,7 +150,9 @@ void FMPePayPrivate::Init()
"isrefund boolean, "
"isrefund boolean, "
"refund_date date,"
"refund_date date,"
"statusCode integer,"
"statusCode integer,"
"addtime TIMESTAMP default (datetime('now', 'localtime'))"
"operator_id varchar(40),"
"addtime TIMESTAMP default (datetime('now', 'localtime')),"
"PRIMARY KEY (trans_id)"
")"
;
")"
;
FMP_INFO
()
<<
" creat table sql:"
<<
sql
;
FMP_INFO
()
<<
" creat table sql:"
<<
sql
;
...
@@ -289,16 +292,18 @@ QByteArray FMPePayPrivate::DockPayRespond()
...
@@ -289,16 +292,18 @@ QByteArray FMPePayPrivate::DockPayRespond()
_docked_response
[
FMP_EPAY_FMID
]
=
_origin_response
[
"fmId"
];
_docked_response
[
FMP_EPAY_FMID
]
=
_origin_response
[
"fmId"
];
_docked_response
[
FMP_EPAY_PAYED_AMOUNT
]
=
_origin_response
[
"total_amount"
];
_docked_response
[
FMP_EPAY_PAYED_AMOUNT
]
=
_origin_response
[
"total_amount"
];
_docked_response
[
FMP_EPAY_INVOICE_AMOUNT
]
=
_origin_response
[
FMP_EPAY_INVOICE_AMOUNT
];
_docked_response
[
FMP_EPAY_INVOICE_AMOUNT
]
=
_origin_response
[
FMP_EPAY_INVOICE_AMOUNT
];
_docked_response
[
FMP_EPAY_DISCOUNT_AMOUNT
]
=
_origin_response
[
"mcoupon_amount"
].
toInt
()
+
_origin_response
[
"pcoupon_amount"
].
toInt
()
;
_docked_response
[
FMP_EPAY_DISCOUNT_AMOUNT
]
=
_origin_response
[
"mcoupon_amount"
].
toInt
();
QJsonArray
pay_channels
;
QJsonArray
pay_channels
;
QJsonObject
pay_ch
;
QJsonObject
pay_ch
;
pay_ch
[
FMP_EPAY_PAY_ID
]
=
_origin_response
[
"pay_ebcode"
];
pay_ch
[
FMP_EPAY_PAY_ID
]
=
_origin_response
[
"pay_ebcode"
];
pay_ch
[
FMP_EPAY_PAY_DESC
]
=
_origin_response
[
"pay_id"
];
pay_ch
[
FMP_EPAY_PAY_DESC
]
=
_origin_response
[
"pay_id"
];
pay_ch
[
"code"
]
=
_origin_response
[
"code"
];
pay_ch
[
"code"
]
=
_origin_response
[
"code"
];
pay_ch
[
"pay_amount"
]
=
_origin_response
[
"total_amount"
];
pay_ch
[
"pay_amount"
]
=
_origin_response
[
"total_amount"
];
pay_ch
[
"pay_account"
]
=
_origin_response
[
"pay_acount"
]
;
pay_ch
[
"pay_account"
]
=
_origin_response
.
contains
(
"pay_acount"
)
?
_origin_response
[
"pay_acount"
]
:
QJsonValue
(
""
)
;
pay_ch
[
"platform_discount"
]
=
_origin_response
[
"mcoupon_amount"
];
pay_ch
[
"platform_discount"
]
=
_origin_response
[
"mcoupon_amount"
];
pay_ch
[
"merchant_discount"
]
=
_origin_response
[
"pcoupon_amount"
];
//pay_ch["merchant_discount"] = _origin_response["pcoupon_amount"];
pay_ch
[
"merchant_discount"
]
=
_origin_response
.
contains
(
"pcoupon_amount"
)
?
_origin_response
[
"pcoupon_amount"
]
:
QJsonValue
(
0
);
if
(
_origin_response
.
contains
(
"ext"
))
{
if
(
_origin_response
.
contains
(
"ext"
))
{
pay_ch
[
"ext"
]
=
_origin_response
[
"ext"
];
pay_ch
[
"ext"
]
=
_origin_response
[
"ext"
];
}
}
...
@@ -348,7 +353,7 @@ void FMPePayPrivate::ControlPayJson(QString sum, QString code)
...
@@ -348,7 +353,7 @@ void FMPePayPrivate::ControlPayJson(QString sum, QString code)
Q_Q
(
FMPePay
);
Q_Q
(
FMPePay
);
if
(
_queryThread
->
isRunning
()){
if
(
_queryThread
->
isRunning
()){
emit
error
(
QString
::
fromLocal8Bit
(
"
由于网络原因,非码收银暂不可用
!"
));
emit
error
(
QString
::
fromLocal8Bit
(
"
网络异常,请稍后重试
!"
));
return
;
return
;
}
}
...
@@ -390,6 +395,7 @@ void FMPePayPrivate::ControlPayJson(QString sum, QString code)
...
@@ -390,6 +395,7 @@ void FMPePayPrivate::ControlPayJson(QString sum, QString code)
outjson
.
insert
(
SQL_KEY_TRANSID
,
_docked_request
[
SQL_KEY_TRANSID
].
toString
());
outjson
.
insert
(
SQL_KEY_TRANSID
,
_docked_request
[
SQL_KEY_TRANSID
].
toString
());
_origin_response
=
outjson
;
_origin_response
=
outjson
;
FMP_INFO
()
<<
"result json : "
<<
outjson
;
writeOrderToSqlite
();
writeOrderToSqlite
();
// if (_is_api) {
// if (_is_api) {
// _origin_response = outjson;
// _origin_response = outjson;
...
@@ -482,7 +488,7 @@ bool FMPePayPrivate::HttpPost(QJsonObject& outjson, QJsonObject json, QString &e
...
@@ -482,7 +488,7 @@ bool FMPePayPrivate::HttpPost(QJsonObject& outjson, QJsonObject json, QString &e
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
)
if
(
reply
->
error
()
!=
QNetworkReply
::
NoError
)
{
{
error
=
QString
::
fromLocal8Bit
(
"网络异常"
);
error
=
QString
::
fromLocal8Bit
(
"网络异常
,支付失败!
"
);
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
102
;
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
102
;
outjson
[
FMP_RPAY_PAY_RETURN_MSG
]
=
error
;
outjson
[
FMP_RPAY_PAY_RETURN_MSG
]
=
error
;
return
false
;
return
false
;
...
@@ -490,7 +496,7 @@ bool FMPePayPrivate::HttpPost(QJsonObject& outjson, QJsonObject json, QString &e
...
@@ -490,7 +496,7 @@ bool FMPePayPrivate::HttpPost(QJsonObject& outjson, QJsonObject json, QString &e
if
(
!
CheckReturnJson
(
reply
->
readAll
(),
outjson
))
if
(
!
CheckReturnJson
(
reply
->
readAll
(),
outjson
))
{
{
error
=
QString
::
fromLocal8Bit
(
"
返回数据错误
"
);
error
=
QString
::
fromLocal8Bit
(
"
网络异常,支付失败!
"
);
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
102
;
outjson
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
102
;
outjson
[
FMP_RPAY_PAY_RETURN_MSG
]
=
error
;
outjson
[
FMP_RPAY_PAY_RETURN_MSG
]
=
error
;
return
false
;
return
false
;
...
@@ -550,19 +556,21 @@ void FMPePayPrivate::GetMode()
...
@@ -550,19 +556,21 @@ void FMPePayPrivate::GetMode()
void
FMPePayPrivate
::
GetApiReqMode
(
int
type
)
void
FMPePayPrivate
::
GetApiReqMode
(
int
type
)
{
{
Q_Q
(
FMPePay
);
QString
sql
;
QString
sql
;
//QString date=q->_businessdate;
switch
(
type
)
{
switch
(
type
)
{
case
ORDER_NEED_PAY
:
case
ORDER_NEED_PAY
:
sql
=
"statusCode=106 or statusCode=105"
;
sql
=
QString
(
"addtime like '%1%%' and statusCode=106 or statusCode=105"
).
arg
(
q
->
_businessdate
)
;
break
;
break
;
case
ORDER_HAS_ERROR
:
case
ORDER_HAS_ERROR
:
sql
=
"statusCode=102"
;
sql
=
QString
(
"statusCode=102 and addtime like '%1%%'"
).
arg
(
q
->
_businessdate
)
;
break
;
break
;
case
ORDER_PAY_SUCCESS
:
case
ORDER_PAY_SUCCESS
:
sql
=
"statusCode=100"
;
sql
=
QString
(
"statusCode=100 and addtime like '%1%%'"
).
arg
(
q
->
_businessdate
)
;
break
;
break
;
case
ORDER_DONE
:
case
ORDER_DONE
:
sql
=
"statusCode=108"
;
sql
=
QString
(
"statusCode=108 and addtime like '%1%%'"
).
arg
(
q
->
_businessdate
)
;
break
;
break
;
default
:
default
:
break
;
break
;
...
@@ -727,7 +735,7 @@ bool FMPePayPrivate::GetPayJson(const QString& sum, const QString& code)
...
@@ -727,7 +735,7 @@ bool FMPePayPrivate::GetPayJson(const QString& sum, const QString& code)
_docked_request
.
insert
(
FMP_EPAY_PARTNERID
,
q
->
_partner_id
.
toInt
());
_docked_request
.
insert
(
FMP_EPAY_PARTNERID
,
q
->
_partner_id
.
toInt
());
_docked_request
.
insert
(
FMP_EPAY_CLIENTREQCOUNT
,
(
int
)((
++
s_ClientReqCount
)
%=
10000000
));
_docked_request
.
insert
(
FMP_EPAY_CLIENTREQCOUNT
,
(
int
)((
++
s_ClientReqCount
)
%=
10000000
));
_docked_request
.
insert
(
FMP_EPAY_TRANSID
,
_origin_request
.
contains
(
FMP_EPAY_TRANSID
)
?
_origin_request
[
FMP_EPAY_TRANSID
].
toString
()
:
QDateTime
::
currentDateTime
().
toString
(
"yyyyMMddhhmmsszzz"
)
);
_docked_request
.
insert
(
FMP_EPAY_TRANSID
,
_origin_request
.
contains
(
FMP_EPAY_TRANSID
)
?
_origin_request
[
FMP_EPAY_TRANSID
].
toString
()
:
_pos_trans_id
);
_docked_request
.
insert
(
FMP_EPAY_TRANSTRACTION
,
transactionarry
);
_docked_request
.
insert
(
FMP_EPAY_TRANSTRACTION
,
transactionarry
);
...
@@ -820,6 +828,42 @@ void FMPePayPrivate::writeOrderToSqlite()
...
@@ -820,6 +828,42 @@ void FMPePayPrivate::writeOrderToSqlite()
Q_Q
(
FMPePay
);
Q_Q
(
FMPePay
);
QJsonObject
_dbWrite
=
_origin_response
;
QJsonObject
_dbWrite
=
_origin_response
;
if
(
!
_is_api
){
// 由于从服务端接收到的字段名称和协议中定义的不同,这里需要转换
QJsonObject
response
;
response
[
"fm_transId"
]
=
_origin_response
[
"pay_transId"
];
response
[
FMP_EPAY_FMID
]
=
_origin_response
[
"fmId"
];
response
[
FMP_EPAY_PAYED_AMOUNT
]
=
_origin_response
[
"total_amount"
];
response
[
FMP_EPAY_INVOICE_AMOUNT
]
=
_origin_response
.
contains
(
FMP_EPAY_INVOICE_AMOUNT
)
?
_origin_response
[
FMP_EPAY_INVOICE_AMOUNT
]
:
QJsonValue
(
0
);
response
[
FMP_EPAY_DISCOUNT_AMOUNT
]
=
_origin_response
[
"mcoupon_amount"
].
toInt
();
response
[
FMP_EPAY_TRANSID
]
=
_pos_trans_id
;
response
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
_dbWrite
[
FMP_RPAY_PAY_RETURN_STATUSCODE
].
toInt
();
response
[
FMP_EPAY_ERRORMSG
]
=
_origin_response
.
contains
(
"msg"
)
?
_origin_response
[
FMP_EPAY_ERRORMSG
]
:
QJsonValue
(
""
);
response
[
"prompt"
]
=
0
;
QJsonArray
pay_channels
;
QJsonObject
pay_ch
;
pay_ch
[
FMP_EPAY_PAY_ID
]
=
_origin_response
[
"pay_ebcode"
];
pay_ch
[
FMP_EPAY_PAY_DESC
]
=
_origin_response
[
"pay_id"
];
pay_ch
[
"code"
]
=
_origin_response
[
"code"
];
pay_ch
[
"pay_amount"
]
=
_origin_response
[
"total_amount"
];
pay_ch
[
"pay_account"
]
=
_origin_response
.
contains
(
"pay_acount"
)
?
_origin_response
[
"pay_acount"
]
:
QJsonValue
(
""
);
pay_ch
[
"platform_discount"
]
=
_origin_response
[
"mcoupon_amount"
];
pay_ch
[
"merchant_discount"
]
=
_origin_response
.
contains
(
"pcoupon_amount"
)
?
_origin_response
[
"pcoupon_amount"
]
:
QJsonValue
(
0
);
if
(
_origin_response
.
contains
(
"ext"
))
{
pay_ch
[
"ext"
]
=
_origin_response
[
"ext"
];
}
pay_channels
.
append
(
pay_ch
);
response
[
FMP_EPAY_PAY_IDS
]
=
pay_channels
;
QByteArray
json
=
QJsonDocument
(
response
).
toJson
();
if
(
!
SendToMonitor
(
json
)){
emit
error
(
QString
::
fromLocal8Bit
(
"数据发送监控程序失败!"
));
FMP_ERROR
()
<<
"数据发送监控程序失败:"
<<
json
;
}
}
if
(
_dbWrite
[
FMP_RPAY_PAY_RETURN_STATUSCODE
].
toInt
()
==
100
){
if
(
_dbWrite
[
FMP_RPAY_PAY_RETURN_STATUSCODE
].
toInt
()
==
100
){
if
(
_is_api
)
if
(
_is_api
)
_db
->
insert
(
q
->
_table
,
_dbWrite
.
toVariantHash
());
_db
->
insert
(
q
->
_table
,
_dbWrite
.
toVariantHash
());
...
@@ -827,39 +871,48 @@ void FMPePayPrivate::writeOrderToSqlite()
...
@@ -827,39 +871,48 @@ void FMPePayPrivate::writeOrderToSqlite()
_db
->
update
(
q
->
_table
,
_dbWrite
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
_dbWrite
[
SQL_KEY_TRANSID
].
toString
()));
_db
->
update
(
q
->
_table
,
_dbWrite
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
_dbWrite
[
SQL_KEY_TRANSID
].
toString
()));
}
}
else
{
else
{
QJsonObject
origin_trans
=
_origin_request
[
"transactions"
].
toObject
();
QJsonObject
origin_trans
=
_origin_request
[
"transactions"
].
toObject
();
_dbWrite
[
FMP_EPAY_TRANSID
]
=
_origin_request
.
contains
(
FMP_EPAY_TRANSID
)
?
_origin_request
[
FMP_EPAY_TRANSID
]
:
QJsonValue
(
""
);
if
(
_is_api
){
if
(
_is_api
){
_dbWrite
[
"total_amount"
]
=
origin_trans
[
"order_amount"
];
_dbWrite
[
"total_amount"
]
=
origin_trans
[
"order_amount"
];
_dbWrite
[
"business_date"
]
=
_origin_request
[
"business_date"
];
_dbWrite
[
"business_date"
]
=
_origin_request
[
"business_date"
];
_dbWrite
[
FMP_EPAY_TRANSID
]
=
_origin_request
[
FMP_EPAY_TRANSID
];
_db
->
insert
(
q
->
_table
,
_dbWrite
.
toVariantHash
());
_db
->
insert
(
q
->
_table
,
_dbWrite
.
toVariantHash
());
}
}
else
{
else
{
_dbWrite
[
FMP_EPAY_TRANSID
]
=
_pos_trans_id
;
_db
->
update
(
q
->
_table
,
_dbWrite
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
_dbWrite
[
FMP_EPAY_TRANSID
].
toString
()));
_db
->
update
(
q
->
_table
,
_dbWrite
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
_dbWrite
[
FMP_EPAY_TRANSID
].
toString
()));
}
}
}
}
QByteArray
json
=
QJsonDocument
(
_dbWrite
).
toJson
();
SendToMonitor
(
json
);
FMP_INFO
()
<<
"writeOrderToSqlite json : "
<<
_dbWrite
;
FMP_INFO
()
<<
"writeOrderToSqlite json : "
<<
_dbWrite
;
}
}
void
FMPePayPrivate
::
updateSqlite
(
const
QJsonObject
&
json
)
void
FMPePayPrivate
::
updateSqlite
(
const
QJsonObject
&
json
)
{
{
Q_Q
(
FMPePay
);
Q_Q
(
FMPePay
);
_db
->
update
(
q
->
_table
,
json
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
json
[
FMP_EPAY_TRANSID
].
toString
()));
QByteArray
byteJson
=
QJsonDocument
(
json
).
toJson
();
QByteArray
byteJson
=
QJsonDocument
(
json
).
toJson
();
SendToMonitor
(
byteJson
);
if
(
!
_is_api
){
if
(
!
SendToMonitor
(
byteJson
)){
emit
error
(
QString
::
fromLocal8Bit
(
"数据发送监控程序失败!"
));
FMP_ERROR
()
<<
"数据发送监控程序失败:"
<<
byteJson
;
}
}
_db
->
update
(
q
->
_table
,
json
.
toVariantHash
(),
QString
(
"trans_id = '%1'"
).
arg
(
json
[
FMP_EPAY_TRANSID
].
toString
()));
}
}
void
FMPePayPrivate
::
setPosTransId
(
QString
orderId
)
void
FMPePayPrivate
::
setPosTransId
(
QString
orderId
)
{
{
_origin_request
[
FMP_EPAY_TRANSID
]
=
orderId
;
_pos_trans_id
=
orderId
;
_origin_response
.
empty
();
}
}
void
FMPePayPrivate
::
SendToMonitor
(
const
QByteArray
&
data
)
bool
FMPePayPrivate
::
SendToMonitor
(
const
QByteArray
&
data
)
{
{
FMP_INFO
()
<<
"SendToMonitor:"
<<
data
;
bool
result
=
true
;
QTcpSocket
client
;
QTcpSocket
client
;
int
jsonLength
=
data
.
length
();
int
jsonLength
=
data
.
length
();
...
@@ -883,14 +936,40 @@ void FMPePayPrivate::SendToMonitor(const QByteArray &data)
...
@@ -883,14 +936,40 @@ void FMPePayPrivate::SendToMonitor(const QByteArray &data)
int
rlt
=
client
.
write
(
m_pFmPackage
+
curSendLength
,
toSendLength
-
curSendLength
);
int
rlt
=
client
.
write
(
m_pFmPackage
+
curSendLength
,
toSendLength
-
curSendLength
);
client
.
waitForBytesWritten
();
client
.
waitForBytesWritten
();
if
(
rlt
==-
1
){
if
(
rlt
==-
1
){
FMP_DEBUG
()
<<
"发送数据失败:"
<<
data
;
FMP_ERROR
()
<<
"发送数据失败:"
<<
data
;
result
=
false
;
break
;
break
;
}
}
curSendLength
+=
rlt
;
curSendLength
+=
rlt
;
}
}
}
}
else
{
else
{
FMP_DEBUG
()
<<
"socket 连接失败!"
;
FMP_ERROR
()
<<
"socket 连接失败!"
;
result
=
false
;
}
}
client
.
close
();
client
.
close
();
return
result
;
}
void
FMPePayPrivate
::
CheckErrorOrder
()
{
Q_Q
(
FMPePay
);
QStringList
keylist
;
QSqlQuery
query
;
keylist
<<
FMP_EPAY_TRANSID
<<
FMP_EPAY_OPERATORID
;
if
(
!
_db
->
find
(
q
->
_table
,
query
,
keylist
,
QString
(
"statusCode = %1 and business_date= '%2'"
).
arg
(
102
).
arg
(
q
->
_businessdate
))
||
!
query
.
next
())
{
return
;
}
else
{
QJsonObject
queryJson
;
queryJson
[
FMP_EPAY_TRANSID
]
=
query
.
value
(
0
).
toString
();
queryJson
[
FMP_EPAY_OPERATORID
]
=
query
.
value
(
1
).
toString
();
queryJson
[
FMP_EPAY_STOREID
]
=
q
->
_store_id
;
queryJson
[
FMP_EPAY_STATIONID
]
=
q
->
_station_id
;
queryJson
[
FMP_EPAY_PARTNERID
]
=
q
->
_partner_id
;
queryJson
[
FMP_EPAY_VER
]
=
2
;
_queryThread
->
setReqJson
(
queryJson
);
_queryThread
->
start
();
}
}
}
fmp_epay_p.h
View file @
0e7142d5
...
@@ -75,7 +75,12 @@ private:
...
@@ -75,7 +75,12 @@ private:
void
clearorder
();
void
clearorder
();
void
SendToMonitor
(
const
QByteArray
&
data
);
bool
SendToMonitor
(
const
QByteArray
&
data
);
void
HttpPost
(
const
QString
&
url
,
const
QByteArray
&
data
,
QFutureWatcher
<
QByteArray
>
*
furture
,
int
timeout
=
10
);
void
CheckErrorOrder
();
//查询异常订单,如果有异常订单,则进入查询状态
signals
:
signals
:
void
apiError
();
void
apiError
();
void
apiFinish
();
void
apiFinish
();
...
@@ -97,12 +102,6 @@ public:
...
@@ -97,12 +102,6 @@ public:
bool
_is_api
;
bool
_is_api
;
CQueryThread
*
_queryThread
;
CQueryThread
*
_queryThread
;
private
:
private
:
QJsonObject
_origin_request
;
QJsonObject
_docked_request
;
QJsonObject
_origin_response
;
QJsonObject
_docked_response
;
bool
_reverse_flag
;
bool
_reverse_flag
;
static
unsigned
int
s_ClientReqCount
;
static
unsigned
int
s_ClientReqCount
;
...
@@ -112,9 +111,12 @@ private:
...
@@ -112,9 +111,12 @@ private:
QSqlTableModel
*
_model
;
QSqlTableModel
*
_model
;
QFutureWatcher
<
QByteArray
>
*
_watcher
;
QFutureWatcher
<
QByteArray
>
*
_watcher
;
QJsonObject
_origin_request
;
QJsonObject
_docked_request
;
QJsonObject
_origin_response
;
QJsonObject
_docked_response
;
void
HttpPost
(
const
QString
&
url
,
const
QByteArray
&
data
,
QFutureWatcher
<
QByteArray
>
*
furture
,
int
timeout
=
10
);
QString
_pos_trans_id
;
};
};
#endif // FMP_EPAY_P_H
#endif // FMP_EPAY_P_H
fmp_epayview_dialog.cpp
View file @
0e7142d5
...
@@ -189,7 +189,7 @@ void FMPPayDialog::setTableHeader()
...
@@ -189,7 +189,7 @@ void FMPPayDialog::setTableHeader()
model_done
->
setHeaderData
(
4
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"交易渠道"
));
model_done
->
setHeaderData
(
4
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"交易渠道"
));
model_done
->
setHeaderData
(
6
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"金额(元)"
));
model_done
->
setHeaderData
(
6
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"金额(元)"
));
model_done
->
setHeaderData
(
14
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"状态"
));
model_done
->
setHeaderData
(
14
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"状态"
));
model_done
->
setHeaderData
(
1
5
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"交易时间"
));
model_done
->
setHeaderData
(
1
6
,
Qt
::
Horizontal
,
QString
::
fromLocal8Bit
(
"交易时间"
));
QVector
<
QTableView
*>
vecTables
;
QVector
<
QTableView
*>
vecTables
;
vecTables
.
push_back
(
ui
->
tableView_Done
);
vecTables
.
push_back
(
ui
->
tableView_Done
);
...
@@ -210,9 +210,11 @@ void FMPPayDialog::setTableHeader()
...
@@ -210,9 +210,11 @@ void FMPPayDialog::setTableHeader()
vecTables
[
i
]
->
hideColumn
(
11
);
vecTables
[
i
]
->
hideColumn
(
11
);
vecTables
[
i
]
->
hideColumn
(
12
);
vecTables
[
i
]
->
hideColumn
(
12
);
vecTables
[
i
]
->
hideColumn
(
13
);
vecTables
[
i
]
->
hideColumn
(
13
);
vecTables
[
i
]
->
hideColumn
(
15
);
vecTables
[
i
]
->
setSelectionMode
(
QTableView
::
SingleSelection
);
vecTables
[
i
]
->
setSelectionMode
(
QTableView
::
SingleSelection
);
vecTables
[
i
]
->
setSelectionBehavior
(
QTableView
::
SelectRows
);
vecTables
[
i
]
->
setSelectionBehavior
(
QTableView
::
SelectRows
);
vecTables
[
i
]
->
setEditTriggers
(
QTableView
::
NoEditTriggers
);
vecTables
[
i
]
->
verticalHeader
()
->
setVisible
(
false
);
vecTables
[
i
]
->
verticalHeader
()
->
setVisible
(
false
);
QHeaderView
*
header_done
=
vecTables
[
i
]
->
horizontalHeader
();
QHeaderView
*
header_done
=
vecTables
[
i
]
->
horizontalHeader
();
...
@@ -220,7 +222,7 @@ void FMPPayDialog::setTableHeader()
...
@@ -220,7 +222,7 @@ void FMPPayDialog::setTableHeader()
vecTables
[
i
]
->
setColumnWidth
(
4
,
150
);
vecTables
[
i
]
->
setColumnWidth
(
4
,
150
);
vecTables
[
i
]
->
setColumnWidth
(
6
,
70
);
vecTables
[
i
]
->
setColumnWidth
(
6
,
70
);
vecTables
[
i
]
->
setColumnWidth
(
14
,
90
);
vecTables
[
i
]
->
setColumnWidth
(
14
,
90
);
vecTables
[
i
]
->
setColumnWidth
(
1
5
,
160
);
vecTables
[
i
]
->
setColumnWidth
(
1
6
,
160
);
header_done
->
setVisible
(
true
);
header_done
->
setVisible
(
true
);
header_done
->
setStretchLastSection
(
true
);
header_done
->
setStretchLastSection
(
true
);
...
@@ -333,14 +335,23 @@ void FMPPayDialog::showErrorMsg(QString errormsg)
...
@@ -333,14 +335,23 @@ void FMPPayDialog::showErrorMsg(QString errormsg)
if
(
errormsg
==
""
)
if
(
errormsg
==
""
)
errormsg
=
QString
(
""
);
errormsg
=
QString
(
""
);
if
(
_wait
==
NULL
)
{
_wait
=
new
FMPPayWait
(
this
);
_wait
->
setModal
(
true
);
}
if
(
_control
->
_is_api
){
if
(
_control
->
_is_api
){
if
(
_wait
)
_wait
->
SetContent
(
FMPPayWait
::
ERRORS
,
errormsg
);
_wait
->
hide
();
FMPPayFailedDialog
*
_pay_failed
=
new
FMPPayFailedDialog
(
this
);
if
(
_wait
->
isHidden
())
_pay_failed
->
setModal
(
true
);
_wait
->
show
();
_pay_failed
->
show
();
// if(_wait)
_pay_failed
->
SetContent
(
errormsg
,
ui
->
lineedit_num
->
text
());
// _wait->hide();
// FMPPayFailedDialog *_pay_failed=new FMPPayFailedDialog(this);
// _pay_failed->setModal(true);
// _pay_failed->show();
// _pay_failed->SetContent(errormsg,ui->lineedit_num->text());
}
}
else
{
else
{
_wait
->
SetContent
(
FMPPayWait
::
ERRORS
,
errormsg
);
_wait
->
SetContent
(
FMPPayWait
::
ERRORS
,
errormsg
);
...
@@ -811,6 +822,10 @@ void FMPPayDialog::on_btn_close_clicked()
...
@@ -811,6 +822,10 @@ void FMPPayDialog::on_btn_close_clicked()
_force_close
->
setModal
(
true
);
_force_close
->
setModal
(
true
);
_force_close
->
show
();
_force_close
->
show
();
}
}
else
{
this
->
close
();
_control
->
Uninit
();
}
}
}
}
}
...
@@ -951,6 +966,7 @@ void FMPPayDialog::on_btn_waitPay_close_clicked()
...
@@ -951,6 +966,7 @@ void FMPPayDialog::on_btn_waitPay_close_clicked()
QJsonObject
queryObj
;
QJsonObject
queryObj
;
queryObj
[
FMP_EPAY_TRANSID
]
=
orderId
;
queryObj
[
FMP_EPAY_TRANSID
]
=
orderId
;
queryObj
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
108
;
queryObj
[
FMP_RPAY_PAY_RETURN_STATUSCODE
]
=
108
;
queryObj
[
"msg"
]
=
QString
::
fromLocal8Bit
(
"关闭订单"
);
_control
->
updateSqlite
(
queryObj
);
_control
->
updateSqlite
(
queryObj
);
setWaitPayView
();
setWaitPayView
();
...
...
fmp_epayview_dialog.ui
View file @
0e7142d5
...
@@ -3268,10 +3268,10 @@ QHeaderView::section {
...
@@ -3268,10 +3268,10 @@ QHeaderView::section {
<zorder>
wdg_refund_main
</zorder>
<zorder>
wdg_refund_main
</zorder>
<zorder>
wdg_done_main
</zorder>
<zorder>
wdg_done_main
</zorder>
<zorder>
wdg_hasPay_main
</zorder>
<zorder>
wdg_hasPay_main
</zorder>
<zorder>
wdg_pay_main
</zorder>
<zorder>
wdg_query_main
</zorder>
<zorder>
wdg_query_main
</zorder>
<zorder>
wdg_success_main
</zorder>
<zorder>
wdg_success_main
</zorder>
<zorder>
wdg_waitPay_main
</zorder>
<zorder>
wdg_waitPay_main
</zorder>
<zorder>
wdg_pay_main
</zorder>
</widget>
</widget>
</item>
</item>
<item>
<item>
...
...
version.h
View file @
0e7142d5
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
#define VER_MINOR 1
#define VER_MINOR 1
#define VER_REVISION 0
#define VER_REVISION 0
#define VER_BUILD 1
4
#define VER_BUILD 1
5
//! Convert version numbers to string
//! Convert version numbers to string
#define _STR(S) #S
#define _STR(S) #S
...
...
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