Commit 161b5df4 by wuyang.zou

support o2o-fulfillment auto insert option

Version: 2.2022.11.30
parent 0d527a29
Pipeline #42053 canceled with stage
in 0 seconds
...@@ -939,12 +939,12 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -939,12 +939,12 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QLOG_INFO() << QString("[<<<<---PrintSumBillPosDB.getInstance().syncOrderDataToDB orderId:%1 syncOrderRet:%2--->>>>]").arg(orderObject->id).arg(syncOrderRet); QLOG_INFO() << QString("[<<<<---PrintSumBillPosDB.getInstance().syncOrderDataToDB orderId:%1 syncOrderRet:%2--->>>>]").arg(orderObject->id).arg(syncOrderRet);
// 更新订单的重打方式【支持补打方式】; // 更新订单的重打方式【支持补打方式】;
if ( orderObject->options.length() && orderObject->options.contains(JSON_PRINT_OPT) ) { if ( orderObject->pluginOptions.length() && orderObject->pluginOptions.contains(JSON_PRINT_OPT) ) {
QJsonObject printOptions= orderObject->options[JSON_PRINT_OPT].toObject(); QJsonObject printOptions= orderObject->pluginOptions[JSON_PRINT_OPT].toObject();
bool reprintOrderRet = PrintMsgQueueDB::getInstance().resetPrintMsgStatus(orderObject, printOptions); bool reprintOrderRet = PrintMsgQueueDB::getInstance().resetPrintMsgStatus(orderObject, printOptions);
QLOG_INFO() << QString("[<<<<---PrintMsgQueueDB.getInstance().resetPrintMsgStatus orderId:%1 reprintOrderRet:%2, printOpt= --->>>>]") QLOG_INFO() << QString("[<<<<---PrintMsgQueueDB.getInstance().resetPrintMsgStatus orderId:%1 reprintOrderRet:%2, printOpt= --->>>>]")
.arg(orderObject->id).arg(reprintOrderRet?1:0) << printOptions; .arg(orderObject->id).arg(reprintOrderRet?1:0) << printOptions;
orderObject->options = QJsonObject(); // 补打完成后,必须清空补打选项设置; 否则订单状态后续变化将会出现重复打印; orderObject->pluginOptions = QJsonObject(); // 补打完成后,必须清空补打选项设置; 否则订单状态后续变化将会出现重复打印;
} }
} }
...@@ -975,12 +975,12 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -975,12 +975,12 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
} }
// 更新订单的重打方式【支持补打方式】; // 更新订单的重打方式【支持补打方式】;
if ( orderObject->options.length() && orderObject->options.contains(JSON_PRINT_OPT) ) { if ( orderObject->pluginOptions.length() && orderObject->pluginOptions.contains(JSON_PRINT_OPT) ) {
QJsonObject printOptions= orderObject->options[JSON_PRINT_OPT].toObject(); QJsonObject printOptions= orderObject->pluginOptions[JSON_PRINT_OPT].toObject();
int reprintOrderRet = PrintMsgQueueDB::getInstance().resetPrintMsgStatus(orderObject, printOptions ); int reprintOrderRet = PrintMsgQueueDB::getInstance().resetPrintMsgStatus(orderObject, printOptions );
QLOG_INFO() << QString("[<<<<---PrintMsgQueueDB.getInstance().resetPrintMsgStatus orderId:%1 reprintOrderRet:%2, printOpt= --->>>>]") QLOG_INFO() << QString("[<<<<---PrintMsgQueueDB.getInstance().resetPrintMsgStatus orderId:%1 reprintOrderRet:%2, printOpt= --->>>>]")
.arg(orderObject->id).arg(reprintOrderRet) << printOptions; .arg(orderObject->id).arg(reprintOrderRet) << printOptions;
orderObject->options = QJsonObject(); // 补打完成后,必须清空补打选项设置; 否则订单状态后续变化将会出现重复打印; orderObject->pluginOptions = QJsonObject(); // 补打完成后,必须清空补打选项设置; 否则订单状态后续变化将会出现重复打印;
} }
} }
...@@ -1500,8 +1500,8 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe ...@@ -1500,8 +1500,8 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
if ( !order.contains( JSON_SKIP_PRINT ) ) { if ( !order.contains( JSON_SKIP_PRINT ) ) {
order.insert( JSON_SKIP_PRINT, skipPrint ); order.insert( JSON_SKIP_PRINT, skipPrint );
} }
if ( !order.contains( JSON_PUSH_OPTIONS ) ) { if ( !order.contains( JSON_PUSH_PLUGIN_OPTIONS ) ) {
order.insert( JSON_PUSH_OPTIONS, pushOptins ); order.insert( JSON_PUSH_PLUGIN_OPTIONS, pushOptins );
} }
_OrderAnalysis(order); _OrderAnalysis(order);
} }
...@@ -4176,7 +4176,7 @@ void FlowControl::onProcessRetryInputOrder(const QString &orderId) ...@@ -4176,7 +4176,7 @@ void FlowControl::onProcessRetryInputOrder(const QString &orderId)
orderPull->pullErrorCount = 0; orderPull->pullErrorCount = 0;
orderPull->callBackUrl = TempOrderObject->callBackUrl; orderPull->callBackUrl = TempOrderObject->callBackUrl;
orderPull->skipPrint = TempOrderObject->skipPrint; orderPull->skipPrint = TempOrderObject->skipPrint;
orderPull->pushOptions = TempOrderObject->options; orderPull->pushOptions = TempOrderObject->pluginOptions;
m_orderPullList.append(orderPull); m_orderPullList.append(orderPull);
m_PullOrderDataMutex.unlock(); m_PullOrderDataMutex.unlock();
} }
......
...@@ -193,8 +193,8 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -193,8 +193,8 @@ void OrderObject::FromJson(const QJsonObject &json)
} }
// 更新 QJsonObject Value; // 更新 QJsonObject Value;
if (json.contains(JSON_PUSH_OPTIONS) ) { if (json.contains(JSON_PUSH_PLUGIN_OPTIONS) ) {
options = json[JSON_PUSH_OPTIONS].toObject(); pluginOptions = json[JSON_PUSH_PLUGIN_OPTIONS].toObject();
} }
// 转换并存储 星巴克支付方式相关信息; // 转换并存储 星巴克支付方式相关信息;
......
...@@ -113,7 +113,7 @@ class OrderObject : public QObject ...@@ -113,7 +113,7 @@ class OrderObject : public QObject
Q_PROPERTY (QString privacyPhone READ getPrivacyPhone WRITE setPrivacyPhone) Q_PROPERTY (QString privacyPhone READ getPrivacyPhone WRITE setPrivacyPhone)
Q_PROPERTY (QString callBackUrl READ getCallBackUrl WRITE setCallBackUrl) Q_PROPERTY (QString callBackUrl READ getCallBackUrl WRITE setCallBackUrl)
Q_PROPERTY (bool skipPrint READ getSkipPrint WRITE setSkipPrint) Q_PROPERTY (bool skipPrint READ getSkipPrint WRITE setSkipPrint)
Q_PROPERTY (QJsonObject options READ getOptions WRITE setOptions) Q_PROPERTY (QJsonObject pluginOptions READ getPluginOptions WRITE setPluginOptions)
public: public:
OrderObject(QObject *parent=0) OrderObject(QObject *parent=0)
...@@ -266,7 +266,7 @@ public: ...@@ -266,7 +266,7 @@ public:
QString callBackUrl; // 为 Fulfillment Service 后多个OMS, 用于获取订单详情, 和汇报订单入机情况: 拉取订单详情成功时手动添加到订单json报文体中为了入机汇报接口; QString callBackUrl; // 为 Fulfillment Service 后多个OMS, 用于获取订单详情, 和汇报订单入机情况: 拉取订单详情成功时手动添加到订单json报文体中为了入机汇报接口;
bool skipPrint; // 上游推送的订单 是否跳过打印; bool skipPrint; // 上游推送的订单 是否跳过打印;
//上游推送插件简要消息中包含的 key->options 特殊属性值: 将此属性值存储订单对象内存中 //上游推送插件简要消息中包含的 key->options 特殊属性值: 将此属性值存储订单对象内存中
QJsonObject options; QJsonObject pluginOptions;
int forwardPosStatus; // 正向单入机状态: 0:未知 1: 成功 2:失败; int forwardPosStatus; // 正向单入机状态: 0:未知 1: 成功 2:失败;
int negativePosStatus; // 负向单同上; int negativePosStatus; // 负向单同上;
...@@ -581,8 +581,8 @@ public: ...@@ -581,8 +581,8 @@ public:
inline bool getSkipPrint()const{return skipPrint;} inline bool getSkipPrint()const{return skipPrint;}
inline void setSkipPrint(const bool& v){skipPrint = v;} inline void setSkipPrint(const bool& v){skipPrint = v;}
inline QJsonObject getOptions()const{return options;} inline QJsonObject getPluginOptions()const{return pluginOptions;}
inline void setOptions(const QJsonObject& v){options = v;} inline void setPluginOptions(const QJsonObject& v){pluginOptions = v;}
}; };
......
...@@ -169,6 +169,7 @@ ...@@ -169,6 +169,7 @@
#define JSON_CALL_BACK_URL "callBackUrl" #define JSON_CALL_BACK_URL "callBackUrl"
#define JSON_SKIP_PRINT "skipPrint" #define JSON_SKIP_PRINT "skipPrint"
#define JSON_PUSH_OPTIONS "options" #define JSON_PUSH_OPTIONS "options"
#define JSON_PUSH_PLUGIN_OPTIONS "pluginOptions"
#define JSON_PRINT_OPT "printOpt" #define JSON_PRINT_OPT "printOpt"
#define JSON_PRINT_OPT_ALL "all" #define JSON_PRINT_OPT_ALL "all"
#define JSON_PRINT_OPT_SUM "summary" #define JSON_PRINT_OPT_SUM "summary"
......
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