Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sbkpay
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
sbkpay
Commits
2f600226
Commit
2f600226
authored
Aug 22, 2017
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 整合master分支,开发流水查询功能。 2. 获取签名失败返回错误信息。
parent
a1552011
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
219 additions
and
64 deletions
+219
-64
sbkpay/control.cpp
+71
-36
sbkpay/control.h
+2
-2
sbkpay/fmtool.h
+18
-0
sbkpay/global.h
+30
-4
sbkpay/hostwidget.cpp
+0
-0
sbkpay/hostwidget.h
+16
-0
sbkpay/hostwidget.ui
+0
-0
sbkpay/jsonfactory.h
+63
-7
sbkpay/main.cpp
+6
-5
sbkpay/requestmodel.h
+9
-7
sbkpay/rspfactory.h
+0
-0
sbkpay/sbkpay.pro
+4
-3
No files found.
sbkpay/control.cpp
View file @
2f600226
...
...
@@ -11,6 +11,9 @@
#include <QSettings>
#include <QJsonObject>
#include <QEventLoop>
#include <QFont>
#include <QFontDatabase>
#include <QApplication>
#include <QJsonDocument>
#include <Windows.h>
...
...
@@ -49,29 +52,27 @@ Control::Control(QObject *parent) : QObject(parent), _widget(NULL)
void
Control
::
Start
(
const
char
*
indata
,
char
*
outdata
)
{
QLOG_INFO
()
<<
"get data from pos:"
<<
QString
::
fromLocal8Bit
(
indata
);
QString
appPath
;
char
pathStr
[
MAX_PATH
]
=
{
0
};
GetProcPath
(
pathStr
);
appPath
=
QString
::
fromLocal8Bit
(
pathStr
);
QFontDatabase
::
addApplicationFont
(
appPath
+
"
\\
msyh.ttf"
);
QFont
ft
(
"Microsoft YaHei UI Light"
);
qApp
->
setFont
(
ft
);
QEventLoop
loop
;
if
(
_widget
==
NULL
)
_widget
=
new
HostWidget
();
QLOG_INFO
()
<<
"In data: "
<<
QString
::
fromLocal8Bit
(
indata
);
QJsonParseError
parseError
;
QJsonDocument
inDataDoc
=
QJsonDocument
::
fromJson
(
QString
::
fromUtf8
(
indata
).
toUtf8
(),
&
parseError
);
if
(
parseError
.
error
==
QJsonParseError
::
NoError
)
{
_posReqJsonObj
=
inDataDoc
.
object
();
int
type
=
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_REQTYPE
).
toInt
();
switch
(
type
)
{
case
SPCC_pay
:
_posReqJsonObj
[
JSON_KEY_REQTYPE
]
=
72
;
break
;
case
SPCC_refund
:
_posReqJsonObj
[
JSON_KEY_REQTYPE
]
=
62
;
break
;
default
:
break
;
}
int
type
=
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_REQTYPE
).
toInt
(
SPCC_sign
);
_posReqJsonObj
[
JSON_KEY_REQTYPE
]
=
type
-
SPCC_sign
;
}
else
{
qDebug
()
<<
"Json parse error: "
<<
parseError
.
errorString
();
memcpy
(
&
_request
,
indata
,
sizeof
(
struct
AlipayRequest
));
...
...
@@ -226,8 +227,8 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata,
"</ns0:AP>"
"</ns0:OLTP>"
);
QString
nsTo
=
"CS00400004"
;
int
type
=
FMTool
::
GetJsonValue
(
json
,
JSON_KEY_REQTYPE
).
toInt
(
-
1
);
if
(
type
==
-
1
)
{
int
type
=
FMTool
::
GetJsonValue
(
json
,
JSON_KEY_REQTYPE
).
toInt
(
sign
);
if
(
type
==
sign
)
{
nsTo
=
"CS00400003"
;
}
QString
date
=
QDate
::
currentDate
().
toString
(
"yyMMdd"
);
...
...
@@ -250,14 +251,16 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata,
strcpy
(
in
,
reqXmlStr
.
toUtf8
().
data
());
QLOG_INFO
()
<<
"Request StarbucksAPI XML data: "
<<
in
;
#
define
SBKTEST
#ifdef SBKTEST
int
result
=
skbSend
(
in
,
guid
,
out
,
errMsg
,
mode
);
#
ifndef
SBKTEST
int
result
=
skbSend
(
in
,
guid
,
out
,
errMsg
,
mode
);
#else
QLOG_DEBUG
()
<<
"============ Read debug data. ==============="
;
QFile
f
(
qApp
->
applicationDirPath
()
+
"/test/1.txt"
);
QLOG_DEBUG
()
<<
"=========================================== Read debug data. ========================================"
;
QLOG_DEBUG
()
<<
"Test req type: "
<<
type
;
QFile
f
(
qApp
->
applicationDirPath
()
+
QString
(
"/test/%1.txt"
).
arg
(
type
));
f
.
open
(
QIODevice
::
ReadOnly
);
strcpy
(
out
,
f
.
readAll
().
data
());
QLOG_DEBUG
()
<<
"=========================================== End read debug data. ===================================="
;
int
result
=
0
;
#endif //! End def SBKTEST
...
...
@@ -371,13 +374,12 @@ bool Control::GetRSA(QString &error)
SetRSACret
setRsaCret
=
(
SetRSACret
)
lib
.
resolve
(
"SetRSACret"
);
if
(
setRsaCret
!=
NULL
)
{
if
(
setRsaCret
(
out
.
data
()))
{
rlt
=
setRsaCret
(
out
.
data
());
if
(
rlt
)
{
QLOG_INFO
()
<<
"setRSACret return success. "
;
return
true
;
}
else
{
error
=
"setRSACret return error."
;
error
=
QString
::
fromLocal8Bit
(
"保存文件签名失败"
)
;
QLOG_ERROR
()
<<
error
;
return
false
;
}
}
else
{
QLOG_ERROR
()
<<
"get function (SetRSACret) failed"
;
...
...
@@ -415,7 +417,7 @@ bool Control::GetRSA(QString &error)
QLOG_ERROR
()
<<
"load dll failed"
;
error
=
QString
::
fromLocal8Bit
(
"加载基础组件(dll)失败"
);
}
return
rlt
;
return
(
rlt
==
1
)
;
}
QString
Control
::
GetMacString
(
bool
isSign
)
...
...
@@ -497,14 +499,28 @@ bool Control::GetJson(ReqType type,QJsonObject &json, const QByteArray array, QS
json
=
jsonDocument
.
object
();
if
(
json
.
contains
(
JSON_KEY_MESSAGE
)
&&
json
.
contains
(
JSON_KEY_STATUSCODE
)
&&
(
json
[
JSON_KEY_STATUSCODE
].
toInt
()
==
307
||
json
[
JSON_KEY_STATUSCODE
].
toInt
()
==
303
))
{
error
=
QString
::
fromLocal8Bit
(
"签名过期,请重新获取签名"
);
json
.
insert
(
JSON_KEY_MESSAGE
,
QString
::
fromLocal8Bit
(
"签名过期,请重新获取签名"
));
}
if
(
type
==
againprint
)
json
.
insert
(
JSON_KEY_FMID
,
_fmId
);
// RspFactory::GetResPonseJson(type, _response, json);
RspFactory
::
GetResPonseJson
(
type
,
_responseJsonObj
,
json
);
if
(
json
.
contains
(
JSON_KEY_MESSAGE
))
error
=
json
[
JSON_KEY_MESSAGE
].
toString
();
if
(
type
==
refund
&&
json
.
contains
(
JSON_KEY_STATUSCODE
)
&&
json
[
JSON_KEY_STATUSCODE
].
toInt
()
==
100
)
json
.
insert
(
JSON_KET_CLIENTREF
,
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_TRANSAMOUNT
));
if
(
json
.
contains
(
JSON_KEY_STATUSCODE
)
&&
json
[
JSON_KEY_STATUSCODE
].
toInt
()
==
100
)
return
true
;
return
false
;
}
...
...
@@ -516,6 +532,9 @@ void Control::Request(ReqType type, QStringList list)
// JsonFactory::GetJsonWithType(type, json, _request, list);
if
(
type
==
againprint
)
_fmId
=
list
[
0
];
// bool rlt = SendMessageToPayMent(json, outdata, error);
JsonFactory
::
GetJsonWithType
(
type
,
json
,
_posReqJsonObj
,
list
);
...
...
@@ -524,12 +543,16 @@ void Control::Request(ReqType type, QStringList list)
QByteArray
jsonArray
=
QJsonDocument
(
json
).
toJson
(
QJsonDocument
::
Compact
);
char
signStr
[
MAX_BUF_LEN
]
=
{
0
};
GetSPCCSign
(
jsonArray
.
data
(),
signStr
);
json
[
"sign"
]
=
QString
::
fromLocal8Bit
(
signStr
);
QLOG_INFO
()
<<
"Sign str: "
<<
signStr
;
bool
rlt
=
false
;
if
((
rlt
=
GetSPCCSign
(
jsonArray
.
data
(),
signStr
,
error
)))
{
json
[
"sign"
]
=
QString
::
fromLocal8Bit
(
signStr
);
QLOG_INFO
()
<<
"Sign str: "
<<
signStr
;
bool
rlt
=
SendMessageToSBKAPI
(
json
,
outdata
,
error
);
rlt
=
SendMessageToSBKAPI
(
json
,
outdata
,
error
);
}
if
(
rlt
)
rlt
=
Control
::
GetJson
(
type
,
rtjson
,
outdata
,
error
);
...
...
@@ -540,8 +563,14 @@ void Control::Request(ReqType type, QStringList list)
_lock
.
lock
();
if
(
_widget
!=
NULL
)
if
(
_widget
!=
NULL
&&
type
==
finds
)
{
_widget
->
ShowWiteJson
(
rlt
,
rtjson
,
error
);
}
else
{
_widget
->
ShowWiteMGS
(
type
,
rlt
,
error
);
}
_lock
.
unlock
();
}
...
...
@@ -555,7 +584,7 @@ void Control::RequestWithType(ReqType type, QStringList list)
Request
(
type
,
list
);
}
void
Control
::
GetSPCCSign
(
char
*
in
,
char
*
out
)
bool
Control
::
GetSPCCSign
(
char
*
in
,
char
*
out
,
QString
&
error
)
{
char
mod
[
MAX_PATH
]
=
{
0
};
...
...
@@ -567,15 +596,21 @@ void Control::GetSPCCSign(char *in, char *out)
{
AddSign
addsign
=
(
AddSign
)
lib
.
resolve
(
"AddSign"
);
if
(
addsign
!=
NULL
)
{
QLOG_INFO
()
<<
"Sign return: "
<<
addsign
(
in
,
out
);
if
(
addsign
(
in
,
out
))
{
return
true
;
}
else
{
error
=
QString
::
fromLocal8Bit
(
"获取签名失败."
);
QLOG_ERROR
()
<<
error
;
}
}
else
{
QLOG_ERROR
()
<<
"get function (AddSign) failed"
;
// error = QString::fromLocal8Bit("加载基础组件(fun)失败")
;
error
=
QString
::
fromLocal8Bit
(
"加载函数(AddSign)失败"
)
;
QLOG_ERROR
()
<<
error
;
}
}
else
{
QLOG_ERROR
()
<<
"load dll failed"
;
// error = QString::fromLocal8Bit("加载基础组件(dll)失败")
;
error
=
QString
::
fromLocal8Bit
(
"加载基础组件(FreemudWrapper)失败"
)
;
QLOG_ERROR
()
<<
error
;
}
return
false
;
}
sbkpay/control.h
View file @
2f600226
...
...
@@ -46,7 +46,7 @@ private:
bool
GetJson
(
ReqType
type
,
QJsonObject
&
json
,
const
QByteArray
array
,
QString
&
error
);
void
GetSPCCSign
(
char
*
in
,
char
*
out
);
bool
GetSPCCSign
(
char
*
in
,
char
*
out
,
QString
&
error
);
QString
GetMacString
(
bool
isSign
=
true
);
...
...
@@ -66,7 +66,7 @@ private:
//确保exe结束后不会重新弹窗
QMutex
_lock
;
QString
_fmId
;
...
...
sbkpay/fmtool.h
View file @
2f600226
...
...
@@ -146,6 +146,24 @@ public:
}
static
void
SetStringWith
(
void
*
beginptr
,
int
size
,
const
QString
&
in
)
{
char
buf
[
MAX_PRINT_LEN
]
=
{
0
};
char
tmpbuf
[
MAX_PRINT_LEN
]
=
{
0
};
if
(
in
.
isEmpty
())
return
;
strcpy
(
buf
,
in
.
toUtf8
().
data
());
int
len
=
UTF8ToGBK
((
unsigned
char
*
)
buf
,
(
unsigned
char
*
)
tmpbuf
,
MAX_PRINT_LEN
);
memcpy
((
char
*
)
beginptr
,
tmpbuf
,
len
-
1
);
//qDebug() << tmpbuf;
}
static
QJsonValue
GetJsonValue
(
const
QJsonObject
&
jsonObj
,
const
QString
&
key
)
{
if
(
jsonObj
.
contains
(
key
))
{
...
...
sbkpay/global.h
View file @
2f600226
...
...
@@ -3,7 +3,7 @@
#define MAX_BUF_LEN 25600
#define MAX_CHILED_LEN 256
#define MAX_PRINT_LEN
4096
#define MAX_PRINT_LEN
12800
#define PRINT_FILE_PATH "C:/Freemud/fmClient/Prints/"
#define PRINT_ENDDAY_FILE_NAME "EndDayPrint.txt"
...
...
@@ -23,23 +23,40 @@
#define JSON_KEY_STATIONID "stationId"
#define JSON_KEY_OPERATORID "operatorId"
#define JSON_KEY_TRANSID "transId"
#define JSON_KEY_REFUNDID "refundId"
#define JSON_KEY_BUSINESSDATE "businessDate"
#define JSON_KEY_CODE "code"
#define JSON_KEY_FMID "fmId"
#define JSON_KEY_TRANSAMOUNT "transAmount"
#define JSON_KEY_REFUNDAMOUT "refundAmount"
#define JSON_KEY_ENDTIME "endTime"
#define JSON_KEY_REFUNDID "refundId"
#define JSON_KEY_PRINTACTION "printAction"
#define JSON_KEY_TRANSTIME "transTime"
#define JSON_KEY_STATE "state"
#define JSON_KEY_STATEMSG "stateMsg"
#define JSON_KEY_METHCODE "paymentMethodCode"
//response
#define JSON_KEY_MESSAGE "message"
#define JSON_KEY_STATUSCODE "statusCode"
#define JSON_KEY_PAYACCOUNT "payAccount"
#define JSON_KEY_PAYTRANSID "payTransId"
#define JSON_KEY_TYPE "type"
#define JSON_KEY_FMID "fmId"
#define JSON_KEY_EXT "ext"
#define JSON_KEY_PRINT "print"
#define JSON_KEY_PRINTACTION "printAction"
#define JSON_KEY_PRINTPATH "path"
#define JSON_KET_CLIENTREF "cAlientrefundamount"
#define JSON_KEY_PAYMENTMETHOD "paymentMethod"
#define JSON_KEY_PAYMENTMETHODCODE "paymentMethodCode"
#define JSON_KEY_TRANSAMOUNT "transAmount"
#define JSON_KEY_MERDISCOUNT "merchantDiscount"
#define JSON_KEY_PLTDISCOUNT "platformDiscount"
#define JSON_KEY_UNAMOUNT "undiscountAmount"
#define JSON_KEY_PARTORDERID "partnerOrderId"
...
...
@@ -51,6 +68,15 @@
#define JSON_KEY_PRODUCTS_SALESTYPE "salesType"
#define JSON_KEY_PRODUCTS_PRICE "price"
#define JSON_KEY_TOTALNUM "totalNum"
#define JSON_KEY_QUERYINFO "queryInfo"
#define JSON_KEY_PAGENUM "pageNum"
#define JSON_KEY_PAGESIZE "pageSize"
#define JSON_KEY_BEGINTIME "beginTime"
#define JSON_KEY_ENDTIME "endTime"
#define DEFAULT_JSON_VER_VALUE 1
#define DEFAULT_JSON_PRODUCTS_NORMAL "NORMAL"
#define DEFAULT_JSON_PRODUCTS_FREE "FREE"
...
...
@@ -59,7 +85,7 @@
#define JSON_REQTYPE_REFUND 62
#define JSON_REQTYPE_ENDDAY 82
#define JSON_REQTYPE_PRINTER 85
#define JSON_REQTYPE_
find
2
#define JSON_REQTYPE_
FIND
2
#endif // GLOBAL
sbkpay/hostwidget.cpp
View file @
2f600226
This diff is collapsed.
Click to expand it.
sbkpay/hostwidget.h
View file @
2f600226
...
...
@@ -29,6 +29,10 @@ public:
void
ShowWiteMGS
(
ReqType
type
,
bool
flag
,
QString
message
=
QString
());
void
ShowWiteJson
(
bool
flag
,
QJsonObject
object
,
QString
error
);
void
setRuning
(
bool
runing
);
signals
:
void
RequestWithType
(
ReqType
type
,
QStringList
list
);
...
...
@@ -59,6 +63,12 @@ private slots:
void
on_TimeOut
();
void
on_btn_find_check_clicked
();
void
on_btn_find_next_clicked
();
void
on_btn_find_up_clicked
();
void
on_btn_mananger_print_shift_clicked
();
private
:
...
...
@@ -80,10 +90,16 @@ private:
LabelsTimer
*
_label_pay_timer
;
LabelsTimer
*
_label_find_timer
;
QMovie
*
_label_pay_movie
;
int
_line
;
bool
_need_exit
;
bool
_runing
;
ReqType
_type
;
};
...
...
sbkpay/hostwidget.ui
View file @
2f600226
This diff is collapsed.
Click to expand it.
sbkpay/jsonfactory.h
View file @
2f600226
...
...
@@ -25,7 +25,7 @@ public:
return
GetDayEndJson
(
json
,
request
,
list
);
if
(
type
==
againprint
)
return
GetAgainPrinteJson
(
json
,
request
,
list
);
if
(
type
==
find
)
if
(
type
==
find
s
)
return
GetFindJson
(
json
,
request
,
list
);
return
false
;
}
...
...
@@ -43,6 +43,8 @@ public:
return
GetEnddayJson
(
json
,
reqJson
,
list
);
case
shift
:
return
GetShiftJson
(
json
,
reqJson
,
list
);
case
finds
:
return
GetFindJson
(
json
,
reqJson
,
list
);
default
:
json
=
reqJson
;
break
;
...
...
@@ -67,7 +69,7 @@ public:
return
GetDayEndResponse
(
rspJsonObj
,
response
);
if
(
type
==
againprint
)
return
GetAgainPrinteResponse
(
rspJsonObj
,
response
);
if
(
type
==
find
)
if
(
type
==
find
s
)
return
GetFindResponse
(
rspJsonObj
,
response
);
return
false
;
}
...
...
@@ -139,6 +141,7 @@ private:
return
false
;
json
=
reqJson
;
json
[
JSON_KEY_CODE
]
=
list
[
0
];
json
[
JSON_KEY_REQTYPE
]
=
JSON_REQTYPE_PAY
;
return
true
;
}
...
...
@@ -169,6 +172,7 @@ private:
return
false
;
json
=
reqJson
;
json
.
insert
(
JSON_KEY_FMID
,
list
[
0
]);
json
[
JSON_KEY_REQTYPE
]
=
JSON_REQTYPE_REFUND
;
json
[
JSON_KEY_REFUNDAMOUT
]
=
reqJson
[
JSON_KEY_TRANSAMOUNT
];
json
[
JSON_KEY_REFUNDID
]
=
reqJson
[
JSON_KEY_TRANSID
];
json
.
remove
(
JSON_KEY_TRANSAMOUNT
);
...
...
@@ -211,21 +215,74 @@ private:
//重打小票
static
bool
GetAgainPrinteJson
(
QJsonObject
&
json
,
const
AlipayRequest
&
request
,
QStringList
list
)
{
if
(
list
.
size
()
!=
2
||
list
[
0
].
isEmpty
()
||
list
[
1
].
isEmpty
())
if
(
!
list
.
isEmpty
()
&&
list
[
0
].
isEmpty
())
return
false
;
json
.
insert
(
JSON_KEY_VER
,
DEFAULT_JSON_VER_VALUE
);
json
.
insert
(
JSON_KEY_REQTYPE
,
JSON_REQTYPE_
REFUND
);
json
.
insert
(
JSON_KEY_REQTYPE
,
JSON_REQTYPE_
PRINTER
);
json
.
insert
(
JSON_KEY_PARTNERID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
PlatNo
),
4
).
toInt
());
json
.
insert
(
JSON_KEY_STOREID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
StoreNo
),
20
));
json
.
insert
(
JSON_KEY_STATIONID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
DeviceNo
),
6
));
json
.
insert
(
JSON_KEY_OPERATORID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
CashierNo
),
6
));
json
.
insert
(
JSON_KEY_FMID
,
list
[
1
]);
json
.
insert
(
JSON_KEY_FMID
,
list
[
0
]);
json
.
insert
(
JSON_KEY_PRINTACTION
,
QString
(
"103"
));
return
true
;
}
//查询流水
static
bool
GetFindJson
(
QJsonObject
&
json
,
const
AlipayRequest
&
request
,
QStringList
list
)
{
if
(
list
.
size
()
!=
3
||
list
[
0
].
isEmpty
()
||
list
[
1
].
isEmpty
())
return
false
;
QString
tmp0
=
list
[
0
];
QString
tmp1
=
list
[
1
];
QString
tmp2
=
list
[
2
];
QString
cur
=
QDateTime
::
currentDateTime
().
toString
(
"hh:mm:ss"
);
tmp0
.
append
(
" 00:00:00"
);
tmp1
.
append
(
QString
(
" "
)
+
cur
);
json
.
insert
(
JSON_KEY_VER
,
DEFAULT_JSON_VER_VALUE
);
json
.
insert
(
JSON_KEY_REQTYPE
,
JSON_REQTYPE_FIND
);
json
.
insert
(
JSON_KEY_PARTNERID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
PlatNo
),
4
).
toInt
());
json
.
insert
(
JSON_KEY_STOREID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
StoreNo
),
20
));
json
.
insert
(
JSON_KEY_STATIONID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
DeviceNo
),
6
));
json
.
insert
(
JSON_KEY_OPERATORID
,
FMTool
::
GetString
((
const
void
*
)
&
(
request
.
CashierNo
),
6
));
json
.
insert
(
JSON_KEY_BEGINTIME
,
tmp0
);
json
.
insert
(
JSON_KEY_ENDTIME
,
tmp1
);
json
.
insert
(
JSON_KEY_PAGESIZE
,
10
);
json
.
insert
(
JSON_KEY_PAGENUM
,
tmp2
.
toInt
());
json
.
insert
(
JSON_KEY_METHCODE
,
10001
);
return
true
;
}
static
bool
GetFindJson
(
QJsonObject
&
json
,
const
QJsonObject
&
request
,
QStringList
list
)
{
if
(
list
.
size
()
!=
3
||
list
[
0
].
isEmpty
()
||
list
[
1
].
isEmpty
())
return
false
;
QString
tmp0
=
list
[
0
];
QString
tmp1
=
list
[
1
];
QString
tmp2
=
list
[
2
];
QString
cur
=
QDateTime
::
currentDateTime
().
toString
(
"hh:mm:ss"
);
tmp0
.
append
(
" 00:00:00"
);
tmp1
.
append
(
QString
(
" "
)
+
cur
);
json
.
insert
(
JSON_KEY_VER
,
DEFAULT_JSON_VER_VALUE
);
json
.
insert
(
JSON_KEY_REQTYPE
,
JSON_REQTYPE_FIND
);
json
.
insert
(
JSON_KEY_PARTNERID
,
FMTool
::
GetJsonValue
(
request
,
JSON_KEY_PARTNERID
));
json
.
insert
(
JSON_KEY_STOREID
,
FMTool
::
GetJsonValue
(
request
,
JSON_KEY_STOREID
));
json
.
insert
(
JSON_KEY_STATIONID
,
FMTool
::
GetJsonValue
(
request
,
JSON_KEY_STATIONID
));
json
.
insert
(
JSON_KEY_OPERATORID
,
FMTool
::
GetJsonValue
(
request
,
JSON_KEY_OPERATORID
));
json
.
insert
(
JSON_KEY_BEGINTIME
,
tmp0
);
json
.
insert
(
JSON_KEY_ENDTIME
,
tmp1
);
json
.
insert
(
JSON_KEY_PAGESIZE
,
10
);
json
.
insert
(
JSON_KEY_PAGENUM
,
tmp2
.
toInt
());
json
.
insert
(
JSON_KEY_METHCODE
,
10001
);
return
true
;
}
...
...
@@ -234,8 +291,7 @@ private:
// 支付AlipayResponse
static
bool
GetPayResponse
(
const
QJsonObject
&
rspJsonObj
,
AlipayResponse
&
response
)
{
return
true
;
return
false
;
}
// 退款AlipayResponse
static
bool
GetRefundResponse
(
const
QJsonObject
&
rspJsonObj
,
AlipayResponse
&
response
)
...
...
sbkpay/main.cpp
View file @
2f600226
...
...
@@ -236,16 +236,17 @@ int main(int argc, char *argv[])
AlipayRequest
req
;
FMTool
::
SetString
(
req
.
BusinessDay
,
8
,
QString
(
"2017090
8
"
));
FMTool
::
SetString
(
req
.
TransType
,
2
,
QString
(
"
3
0"
));
FMTool
::
SetString
(
req
.
BusinessDay
,
8
,
QString
(
"2017090
9
"
));
FMTool
::
SetString
(
req
.
TransType
,
2
,
QString
(
"
1
0"
));
FMTool
::
SetString
(
req
.
PlatNo
,
4
,
QString
(
"1443"
));
FMTool
::
SetString
(
req
.
TransTime
,
6
,
QString
(
"130301"
));
FMTool
::
SetString
(
req
.
StoreNo
,
20
,
QString
(
"17607"
));
FMTool
::
SetString
(
req
.
DeviceNo
,
6
,
QString
(
"1"
));
FMTool
::
SetString
(
req
.
CashierNo
,
6
,
QString
(
"0123"
));
FMTool
::
SetString
(
req
.
CashTraceNo
,
6
,
QString
(
"123123"
));
FMTool
::
SetString
(
req
.
CashTraceNo
,
6
,
QString
(
"16723"
));
FMTool
::
SetString
(
req
.
OriginTrace
,
64
,
QString
(
"7871170818A00002005"
));
FMTool
::
SetString
(
req
.
Amount
,
12
,
QString
(
"1"
));
FMTool
::
SetString
(
req
.
Reserved1
,
48
,
QString
(
"1241123
12312312312312----3
2"
));
FMTool
::
SetString
(
req
.
Reserved1
,
48
,
QString
(
"1241123
582133589442
2"
));
req
.
item_line_qty
[
0
]
=
'2'
;
req
.
item_line_qty
[
1
]
=
' '
;
...
...
@@ -288,7 +289,7 @@ int main(int argc, char *argv[])
// control.Start(as, b);
char
spccIn
[
MAX_BUF_LEN
]
=
"{
\"
fmId
\"
:
\"
0123456789012345678
\"
,
\"
reqType
\"
:35
1
,
\"
storeId
\"
:
\"
1713
\"
,
\"
stationId
\"
:
\"
1
\"
,
\"
partnerId
\"
:1443,
\"
operatorId
\"
:
\"
sssaw
\"
,
\"
transId
\"
:
\"
52342342323806
\"
,
\"
transAmount
\"
:8000,
\"
partnerOrderId
\"
:
\"
909911039993720192019
\"
,
\"
businessDate
\"
:
\"
20170508
\"
,
\"
products
\"
:[{
\"
pid
\"
:
\"
123
\"
,
\"
name
\"
:
\"
中杯拿铁
\"
,
\"
price
\"
:321,
\"
salesType
\"
:
\"
NORMAL
\"
}]}"
;
char
spccIn
[
MAX_BUF_LEN
]
=
"{
\"
fmId
\"
:
\"
0123456789012345678
\"
,
\"
reqType
\"
:35
3
,
\"
storeId
\"
:
\"
1713
\"
,
\"
stationId
\"
:
\"
1
\"
,
\"
partnerId
\"
:1443,
\"
operatorId
\"
:
\"
sssaw
\"
,
\"
transId
\"
:
\"
52342342323806
\"
,
\"
transAmount
\"
:8000,
\"
partnerOrderId
\"
:
\"
909911039993720192019
\"
,
\"
businessDate
\"
:
\"
20170508
\"
,
\"
products
\"
:[{
\"
pid
\"
:
\"
123
\"
,
\"
name
\"
:
\"
中杯拿铁
\"
,
\"
price
\"
:321,
\"
salesType
\"
:
\"
NORMAL
\"
}]}"
;
control
.
Start
(
spccIn
,
b
);
return
a
.
exec
();
...
...
sbkpay/requestmodel.h
View file @
2f600226
...
...
@@ -3,19 +3,21 @@
typedef
enum
{
manage
=
10
,
pay
=
30
,
refund
=
40
,
sign
,
manage
,
pay
,
refund
,
finds
,
endday
,
shift
,
againprint
,
find
=
80
,
sign
=
90
,
SPCC_sign
=
350
,
SPCC_sign
=
350
,
SPCC_manage
,
SPCC_pay
,
SPCC_refund
,
SPCC_find
SPCC_find
s
}
ReqType
;
struct
EFTItem
...
...
sbkpay/rspfactory.h
View file @
2f600226
This diff is collapsed.
Click to expand it.
sbkpay/sbkpay.pro
View file @
2f600226
...
...
@@ -13,9 +13,10 @@ TARGET = sbkpay
include
(
"./QsLog/QsLog.pri"
)
CONFIG
+=
C
++
11
#CONFIG += SBKTEST
CONFIG
+=
SBKDLL
CONFIG
+=
C
++
11
SBKDLL
#DEFINES += SBKTEST
#DEFINES += SBKDLL
include
(
$$
PWD
/
qtwinmigrate
/
src
/
qtwinmigrate
.
pri
)
...
...
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