Commit 16f5697b by NitefullWind

1. 实现根据transId退款。

parent 5d1e0b74
...@@ -43,11 +43,6 @@ void DBOP::InserTable(const QString &tableName, const QString &transId, const QS ...@@ -43,11 +43,6 @@ void DBOP::InserTable(const QString &tableName, const QString &transId, const QS
Instance()->_db->insert(tableName, hash); Instance()->_db->insert(tableName, hash);
} }
void DBOP::GetPaysByTransId(const QString &transId, QVector<QByteArray> &payDataVec)
{
}
bool DBOP::CreateTable(const QString &tableName) bool DBOP::CreateTable(const QString &tableName)
{ {
QString tableOrderSql = "CREATE TABLE [Order](" QString tableOrderSql = "CREATE TABLE [Order]("
...@@ -70,6 +65,7 @@ bool DBOP::CreateTable(const QString &tableName) ...@@ -70,6 +65,7 @@ bool DBOP::CreateTable(const QString &tableName)
"[pay_id] VARCHAR(50), " "[pay_id] VARCHAR(50), "
"[pay_str] VARCHAR(50), " "[pay_str] VARCHAR(50), "
"[pay_amount] INT DEFAULT 0, " "[pay_amount] INT DEFAULT 0, "
"[refund_amount] INT DEFAULT 0, "
"[dis_amount] INT DEFAULT 0, " "[dis_amount] INT DEFAULT 0, "
"[account] VARCHAR(50), " "[account] VARCHAR(50), "
"[trans_id] VARCHAR(50), " "[trans_id] VARCHAR(50), "
...@@ -161,6 +157,27 @@ QSharedPointer<FMItem::Order> DBOP::GetOrderByTransId(const QString &transId) ...@@ -161,6 +157,27 @@ QSharedPointer<FMItem::Order> DBOP::GetOrderByTransId(const QString &transId)
return order; return order;
} }
void DBOP::GetOrderByDBId(unsigned int DBID, Order *order)
{
Q_ASSERT(order != NULL);
QSqlQuery query;
QString condition = QString("id == '%1'").arg(DBID);
bool isOk = Instance()->_db->find(TABLE_ORDER, query, QStringList(), condition);
if(isOk && query.next()) {
order->SetPropertiesBySqlRecord(query.record());
} else {
FMP_WARN() << "Don't find order: " << DBID;
}
}
QSharedPointer<FMItem::Order> DBOP::GetOrderByDBId(unsigned int DBID)
{
QSharedPointer<FMItem::Order> order(new Order);
GetOrderByDBId(DBID, order.data());
return order;
}
QList<QSharedPointer<FMItem::Pay> > DBOP::GetPaysByOrderId(int orderId) QList<QSharedPointer<FMItem::Pay> > DBOP::GetPaysByOrderId(int orderId)
{ {
QList<QSharedPointer<FMItem::Pay> > payList; QList<QSharedPointer<FMItem::Pay> > payList;
...@@ -174,3 +191,24 @@ QList<QSharedPointer<FMItem::Pay> > DBOP::GetPaysByOrderId(int orderId) ...@@ -174,3 +191,24 @@ QList<QSharedPointer<FMItem::Pay> > DBOP::GetPaysByOrderId(int orderId)
} }
return payList; return payList;
} }
void DBOP::GetPayByDBId(unsigned int DBID, Pay *pay)
{
Q_ASSERT(pay != NULL);
QSqlQuery query;
QString condition = QString("id == '%1'").arg(DBID);
bool isOk = Instance()->_db->find(TABLE_PAY, query, QStringList(), condition);
if(isOk && query.next()) {
pay->SetPropertiesBySqlRecord(query.record());
} else {
FMP_WARN() << "Don't find pay: " << DBID;
}
}
QSharedPointer<FMItem::Pay> DBOP::GetPayByDBId(unsigned int DBID)
{
QSharedPointer<FMItem::Pay> pay(new Pay);
GetPayByDBId(DBID, pay.data());
return pay;
}
...@@ -26,12 +26,14 @@ public: ...@@ -26,12 +26,14 @@ public:
static void InsertTablePay(const QString &transId, const QString &fmId, const QByteArray &reqData, const QByteArray &rspData); static void InsertTablePay(const QString &transId, const QString &fmId, const QByteArray &reqData, const QByteArray &rspData);
static void InsertTableOrder(const QString &transId, const QString &fmId, const QByteArray &reqData, const QByteArray &rspData); static void InsertTableOrder(const QString &transId, const QString &fmId, const QByteArray &reqData, const QByteArray &rspData);
static void GetPaysByTransId(const QString &transId, QVector<QByteArray> &payDataVec);
static void GetOrderByTransId(const QString &transId, FMItem::Order *order); static void GetOrderByTransId(const QString &transId, FMItem::Order *order);
static QSharedPointer<FMItem::Order> GetOrderByTransId(const QString &transId); static QSharedPointer<FMItem::Order> GetOrderByTransId(const QString &transId);
static void GetOrderByDBId(unsigned int DBID, FMItem::Order* order);
static QSharedPointer<FMItem::Order> GetOrderByDBId(unsigned int DBID);
static QList<QSharedPointer<FMItem::Pay> > GetPaysByOrderId(int orderId); static QList<QSharedPointer<FMItem::Pay> > GetPaysByOrderId(int orderId);
static void GetPayByDBId(unsigned int DBID, FMItem::Pay *pay);
static QSharedPointer<FMItem::Pay> GetPayByDBId(unsigned int DBID);
private: private:
DBOP(); DBOP();
FMPDataBase *_db; FMPDataBase *_db;
......
...@@ -28,7 +28,7 @@ int FMNetwork::send(const QString &url, const QByteArray &reqData, QByteArray &r ...@@ -28,7 +28,7 @@ int FMNetwork::send(const QString &url, const QByteArray &reqData, QByteArray &r
error = FM_API_SUCCESS; error = FM_API_SUCCESS;
FMP_INFO() << "Send Url: " << url; FMP_INFO() << "Send Url: " << url;
FMP_INFO() << "Send Data: " << reqData; FMP_INFO() << "Send Data: " << reqData.data();
_req->setUrl(url); _req->setUrl(url);
......
...@@ -7,6 +7,7 @@ Pay::Pay(QObject *parent) ...@@ -7,6 +7,7 @@ Pay::Pay(QObject *parent)
,_payId("") ,_payId("")
,_payStr("") ,_payStr("")
,_payAmount(0) ,_payAmount(0)
,_refundAmount(0)
,_disAmount(0) ,_disAmount(0)
,_account("") ,_account("")
,_transId("") ,_transId("")
...@@ -90,6 +91,16 @@ void Pay::setOrderId(int orderId) ...@@ -90,6 +91,16 @@ void Pay::setOrderId(int orderId)
_orderId = orderId; _orderId = orderId;
} }
int Pay::refundAmount() const
{
return _refundAmount;
}
void Pay::setRefundAmount(int refundAmount)
{
_refundAmount = refundAmount;
}
QString Pay::transId() const QString Pay::transId() const
{ {
return _transId; return _transId;
......
...@@ -12,6 +12,7 @@ namespace FMItem { ...@@ -12,6 +12,7 @@ namespace FMItem {
Q_PROPERTY(QString pay_id READ payId WRITE setPayId) Q_PROPERTY(QString pay_id READ payId WRITE setPayId)
Q_PROPERTY(QString pay_str READ payStr WRITE setPayStr) Q_PROPERTY(QString pay_str READ payStr WRITE setPayStr)
Q_PROPERTY(int pay_amount READ payAmount WRITE setPayAmount) Q_PROPERTY(int pay_amount READ payAmount WRITE setPayAmount)
Q_PROPERTY(int refund_amount READ refundAmount WRITE setRefundAmount)
Q_PROPERTY(int discount_amount READ disAmount WRITE setDisAmount) Q_PROPERTY(int discount_amount READ disAmount WRITE setDisAmount)
Q_PROPERTY(QString account READ account WRITE setAccount) Q_PROPERTY(QString account READ account WRITE setAccount)
Q_PROPERTY(QString trans_id READ transId WRITE setTransId) Q_PROPERTY(QString trans_id READ transId WRITE setTransId)
...@@ -44,10 +45,14 @@ namespace FMItem { ...@@ -44,10 +45,14 @@ namespace FMItem {
int orderId() const; int orderId() const;
void setOrderId(int orderId); void setOrderId(int orderId);
int refundAmount() const;
void setRefundAmount(int refundAmount);
private: private:
QString _payId; QString _payId;
QString _payStr; QString _payStr;
int _payAmount; int _payAmount;
int _refundAmount;
int _disAmount; int _disAmount;
QString _account; QString _account;
......
...@@ -117,13 +117,17 @@ bool FMTask::sendToServer(bool isShowMsg) ...@@ -117,13 +117,17 @@ bool FMTask::sendToServer(bool isShowMsg)
QJsonDocument json(serverReqJsonObj); QJsonDocument json(serverReqJsonObj);
QByteArray data = json.toJson(QJsonDocument::Compact); QByteArray data = json.toJson(QJsonDocument::Compact);
#ifdef FMTEST
url = "http://micro-service.sandload.cn/member-pos/pos/member/" + ReqUrl.at(FM_Type());
#else
url = FMPVipSettings::instance()->getServerUrl() + "/" + ReqUrl.at(FM_Type()); url = FMPVipSettings::instance()->getServerUrl() + "/" + ReqUrl.at(FM_Type());
#endif
QByteArray rspData; QByteArray rspData;
FMNetwork net; FMNetwork net;
net.send(url, data, rspData); net.send(url, data, rspData);
FMP_INFO() << "Server rsponse: " << rspData; FMP_INFO() << "Server rsponse: " << rspData.data();
// 网络错误 // 网络错误
if(net.error != FM_API_SUCCESS) { if(net.error != FM_API_SUCCESS) {
......
#include "taskrefund.h" #include "taskrefund.h"
#include "fmviprefund.h" #include "fmviprefund.h"
#include "database/dbop.h"
#include "items/item.h"
#include "items/order.h"
#include "items/pay.h"
#include "taskothers.h"
#include <QSharedPointer>
#include <QJsonDocument>
TaskRefund::TaskRefund(QJsonObject &jsonObj, Session *session, QObject *parent) TaskRefund::TaskRefund(QJsonObject &jsonObj, Session *session, QObject *parent)
: FMTask(jsonObj, FM_Refund, session, parent) : FMTask(jsonObj, FM_Refund, session, parent)
...@@ -15,6 +22,17 @@ TaskRefund::~TaskRefund() ...@@ -15,6 +22,17 @@ TaskRefund::~TaskRefund()
void TaskRefund::setWindow() void TaskRefund::setWindow()
{ {
_window = new FMVipRefund(); _window = new FMVipRefund();
connect(qobject_cast<FMVipRefund*>(_window), &FMVipRefund::refundPay, this, &TaskRefund::onRefundPay);
QString fmId = getPosJsonValue(PosProps.Fm_id).toString();
QString transId = getPosJsonValue(PosProps.TransId).toString();
session()->addData(PosProps.Fm_id, fmId);
session()->addData(PosProps.TransId, transId);
//! TODO 需要从其他数据库查询营业日、门店信息等。
auto orderPointer = DBOP::GetOrderByTransId(transId);
posReqJsonObj = orderPointer->toJson(QStringList(), posReqJsonObj);
} }
void TaskRefund::packageServerReq() void TaskRefund::packageServerReq()
...@@ -25,3 +43,31 @@ void TaskRefund::packagePOSRsp() ...@@ -25,3 +43,31 @@ void TaskRefund::packagePOSRsp()
{ {
} }
void TaskRefund::onRefundPay(int DBID)
{
posReqJsonObj[PosProps.TransId] = session()->data(PosProps.TransId).toString();
QSharedPointer<FMItem::Pay> payPointer = DBOP::GetPayByDBId(DBID);
QSharedPointer<FMItem::Order> orderPointer = DBOP::GetOrderByDBId(payPointer->orderId());
posReqJsonObj = orderPointer->toJson(QStringList(), posReqJsonObj);
TaskRefundPay refundPay(posReqJsonObj, this);
QByteArray rspData = refundPay.doTask();
QJsonObject rspObj = QJsonDocument::fromJson(rspData).object();
if(rspObj[PosProps.StatusCode].toInt() == FM_API_SUCCESS) {
payPointer->setRefundAmount(payPointer->payAmount());
bool isOk = DBOP::Save(payPointer.data());
if(isOk) {
orderPointer->setPaidAmount(orderPointer->paidAmount() - payPointer->refundAmount());
isOk = DBOP::Save(orderPointer.data());
}
qobject_cast<FMVipRefund*>(_window)->refresh();
} else {
QString msg = searchJsonValue(rspObj, PosProps.Msg).toString();
FMMsgWnd::FailureWnd(msg, _window);
}
}
...@@ -13,6 +13,9 @@ private: ...@@ -13,6 +13,9 @@ private:
void setWindow() override; void setWindow() override;
void packageServerReq(); void packageServerReq();
void packagePOSRsp(); void packagePOSRsp();
private:
void onRefundPay(int DBID);
}; };
#endif // TASKREFUND_H #endif // TASKREFUND_H
...@@ -5,10 +5,14 @@ ...@@ -5,10 +5,14 @@
#include <QMutex> #include <QMutex>
#include "fmloading.h" #include "fmloading.h"
#include "fmmsgwnd.h" #include "fmmsgwnd.h"
#include "dbop.h"
#include "items/order.h"
#include "items/pay.h"
FMVipRefund::FMVipRefund(QDialog *parent) : FMVipRefund::FMVipRefund(QDialog *parent) :
FMVipWnd(parent), FMVipWnd(parent),
ui(new Ui::FMVipRefund) ui(new Ui::FMVipRefund),
order(new FMItem::Order(this))
{ {
ui->setupUi(this); ui->setupUi(this);
} }
...@@ -16,6 +20,8 @@ FMVipRefund::FMVipRefund(QDialog *parent) : ...@@ -16,6 +20,8 @@ FMVipRefund::FMVipRefund(QDialog *parent) :
FMVipRefund::~FMVipRefund() FMVipRefund::~FMVipRefund()
{ {
delete ui; delete ui;
delete order;
pays.clear();
} }
bool FMVipRefund::initWnd(Session *session) bool FMVipRefund::initWnd(Session *session)
...@@ -26,6 +32,76 @@ bool FMVipRefund::initWnd(Session *session) ...@@ -26,6 +32,76 @@ bool FMVipRefund::initWnd(Session *session)
ui->pos_label->setText(session->data(PosProps.PosId).toString()); ui->pos_label->setText(session->data(PosProps.PosId).toString());
ui->operator_label->setText(session->data(PosProps.OperatorId).toString()); ui->operator_label->setText(session->data(PosProps.OperatorId).toString());
ui->bd_label->setText(session->data(PosProps.BussinessDate).toString()); ui->bd_label->setText(session->data(PosProps.BussinessDate).toString());
QString transId = session->data(PosProps.TransId).toString();
DBOP::GetOrderByTransId(transId, order);
if(order->isNew()) {
ui->textEdit_order->setText(QString::fromLocal8Bit("未找到transId为 %1 的订单! ").arg(transId));
} else {
QString orderInfo = QString::fromLocal8Bit("POS流水号:%1\n"
"非码订单号:%2\n"
"订单总额:%3 \t 已付金额:%4\n"
"营业日:%5 \t 收银员:%6\n"
"门店号:%7 \t POS号:%8\n")
.arg(order->transId()).arg(order->fmId())
.arg(order->orderAmount()/100.0).arg(order->paidAmount()/100.0)
.arg(order->businessDate()).arg(order->operatorId())
.arg(order->storeId()).arg(order->posId());
ui->textEdit_order->setText(orderInfo);
pays = DBOP::GetPaysByOrderId(order->DBID());
int row = 0, col = 0;
foreach (auto payPointer, pays) {
if(row == 0) {
QStringList headerLabels;
headerLabels << QString::fromLocal8Bit("支付方式") << QString::fromLocal8Bit("支付金额") << QString::fromLocal8Bit("已退金额") << QString::fromLocal8Bit("操作");
ui->tableWidget_pays->setRowCount(pays.length());
ui->tableWidget_pays->setColumnCount(headerLabels.length());
ui->tableWidget_pays->setHorizontalHeaderLabels(headerLabels);
int tableWidth = ui->tableWidget_pays->width();
ui->tableWidget_pays->setColumnWidth(0, tableWidth*0.4);
ui->tableWidget_pays->setColumnWidth(1, tableWidth*0.2);
ui->tableWidget_pays->setColumnWidth(2, tableWidth*0.2);
ui->tableWidget_pays->setColumnWidth(3, tableWidth*0.17);
}
QStringList payInfo;
payInfo << payPointer->payStr() << QString::number(payPointer->payAmount() / 100.0) << QString::number(payPointer->refundAmount() / 100.0);
foreach (const QString payInfoItem, payInfo) {
ui->tableWidget_pays->setItem(row, col, new QTableWidgetItem(payInfoItem));
col ++;
}
if(payPointer->payAmount() > 0) {
auto btn = new QPushButton(QString::fromLocal8Bit("退款"), ui->tableWidget_pays);
btn->setProperty("DBID", payPointer->DBID());
connect(btn, &QPushButton::clicked, this, &FMVipRefund::onBtnRefundClicked);
ui->tableWidget_pays->setCellWidget(row, col, btn);
if(payPointer->payAmount() <= payPointer->refundAmount()) {
btn->setEnabled(false);
}
}
row++;
col = 0;
}
}
return true; return true;
} }
void FMVipRefund::onBtnRefundClicked()
{
auto btn = qobject_cast<QPushButton*>(sender());
int DBID = btn->property("DBID").toInt();
emit refundPay(DBID);
}
void FMVipRefund::refresh()
{
initWnd(this->session());
}
...@@ -8,6 +8,11 @@ namespace Ui { ...@@ -8,6 +8,11 @@ namespace Ui {
class FMVipRefund; class FMVipRefund;
} }
namespace FMItem {
class Order;
class Pay;
}
class FMVipRefund : public FMVipWnd class FMVipRefund : public FMVipWnd
{ {
Q_OBJECT Q_OBJECT
...@@ -18,8 +23,19 @@ public: ...@@ -18,8 +23,19 @@ public:
bool initWnd(Session *session); bool initWnd(Session *session);
void refresh();
signals:
void refundPay(int);
private slots:
void onBtnRefundClicked();
private: private:
Ui::FMVipRefund *ui; Ui::FMVipRefund *ui;
FMItem::Order *order;
QList<QSharedPointer<FMItem::Pay> > pays;
}; };
#endif // FMVIPREFUND_H #endif // FMVIPREFUND_H
...@@ -74,6 +74,10 @@ ...@@ -74,6 +74,10 @@
#payTable { #payTable {
background: rgb(252, 252, 252); background: rgb(252, 252, 252);
}
#tableWidget_pays {
min-width: 786px; max-width:786px;
}</string> }</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
...@@ -174,13 +178,35 @@ ...@@ -174,13 +178,35 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QTableWidget" name="payTable"> <widget class="QTextEdit" name="textEdit_order">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="tableWidget_pays">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>788</width>
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
......
include(../../fmvip/fmvip.pri)
QT += testlib sql
CONFIG += C++11
DEFINES += FMTEST
CONFIG += qt console warn_on depend_includepath testcase
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += tst_testplugin.cpp
CONFIG(debug, debug|release) {
LIBS += -lCTKCored -lCTKPluginFrameworkd
DESTDIR = $$PWD/../../../debug/bins
} else {
LIBS += -lCTKCore -lCTKPluginFramework
DESTDIR = $$PWD/../../../release/bins
}
# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------
*~
*.autosave
*.a
*.core
*.moc
*.o
*.obj
*.orig
*.rej
*.so
*.so.*
*_pch.h.cpp
*_resource.rc
*.qm
.#*
*.*#
core
!core/
tags
.DS_Store
.directory
*.debug
Makefile*
*.prl
*.app
moc_*.cpp
ui_*.h
qrc_*.cpp
Thumbs.db
*.res
*.rc
/.qmake.cache
/.qmake.stash
# qtcreator generated files
*.pro.user*
# xemacs temporary files
*.flc
# Vim temporary files
.*.swp
# Visual Studio generated files
*.ib_pdb_index
*.idb
*.ilk
*.pdb
*.sln
*.suo
*.vcproj
*vcproj.*.*.user
*.ncb
*.sdf
*.opensdf
*.vcxproj
*vcxproj.*
# MinGW generated files
*.Debug
*.Release
# Python byte code
*.pyc
# Binaries
# --------
*.dll
*.exe
...@@ -154,7 +154,7 @@ void TestItem::test_PropertyNames_data() ...@@ -154,7 +154,7 @@ void TestItem::test_PropertyNames_data()
<< "store_id" << "pos_id" << "operator_id" << "business_date" << "fm_open_id" << "products" << "settled"; << "store_id" << "pos_id" << "operator_id" << "business_date" << "fm_open_id" << "products" << "settled";
QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << orderPNames.length() << orderPNames; QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << orderPNames.length() << orderPNames;
payPNames << "objectName" << "DBID" <<"pay_id" << "pay_str" << "pay_amount" << "discount_amount" << "account" << "trans_id" << "payTransId" << "orderId"; payPNames << "objectName" << "DBID" <<"pay_id" << "pay_str" << "pay_amount" << "refund_amount" << "discount_amount" << "account" << "trans_id" << "payTransId" << "orderId";
QTest::newRow("Pay") << gPay << payPNames.length() << payPNames; QTest::newRow("Pay") << gPay << payPNames.length() << payPNames;
productPNames << "objectName" << "DBID" << "id" <<"quantity" << "price" << "name"; productPNames << "objectName" << "DBID" << "id" <<"quantity" << "price" << "name";
...@@ -179,17 +179,19 @@ void TestItem::test_DBSave_data() ...@@ -179,17 +179,19 @@ void TestItem::test_DBSave_data()
Pay *pay = new Pay(); Pay *pay = new Pay();
pay->setPayId("1"); pay->setPayId("1");
pay->setPayStr("pay1"); pay->setPayStr("pay1");
pay->setTransId("1111"); pay->setTransId("12345");
pay->setPayAmount(100); pay->setPayAmount(100);
QTest::newRow("Pay") << qobject_cast<Item*>(pay) << true; QTest::newRow("Pay") << qobject_cast<Item*>(pay) << true;
QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << true; QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << true;
gOrder->setDBID(gOrder->DBID());
gOrder->setFmId("11111"); gOrder->setFmId("11111");
gOrder->setTransId("11111"); gOrder->setTransId("12345");
gOrder->setOrderAmount(1000); gOrder->setOrderAmount(1000);
gOrder->setProductText("{\"pid\":\"1\"},{\"pid\":\"2\"}"); gOrder->setProductText("{\"pid\":\"1\"},{\"pid\":\"2\"}");
QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << true; QTest::newRow("Order") << qobject_cast<Item*>(gOrder) << true;
pay->deleteLater();
} }
void TestItem::test_DBSave() void TestItem::test_DBSave()
......
#include <QtTest>
#include <QCoreApplication>
#include "fmvipdispatcher.h"
class TestPlugin : public QObject
{
Q_OBJECT
public:
TestPlugin();
~TestPlugin();
private:
FMVipDispatcher fmvip;
private slots:
void initTestCase();
void cleanupTestCase();
void test_dotask_data();
void test_dotask();
};
TestPlugin::TestPlugin()
{
}
TestPlugin::~TestPlugin()
{
}
void TestPlugin::initTestCase()
{
}
void TestPlugin::cleanupTestCase()
{
}
void TestPlugin::test_dotask_data()
{
QTest::addColumn<QByteArray>("reqData");
QTest::newRow("Refund") << QByteArray("{\"fm_cmd\": 1004,\"trans_id\": \"12345\"}");
// QTest::newRow("Refund not") << QByteArray("{\"fm_cmd\": 1004,\"trans_id\": \"123456\"}");
}
void TestPlugin::test_dotask()
{
QFETCH(QByteArray, reqData);
QByteArray rspData;
fmvip.doTask(reqData, rspData);
}
QTEST_MAIN(TestPlugin)
#include "tst_testplugin.moc"
TEMPLATE = subdirs TEMPLATE = subdirs
SUBDIRS += \ SUBDIRS += \
test testitem \
testplugin
CONFIG += ordered CONFIG += ordered
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define VER_MINOR 1 #define VER_MINOR 1
#define VER_REVISION 0 #define VER_REVISION 0
#define VER_BUILD 12 #define VER_BUILD 13
//! Convert version numbers to string //! Convert version numbers to string
#define _STR(S) #S #define _STR(S) #S
......
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