Commit 107b62e6 by NitefullWind

1. 开发结算和退款接口。

parent 84c508d0
...@@ -16,9 +16,7 @@ const static QStringList FM_Type_List = QString( ...@@ -16,9 +16,7 @@ const static QStringList FM_Type_List = QString(
"member_charge_request," "member_charge_request,"
"order_request," "order_request,"
"integral_request," "integral_request,"
"order_refund_request," "refund_request").split(",");
"charge_refund_request,"
"order_revoke_request" ).split(",");
// 服务端请求类型 // 服务端请求类型
const static QStringList FM_Server_Type = QString( const static QStringList FM_Server_Type = QString(
...@@ -27,9 +25,9 @@ const static QStringList FM_Server_Type = QString( ...@@ -27,9 +25,9 @@ const static QStringList FM_Server_Type = QString(
"member_charge_request," "member_charge_request,"
"order_request," "order_request,"
"integral_request," "integral_request,"
"refund,"
"order_refund_request," "order_refund_request,"
"charge_refund_request," "order_correct_request" ).split(",");
"order_revoke_request" ).split(",");
// 请求类型的枚举值 // 请求类型的枚举值
enum FM_TYPE { enum FM_TYPE {
...@@ -38,9 +36,9 @@ enum FM_TYPE { ...@@ -38,9 +36,9 @@ enum FM_TYPE {
FM_Fund, FM_Fund,
FM_Pay, FM_Pay,
FM_Final, FM_Final,
FM_Refund,
FM_Order_Refund, FM_Order_Refund,
FM_Charge_Refund, FM_Order_Correct
FM_Order_Revoke
}; };
enum Member_Type { enum Member_Type {
...@@ -205,6 +203,9 @@ const PropsMap::value_type PropsMapPairs[] = ...@@ -205,6 +203,9 @@ const PropsMap::value_type PropsMapPairs[] =
PropsMap::value_type(PosProps.OrderAmount, "amount"), PropsMap::value_type(PosProps.OrderAmount, "amount"),
PropsMap::value_type(PosProps.PaidAmount, "pay_amount"), PropsMap::value_type(PosProps.PaidAmount, "pay_amount"),
PropsMap::value_type(PosProps.CodeAmount, "code_amount"), PropsMap::value_type(PosProps.CodeAmount, "code_amount"),
PropsMap::value_type(PosProps.CashAmount, "cash_amount"),
PropsMap::value_type(PosProps.ScoreAmount, "score_amount"),
PropsMap::value_type(PosProps.ThirdAmount, "third_amount"),
PropsMap::value_type(PosProps.Transaction, "transaction"), PropsMap::value_type(PosProps.Transaction, "transaction"),
PropsMap::value_type(PosProps.CouponList, "coupon_list"), PropsMap::value_type(PosProps.CouponList, "coupon_list"),
PropsMap::value_type(PosProps.Coupon_disAmount, "dis_amount"), PropsMap::value_type(PosProps.Coupon_disAmount, "dis_amount"),
......
#include "taskfactory.h" #include "taskfactory.h"
#include "tasklogin.h" #include "tasklogin.h"
#include "taskpay.h" #include "taskpay.h"
#include "taskfund.h" #include "taskfund.h"
...@@ -45,16 +45,8 @@ FMTask* TaskFactory::Task(QByteArray data) ...@@ -45,16 +45,8 @@ FMTask* TaskFactory::Task(QByteArray data)
task = new TaskCoupon(jsonObj); task = new TaskCoupon(jsonObj);
break; break;
} }
case FM_Order_Refund: { case FM_Refund: {
task = new TaskRefundOrder(jsonObj); task = new TaskRefund(jsonObj);
break;
}
case FM_Order_Revoke: {
task = new TaskRefundPay(jsonObj);
break;
}
case FM_Charge_Refund: {
task = new TaskRefundOrder(jsonObj);
break; break;
} }
default: default:
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "fmbackup.h" #include "fmbackup.h"
#include <QDateTime> #include <QDateTime>
#include <QJsonDocument> #include <QJsonDocument>
#include <QDebug>
TaskFinal::TaskFinal(QJsonObject &jsonObj, QObject *parent) TaskFinal::TaskFinal(QJsonObject &jsonObj, QObject *parent)
:FMTaskNoWnd(jsonObj, FM_Final, 0, parent) :FMTaskNoWnd(jsonObj, FM_Final, 0, parent)
...@@ -13,8 +14,9 @@ void TaskFinal::packageServerReq() ...@@ -13,8 +14,9 @@ void TaskFinal::packageServerReq()
std::vector<QString> p1; std::vector<QString> p1;
p1.push_back(PosProps.Fm_id); p1.push_back(PosProps.Fm_id);
p1.push_back(PosProps.TransId); p1.push_back(PosProps.TransId);
foreach (auto prop , p1) { foreach (QString prop , p1) {
serverRspJsonObj[ServerProps(prop)] = getPosJsonValue(prop); qDebug() << prop << getPosJsonValue(prop);
serverReqJsonObj[ServerProps(prop)] = getPosJsonValue(prop);
} }
QJsonObject trans; QJsonObject trans;
...@@ -22,7 +24,7 @@ void TaskFinal::packageServerReq() ...@@ -22,7 +24,7 @@ void TaskFinal::packageServerReq()
p2.push_back(PosProps.Fm_open_id); p2.push_back(PosProps.Fm_open_id);
p2.push_back(PosProps.OrderAmount); p2.push_back(PosProps.OrderAmount);
p2.push_back(PosProps.PaidAmount); p2.push_back(PosProps.PaidAmount);
foreach (auto prop , p2) { foreach (QString prop , p2) {
trans[ServerProps(prop)] = getPosJsonValue(prop); trans[ServerProps(prop)] = getPosJsonValue(prop);
} }
...@@ -30,7 +32,7 @@ void TaskFinal::packageServerReq() ...@@ -30,7 +32,7 @@ void TaskFinal::packageServerReq()
// 储值金、积分、第三方、代金券 // 储值金、积分、第三方、代金券
int codeAmount=0, scoreAmount=0, cashAmount=0, thirdAmount=0; int codeAmount=0, scoreAmount=0, cashAmount=0, thirdAmount=0;
trans["thirdPayType"] = 4; trans["third_pay_type"] = 4;
foreach(auto pay_v , getPosJsonValue(PosProps.Pay_ids).toArray()) foreach(auto pay_v , getPosJsonValue(PosProps.Pay_ids).toArray())
{ {
QJsonObject pay_ob = pay_v.toObject(); QJsonObject pay_ob = pay_v.toObject();
...@@ -43,12 +45,12 @@ void TaskFinal::packageServerReq() ...@@ -43,12 +45,12 @@ void TaskFinal::packageServerReq()
coupons.append(pay_ob[PosProps.Coupon_code].toString()); coupons.append(pay_ob[PosProps.Coupon_code].toString());
} else if(type == "10001" || type == "10004") { } else if(type == "10001" || type == "10004") {
thirdAmount = pay_ob[PosProps.Pay_amount].toInt(); thirdAmount = pay_ob[PosProps.Pay_amount].toInt();
trans[ServerProps(PosProps.Pay_transId)] = pay_ob[PosProps.Pay_transId]; trans["third_pay_trans_id"] = pay_ob[PosProps.Pay_transId];
if (type == "10001") { // 支付宝 if (type == "10001") { // 支付宝
trans["thirdPayType"] = 1; trans["third_pay_type"] = 1;
} else if(type == "10004") { // 微信 } else if(type == "10004") { // 微信
trans["thirdPayType"] = 2; trans["third_pay_type"] = 2;
} }
} }
} }
......
...@@ -60,9 +60,37 @@ void TaskCoupon::packagePOSRsp() ...@@ -60,9 +60,37 @@ void TaskCoupon::packagePOSRsp()
TaskRefund::TaskRefund(QJsonObject &jsonObj, QObject *parent)
:FMTaskNoWnd(jsonObj, FM_Refund, 0, parent)
{
}
void TaskRefund::packageServerReq()
{
}
void TaskRefund::packagePOSRsp()
{
}
QByteArray TaskRefund::doTask()
{
if(posReqJsonObj.contains(PosProps.Fm_id) && getPosJsonValue(PosProps.Fm_id).toString() != "") {
TaskRefundOrder task(posReqJsonObj, this);
return task.doTask();
} else {
TaskRefundPay task(posReqJsonObj, this);
return task.doTask();
}
}
TaskRefundPay::TaskRefundPay(QJsonObject &jsonObj, QObject *parent) TaskRefundPay::TaskRefundPay(QJsonObject &jsonObj, QObject *parent)
:FMTaskNoWnd(jsonObj, FM_Order_Revoke, 0, parent) :FMTaskNoWnd(jsonObj, FM_Order_Refund, 0, parent)
{ {
} }
...@@ -85,16 +113,14 @@ void TaskRefundPay::packagePOSRsp() ...@@ -85,16 +113,14 @@ void TaskRefundPay::packagePOSRsp()
TaskRefundOrder::TaskRefundOrder(QJsonObject &jsonObj, QObject *parent) TaskRefundOrder::TaskRefundOrder(QJsonObject &jsonObj, QObject *parent)
:FMTaskNoWnd(jsonObj, FM_Order_Refund, 0, parent) :FMTaskNoWnd(jsonObj, FM_Order_Correct, 0, parent)
{ {
} }
void TaskRefundOrder::packageServerReq() void TaskRefundOrder::packageServerReq()
{ {
QJsonObject trans; serverReqJsonObj[ServerProps(PosProps.Fm_id)] = getPosJsonValue(PosProps.Fm_id);
trans[ServerProps(PosProps.Fm_id)] = getPosJsonValue(PosProps.Fm_id);
serverReqJsonObj[ServerProps(PosProps.Transaction)] = trans;
} }
void TaskRefundOrder::packagePOSRsp() void TaskRefundOrder::packagePOSRsp()
......
...@@ -13,6 +13,19 @@ public: ...@@ -13,6 +13,19 @@ public:
void packagePOSRsp(); void packagePOSRsp();
}; };
// POS退款
class TaskRefund : public FMTaskNoWnd
{
Q_OBJECT
public:
explicit TaskRefund(QJsonObject &jsonObj, QObject *parent = 0);
void packageServerReq();
void packagePOSRsp();
protected:
QByteArray doTask();
};
// 支付退款 // 支付退款
class TaskRefundPay : public FMTaskNoWnd class TaskRefundPay : public FMTaskNoWnd
{ {
......
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