Commit 607a96ba by NitefullWind

1. 实现获取门店信息。 2. 实现登陆。

parent 53a320c2
......@@ -160,6 +160,25 @@ inline std::shared_ptr<odb::database> DBSP() {
return DBConnect::Instance()->DBPointer();
}
inline QSharedPointer<StoreInfo> GetLastStoreInfo()
{
QSharedPointer<StoreInfo> storeInfoP(new StoreInfo());
try {
odb::transaction t (DBSP()->begin ());
StoreInfo_last storeInfo = DBSP()->query_value<StoreInfo_last>();
storeInfoP->setStoreId(storeInfo._storeId);
storeInfoP->setPosId(storeInfo._posId);
storeInfoP->setBusinessDate(storeInfo._businessDate);
storeInfoP->setOperatorId(storeInfo._operatorId);
t.commit ();
} catch (const odb::exception &e) {
qDebug() << "Exception: Get last store info: " << e.what();
}
return storeInfoP;
}
}
#endif // DATABASE_H
......@@ -13,7 +13,7 @@
#include <odb/qt/lazy-ptr.hxx>
#define DB_VERSION_BASE 1
#define DB_VERSION_CURRENT 9
#define DB_VERSION_CURRENT 10
#pragma db model version(DB_VERSION_BASE, DB_VERSION_CURRENT)
namespace DB {
......@@ -214,6 +214,20 @@ private:
QString _businessDate;
};
#pragma db view object(StoreInfo) \
query((?) + "order by id desc limit 0,1")
struct StoreInfo_last
{
#pragma db column(StoreInfo::_storeId)
QString _storeId;
#pragma db column(StoreInfo::_posId)
QString _posId;
#pragma db column(StoreInfo::_operatorId)
QString _operatorId;
#pragma db column(StoreInfo::_businessDate)
QString _businessDate;
};
}
Q_DECLARE_METATYPE(DB::Item*)
......
<changelog xmlns="http://www.codesynthesis.com/xmlns/odb/changelog" database="sqlite" version="1">
<changeset version="10"/>
<changeset version="9"/>
<changeset version="8"/>
......
......@@ -78,7 +78,7 @@ struct PP{
StoreId = "store_id";
PosId = "pos_id";
OperatorId = "operator_id";
BussinessDate = "business_date";
BusinessDate = "business_date";
Fm_cmd = "fm_cmd";
FM_Type = "FM_Type";
TransId = "trans_id";
......@@ -162,7 +162,7 @@ struct PP{
QString StoreId ;
QString PosId ;
QString OperatorId ;
QString BussinessDate ;
QString BusinessDate ;
QString Fm_cmd ;
QString FM_Type ;
QString TransId ;
......@@ -261,7 +261,7 @@ const PropsMap::value_type PropsMapPairs[] =
PropsMap::value_type(PosProps.Phone, "mobile"),
PropsMap::value_type(PosProps.TransId, "transId"),
PropsMap::value_type(PosProps.Coupon, "couponCode"),
PropsMap::value_type(PosProps.BussinessDate,"businessDate"),
PropsMap::value_type(PosProps.BusinessDate,"businessDate"),
PropsMap::value_type(PosProps.Fm_order_id, "memberTransId"),
PropsMap::value_type(PosProps.Fm_open_id, "account"),
PropsMap::value_type(PosProps.Account, "memberNo"),
......@@ -315,7 +315,7 @@ const static QString DefaultProps[] = {
PosProps.StoreId,
PosProps.PosId,
PosProps.OperatorId,
PosProps.BussinessDate
PosProps.BusinessDate
};
// 删除指针宏
......
......@@ -84,7 +84,7 @@ void FMTask::showWindow()
PosProps.StoreId,
PosProps.PosId,
PosProps.OperatorId,
PosProps.BussinessDate,
PosProps.BusinessDate,
};
for(int i=0; i<sizeof(sL)/sizeof(sL[0]); ++i) {
......
......@@ -3,8 +3,9 @@
#include "fmp_vip_settings.h"
#include "fmnetwork.h"
#include <QJsonDocument>
//#include "items/storeinfo.h"
//#include "dbop.h"
#include "database.h"
using namespace DB;
TaskLogin::TaskLogin(QJsonObject &jsonObj, Session *session, QObject *parent)
:FMTask(jsonObj, FM_Login, session, parent)
......@@ -13,10 +14,18 @@ TaskLogin::TaskLogin(QJsonObject &jsonObj, Session *session, QObject *parent)
void TaskLogin::packagePOSReq()
{
// auto storeInfo = new FMItem::StoreInfo();
// DBOP::GetLastItem(storeInfo);
auto storeInfo = GetLastStoreInfo();
// posReqJsonObj = storeInfo->toJson(QStringList(), posReqJsonObj);
QString msg;
if(storeInfo == nullptr) {
msg = QString::fromLocal8Bit("未设置营业信息,不能进行会员认证");
setError(FM_API_ERROR, msg);
return;
}
posReqJsonObj[PosProps.StoreId] = storeInfo->storeId();
posReqJsonObj[PosProps.PosId] = storeInfo->posId();
posReqJsonObj[PosProps.BusinessDate] = storeInfo->businessDate();
posReqJsonObj[PosProps.OperatorId] = storeInfo->operatorId();
}
void TaskLogin::setWindow()
......
......@@ -19,7 +19,7 @@ void TaskSetStoreInfo::packagePOSRsp()
QSharedPointer<StoreInfo> storeInfo(new StoreInfo());
storeInfo->setStoreId(getPosJsonValue(PosProps.StoreId).toString());
storeInfo->setPosId(getPosJsonValue(PosProps.PosId).toString());
storeInfo->setBusinessDate(getPosJsonValue(PosProps.BussinessDate).toString());
storeInfo->setBusinessDate(getPosJsonValue(PosProps.BusinessDate).toString());
storeInfo->setOperatorId(getPosJsonValue(PosProps.OperatorId).toString());
int statusCode = FM_API_SUCCESS;
......
......@@ -19,7 +19,7 @@ bool FMVipFund::initWnd(Session *session)
_session = session;
QString operator_id = session->data(PosProps.OperatorId).toString();
QString business_date = session->data(PosProps.BussinessDate).toString();
QString business_date = session->data(PosProps.BusinessDate).toString();
QString account = session->data(PosProps.Fm_open_id).toString();
QString name = session->data(PosProps.Name).toString();
......
......@@ -40,7 +40,7 @@ bool FMVipLogin::initWnd(Session *session)
ui->store_label->setText(session->data(PosProps.StoreId).toString());
ui->pos_label->setText(session->data(PosProps.PosId).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.BusinessDate).toString());
ui->login_edit->setPlaceholderText(placeText);
return true;
}
......
......@@ -35,7 +35,7 @@ bool FMVipOrder::initWnd(Session *session)
this->_session = session;
QString operator_id = session->data(PosProps.OperatorId).toString();
QString business_date = session->data(PosProps.BussinessDate).toString();
QString business_date = session->data(PosProps.BusinessDate).toString();
QString fm_id = session->data(PosProps.Fm_open_id).toString();
QString name = session->data(PosProps.Name).toString();
if(name.isEmpty()) {
......
......@@ -67,4 +67,24 @@ TEST_F(TestDBQuery, QueryAnd)
}
TEST_F(TestDBQuery, T_GetLastStoreInfo)
{
QSharedPointer<StoreInfo> storeInfo = GetLastStoreInfo();
ASSERT_NE(storeInfo, nullptr);
EXPECT_EQ(storeInfo->storeId(), "fm9999");
StoreInfo newSi;
newSi.setStoreId(storeInfo->storeId());
newSi.setPosId(storeInfo->posId());
newSi.setOperatorId(storeInfo->operatorId());
newSi.setBusinessDate(QDate::currentDate().toString("yyyyMMdd"));
odb::transaction t(DBSP()->begin());
DBSP()->persist(newSi);
t.commit();
QSharedPointer<StoreInfo> newLastSi = GetLastStoreInfo();
EXPECT_EQ(newLastSi->businessDate(), newSi.businessDate());
}
#endif // TST_DB_QUERY_H
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