Commit 11222179 by NitefllWind

1.支付页面输入金额默认为待付,只能用户输入进行修改。增加显示积分可抵扣的金额。

parent 58466bdf
......@@ -185,30 +185,12 @@ void FMVipDispatcher::onServerResponsed(const QJsonObject &rspObj)
int status = rspObj["statusCode"].toInt();
int prompt = rspObj["prompt"].toInt();
// if(status == 100) {
// if(isLastOne && prompt == 0) {
// FMMsgWnd msgWnd;
// msgWnd.show(FMMsgWnd::T_Success, "操作成功");
// QMessageBox msgBox(_vindow);
// msgBox.setWindowTitle("提示");
// msgBox.setText("操作成功");
// msgBox.setAttribute(Qt::WA_QuitOnClose, false);
// msgBox.exec();
// }
// }
if(status != 100) {
if(prompt == 0)
{
QString msg = rspObj["msg"].toString();
FMMsgWnd msgWnd;
msgWnd.show(FMMsgWnd::T_Failure, msg);
// QMessageBox msgBox;
// msgBox.setWindowTitle("错误");
// msgBox.setText(msg);
// msgBox.setAttribute(Qt::WA_QuitOnClose, false);
// msgBox.exec();
}
requestSuccess = false;
_vindow = 0;
......
......@@ -193,7 +193,6 @@ void FMVipForward::pay(const QJsonObject &job, QJsonObject &fmjob)
_sessionForward = job["forward"].toObject();
QJsonObject transObj;
// transObj["account"] = job["fm_open_id"];
transObj["account"] = sessionData("fm_open_id");
transObj["codeAmount"] = sessionDataInt("codeAmount");
transObj["isUseScore"] = sessionDataInt("isUseScore");
......
......@@ -27,12 +27,16 @@ FMVipOrder::FMVipOrder(QDialog *parent) :
ui->balance_label->setText(orderInfo->getAmountStr());
ui->price_label->setText(orderInfo->getNeedPayStr());
ui->pay_chk->setText(QString("使用积分抵扣 %1 元").arg(orderInfo->getScoreAmount()));
if(standard_amount > 0) {
ui->standard_label->setText(QString("满%1元可享受储值金满额支付优惠").arg(standard_amount));
ui->standard_label->setText(QString("满 %1 元可享受储值金满额支付优惠").arg(standard_amount));
}
ui->pay_edit->setText(orderInfo->getPayAmountStr());
ui->pay_edit->setText(orderInfo->getNeedPayStr());
ui->pay_edit->setFocus();
ui->pay_edit->selectAll();
}
FMVipOrder::~FMVipOrder()
......@@ -57,7 +61,7 @@ void FMVipOrder::on_coupon_next_btn_clicked()
void FMVipOrder::on_pay_btn_clicked()
{
qDebug() << __FUNCTION__;
QString codeAmountStr = orderInfo->getTotalPayStr();
QString codeAmountStr = orderInfo->getPayAmountStr(ui->pay_edit->text());
FMVipForward::instance()->addSessionData("codeAmount", codeAmountStr);
ui->pay_btn->setEnabled(false);
......@@ -71,17 +75,6 @@ void FMVipOrder::on_pay_chk_clicked(bool checked)
{
qDebug() << __FUNCTION__ << checked;
orderInfo->setIsUseScore(checked);
ui->pay_edit->setText(orderInfo->getPayAmountStr());
int is = checked ? 1 : 0;
FMVipForward::instance()->addSessionData("isUseScore", QString::number(is));
}
void FMVipOrder::on_pay_edit_textEdited(const QString &text)
{
orderInfo->setEditPayAmount(text);
// ui->pay_edit->setText(orderInfo->getPayAmountStr());
}
......@@ -24,9 +24,6 @@ public slots:
void on_pay_btn_clicked();
void on_pay_chk_clicked(bool checked);
private slots:
void on_pay_edit_textEdited(const QString &text);
private:
class OrderInfo
{
......@@ -46,10 +43,6 @@ private:
_score = _scoreStr.toInt() / 100.0;
_needPay = _needPayStr.toInt() / 100.0;
isUseScore = false;
editPayAmount = MIN(_amount, _needPay);
setPays();
}
QString getAmountStr()
......@@ -62,65 +55,20 @@ private:
return DOUBLE_STR(_needPay);
}
void setEditPayAmount(const QString amountText)
{
editPayAmount = amountText.toDouble();
setPays();
}
void setIsUseScore(bool isUse)
QString getScoreAmount()
{
isUseScore = isUse;
setPays();
return DOUBLE_STR(_score);
}
void setPays()
{
if(isUseScore)
QString getPayAmountStr(QString amountStr)
{
// 积分付只有两种情况 1.全部待付 2.全部积分
if(_score > _needPay) {
pay_score = _needPay;
pay_amount = 0.0;
}else{
pay_score = _score;
double tempAmount = MIN((_needPay - pay_score), _amount);
pay_amount = MIN(tempAmount, editPayAmount);
}
}else{
pay_score = 0.0;
double tempAmount = MIN(_needPay, _amount);
pay_amount = MIN(tempAmount, editPayAmount);
}
}
double getPayAmount()
{
return pay_amount;
}
QString getPayAmountStr()
{
return DOUBLE_STR(pay_amount);
}
QString getTotalPayStr()
{
double totalPay = pay_amount + pay_score;
return QString::number((int)(totalPay*100));
int payAmount = amountStr.toInt() * 100;
return QString::number(payAmount);
}
private:
QString _amountStr, _scoreStr, _needPayStr;
double _amount, _score, _needPay;
// 三种支付方式支付金额
double pay_amount, pay_score, pay_discount;
double editPayAmount;
bool isUseScore;
};
private:
......
......@@ -74,8 +74,6 @@ int FMVipWnd::exec()
::AttachThreadInput(dwCurID,dwForeID,FALSE);
// this->setFocus();
return QDialog::exec();
}
......
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