Commit a4fa15b0 by LIDINGDA\ldd

1.支付,退款基本逻辑调通

parent a646c885
*.manifest
*.log
*.ilk
*.exp
*.user
*.res
*/plugins/*.dll
*/plugins/*.lib
*/plugins/*.pdb
*/plugins/*.rc
*/configuration/*.*
*.manifest
*.log
*.ilk
*.exp
*.user
*.res
*/plugins/*.dll
*/plugins/*.lib
*/plugins/*.pdb
*/plugins/*.rc
*/configuration/*.*
fmp_network/
include/interface/fmp_network_i.h
debug/bin/fmcrypt.dll
lib/fmcrypt.lib
debug/
*.rar
......@@ -7,6 +7,7 @@ SUBDIRS += fmp_manager \
# fmp_uiloader \
fmp_syncer \
fmp_epay \
fmp_network \
# fmp_epayview \
# fmp_eventadmin \
fmp_home \
......
#include "fmp_database.h"
#include <QDebug>
#include <QSqlError>
#include <QSqlQuery>
#include <QVariantHash>
#include <QSqlQueryModel>
#include <fmp_logger_i.h>
FMPDataBase::FMPDataBase(QString dbname, FMPLoggerInterface *logger, QObject *parent) : QObject(parent), _logger(logger)
{
_db = QSqlDatabase::addDatabase("QSQLITE");
_db.setDatabaseName(dbname);
_isopen = _db.open();
}
FMPDataBase::~FMPDataBase()
{
if(_isopen)
_db.close();
}
bool FMPDataBase::creat(QString sql)
{
if(!_isopen)
return false;
QSqlQuery query(_db);
bool flag = query.exec(sql);
if(!flag)
FMP_WARN(_logger) << query.lastError();
return flag;
}
bool FMPDataBase::insert(QString table, QVariantHash data)
{
if(!_isopen)
return false;
QString sql;
QStringList columnnamelist;
QStringList columnvaluelist;
if(!getSql(table, data, columnnamelist, columnvaluelist))
{
_db.close();
return false;
}
QSqlQuery query(_db);
sql = QString("insert into %1 (").arg(table) + columnnamelist.join(", ") + ") values (" + columnvaluelist.join(", ") + ")";
FMP_INFO(_logger) << "inset sql : " << sql;
qDebug() << "inset sql : " << sql;
bool flag = query.exec(sql);
if(!flag)
FMP_WARN(_logger) << query.lastError();
return flag;
}
bool FMPDataBase::update(QString table, QVariantHash data, QString condition)
{
if(!_isopen)
return false;
QString sql;
if(!getSql(table, data, sql))
{
_db.close();
return false;
}
QSqlQuery query(_db);
sql = QString("update %1 set ").arg(table) + sql + " where " + condition;
FMP_INFO(_logger) << "update sql : " << sql;
bool flag = query.exec(sql);
if(!flag)
FMP_WARN(_logger) << query.lastError();
return flag;
}
bool FMPDataBase::find(QString table, QSqlQuery &query, QStringList keylist, QString condition)
{
if(!_isopen)
return false;
QSqlQuery tmpquery(_db);
QString sql = "select ";
if(keylist.size() != 0)
sql += keylist.join(", ");
else
sql += "*";
if(condition == "")
condition = "1=1";
sql += QString(" from %1 where ").arg(table) + condition;
FMP_INFO(_logger) << "find sql : " << sql;
bool flag = tmpquery.exec(sql);
if(!flag)
FMP_WARN(_logger) << tmpquery.lastError();
query = tmpquery;
return flag;
}
bool FMPDataBase::getSql(QString table, QVariantHash data, QStringList& columnnamelist, QStringList& columnvaluelist)
{
QSqlQuery query(_db);
QString tmpsql = QString("PRAGMA table_info(%1)").arg(table);
query.exec(tmpsql);
while(query.next())
{
QString columnname = query.value(1).toString();
if(data.contains(columnname))
{
/**
*add support type;
* */
// switch (data.value(columnname).type()) {
// case QVariant::Int:
// columnnamelist.append(columnname);
// columnvaluelist.append(QString("'") + QString::number(data.value(columnname).toInt()) + "'");
// break;
// case QVariant::String:
// columnnamelist.append(columnname);
// columnvaluelist.append(QString("'") + data.value(columnname).toString() + "'");
// break;
// case QVariant::Bool:
// columnnamelist.append(columnname);
// columnvaluelist.append(QString("'") + QString::number(data.value(columnname).toBool()? 1 : 0) + "'");
// break;
// default:
// break;
// }
columnnamelist.append(columnname);
columnvaluelist.append(QString("'") + data.value(columnname).toString() + "'");
}
continue ;
}
if(columnnamelist.size() == 0)
return false;
return true;
}
bool FMPDataBase::getSql(QString table, QVariantHash data, QString& sql)
{
QSqlQuery query(_db);
QString tmpsql = QString("PRAGMA table_info(%1)").arg(table);
query.exec(tmpsql);
QStringList list;
while(query.next())
{
QString columnname = query.value(1).toString();
if(data.contains(columnname))
{
/**
*add support type(mysql/sqlserver/...);
* */
// switch (data.value(columnname).type()) {
// case QVariant::Int:
// list.append(columnname + " = '" + QString::number(data.value(columnname).toInt()) + "'");
// break;
// case QVariant::String:
// list.append(columnname + " = '" + data.value(columnname).toString() + "'");
// break;
// case QVariant::Bool:
// list.append(columnname + " = '" + QString::number(data.value(columnname).toBool()? 1 : 0) + "'");
// break;
// default:
// break;
// }
/**
* sqlite
* */
list.append(columnname + " = '" + data.value(columnname).toString() + "'");
}
continue ;
}
if(list.size() == 0)
return false;
sql = list.join(", ");
return true;
}
#ifndef FMP_DATABASE_H
#define FMP_DATABASE_H
#include <QObject>
#include <QSqlDatabase>
class FMPLoggerInterface;
class QSqlQuery;
class QSqlDatabase;
class FMPDataBase : public QObject
{
Q_OBJECT
public:
FMPDataBase(QString dbname, FMPLoggerInterface *logger, QObject *parent = 0);
~FMPDataBase();
bool insert(QString table, QVariantHash data);
bool update(QString table, QVariantHash data, QString condition);
bool find(QString table, QSqlQuery &query, QStringList keylist = QStringList(), QString condition = QString(""));
bool creat(QString sql);
private:
bool exist(QString table);
bool getSql(QString table, QVariantHash data, QString &sql);
bool getSql(QString table, QVariantHash data, QStringList &columnnamelist, QStringList &columnvaluelist);
private:
QSqlDatabase _db;
FMPLoggerInterface *_logger;
bool _isopen;
};
#endif // FMP_DATABASE_H
#include "fmp_epay_p.h"
#include "fmp_epay_def.h"
#include "fmp_pe_handlers.h"
class ctkPluginContext;
FMPePay::FMPePay(ctkPluginContext *context)
: FMPePayInterface(context),
_url(DEFAULT_EPAY_RWQUESTURL),
_inited(false),
_databasename(DEFAULT_EPAY_DATABASENAME),
_table(DEFAULT_EPAY_TABLE),
d_ptr(new FMPePayPrivate(this))
{
FMPStartEventHandler *ste_handler = new FMPStartEventHandler(_ctx, this);
......
......@@ -20,6 +20,9 @@ public:
int Pay();
private:
bool _inited;
QString _url;
QString _databasename;
QString _table;
FMPePayPrivate* d_ptr;
};
......
......@@ -6,7 +6,7 @@
TEMPLATE = lib
QT += core gui network
QT += core gui network sql concurrent
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
......@@ -16,9 +16,9 @@ SOURCES += \
fmp_epay_p.cpp \
fmp_epay_plugin.cpp \
fmp_pe_handlers.cpp \
fmp_epaycontrol.cpp \
fmp_epayview_dialog.cpp \
fmp_epayview_wait.cpp
fmp_epayview_wait.cpp \
fmp_database.cpp
HEADERS +=\
fmp_epay.h \
......@@ -27,11 +27,10 @@ HEADERS +=\
fmp_epay_plugin_p.h \
fmp_pe_handlers.h \
fmp_epay_def.h \
fmp_epaycontrol.h \
fmp_epaycontrol_i.h \
fmp_epayview_dialog.h \
fmp_epayview_focuslineedit.h \
fmp_epayview_wait.h
fmp_epayview_wait.h \
fmp_database.h
unix {
target.path = /usr/lib
......
#ifndef FMP_EPAY_DEF
#define FMP_EPAY_DEF
//门店信息
//公用字段
#define FMP_EPAY_VER "ver"
#define FMP_EPAY_CLIENTREQCOUNT "clientReqCount"
#define FMP_EPAY_BUSINESSDATE "business_date"
......@@ -14,10 +14,38 @@
#define FMP_EPAY_TRANSTRACTION_AMOUNT "amount"
#define FMP_EPAY_TRANSTRACTION_CODE "code"
#define FMP_EPAY_REFUND_TRANSTRACTION_FMID "fmID"
//支付返回
#define FMP_RPAY_PAY_RETURN_PAYID "pay_id"
#define FMP_RPAY_PAY_RETURN_TRANSID "pay_transId"
#define FMP_RPAY_PAY_RETURN_EBCODE "pay_ebcode"
#define FMP_RPAY_PAY_RETURN_TOTAL "total_amount"
#define FMP_RPAY_PAY_RETURN_MCUPON "mcoupon_amount"
#define FMP_RPAY_PAY_RETURN_ALIPAY "alipay_amount"
#define FMP_RPAY_PAY_RETURN_STATUSCODE "statusCode"
#define FMP_RPAY_PAY_RETURN_MSG "msg"
//退款请求
#define FMP_EPAY_REFUND_TRANSTRACTION_FMID "fmId"
#define FMP_EPAY_REFUND_TRANSTRACTION_AMOUNT "refund_count"
#define FMP_EPAY_REFUND_TRANSTRACTION_TRANSID "paied_trans_id"
#define FMP_EPAY_REFUND_TRANSTRACTION_EBCODE "paied_ebcode"
//sql字段
#define SQL_KEY_ISREFUND "isrefund"
#define SQL_KEY_PAYID "pay_id"
#define SQL_KEY_TRANSID "pay_transId"
#define SQL_KEY_CODE "code"
#define SQL_KEY_FMID "fmId"
#define SQL_KEY_EBCODE "paied_ebcode"
#define SQL_KEY_TOTALAMOUNT "total_amount"
//缺省
#define DEFAULT_EPAY_RWQUESTURL "http://115.159.142.32:80/api?partner=aisen"
#define DEFAULT_EPAY_DATABASENAME "fmp_test.db"
#define DEFAULT_EPAY_TABLE "fmp_pay"
#endif // FMP_EPAY_DEF
......@@ -3,9 +3,13 @@
#include "fmp_epay.h"
#include <QObject>
#include <QJsonObject>
class FMPPayDialog;
class FMPSettingsInterface;
class FMPLoggerInterface;
class FMPNetworkInterface;
class FMPDataBase;
class FMPePayPrivate : public QObject
{
......@@ -15,22 +19,61 @@ public:
explicit FMPePayPrivate(FMPePay* parent);
~FMPePayPrivate();
// int StartService();
int StopService();
int Pay();
void ControlPayJson(QString sum, QString code, QString date);
void ControlRefundJson(QString sum, QString code);
private:
void ControlReverseJson();
bool GetRefundJson(const QString &sum, const QString &code, QString ebcode);
void GetReverseJson();
bool GetPayJson(const QString &sum, const QString &code, const QString &date);
bool HttpPost(QJsonObject& outjson, QJsonObject json, QString &error, int timeout = 60);
bool checkReturnJson(QByteArray data, QJsonObject &returnjson);
signals:
void showPayWnd();
void error(QString errormsg);
void finished(QJsonObject json);
public slots:
void onShowPayWnd();
public:
FMPePay *q_ptr;
FMPPayDialog *_payDialog;
FMPSettingsInterface *_setting;
FMPLoggerInterface *_logger;
FMPNetworkInterface *_network;
private:
QJsonObject _current_json;
bool _reverse_flag;
static unsigned int s_ClientReqCount;
FMPDataBase *_db;
};
#endif // FMP_EPAY_P_H
#include "fmp_epaycontrol.h"
#include "fmp_epay_def.h"
#include <QJsonObject>
#include <QJsonArray>
#include <QVariant>
#include <QDateTime>
#include <QDebug>
unsigned int FMPControl::s_ClientReqCount = 10000;
FMPControl::FMPControl(FMPSettingsInterface* &settings, QObject *parent) : _settings(settings), FMPControlInterface(parent)
{
_reverse_flag = false;
}
void FMPControl::ControlPayJson(QString sum, QString code, QString date)
{
if(_reverse_flag)
{
emit error(QString::fromLocal8Bit("网络连接异常(冲正...)"));
return ;
}
if(!GetPayJson(sum, code, date))
{
emit error(QString::fromLocal8Bit("获取门店信息失败"));
return ;
}
//network send infomation
qDebug() << "using network send pay data to server";
qDebug() << _current_json;
}
void FMPControl::ControlRefundJson(QString sum, QString code)
{
if(_reverse_flag)
{
emit error(QString::fromLocal8Bit("网络连接异常(冲正...)"));
return ;
}
if(!GetRefundJson(sum, code))
{
emit error(QString::fromLocal8Bit("获取门店信息失败"));
return ;
}
//network send infomation
qDebug() << "using network send pay data to server";
qDebug() << _current_json;
}
void FMPControl::ControlReverseJson()
{
_reverse_flag = true;
GetReverseJson();
qDebug() << "using network send Reverse data to server";
qDebug() << _current_json;
}
bool FMPControl::GetPayJson(const QString& sum, const QString& code, const QString& date)
{
_current_json = QJsonObject::fromVariantMap( QVariantMap() );
QJsonObject transaction;
QJsonArray transactionarry;
/**
* settings get store infomation(or return false)
**/
qDebug() << "get store infomation from settings";
QString storeid = "99998";
QString station = "07";
QString oprt = "08";
int ver = 2;
transaction.insert(FMP_EPAY_TRANSTRACTION_CODE, code);
transaction.insert(FMP_EPAY_TRANSTRACTION_AMOUNT, (int)((sum.toDouble() + 0.05) * 100));
transactionarry.append( transaction);
_current_json.insert( FMP_EPAY_VER, ver);
_current_json.insert( FMP_EPAY_REQUESTTYPE, 72);
_current_json.insert( FMP_EPAY_BUSINESSDATE, date);
_current_json.insert( FMP_EPAY_CLIENTREQCOUNT, (int)++s_ClientReqCount);
_current_json.insert( FMP_EPAY_STOREID, storeid);
_current_json.insert( FMP_EPAY_STATIONID, station);
_current_json.insert( FMP_EPAY_OPERATORID, oprt);
_current_json.insert( FMP_EPAY_TRANSID, QDateTime::currentDateTime().toString("yyyyMMddhhmmssddd"));
_current_json.insert( FMP_EPAY_TRANSTRACTION, transactionarry);
return true;
}
bool FMPControl::GetRefundJson(const QString &sum, const QString &code)
{
_current_json = QJsonObject::fromVariantMap( QVariantMap() );
QJsonObject transaction;
QJsonArray transactionarry;
/**
* settings get store infomation(or return false)
**/
qDebug() << "get store infomation from settings";
QString storeid = "99998";
QString station = "07";
QString oprt = "08";
int ver = 2;
if((code[0] >= 'a' && code[0] <= 'z') || (code[0] >= 'A' && code[0] <= 'Z'))
{
transaction.insert(FMP_EPAY_REFUND_TRANSTRACTION_FMID, code);
transaction.insert(FMP_EPAY_REFUND_TRANSTRACTION_AMOUNT, (int)((sum.toDouble() + 0.05) * 100));
}else
{
/**
* sql get pay infomation(or return false)
**/
qDebug() << "get ebcode from db";
QString ebcode = "10004";
transaction.insert(FMP_EPAY_REFUND_TRANSTRACTION_EBCODE, ebcode);
transaction.insert(FMP_EPAY_REFUND_TRANSTRACTION_TRANSID, code);
transaction.insert(FMP_EPAY_REFUND_TRANSTRACTION_AMOUNT, (int)((sum.toDouble() + 0.05) * 100));
}
transactionarry.append( transaction);
_current_json.insert( FMP_EPAY_VER, ver);
_current_json.insert( FMP_EPAY_REQUESTTYPE, 62);
_current_json.insert( FMP_EPAY_CLIENTREQCOUNT, (int)++s_ClientReqCount);
_current_json.insert( FMP_EPAY_STOREID, storeid);
_current_json.insert( FMP_EPAY_STATIONID, station);
_current_json.insert( FMP_EPAY_OPERATORID, oprt);
_current_json.insert( FMP_EPAY_TRANSID, QDateTime::currentDateTime().toString("yyyyMMddhhmmssddd"));
_current_json.insert( FMP_EPAY_TRANSTRACTION, transactionarry);
return true;
}
void FMPControl::GetReverseJson()
{
_current_json[FMP_EPAY_REQUESTTYPE] = 3;
}
#ifndef FMPCONTROL_H
#define FMPCONTROL_H
#include <fmp_settings_i.h>
#include "fmp_epaycontrol_i.h"
class FMPSettingsInterface;
class FMPControl : public FMPControlInterface
{
public:
FMPControl(FMPSettingsInterface* &settings, QObject *parent = 0);
void ControlPayJson(QString sum, QString code, QString date);
void ControlRefundJson(QString sum, QString code);
private:
void ControlReverseJson();
bool GetRefundJson(const QString &sum, const QString &code);
void GetReverseJson();
bool GetPayJson(const QString &sum, const QString &code, const QString &date);
private:
FMPSettingsInterface* _settings;
QJsonObject _current_json;
bool _reverse_flag;
static unsigned int s_ClientReqCount;
};
#endif // FMPCONTROL_H
#ifndef FMP_CONTROL_I_H
#define FMP_CONTROL_I_H
#include <QObject>
#include <QJsonObject>
class FMPControlInterface : public QObject
{
Q_OBJECT
public:
FMPControlInterface(QObject *parent = 0) : QObject(parent) {}
/**
* @brief ControlPayJson
* 获取发送支付请求
* @param sum
* @param code
* @param code
*/
virtual void ControlPayJson(QString sum, QString code, QString date) = 0;
/**
* @brief ControlRefundJson
* 获取发送退款请求
* @param sum
* @param code(fmID/pay_transId)
*/
virtual void ControlRefundJson(QString sum, QString code) = 0;
protected:
/**
* @brief ControlReverseJson
* 冲正
*/
virtual void ControlReverseJson() = 0;
signals:
void error(QString errormsg);
void finished(QJsonObject json);
};
#endif // FMP_CONTROL_I_H
#include "fmp_epayview_dialog.h"
#include "ui_fmp_epayview_dialog.h"
#include "fmp_epaycontrol_i.h"
#include "fmp_epay_def.h"
#include "fmp_epay_p.h"
#include <QDebug>
#include <fmp_settings_i.h>
#include <fmp_logger_i.h>
FMPPayDialog::FMPPayDialog(FMPControlInterface *control, FMPSettingsInterface* &settings, QWidget *parent) :
FMPPayDialog::FMPPayDialog(FMPePayPrivate *control, FMPLoggerInterface *logger, QWidget *parent) :
_logger(logger),
_control(control),
_settings(settings),
QDialog(parent),
ui(new Ui::FMPPayDialog)
{
......@@ -36,8 +39,8 @@ FMPPayDialog::FMPPayDialog(FMPControlInterface *control, FMPSettingsInterface* &
connect(ui->lineedit_num, &FMPFocusLineEdit::focusIn, this, &FMPPayDialog::onLineeditCodeGetFocus);
connect(ui->lineedit_code, &FMPFocusLineEdit::focusIn, this, &FMPPayDialog::onLineeditCodeGetFocus);
connect(_control, &FMPControlInterface::error, this, &FMPPayDialog::showErrorMsg);
connect(_control, &FMPControlInterface::finished, this, &FMPPayDialog::showSuccessMsg);
connect(_control, &FMPePayPrivate::error, this, &FMPPayDialog::showErrorMsg);
connect(_control, &FMPePayPrivate::finished, this, &FMPPayDialog::showSuccessMsg);
getBusinessDate();
......@@ -98,6 +101,25 @@ FMPPayDialog::~FMPPayDialog()
void FMPPayDialog::setPaySuccessView(QJsonObject json)
{
ui->lb5->show();
ui->tlb5->show();
ui->lb6->show();
ui->tlb6->show();
ui->suc2->setText(QString::fromLocal8Bit("支付成功"));
ui->tlb1->setText(QString::fromLocal8Bit("支付渠道"));
ui->lb1->setText(json[FMP_RPAY_PAY_RETURN_PAYID].toString());
ui->tlb2->setText(QString::fromLocal8Bit("非码交易号"));
ui->lb2->setText(json[FMP_EPAY_REFUND_TRANSTRACTION_FMID].toString());
ui->tlb3->setText(QString::fromLocal8Bit("支付交易号"));
ui->lb3->setText(json[FMP_RPAY_PAY_RETURN_TRANSID].toString().insert(15, "\n"));
ui->tlb4->setText(QString::fromLocal8Bit("应付金额"));
ui->lb4->setText(QString::number(json[FMP_RPAY_PAY_RETURN_TOTAL].toDouble()/100));
ui->tlb5->setText(QString::fromLocal8Bit("优惠金额"));
ui->lb5->setText(QString::number(json[FMP_RPAY_PAY_RETURN_MCUPON].toDouble()/100));
ui->tlb6->setText(QString::fromLocal8Bit("实付金额"));
ui->lb6->setText(QString::number(json[FMP_RPAY_PAY_RETURN_ALIPAY].toDouble()/100));
ui->stackedWidget->setCurrentIndex(1);
}
void FMPPayDialog::setRefundSuccessView(QJsonObject json)
......@@ -107,6 +129,9 @@ void FMPPayDialog::setRefundSuccessView(QJsonObject json)
void FMPPayDialog::setPayView()
{
ui->btn_pay->setChecked(true);
ui->btn_refund->setChecked(false);
ui->lineedit_num->setFocus();
_current_LineEdit = ui->lineedit_num;
......@@ -126,6 +151,9 @@ void FMPPayDialog::setPayView()
void FMPPayDialog::setRefundView()
{
ui->btn_pay->setChecked(false);
ui->btn_refund->setChecked(true);
ui->lineedit_num->setFocus();
_current_LineEdit = ui->lineedit_num;
......@@ -153,7 +181,6 @@ void FMPPayDialog::on_btn_pay_clicked()
{
setPayView();
}
void FMPPayDialog::on_btn_refund_clicked()
{
setRefundView();
......@@ -168,12 +195,19 @@ void FMPPayDialog::on_btn_confirm_clicked()
_wait->setModal(true);
}
_wait->SetContent(FMPPayWait::LOADING, QString::fromLocal8Bit("支付中..."));
if(ui->btn_pay->isChecked())
{
_wait->SetContent(FMPPayWait::LOADING, QString::fromLocal8Bit("支付中..."));
_control->ControlPayJson(ui->lineedit_num->text(), ui->lineedit_code->text(), ui->label_date->text());
}
else
{
_wait->SetContent(FMPPayWait::LOADING, QString::fromLocal8Bit("退款中..."));
_control->ControlRefundJson(ui->lineedit_num->text(), ui->lineedit_code->text());
}
_wait->show();
}
......
......@@ -12,8 +12,9 @@
#include "fmp_epayview_wait.h"
#include "fmp_epayview_focuslineedit.h"
class FMPePayPrivate;
class FMPSettingsInterface;
class FMPControlInterface;
class FMPLoggerInterface;
namespace Ui {
class FMPPayDialog;
......@@ -24,7 +25,7 @@ class FMPPayDialog : public QDialog
Q_OBJECT
public:
explicit FMPPayDialog(FMPControlInterface *control, FMPSettingsInterface* &settings, QWidget *parent = 0);
explicit FMPPayDialog(FMPePayPrivate *control, FMPLoggerInterface *logger, QWidget *parent = 0);
~FMPPayDialog();
public slots:
......@@ -72,9 +73,11 @@ private:
FMPSettingsInterface* _settings;
FMPControlInterface *_control;
FMPePayPrivate *_control;
FMPPayWait *_wait;
FMPLoggerInterface *_logger;
};
#endif // DIALOG_H
......@@ -551,7 +551,7 @@ background-color:rgb(210,210,210);
}</string>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="paypage">
<widget class="QPushButton" name="btn_confirm02">
......@@ -1739,7 +1739,7 @@ border:0</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(255, 255, 255);
image: url(:/res/fmclient-icon_payment_success.png);</string>
image: url(:/img/fmclient-icon_payment_success.png);</string>
</property>
<property name="text">
<string/>
......
......@@ -4,6 +4,7 @@
FMPPayWait::FMPPayWait(QWidget *parent) : QDialog(parent), ui(new Ui::FMPPayWait)
{
ui->setupUi(this);
......@@ -31,9 +32,11 @@ void FMPPayWait::SetContent(FMPPayWait::Type type, const QString &msg)
switch (type) {
case FMPPayWait::SUCCESS:
ui->btn_confirm->setVisible(true);
ui->label_logo->setStyleSheet("#label_logo { border-image: url(:/img/loading.png); }");
break;
case FMPPayWait::ERROR:
ui->btn_confirm->setVisible(true);
ui->label_logo->setStyleSheet("#label_logo { border-image: url(:/img/fmclient-icon_payment_fail.png);}");
break;
case FMPPayWait::LOADING:
......@@ -41,6 +44,7 @@ void FMPPayWait::SetContent(FMPPayWait::Type type, const QString &msg)
ui->btn_confirm->setVisible(false);
break;
default:
ui->btn_confirm->setVisible(true);
ui->label_logo->setStyleSheet("#label_logo { border-image: url(:/img/loading.png); }");
break;
}
......
......@@ -27,3 +27,30 @@ void FMPStartEventHandler::handleEvent(const ctkEvent &event)
FMP_DEBUG_CTX(_ctx) << "No handler instance for event" << event.getTopic();
}
}
FMPNetWorkEventHandler::FMPNetWorkEventHandler(ctkPluginContext *ctx, FMPePay *epay)
: FMPePayEventHandler(FMP_TOPICS_SERVICES FMPE_SERVICE_ACK_START "/"
+ QString::number(ctx->getPlugin()->getPluginId()), epay),
_ctx(ctx)
{
FMPProps props;
props[ctkEventConstants::EVENT_TOPIC] = _topic;
_ctx->registerService<ctkEventHandler>(this, props);
}
void FMPNetWorkEventHandler::handleEvent(const ctkEvent &event)
{
if (_epay) {
if (event.getProperty(FMP_PROPKEY_AGREED).toBool()) {
_epay->Pay();
}
else {
FMP_WARN_CTX(_ctx) << "Refused start request" << event.getTopic();
}
}
else {
FMP_DEBUG_CTX(_ctx) << "No handler instance for event" << event.getTopic();
}
}
......@@ -34,4 +34,21 @@ private:
ctkPluginContext* _ctx;
};
/**
* 升级事件处理类(网络)
* @brief TheNetWorkFMPUpgradeEventHandler class
*/
class FMPNetWorkEventHandler : public QObject, public FMPePayEventHandler
{
Q_OBJECT
Q_INTERFACES(ctkEventHandler)
public:
explicit FMPNetWorkEventHandler(ctkPluginContext *ctx, FMPePay *epay);
void handleEvent(const ctkEvent &event);
private:
ctkPluginContext* _ctx;
};
#endif // FMP_MANAGER_EVENT_HANDLERS_H
Plugin-SymbolicName: fmp.epay
Plugin-Version: 0.1.0
Plugin-Name: fmp.epay
Plugin-Copyright: Freemud Ltd. Copyright (C) 2014-2017
Plugin-Vendor: Freemud
Plugin-SymbolicName: fmp.epay
Plugin-Version: 0.1.0
Plugin-Name: fmp.epay
Plugin-Copyright: Freemud Ltd. Copyright (C) 2014-2017
Plugin-Vendor: Freemud
<RCC>
<qresource prefix="/fmp.epay/META-INF">
<file>MANIFEST.MF</file>
</qresource>
</RCC>
<RCC>
<qresource prefix="/fmp.epay/META-INF">
<file>MANIFEST.MF</file>
</qresource>
</RCC>
......@@ -11,5 +11,6 @@
<file>img/fm-icon_close_02.png</file>
<file>img/logo.png</file>
<file>img/sys.ico</file>
<file>img/loading.png</file>
</qresource>
</RCC>
......@@ -5,7 +5,7 @@
#define VER_MINOR 1
#define VER_REVISION 0
#define VER_BUILD 12
#define VER_BUILD 13
//! Convert version numbers to string
#define _STR(S) #S
......
Plugin-SymbolicName: fmp.syncer
Plugin-Version: 0.1.0
Plugin-Name: fmp.syncer
Plugin-Copyright: Freemud Ltd. Copyright (C) 2014-2017
Plugin-Vendor: Freemud
<RCC>
<qresource prefix="/fmp.syncer/META-INF">
<file>MANIFEST.MF</file>
</qresource>
</RCC>
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by fmproxy_service.rc
// ¶һĬֵ
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
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