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
e8c1403f
Commit
e8c1403f
authored
Jul 11, 2018
by
xiaoqing.gu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、支付接口增加商品字段 2、修改使用券时金额不正确的情况
parent
3b459ef4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
2 deletions
+52
-2
FMVip/fmvipforward.cpp
+34
-2
FMVip/fmvipforward.h
+1
-0
FMVip/fmviporder.cpp
+12
-0
FMVip/fmviporder.h
+5
-0
No files found.
FMVip/fmvipforward.cpp
View file @
e8c1403f
...
@@ -115,6 +115,7 @@ void FMVipForward::request(const QJsonObject &reqJob)
...
@@ -115,6 +115,7 @@ void FMVipForward::request(const QJsonObject &reqJob)
QNetworkAccessManager
_nam
;
QNetworkAccessManager
_nam
;
auto
reply
=
_nam
.
post
(
_req
,
reqData
);
auto
reply
=
_nam
.
post
(
_req
,
reqData
);
// 使用定时器处理超时
// 使用定时器处理超时
QEventLoop
loop
;
QEventLoop
loop
;
connect
(
&
_nam
,
SIGNAL
(
finished
(
QNetworkReply
*
)),
&
loop
,
SLOT
(
quit
()));
connect
(
&
_nam
,
SIGNAL
(
finished
(
QNetworkReply
*
)),
&
loop
,
SLOT
(
quit
()));
...
@@ -277,6 +278,20 @@ void FMVipForward::pay(const QJsonObject &job, QJsonObject &fmjob)
...
@@ -277,6 +278,20 @@ void FMVipForward::pay(const QJsonObject &job, QJsonObject &fmjob)
transObj
[
"codeAmount"
]
=
SESSIONDATA_INT
(
"codeAmount"
);
transObj
[
"codeAmount"
]
=
SESSIONDATA_INT
(
"codeAmount"
);
transObj
[
"isUseScore"
]
=
SESSIONDATA_INT
(
"isUseScore"
);
transObj
[
"isUseScore"
]
=
SESSIONDATA_INT
(
"isUseScore"
);
//增加amount和payAmount字段
transObj
[
"amount"
]
=
SESSIONDATA_INT
(
"order_amount"
);
// int paidAmount = SESSIONDATA_INT("paid_amount");
// int codeAmount = SESSIONDATA_INT("codeAmount");
// double couponAmount;
// for(auto discount : SESSIONDATA_MAP("payCouponMap").keys())
// {
// couponAmount += discount.toDouble();
// }
transObj
[
"payAmount"
]
=
SESSIONDATA_INT
(
"payAmount"
);
QJsonArray
couponsArr
;
QJsonArray
couponsArr
;
for
(
auto
code
:
SESSIONDATA_MAP
(
"payCouponMap"
).
keys
())
for
(
auto
code
:
SESSIONDATA_MAP
(
"payCouponMap"
).
keys
())
{
{
...
@@ -284,6 +299,21 @@ void FMVipForward::pay(const QJsonObject &job, QJsonObject &fmjob)
...
@@ -284,6 +299,21 @@ void FMVipForward::pay(const QJsonObject &job, QJsonObject &fmjob)
}
}
transObj
[
"coupons"
]
=
couponsArr
;
transObj
[
"coupons"
]
=
couponsArr
;
//向服务端发送的请求字段中增加商品行
QJsonObject
posTransObj
=
job
[
"transactions"
].
toObject
();
QJsonArray
posProdArray
=
posTransObj
[
"products"
].
toArray
();
QJsonArray
prodArray
;
foreach
(
QJsonValue
v
,
posProdArray
)
{
QJsonObject
po
=
v
.
toObject
();
QJsonObject
o
;
o
[
"consumeNum"
]
=
po
[
"consume_num"
];
o
[
"price"
]
=
po
[
"price"
];
o
[
"productId"
]
=
po
[
"pid"
];
prodArray
.
append
(
o
);
}
transObj
[
"products"
]
=
prodArray
;
fmjob
[
"transaction"
]
=
transObj
;
fmjob
[
"transaction"
]
=
transObj
;
}
}
void
FMVipForward
::
final
(
const
QJsonObject
&
job
,
QJsonObject
&
fmjob
)
void
FMVipForward
::
final
(
const
QJsonObject
&
job
,
QJsonObject
&
fmjob
)
...
@@ -299,6 +329,8 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
...
@@ -299,6 +329,8 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
fmjob
[
"memberTransId"
]
=
job
[
"fm_id"
];
fmjob
[
"memberTransId"
]
=
job
[
"fm_id"
];
QJsonArray
coupons
=
posTransObj
[
"coupons"
].
toArray
();
// 优惠券
QJsonArray
coupons
=
posTransObj
[
"coupons"
].
toArray
();
// 优惠券
int
codeAmount
=
0
,
scoreAmount
=
0
,
cashAmount
=
0
,
thirdAmount
=
0
;
int
codeAmount
=
0
,
scoreAmount
=
0
,
cashAmount
=
0
,
thirdAmount
=
0
;
transObj
[
"thirdPayType"
]
=
4
;
transObj
[
"thirdPayType"
]
=
4
;
foreach
(
QJsonValue
pay_v
,
pay_ids
)
foreach
(
QJsonValue
pay_v
,
pay_ids
)
...
@@ -309,9 +341,9 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
...
@@ -309,9 +341,9 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
codeAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
codeAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
}
else
if
(
type
==
"25"
)
{
}
else
if
(
type
==
"25"
)
{
scoreAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
scoreAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
}
else
if
(
type
==
"77"
)
{
// 代金券
}
/*
else if(type == "77") { // 代金券
coupons.append(pay_ob["code"].toString());
coupons.append(pay_ob["code"].toString());
}
else
if
(
type
==
"72"
||
type
==
"73"
||
type
==
"75"
||
type
==
"78"
||
type
==
"79"
||
type
==
"99"
)
{
}
*/
else
if
(
type
==
"72"
||
type
==
"73"
||
type
==
"75"
||
type
==
"78"
||
type
==
"79"
||
type
==
"99"
)
{
thirdAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
thirdAmount
=
pay_ob
[
"paid_total_amount"
].
toInt
();
transObj
[
"thirdPayTransId"
]
=
pay_ob
[
"pay_transId"
];
transObj
[
"thirdPayTransId"
]
=
pay_ob
[
"pay_transId"
];
...
...
FMVip/fmvipforward.h
View file @
e8c1403f
...
@@ -46,6 +46,7 @@ Q_DECLARE_METATYPE(Coupon) // 使Coupon类型可以和QVariant类型互相
...
@@ -46,6 +46,7 @@ Q_DECLARE_METATYPE(Coupon) // 使Coupon类型可以和QVariant类型互相
#define SESSIONDATA_STRING(key) SESSIONDATA(key).toString()
#define SESSIONDATA_STRING(key) SESSIONDATA(key).toString()
#define SESSIONDATA_INT(key) SESSIONDATA(key).toInt()
#define SESSIONDATA_INT(key) SESSIONDATA(key).toInt()
#define SESSIONDATA_JSONOBJECT(key) SESSIONDATA(key).toJsonObject()
#define SESSIONDATA_JSONOBJECT(key) SESSIONDATA(key).toJsonObject()
#define SESSIONDATA_JSONARRAY(key) SESSIONDATA(key).toJsonArray()
#define SESSIONDATA_MAP(key) SESSIONDATA(key).toMap()
#define SESSIONDATA_MAP(key) SESSIONDATA(key).toMap()
#define SESSIONDATA_COUPONMAP(key) FMVipForward::instance()->getCouponMap(key)
#define SESSIONDATA_COUPONMAP(key) FMVipForward::instance()->getCouponMap(key)
#define SESSIONDATA_ADD(key, value) FMVipForward::instance()->addSessionData(key, value)
#define SESSIONDATA_ADD(key, value) FMVipForward::instance()->addSessionData(key, value)
...
...
FMVip/fmviporder.cpp
View file @
e8c1403f
...
@@ -63,8 +63,13 @@ void FMVipOrder::on_pay_btn_clicked()
...
@@ -63,8 +63,13 @@ void FMVipOrder::on_pay_btn_clicked()
{
{
SESSIONDATA_ADD
(
"payCouponMap"
,
orderInfo
->
selectCouponMap
);
SESSIONDATA_ADD
(
"payCouponMap"
,
orderInfo
->
selectCouponMap
);
QString
codeAmountStr
=
orderInfo
->
getPayAmountStr
(
ui
->
pay_edit
->
text
());
QString
codeAmountStr
=
orderInfo
->
getPayAmountStr
(
ui
->
pay_edit
->
text
());
// SESSIONDATA_ADD("codeAmount", QString::number((ui->pay_edit->text().toDouble()) * 100 ));
SESSIONDATA_ADD
(
"codeAmount"
,
codeAmountStr
);
SESSIONDATA_ADD
(
"codeAmount"
,
codeAmountStr
);
// double couponAmount = orderInfo->getCouponAmount();
// double payAmount = couponAmount + ui->pay_edit->text().toDouble();
SESSIONDATA_ADD
(
"payAmount"
,
codeAmountStr
);
ui
->
pay_btn
->
setEnabled
(
false
);
ui
->
pay_btn
->
setEnabled
(
false
);
ui
->
pay_chk
->
setEnabled
(
false
);
ui
->
pay_chk
->
setEnabled
(
false
);
...
@@ -97,6 +102,10 @@ void FMVipOrder::onItemClicked(QListWidgetItem *item)
...
@@ -97,6 +102,10 @@ void FMVipOrder::onItemClicked(QListWidgetItem *item)
FMMsgWnd
::
WarningWnd
(
"请注意代金券总额已超过待付金额!"
);
FMMsgWnd
::
WarningWnd
(
"请注意代金券总额已超过待付金额!"
);
}
}
}
}
//修改取消选券后的金额不变的bug
oldPayText
=
DOUBLE_STR
(
orderInfo
->
getMaxWillPay
());
setWillPayText
();
setWillPayText
();
}
}
...
@@ -158,5 +167,8 @@ void FMVipOrder::on_pay_edit_textChanged(const QString &text)
...
@@ -158,5 +167,8 @@ void FMVipOrder::on_pay_edit_textChanged(const QString &text)
}
else
{
}
else
{
oldPayText
=
text
;
oldPayText
=
text
;
ui
->
pay_max
->
setText
(
""
);
ui
->
pay_max
->
setText
(
""
);
//修改取消选券后的金额不变的bug
ui
->
pay_edit
->
setText
(
text
);
}
}
}
}
FMVip/fmviporder.h
View file @
e8c1403f
...
@@ -92,6 +92,11 @@ private:
...
@@ -92,6 +92,11 @@ private:
return
isEnough
;
return
isEnough
;
}
}
double
getCouponAmount
()
{
return
_couponAmount
;
}
void
setUseScore
(
bool
isUse
)
void
setUseScore
(
bool
isUse
)
{
{
if
(
isUse
)
{
if
(
isUse
)
{
...
...
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