Commit 932c2c54 by NitefullWind

1. 会员认证后,可选择使用代金券。

parent 2f954b44
...@@ -26,7 +26,8 @@ SOURCES += main.cpp\ ...@@ -26,7 +26,8 @@ SOURCES += main.cpp\
fmloading.cpp \ fmloading.cpp \
fmcouponwidget.cpp \ fmcouponwidget.cpp \
backup/fmbackup.cpp \ backup/fmbackup.cpp \
backup/resend.cpp backup/resend.cpp \
fmvipcouponlist.cpp
HEADERS += fmviporder.h \ HEADERS += fmviporder.h \
fmviplogin.h \ fmviplogin.h \
...@@ -39,7 +40,8 @@ HEADERS += fmviporder.h \ ...@@ -39,7 +40,8 @@ HEADERS += fmviporder.h \
fmloading.h \ fmloading.h \
fmcouponwidget.h \ fmcouponwidget.h \
backup/fmbackup.h \ backup/fmbackup.h \
backup/resend.h backup/resend.h \
fmvipcouponlist.h
FORMS += forms/fmviporder.ui \ FORMS += forms/fmviporder.ui \
forms/fmviplogin.ui \ forms/fmviplogin.ui \
...@@ -47,7 +49,8 @@ FORMS += forms/fmviporder.ui \ ...@@ -47,7 +49,8 @@ FORMS += forms/fmviporder.ui \
forms/fmvipfund.ui \ forms/fmvipfund.ui \
forms/fmmsgwnd.ui \ forms/fmmsgwnd.ui \
forms/fmloading.ui \ forms/fmloading.ui \
forms/fmcouponwidget.ui forms/fmcouponwidget.ui \
forms/fmvipcouponlist.ui
RESOURCES += \ RESOURCES += \
res/FMVip.qrc res/FMVip.qrc
......
#include "fmvipcouponlist.h"
#include "fmmsgwnd.h"
#include "fmcouponwidget.h"
#include "ui_fmvipcouponlist.h"
#include <QDebug>
#include <QScrollBar>
FMVipCouponList::FMVipCouponList(QDialog *parent) :
FMVipWnd(parent),
ui(new Ui::FMVipCouponList)
{
ui->setupUi(this);
QString operator_id = SESSIONDATA_STRING("operator_id");
QString business_date = SESSIONDATA_STRING("business_date");
QString fm_id = SESSIONDATA_STRING("fm_open_id");
QString score_str = SESSIONDATA_STRING("score");
QString name = SESSIONDATA_STRING("name");
QString birthday = SESSIONDATA_STRING("birthday");
_couponMap = SESSIONDATA_COUPONMAP("couponMap");
ui->operator_label->setText(operator_id);
ui->bd_label->setText(business_date);
ui->id_label->setText(fm_id);
ui->point_label->setText(score_str);
ui->name_label->setText(name);
ui->bir_label->setText(birthday);
connect(ui->coupon_page, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(onItemClicked(QListWidgetItem*)));
initCouponItems();
}
FMVipCouponList::~FMVipCouponList()
{
delete ui;
}
void FMVipCouponList::onItemClicked(QListWidgetItem *item)
{
QString code = item->data(Qt::UserRole).toString(); // 如果代金券已被选中则取消,否则选中
if(_selectCouponMap.contains(code)) {
ui->coupon_page->itemWidget(item)->setStyleSheet("#FMCouponWidget{background-color: rgb(255, 255, 255); border: none; border-left: 5 solid rgb(255, 170, 37);}");
_selectCouponMap.remove(code);
}else{
ui->coupon_page->itemWidget(item)->setStyleSheet("#FMCouponWidget{background-color: rgb(255, 255, 255); border: none; border-image: url(:/coupon_select.png);}");
_selectCouponMap[code] = _couponMap[code];
}
}
void FMVipCouponList::initCouponItems()
{
for(Coupon coupon : _couponMap)
{
auto item = new QListWidgetItem();
item->setData(Qt::UserRole, coupon.code);
ui->coupon_page->addItem(item);
ui->coupon_page->update();
auto itemWidget = new FMCouponWidget(coupon);
ui->coupon_page->setItemWidget(item, itemWidget);
//item大小
item->setSizeHint (itemWidget->size());
}
}
void FMVipCouponList::on_coupon_prev_btn_clicked()
{
int pos = ui->coupon_page->verticalScrollBar()->value();
ui->coupon_page->verticalScrollBar()->setValue(pos - 125);
}
void FMVipCouponList::on_coupon_next_btn_clicked()
{
int pos = ui->coupon_page->verticalScrollBar()->value();
ui->coupon_page->verticalScrollBar()->setValue(pos + 125);
}
void FMVipCouponList::on_ok_btn_clicked()
{
SESSIONDATA_ADD("usedCoupons", _selectCouponMap);
close();
}
#ifndef FMVIPCOUPONLIST_H
#define FMVIPCOUPONLIST_H
#include <QListWidgetItem>
#include "fmvipwnd.h"
#include "fmvipforward.h"
#define MIN(a,b) ((a<b) ? a : b)
#define MAX(a,b) ((a<b) ? b : a)
#define DOUBLE_STR(num) QString::number(num, 'f', 2)
namespace Ui {
class FMVipCouponList;
}
class FMVipCouponList : public FMVipWnd
{
Q_OBJECT
public:
explicit FMVipCouponList(QDialog *parent = 0);
~FMVipCouponList();
public slots:
void onItemClicked(QListWidgetItem*);
void initCouponItems();
private slots:
void on_coupon_prev_btn_clicked();
void on_coupon_next_btn_clicked();
void on_ok_btn_clicked();
private:
Ui::FMVipCouponList *ui;
QMap<QString, Coupon> _couponMap, _selectCouponMap;
};
#endif // FMVIPCOUPONLIST_H
#include "fmvipdispatcher.h" #include "fmvipdispatcher.h"
#include "fmviplogin.h" #include "fmviplogin.h"
#include "fmviporder.h" #include "fmviporder.h"
#include "fmvipfund.h" #include "fmvipfund.h"
...@@ -219,12 +219,12 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj) ...@@ -219,12 +219,12 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
return; return;
} }
// 成功,且是最后一步,则弹出认证信息 // 成功,且是最后一步,则弹出认证信息
else if(isLastOne) { // else if(isLastOne) {
QString account = SESSIONDATA_STRING("fm_open_id"); // QString account = SESSIONDATA_STRING("fm_open_id");
QString name = SESSIONDATA_STRING("name"); // QString name = SESSIONDATA_STRING("name");
QString birthday = SESSIONDATA_STRING("birthday"); // QString birthday = SESSIONDATA_STRING("birthday");
FMMsgWnd::LoginSuccess(account, name, birthday); // FMMsgWnd::LoginSuccess(account, name, birthday);
} // }
// 成功,是支付认证,但不能支付 // 成功,是支付认证,但不能支付
else if(isPayLogin) { else if(isPayLogin) {
if(canPay != 1) { if(canPay != 1) {
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <QFuture> #include <QFuture>
#include <QSharedPointer> #include <QSharedPointer>
#include <QSemaphore> #include <QSemaphore>
#include "fmvipcouponlist.h"
#include "fmbackup.h" #include "fmbackup.h"
#include <QDebug> #include <QDebug>
...@@ -391,9 +392,10 @@ void FMVipForward::logined(const QJsonObject &serverJob, QJsonObject &posJob) ...@@ -391,9 +392,10 @@ void FMVipForward::logined(const QJsonObject &serverJob, QJsonObject &posJob)
QString codeStr = co["couponCode"].toString(); QString codeStr = co["couponCode"].toString();
double amount = co["disAmount"].toInt()/100.0; double amount = co["disAmount"].toInt()/100.0;
QString desc = co["desc"].toString(); QString desc = co["desc"].toString();
QString pid = co["productCode"].toString();
QVariant v; QVariant v;
v.setValue(Coupon{codeStr, amount, desc}); v.setValue(Coupon{codeStr, amount, desc, pid});
couponMap[co["couponCode"].toString()] = v; couponMap[co["couponCode"].toString()] = v;
} }
SESSIONDATA_ADD("couponMap", couponMap); SESSIONDATA_ADD("couponMap", couponMap);
...@@ -407,6 +409,23 @@ void FMVipForward::logined(const QJsonObject &serverJob, QJsonObject &posJob) ...@@ -407,6 +409,23 @@ void FMVipForward::logined(const QJsonObject &serverJob, QJsonObject &posJob)
SESSIONDATA_ADD("name", name); SESSIONDATA_ADD("name", name);
SESSIONDATA_ADD("mobile", mobile); SESSIONDATA_ADD("mobile", mobile);
SESSIONDATA_ADD("birthday", birthday); SESSIONDATA_ADD("birthday", birthday);
// 展示用户代金券
if(SESSIONDATA_STRING("canPay")!="") {
FMVipCouponList couponListWnd;
couponListWnd.exec();
}
QJsonArray coupons;
QMap<QString, Coupon> selectCouponMap = SESSIONDATA_COUPONMAP("usedCoupons");
foreach (Coupon coupon, selectCouponMap) {
QJsonObject couponObj;
couponObj["code"] = coupon.code;
couponObj["pid"] = coupon.pid;
coupons.append(couponObj);
}
posJob["coupons"] = coupons;
} }
void FMVipForward::funded(const QJsonObject &serverJob, QJsonObject &posJob) void FMVipForward::funded(const QJsonObject &serverJob, QJsonObject &posJob)
......
...@@ -35,6 +35,7 @@ struct Coupon ...@@ -35,6 +35,7 @@ struct Coupon
QString code; QString code;
double disAmount; double disAmount;
QString desc; QString desc;
QString pid;
}; };
Q_DECLARE_METATYPE(Coupon) // 使Coupon类型可以和QVariant类型互相转换 Q_DECLARE_METATYPE(Coupon) // 使Coupon类型可以和QVariant类型互相转换
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment