Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmp_vip
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
xiaojing.zhang
fmp_vip
Commits
4c894e10
Commit
4c894e10
authored
Aug 02, 2017
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 数据库新增订单信息表,支持POS通过trans_id退整单。 2. 连接数据库时,指定连接名,避免与其他连接冲突。
parent
41608949
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
78 additions
and
5 deletions
+78
-5
backup/fmbackup.cpp
+43
-2
backup/fmbackup.h
+11
-0
fmvipdispatcher.cpp
+3
-1
task/taskfinal.cpp
+10
-1
task/taskothers.cpp
+11
-1
No files found.
backup/fmbackup.cpp
View file @
4c894e10
...
@@ -36,7 +36,7 @@ bool FMBackup::connect()
...
@@ -36,7 +36,7 @@ bool FMBackup::connect()
if
(
!
QFile
::
exists
(
dbname
))
{
if
(
!
QFile
::
exists
(
dbname
))
{
isOk
=
createTable
(
dbname
);
isOk
=
createTable
(
dbname
);
}
else
{
}
else
{
_db
=
QSqlDatabase
::
addDatabase
(
"QSQLITE"
);
_db
=
QSqlDatabase
::
addDatabase
(
"QSQLITE"
,
"fmvipbackupdb"
);
_db
.
setDatabaseName
(
dbname
);
_db
.
setDatabaseName
(
dbname
);
isOk
=
_db
.
open
();
isOk
=
_db
.
open
();
}
}
...
@@ -51,12 +51,13 @@ bool FMBackup::connect()
...
@@ -51,12 +51,13 @@ bool FMBackup::connect()
bool
FMBackup
::
createTable
(
const
QString
&
dbname
)
bool
FMBackup
::
createTable
(
const
QString
&
dbname
)
{
{
_db
=
QSqlDatabase
::
addDatabase
(
"QSQLITE"
);
_db
=
QSqlDatabase
::
addDatabase
(
"QSQLITE"
,
"fmvipbackupdb"
);
_db
.
setDatabaseName
(
dbname
);
_db
.
setDatabaseName
(
dbname
);
_db
.
open
();
_db
.
open
();
QSqlQuery
query
(
_db
);
QSqlQuery
query
(
_db
);
// 创建表
// 创建表
bool
isOk
=
query
.
exec
(
"create table tbl_req(id integer PRIMARY KEY autoincrement, url varchar(200), req text)"
);
bool
isOk
=
query
.
exec
(
"create table tbl_req(id integer PRIMARY KEY autoincrement, url varchar(200), req text)"
);
isOk
&=
query
.
exec
(
"create table tbl_order(id integer PRIMARY KEY autoincrement, trans_id varchar(10), fm_open_id varchar(10), fm_id varchar(20), fm_transId varchar(30))"
);
FMP_INFO
()
<<
QString
::
fromLocal8Bit
(
"创建数据库:"
)
<<
dbname
;
FMP_INFO
()
<<
QString
::
fromLocal8Bit
(
"创建数据库:"
)
<<
dbname
;
if
(
!
isOk
)
{
if
(
!
isOk
)
{
...
@@ -127,3 +128,43 @@ bool FMBackup::reset()
...
@@ -127,3 +128,43 @@ bool FMBackup::reset()
FMP_INFO
()
<<
QString
::
fromLocal8Bit
(
"数据库重置: "
)
<<
isOk
;
FMP_INFO
()
<<
QString
::
fromLocal8Bit
(
"数据库重置: "
)
<<
isOk
;
return
isOk
;
return
isOk
;
}
}
bool
FMBackup
::
insertNewOrder
(
const
QString
&
trans_id
,
const
QString
&
fm_open_id
,
const
QString
&
fm_id
,
const
QString
&
fm_transId
)
{
if
(
!
_db
.
isOpen
())
{
connect
();
}
QSqlQuery
query
(
_db
);
bool
isOk
=
query
.
exec
(
QString
(
"insert into tbl_order('trans_id','fm_open_id','fm_id','fm_transId') values('%1','%2','%3','%4');"
)
.
arg
(
trans_id
).
arg
(
fm_open_id
).
arg
(
fm_id
).
arg
(
fm_transId
));
if
(
!
isOk
)
{
FMP_ERROR
()
<<
QString
::
fromLocal8Bit
(
"插入订单数据失败:trans_id: %1, fm_open_id: %2, fm_id: %3, fm_transId: %4。失败原因:%5"
)
.
arg
(
trans_id
).
arg
(
fm_open_id
).
arg
(
fm_id
).
arg
(
fm_transId
).
arg
(
query
.
lastError
().
text
());
}
return
isOk
;
}
FMBackup
::
FMOrder
FMBackup
::
getOrderByTransId
(
const
QString
&
trans_id
)
{
if
(
!
_db
.
isOpen
())
{
connect
();
}
QSqlQuery
query
(
_db
);
bool
isOk
=
query
.
exec
(
QString
(
"select * from tbl_order where (tbl_order.trans_id='%1')"
).
arg
(
trans_id
));
if
(
!
isOk
)
{
FMP_ERROR
()
<<
QString
::
fromLocal8Bit
(
"查询订单失败:trans_id: %1。失败原因:%2"
).
arg
(
trans_id
).
arg
(
query
.
lastError
().
text
());
}
FMOrder
order
;
while
(
query
.
next
())
{
QSqlRecord
record
=
query
.
record
();
order
.
trans_id
=
record
.
value
(
"trans_id"
).
toString
();
order
.
fm_open_id
=
record
.
value
(
"fm_open_id"
).
toString
();
order
.
fm_id
=
record
.
value
(
"fm_id"
).
toString
();
order
.
fm_transId
=
record
.
value
(
"fm_transId"
).
toString
();
}
FMP_INFO
()
<<
QString
::
fromLocal8Bit
(
"查询到订单信息:trans_id: %1, fm_open_id: %2, fm_id: %3, fm_transId: %4。"
)
.
arg
(
order
.
trans_id
).
arg
(
order
.
fm_open_id
).
arg
(
order
.
fm_id
).
arg
(
order
.
fm_transId
);
return
order
;
}
backup/fmbackup.h
View file @
4c894e10
...
@@ -6,10 +6,21 @@
...
@@ -6,10 +6,21 @@
class
FMBackup
class
FMBackup
{
{
public
:
public
:
typedef
struct
{
QString
trans_id
;
QString
fm_open_id
;
QString
fm_id
;
QString
fm_transId
;
}
FMOrder
;
static
FMBackup
*
instance
();
static
FMBackup
*
instance
();
bool
updateReqData
(
const
int
id
,
const
QString
url
,
const
QString
&
reqData
);
bool
updateReqData
(
const
int
id
,
const
QString
url
,
const
QString
&
reqData
);
bool
removeReqData
(
const
int
&
id
);
bool
removeReqData
(
const
int
&
id
);
int
insertNewRow
();
int
insertNewRow
();
bool
insertNewOrder
(
const
QString
&
trans_id
,
const
QString
&
fm_open_id
,
const
QString
&
fm_id
,
const
QString
&
fm_transId
);
FMOrder
getOrderByTransId
(
const
QString
&
trans_id
);
QSqlQuery
reqDataQuery
()
const
;
QSqlQuery
reqDataQuery
()
const
;
bool
reset
();
bool
reset
();
private
:
private
:
...
...
fmvipdispatcher.cpp
View file @
4c894e10
...
@@ -72,8 +72,10 @@ void FMVipDispatcher::doTask(const QByteArray &reqData, QByteArray &rspData)
...
@@ -72,8 +72,10 @@ void FMVipDispatcher::doTask(const QByteArray &reqData, QByteArray &rspData)
}
}
case
FM_Refund
:
{
case
FM_Refund
:
{
QString
fm_id
=
jsonObj
[
PosProps
.
Transaction
].
toObject
()[
PosProps
.
Fm_id
].
toString
();
QString
fm_id
=
jsonObj
[
PosProps
.
Transaction
].
toObject
()[
PosProps
.
Fm_id
].
toString
();
QString
transId
=
jsonObj
[
PosProps
.
Transaction
].
toObject
()[
PosProps
.
TransId
].
toString
();
QString
fm_transId
=
jsonObj
[
PosProps
.
Transaction
].
toObject
()[
PosProps
.
Fm_transId
].
toString
();
QString
fm_transId
=
jsonObj
[
PosProps
.
Transaction
].
toObject
()[
PosProps
.
Fm_transId
].
toString
();
if
(
fm_id
!=
""
||
fm_transId
!=
""
)
{
QString
fm_open_id
=
jsonObj
[
PosProps
.
Fm_open_id
].
toString
();
if
(
fm_id
!=
""
||
fm_transId
!=
""
||
(
fm_open_id
!=
""
&&
transId
!=
""
))
{
TaskRefundOrder
taskRefundOrder
(
jsonObj
);
TaskRefundOrder
taskRefundOrder
(
jsonObj
);
rspData
=
taskRefundOrder
.
doTask
();
rspData
=
taskRefundOrder
.
doTask
();
}
else
{
}
else
{
...
...
task/taskfinal.cpp
View file @
4c894e10
...
@@ -108,9 +108,18 @@ bool TaskFinal::sendToServer(bool isShowMsg)
...
@@ -108,9 +108,18 @@ bool TaskFinal::sendToServer(bool isShowMsg)
void
TaskFinal
::
packagePOSRsp
()
void
TaskFinal
::
packagePOSRsp
()
{
{
posRspJsonObj
[
PosProps
.
StatusCode
]
=
getServerJsonValue
(
PosProps
.
StatusCode
);
int
status
=
getServerJsonValue
(
PosProps
.
StatusCode
).
toInt
();
posRspJsonObj
[
PosProps
.
StatusCode
]
=
status
;
posRspJsonObj
[
PosProps
.
Msg
]
=
getServerJsonValue
(
PosProps
.
Msg
);
posRspJsonObj
[
PosProps
.
Msg
]
=
getServerJsonValue
(
PosProps
.
Msg
);
posRspJsonObj
[
PosProps
.
Prompt
]
=
1
;
posRspJsonObj
[
PosProps
.
Prompt
]
=
1
;
if
(
status
==
FM_API_SUCCESS
)
{
QString
trans_id
=
getPosJsonValue
(
PosProps
.
TransId
).
toString
();
QString
fm_open_id
=
getServerJsonValue
(
PosProps
.
Fm_open_id
).
toString
();
QString
fm_id
=
getServerJsonValue
(
PosProps
.
Fm_id
).
toString
();
QString
fm_transId
=
""
;
FMBackup
::
instance
()
->
insertNewOrder
(
trans_id
,
fm_open_id
,
fm_id
,
fm_transId
);
}
}
}
QString
TaskFinal
::
backup
()
QString
TaskFinal
::
backup
()
...
...
task/taskothers.cpp
View file @
4c894e10
#
include
"taskothers.h"
#
include
"taskothers.h"
#include "fmbackup.h"
TaskCoupon
::
TaskCoupon
(
QJsonObject
&
jsonObj
,
Session
*
session
,
QObject
*
parent
)
TaskCoupon
::
TaskCoupon
(
QJsonObject
&
jsonObj
,
Session
*
session
,
QObject
*
parent
)
:
FMTaskNoWnd
(
jsonObj
,
FM_Coupon
,
session
,
parent
)
:
FMTaskNoWnd
(
jsonObj
,
FM_Coupon
,
session
,
parent
)
...
@@ -65,8 +66,17 @@ void TaskRefundOrder::packageServerReq()
...
@@ -65,8 +66,17 @@ void TaskRefundOrder::packageServerReq()
{
{
QJsonObject
transData
;
QJsonObject
transData
;
QString
fm_id
=
getPosJsonValue
(
PosProps
.
Fm_id
).
toString
();
QString
fm_id
=
getPosJsonValue
(
PosProps
.
Fm_id
).
toString
();
QString
fm_open_id
=
getPosJsonValue
(
PosProps
.
Fm_open_id
).
toString
();
QString
trans_id
=
getPosJsonValue
(
PosProps
.
TransId
).
toString
();
QString
fm_transId
=
getPosJsonValue
(
PosProps
.
Fm_transId
).
toString
();
if
(
fm_id
==
""
)
{
if
(
fm_id
==
""
)
{
fm_id
=
getPosJsonValue
(
PosProps
.
Fm_transId
).
toString
();
if
(
fm_transId
!=
""
)
{
fm_id
=
fm_transId
;
}
if
(
fm_open_id
!=
""
&&
trans_id
!=
""
)
{
fm_id
=
FMBackup
::
instance
()
->
getOrderByTransId
(
trans_id
).
fm_id
;
}
}
}
transData
[
ServerProps
(
PosProps
.
Fm_id
)]
=
fm_id
;
transData
[
ServerProps
(
PosProps
.
Fm_id
)]
=
fm_id
;
serverReqJsonObj
[
"data"
]
=
transData
;
serverReqJsonObj
[
"data"
]
=
transData
;
...
...
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