Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmp_vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhenfei.zhang
fmp_vip
Commits
26d61fae
Commit
26d61fae
authored
Jan 31, 2018
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 实现支付。
parent
607a96ba
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
184 additions
and
119 deletions
+184
-119
fmvip/db/database.h
+2
-0
fmvip/db/item.cpp
+12
-2
fmvip/db/item.h
+7
-5
fmvip/db/item.xml
+9
-1
fmvip/task/fmtask.cpp
+4
-0
fmvip/task/tasklogin.cpp
+2
-0
fmvip/task/taskpay.cpp
+143
-104
fmvip/task/taskpay.h
+3
-5
tests/tests.pro
+1
-1
version.h
+1
-1
No files found.
fmvip/db/database.h
View file @
26d61fae
...
@@ -167,6 +167,7 @@ inline QSharedPointer<StoreInfo> GetLastStoreInfo()
...
@@ -167,6 +167,7 @@ inline QSharedPointer<StoreInfo> GetLastStoreInfo()
odb
::
transaction
t
(
DBSP
()
->
begin
());
odb
::
transaction
t
(
DBSP
()
->
begin
());
StoreInfo_last
storeInfo
=
DBSP
()
->
query_value
<
StoreInfo_last
>
();
StoreInfo_last
storeInfo
=
DBSP
()
->
query_value
<
StoreInfo_last
>
();
storeInfoP
->
setId
(
storeInfo
.
_id
);
storeInfoP
->
setStoreId
(
storeInfo
.
_storeId
);
storeInfoP
->
setStoreId
(
storeInfo
.
_storeId
);
storeInfoP
->
setPosId
(
storeInfo
.
_posId
);
storeInfoP
->
setPosId
(
storeInfo
.
_posId
);
storeInfoP
->
setBusinessDate
(
storeInfo
.
_businessDate
);
storeInfoP
->
setBusinessDate
(
storeInfo
.
_businessDate
);
...
@@ -174,6 +175,7 @@ inline QSharedPointer<StoreInfo> GetLastStoreInfo()
...
@@ -174,6 +175,7 @@ inline QSharedPointer<StoreInfo> GetLastStoreInfo()
t
.
commit
();
t
.
commit
();
}
catch
(
const
odb
::
exception
&
e
)
{
}
catch
(
const
odb
::
exception
&
e
)
{
storeInfoP
.
clear
();
qDebug
()
<<
"Exception: Get last store info: "
<<
e
.
what
();
qDebug
()
<<
"Exception: Get last store info: "
<<
e
.
what
();
}
}
return
storeInfoP
;
return
storeInfoP
;
...
...
fmvip/db/item.cpp
View file @
26d61fae
...
@@ -123,7 +123,12 @@ void Order::setRefunded(bool refunded)
...
@@ -123,7 +123,12 @@ void Order::setRefunded(bool refunded)
_refunded
=
refunded
;
_refunded
=
refunded
;
}
}
PayList
Order
::
payList
()
const
PayList
&
Order
::
payList
()
{
return
_payList
;
}
const
PayList
&
Order
::
payList
()
const
{
{
return
_payList
;
return
_payList
;
}
}
...
@@ -133,7 +138,12 @@ void Order::setPayList(const PayList &payList)
...
@@ -133,7 +138,12 @@ void Order::setPayList(const PayList &payList)
_payList
=
payList
;
_payList
=
payList
;
}
}
QLazySharedPointer
<
StoreInfo
>
Order
::
storeInfo
()
const
QLazySharedPointer
<
StoreInfo
>
&
Order
::
storeInfo
()
{
return
_storeInfo
;
}
const
QLazySharedPointer
<
StoreInfo
>
&
Order
::
storeInfo
()
const
{
{
return
_storeInfo
;
return
_storeInfo
;
}
}
...
...
fmvip/db/item.h
View file @
26d61fae
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
#include <odb/qt/lazy-ptr.hxx>
#include <odb/qt/lazy-ptr.hxx>
#define DB_VERSION_BASE 1
#define DB_VERSION_BASE 1
#define DB_VERSION_CURRENT 1
0
#define DB_VERSION_CURRENT 1
2
#pragma db model version(DB_VERSION_BASE, DB_VERSION_CURRENT)
#pragma db model version(DB_VERSION_BASE, DB_VERSION_CURRENT)
namespace
DB
{
namespace
DB
{
...
@@ -79,10 +79,12 @@ public:
...
@@ -79,10 +79,12 @@ public:
bool
refunded
()
const
;
bool
refunded
()
const
;
void
setRefunded
(
bool
refunded
);
void
setRefunded
(
bool
refunded
);
PayList
payList
()
const
;
PayList
&
payList
();
const
PayList
&
payList
()
const
;
void
setPayList
(
const
PayList
&
payList
);
void
setPayList
(
const
PayList
&
payList
);
QLazySharedPointer
<
StoreInfo
>
storeInfo
()
const
;
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
();
const
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
()
const
;
void
setStoreInfo
(
const
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
);
void
setStoreInfo
(
const
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
);
unsigned
long
id
()
const
;
unsigned
long
id
()
const
;
...
@@ -112,8 +114,6 @@ private:
...
@@ -112,8 +114,6 @@ private:
#pragma db not_null
#pragma db not_null
QLazySharedPointer
<
StoreInfo
>
_storeInfo
;
QLazySharedPointer
<
StoreInfo
>
_storeInfo
;
QString
_testCol
;
};
};
//! Pay
//! Pay
...
@@ -218,6 +218,8 @@ private:
...
@@ -218,6 +218,8 @@ private:
query((?) + "order by id desc limit 0,1")
query((?) + "order by id desc limit 0,1")
struct
StoreInfo_last
struct
StoreInfo_last
{
{
#pragma db column(StoreInfo::_id)
unsigned
long
_id
;
#pragma db column(StoreInfo::_storeId)
#pragma db column(StoreInfo::_storeId)
QString
_storeId
;
QString
_storeId
;
#pragma db column(StoreInfo::_posId)
#pragma db column(StoreInfo::_posId)
...
...
fmvip/db/item.xml
View file @
26d61fae
<changelog
xmlns=
"http://www.codesynthesis.com/xmlns/odb/changelog"
database=
"sqlite"
version=
"1"
>
<changelog
xmlns=
"http://www.codesynthesis.com/xmlns/odb/changelog"
database=
"sqlite"
version=
"1"
>
<changeset
version=
"10"
/>
<changeset
version=
"12"
/>
<changeset
version=
"11"
/>
<changeset
version=
"10"
>
<alter-table
name=
"Order"
>
<drop-column
name=
"testCol"
/>
</alter-table>
</changeset>
<changeset
version=
"9"
/>
<changeset
version=
"9"
/>
...
...
fmvip/task/fmtask.cpp
View file @
26d61fae
...
@@ -118,6 +118,10 @@ bool FMTask::sendToServer(bool isShowMsg)
...
@@ -118,6 +118,10 @@ bool FMTask::sendToServer(bool isShowMsg)
QByteArray
data
=
json
.
toJson
(
QJsonDocument
::
Compact
);
QByteArray
data
=
json
.
toJson
(
QJsonDocument
::
Compact
);
url
=
FMPVipSettings
::
instance
()
->
getServerUrl
()
+
"/"
+
ReqUrl
.
at
(
FM_Type
());
url
=
FMPVipSettings
::
instance
()
->
getServerUrl
()
+
"/"
+
ReqUrl
.
at
(
FM_Type
());
#ifdef FM_DEBUG
url
=
"http://127.0.0.1:5000/vip/"
+
ReqUrl
.
at
(
FM_Type
());
#endif
QByteArray
rspData
;
QByteArray
rspData
;
FMNetwork
net
;
FMNetwork
net
;
...
...
fmvip/task/tasklogin.cpp
View file @
26d61fae
...
@@ -19,9 +19,11 @@ void TaskLogin::packagePOSReq()
...
@@ -19,9 +19,11 @@ void TaskLogin::packagePOSReq()
QString
msg
;
QString
msg
;
if
(
storeInfo
==
nullptr
)
{
if
(
storeInfo
==
nullptr
)
{
msg
=
QString
::
fromLocal8Bit
(
"未设置营业信息,不能进行会员认证"
);
msg
=
QString
::
fromLocal8Bit
(
"未设置营业信息,不能进行会员认证"
);
FMP_ERROR
()
<<
msg
;
setError
(
FM_API_ERROR
,
msg
);
setError
(
FM_API_ERROR
,
msg
);
return
;
return
;
}
}
posReqJsonObj
[
PosProps
.
StoreId
]
=
storeInfo
->
storeId
();
posReqJsonObj
[
PosProps
.
StoreId
]
=
storeInfo
->
storeId
();
posReqJsonObj
[
PosProps
.
PosId
]
=
storeInfo
->
posId
();
posReqJsonObj
[
PosProps
.
PosId
]
=
storeInfo
->
posId
();
posReqJsonObj
[
PosProps
.
BusinessDate
]
=
storeInfo
->
businessDate
();
posReqJsonObj
[
PosProps
.
BusinessDate
]
=
storeInfo
->
businessDate
();
...
...
fmvip/task/taskpay.cpp
View file @
26d61fae
...
@@ -4,64 +4,92 @@
...
@@ -4,64 +4,92 @@
#include "fmp_logger_i.h"
#include "fmp_logger_i.h"
#include "fmp_vip_settings.h"
#include "fmp_vip_settings.h"
#include "fmnetwork.h"
#include "fmnetwork.h"
//#include "dbop.h"
#include "database.h"
//#include "items/order.h"
//#include "items/pay.h"
//#include "items/storeinfo.h"
#include <QJsonDocument>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonObject>
#include <QCryptographicHash>
#include <QCryptographicHash>
//using namespace FMItem
;
using
namespace
DB
;
TaskPay
::
TaskPay
(
QJsonObject
&
jsonObj
,
Session
*
session
,
QObject
*
parent
)
TaskPay
::
TaskPay
(
QJsonObject
&
jsonObj
,
Session
*
session
,
QObject
*
parent
)
:
FMTask
(
jsonObj
,
FM_Pay
,
session
,
parent
)
:
FMTask
(
jsonObj
,
FM_Pay
,
session
,
parent
)
// , _order(new Order(this
))
,
_order
(
new
Order
(
))
{
{
}
}
TaskPay
::~
TaskPay
()
TaskPay
::~
TaskPay
()
{
{
// delete _order;
}
}
void
TaskPay
::
packagePOSReq
()
void
TaskPay
::
packagePOSReq
()
{
{
// FMItem::StoreInfo storeInfo;
QSharedPointer
<
StoreInfo
>
storeInfo
=
GetLastStoreInfo
();
// bool isOk = DBOP::GetLastItem(&storeInfo);
if
(
storeInfo
==
nullptr
)
{
// if(!isOk) {
QString
info
=
QString
::
fromLocal8Bit
(
"未设置门店信息,不能进行支付."
);
// QString info = QString::fromLocal8Bit("未设置门店信息,不能再进行支付.");
setError
(
FM_API_ERROR
,
info
);
// FMP_WARN() << info;
return
;
// setError(FM_API_ERROR, info);
}
// return;
// }
posReqJsonObj
[
PosProps
.
StoreId
]
=
storeInfo
->
storeId
();
// posReqJsonObj = storeInfo.toJson(QStringList(), posReqJsonObj);
posReqJsonObj
[
PosProps
.
PosId
]
=
storeInfo
->
posId
();
posReqJsonObj
[
PosProps
.
BusinessDate
]
=
storeInfo
->
businessDate
();
// // 检查订单是否已结算
posReqJsonObj
[
PosProps
.
OperatorId
]
=
storeInfo
->
operatorId
();
// QString orderId = getPosJsonValue(PosProps.OrderId).toString();
// DBOP::GetOrderByOrderId(orderId, _order);
QString
orderId
=
getPosJsonValue
(
PosProps
.
OrderId
).
toString
();
// if(_order->settled()) {
try
{
// QString info = QString::fromLocal8Bit("订单已结算,不能再进行支付.");
// _transactionPay.reset(DBSP()->begin());
// FMP_WARN() << info;
transaction
t
(
DBSP
()
->
begin
());
// setError(FM_API_ERROR, info);
// 检查订单是否已存在
// return;
odb
::
result
<
Order
>
r
=
DBSP
()
->
query
<
Order
>
(
query
<
Order
>::
orderId
==
orderId
);
// }
if
(
r
.
empty
())
{
// QString fm_open_id_pos = getPosJsonValue(PosProps.Fm_open_id).toString();
_order
->
setStoreInfo
(
storeInfo
);
// QString fm_open_id_session = session()->data(PosProps.Fm_open_id).toString();
// if(fm_open_id_session == "" || fm_open_id_pos!=fm_open_id_session || session()->data(PosProps.CanPay).toBool() == false) {
_order
->
setOrderId
(
getPosJsonValue
(
PosProps
.
OrderId
).
toString
());
// preTask = new TaskLogin(posReqJsonObj, _session, this);
_order
->
setOrderAmount
(
getPosJsonValue
(
PosProps
.
OrderAmount
).
toInt
());
// preTask->session()->addData(PosProps.FM_Type, FM_Pay);
_order
->
setUndisAmount
(
getPosJsonValue
(
PosProps
.
UndisAmount
).
toInt
());
// preTask->doTask();
// if(preTask->error() != FM_API_SUCCESS) {
QJsonObject
productObj
=
getPosJsonValue
(
PosProps
.
Products
).
toObject
();
// this->setError(preTask->error(), preTask->errorString());
QString
productText
=
QJsonDocument
(
productObj
).
toJson
(
QJsonDocument
::
Compact
);
// }
_order
->
setProductText
(
productText
);
// this->_session = preTask->session();
// }
DBSP
()
->
persist
(
_order
);
// session()->addData(PosProps.OrderAmount, getPosJsonValue(PosProps.OrderAmount).toInt());
t
.
commit
();
// session()->addData(PosProps.TransAmount, getPosJsonValue(PosProps.TransAmount).toInt());
}
else
{
// session()->addData(PosProps.UndisAmount, getPosJsonValue(PosProps.UndisAmount).toInt());
_order
=
DBSP
()
->
load
<
Order
>
(
r
.
begin
()
->
id
());
// 检查订单是否已结算
if
(
_order
->
settled
())
{
QString
info
=
QString
::
fromLocal8Bit
(
"订单已结算,不能再进行支付."
);
FMP_ERROR
()
<<
info
;
setError
(
FM_API_ERROR
,
info
);
return
;
}
}
}
catch
(
const
odb
::
exception
&
e
)
{
QString
info
=
QString
::
fromLocal8Bit
(
"查询订单时异常:%1"
).
arg
(
e
.
what
());
FMP_ERROR
()
<<
info
;
setError
(
FM_API_ERROR
,
info
);
return
;
}
QString
fm_open_id_pos
=
getPosJsonValue
(
PosProps
.
Fm_open_id
).
toString
();
QString
fm_open_id_session
=
session
()
->
data
(
PosProps
.
Fm_open_id
).
toString
();
if
(
fm_open_id_session
==
""
||
fm_open_id_pos
!=
fm_open_id_session
||
session
()
->
data
(
PosProps
.
CanPay
).
toBool
()
==
false
)
{
preTask
=
new
TaskLogin
(
posReqJsonObj
,
_session
,
this
);
preTask
->
session
()
->
addData
(
PosProps
.
FM_Type
,
FM_Pay
);
preTask
->
doTask
();
if
(
preTask
->
error
()
!=
FM_API_SUCCESS
)
{
this
->
setError
(
preTask
->
error
(),
preTask
->
errorString
());
}
this
->
_session
=
preTask
->
session
();
}
session
()
->
addData
(
PosProps
.
OrderAmount
,
getPosJsonValue
(
PosProps
.
OrderAmount
).
toInt
());
session
()
->
addData
(
PosProps
.
TransAmount
,
getPosJsonValue
(
PosProps
.
TransAmount
).
toInt
());
session
()
->
addData
(
PosProps
.
UndisAmount
,
getPosJsonValue
(
PosProps
.
UndisAmount
).
toInt
());
//! FIXME 启用couponThread线程后,网络异常时setError函数崩溃
//! FIXME 启用couponThread线程后,网络异常时setError函数崩溃
// couponThread = new TaskCouponThread(posReqJsonObj, _session, this);
// couponThread = new TaskCouponThread(posReqJsonObj, _session, this);
...
@@ -182,72 +210,83 @@ void TaskPay::packageServerReq()
...
@@ -182,72 +210,83 @@ void TaskPay::packageServerReq()
void
TaskPay
::
packagePOSRsp
()
void
TaskPay
::
packagePOSRsp
()
{
{
//
int status = getServerJsonValue(PosProps.StatusCode).toInt();
int
status
=
getServerJsonValue
(
PosProps
.
StatusCode
).
toInt
();
//
QString orderId = getPosJsonValue(PosProps.OrderId).toString();
QString
orderId
=
getPosJsonValue
(
PosProps
.
OrderId
).
toString
();
//
QString transId = getPosJsonValue(PosProps.TransId).toString();
QString
transId
=
getPosJsonValue
(
PosProps
.
TransId
).
toString
();
//
QString fm_order_id = getServerJsonValue(PosProps.Fm_order_id).toString();
QString
fm_order_id
=
getServerJsonValue
(
PosProps
.
Fm_order_id
).
toString
();
//
QString fm_open_id = session()->data(PosProps.Fm_open_id).toString();
QString
fm_open_id
=
session
()
->
data
(
PosProps
.
Fm_open_id
).
toString
();
//
bool isOk = (status == FM_API_SUCCESS);
bool
isOk
=
(
status
==
FM_API_SUCCESS
);
//
posRspJsonObj[PosProps.StatusCode] = status;
posRspJsonObj
[
PosProps
.
StatusCode
]
=
status
;
//
posRspJsonObj[PosProps.Msg] = getServerJsonValue(PosProps.Msg);
posRspJsonObj
[
PosProps
.
Msg
]
=
getServerJsonValue
(
PosProps
.
Msg
);
//
posRspJsonObj[PosProps.Fm_open_id] = fm_open_id;
posRspJsonObj
[
PosProps
.
Fm_open_id
]
=
fm_open_id
;
//
posRspJsonObj[PosProps.Fm_order_id] = fm_order_id;
posRspJsonObj
[
PosProps
.
Fm_order_id
]
=
fm_order_id
;
//
posRspJsonObj[PosProps.Fm_trans_id] = fm_order_id;
posRspJsonObj
[
PosProps
.
Fm_trans_id
]
=
fm_order_id
;
// // 如果订单是新的,则保存在数据库中
// // 如果订单是新的,则保存在数据库中
// if(isOk && _order->isNew()) {
if
(
isOk
)
{
// _order->SetPropertiesByJson(posReqJsonObj);
_order
->
setFmOrderId
(
getServerJsonValue
(
PosProps
.
Fm_order_id
).
toString
());
// _order->SetPropertiesByJson(posRspJsonObj);
_order
->
setFmOpenId
(
fm_open_id
);
}
// FMItem::StoreInfo storeInfo;
// DBOP::GetLastItem(&storeInfo);
QJsonArray
servPayArray
=
getServerJsonValue
(
PosProps
.
Pay_list
).
toArray
();
// _order->setStoreInfoDBID(storeInfo.DBID());
//支付方式描述
QMap
<
QString
,
QString
>
description
;
// isOk = DBOP::Save(_order);
description
[
"20001"
]
=
QString
::
fromLocal8Bit
(
"会员储值金支付"
);
// }
description
[
"20002"
]
=
QString
::
fromLocal8Bit
(
"会员积分支付"
);
description
[
"20003"
]
=
QString
::
fromLocal8Bit
(
"代金券支付"
);
// QJsonArray servPayArray = getServerJsonValue("payList").toArray();
description
[
"20004"
]
=
QString
::
fromLocal8Bit
(
"商品券支付"
);
// //支付方式描述
description
[
"20005"
]
=
QString
::
fromLocal8Bit
(
"现金支付"
);
// QMap<QString, QString> description;
// description["20001"] = QString::fromLocal8Bit("会员储值金支付");
try
{
// description["20002"] = QString::fromLocal8Bit("会员积分支付");
// _transactionPay.reset(DBSP()->begin());
// description["20003"] = QString::fromLocal8Bit("代金券支付");
transaction
t
(
DBSP
()
->
begin
());
// description["20004"] = QString::fromLocal8Bit("商品券支付");
// description["20005"] = QString::fromLocal8Bit("现金支付");
//计算总支付额
QJsonArray
pay_ids
;
// //计算总支付额
int
totalPaid
=
0
;
// QJsonArray pay_ids;
for
(
int
i
=
0
;
i
<
servPayArray
.
size
();
i
++
)
// int totalPaid = 0;
{
// for(int i = 0; i < servPayArray.size(); i++)
QJsonObject
pay_id
;
// {
int
amount
=
servPayArray
[
i
].
toObject
()[
ServerProps
(
PosProps
.
Pay_amount
)].
toInt
();
// QJsonObject pay_id;
pay_id
[
PosProps
.
Pay_id
]
=
servPayArray
[
i
].
toObject
()[
ServerProps
(
PosProps
.
Pay_id
)].
toString
();
// int amount = servPayArray[i].toObject()[ServerProps(PosProps.Pay_amount)].toInt();
pay_id
[
PosProps
.
Pay_str
]
=
description
[
servPayArray
[
i
].
toObject
()[
"typeModeFlag"
].
toString
()];
// pay_id[PosProps.Pay_id] = servPayArray[i].toObject()[ServerProps(PosProps.Pay_id)].toString();
pay_id
[
PosProps
.
Pay_amount
]
=
amount
;
// pay_id[PosProps.Pay_str] = description[servPayArray[i].toObject()["typeModeFlag"].toString()];
pay_id
[
PosProps
.
Coupon_code
]
=
servPayArray
[
i
].
toObject
()[
ServerProps
(
PosProps
.
Coupon_code
)].
toString
();
// pay_id[PosProps.Pay_amount] = amount;
pay_ids
.
push_back
(
pay_id
);
// pay_id[PosProps.Coupon_code] = servPayArray[i].toObject()[ServerProps(PosProps.Coupon_code)].toString();
// pay_ids.push_back(pay_id);
totalPaid
+=
pay_id
[
PosProps
.
Pay_amount
].
toInt
();
// totalPaid += pay_id[PosProps.Pay_amount].toInt();
if
(
isOk
&&
amount
!=
0
)
{
QSharedPointer
<
Pay
>
pay
(
new
Pay
());
// if(isOk && amount!=0) {
pay
->
setTransId
(
transId
);
// Pay *pay = new Pay();
pay
->
setAccount
(
fm_open_id
);
// pay->SetPropertiesByJson(pay_id);
pay
->
setFmTransId
(
transId
);
// pay->setTransId(transId);
pay
->
setPayId
(
pay_id
[
PosProps
.
Pay_id
].
toString
());
// pay->setOrderDBID(_order->DBID());
pay
->
setPayStr
(
pay_id
[
PosProps
.
Pay_str
].
toString
());
// pay->setAccount(fm_open_id);
pay
->
setPayAmount
(
pay_id
[
PosProps
.
Pay_amount
].
toInt
());
// pay->setFmTransId(transId);
pay
->
setDisAmount
(
pay_id
[
PosProps
.
DisAmount
].
toInt
());
// DBOP::Save(pay);
pay
->
setOrder
(
_order
);
// _order->setPaidAmount(_order->paidAmount()+amount);
// DBOP::Save(_order);
DBSP
()
->
persist
(
pay
);
// delete pay;
// }
_order
->
setPaidAmount
(
_order
->
paidAmount
()
+
amount
);
// }
}
// posRspJsonObj[PosProps.PaidAmount] = totalPaid;
}
// posRspJsonObj[PosProps.Pay_list] = pay_ids;
posRspJsonObj
[
PosProps
.
PaidAmount
]
=
totalPaid
;
// posRspJsonObj[PosProps.DisAmount] = 0;
posRspJsonObj
[
PosProps
.
Pay_list
]
=
pay_ids
;
posRspJsonObj
[
PosProps
.
DisAmount
]
=
0
;
DBSP
()
->
persist
(
_order
);
t
.
commit
();
// _transactionPay.commit();
}
catch
(
const
odb
::
exception
&
e
)
{
QString
info
=
QString
::
fromLocal8Bit
(
"保存订单信息失败"
);
setError
(
FM_API_ERROR
,
info
);
FMP_ERROR
()
<<
info
<<
e
.
what
();
}
}
}
void
TaskPay
::
onPay
()
void
TaskPay
::
onPay
()
...
...
fmvip/task/taskpay.h
View file @
26d61fae
...
@@ -2,14 +2,11 @@
...
@@ -2,14 +2,11 @@
#define TASKPAY_H
#define TASKPAY_H
#include "fmtask.h"
#include "fmtask.h"
#include "taskothers.h"
#include "taskothers.h"
#include "database.h"
#include <QThread>
#include <QThread>
class
TaskCouponThread
;
class
TaskCouponThread
;
//namespace FMItem {
// class Order;
//}
class
TaskPay
:
public
FMTask
class
TaskPay
:
public
FMTask
{
{
Q_OBJECT
Q_OBJECT
...
@@ -28,7 +25,8 @@ private slots:
...
@@ -28,7 +25,8 @@ private slots:
private
:
private
:
TaskCouponThread
*
couponThread
;
TaskCouponThread
*
couponThread
;
// FMItem::Order *_order;
QSharedPointer
<
DB
::
Order
>
_order
;
// odb::transaction _transactionPay;
};
};
// 加载代金券的线程类
// 加载代金券的线程类
...
...
tests/tests.pro
View file @
26d61fae
TEMPLATE
=
subdirs
TEMPLATE
=
subdirs
SUBDIRS
+=
\
SUBDIRS
+=
\
#
testplugin \
testplugin
\
autotest
autotest
CONFIG
+=
ordered
CONFIG
+=
ordered
version.h
View file @
26d61fae
...
@@ -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
39
#define VER_BUILD
42
//! Convert version numbers to string
//! Convert version numbers to string
#define _STR(S) #S
#define _STR(S) #S
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment