Commit efa6e978 by wuyang.zou

Support Arm Linux

黑金会员+黑金打印优先

Version: 5.2024.3.18
parent b35fabb6
...@@ -206,13 +206,13 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef) ...@@ -206,13 +206,13 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
"is_package, last_pay_time, address_latitude, address_longitude, oms_msrno, consumer_birthday, cancel_reason, confirm_time,customer_id,customer_gender," "is_package, last_pay_time, address_latitude, address_longitude, oms_msrno, consumer_birthday, cancel_reason, confirm_time,customer_id,customer_gender,"
"way_bill_id,store_id,store_name,store_address,store_street, pos_id, lang, ext_info, rider_phone, rider_name, " "way_bill_id,store_id,store_name,store_address,store_street, pos_id, lang, ext_info, rider_phone, rider_name, "
"displateform_fee, make_status, make_source, make_device_id,reserve_type, appointed_time,appointed_remind_template,sub_store_id, " "displateform_fee, make_status, make_source, make_device_id,reserve_type, appointed_time,appointed_remind_template,sub_store_id, "
"global_order_type,global_service_type,platform_source,callback_url ) " "global_order_type,global_service_type,platform_source,callback_url, member_level, pcs_extend_list ) "
"VALUES(?, ?, ?, ?, ?,?, ?, ?, ?, ?, " "VALUES(?, ?, ?, ?, ?,?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?," "?, ?, ?, ?, ?, ?, ?, ?, ?, ?,"
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ); "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" );
query.addBindValue(orderObj->id); // --非码OMS订单号 query.addBindValue(orderObj->id); // --非码OMS订单号
query.addBindValue(orderObj->id); // --非码OMS订单号 query.addBindValue(orderObj->id); // --非码OMS订单号
...@@ -331,6 +331,20 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef) ...@@ -331,6 +331,20 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
tempPcsCallbackUrl = m_puginInitUrl.mid(0, m_puginInitUrl.length() - 4) + "pcs/order/pms/callback"; tempPcsCallbackUrl = m_puginInitUrl.mid(0, m_puginInitUrl.length() - 4) + "pcs/order/pms/callback";
} }
query.addBindValue( tempPcsCallbackUrl ); // --平台来源枚举值 //PCS系统拼接的 callback_url query.addBindValue( tempPcsCallbackUrl ); // --平台来源枚举值 //PCS系统拼接的 callback_url
query.addBindValue( orderObj->memberLevel ); // 会员等级;
query.addBindValue( orderObj->posExtendListString ); // POS/PCS 扩展属性列表;
/*
QStringList tempSlist;
QString tempPcsExtendList;
if ( orderObj->posExtendList.isEmpty() ) {
tempPcsExtendList = QString("");
} else {
foreach (PosExtendObject* posExtend, orderObj->posExtendList) {
tempSlist.append( posExtend->objectToString() );
}
tempPcsExtendList = QString("[").toUtf8() + tempSlist.join(",") + QString("]").toUtf8();
}
*/
if(!query.exec()) { if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---PmsOrdersData::insertOrderData:Insert Order Error--->>>>]"<<query.lastError().text() QLOG_ERROR()<<"[<<<<---PmsOrdersData::insertOrderData:Insert Order Error--->>>>]"<<query.lastError().text()
...@@ -344,10 +358,12 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef) ...@@ -344,10 +358,12 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
"last_pay_time, address_latitude, address_longitude, oms_msrno, consumer_birthday, cancel_reason, " "last_pay_time, address_latitude, address_longitude, oms_msrno, consumer_birthday, cancel_reason, "
"confirm_time,customer_id,customer_gender,way_bill_id,store_id,store_name,store_address,store_street, " "confirm_time,customer_id,customer_gender,way_bill_id,store_id,store_name,store_address,store_street, "
"pos_id, lang, ext_info, rider_phone, rider_name, displateform_fee, make_status, make_source, make_device_id," "pos_id, lang, ext_info, rider_phone, rider_name, displateform_fee, make_status, make_source, make_device_id,"
" reserve_type, appointed_time,appointed_remind_template,sub_store_id,global_order_type,global_service_type,platform_source,callback_url ) " " reserve_type, appointed_time,appointed_remind_template,sub_store_id,global_order_type,global_service_type,platform_source,"
" callback_url, member_level, pcs_extend_list ) "
"VALUES(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17, %18, %19, %20, " "VALUES(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17, %18, %19, %20, "
"%21, %22, %23, %24, %25, %26, %27, %28, %29, %30, %31, %32, %33, %34, %35, %36, %37, %38, %39, %40," "%21, %22, %23, %24, %25, %26, %27, %28, %29, %30, %31, %32, %33, %34, %35, %36, %37, %38, %39, %40,"
"%41, %42, %43, %44, %45, %46, %47, %48, %49, %50, %51, %52, %53, %54,%55,%56,%57,%58,%59,%60,%61,%62)") "%41, %42, %43, %44, %45, %46, %47, %48, %49, %50, %51, %52, %53, %54,%55,%56,%57,%58,%59,%60,%61,"
"%62,%63,%64 )")
.arg(orderObj->id).arg(orderObj->id).arg(orderObj->orderStatus).arg(updateTimeString).arg( tempChannel ) .arg(orderObj->id).arg(orderObj->id).arg(orderObj->orderStatus).arg(updateTimeString).arg( tempChannel )
.arg(orderObj->orderType).arg(tempOrderTypeId) .arg(orderObj->orderType).arg(tempOrderTypeId)
.arg(orderObj->pickupCode).arg(orderObj->totalPrice * 0.01).arg(orderObj->productPrice * 0.01).arg(orderObj->orderDiscount * 0.01) .arg(orderObj->pickupCode).arg(orderObj->totalPrice * 0.01).arg(orderObj->productPrice * 0.01).arg(orderObj->orderDiscount * 0.01)
...@@ -362,7 +378,8 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef) ...@@ -362,7 +378,8 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
.arg("").arg(orderObj->lang).arg(orderObj->memo).arg(orderObj->riderPhone).arg(orderObj->riderName) .arg("").arg(orderObj->lang).arg(orderObj->memo).arg(orderObj->riderPhone).arg(orderObj->riderName)
.arg(orderObj->disPlateformFee * 0.01).arg(orderObj->makeStatus).arg(orderObj->makeSource).arg(orderObj->makeDeviceId) .arg(orderObj->disPlateformFee * 0.01).arg(orderObj->makeStatus).arg(orderObj->makeSource).arg(orderObj->makeDeviceId)
.arg( tempBusinessType ).arg(orderObj->expectDate).arg( QString::number(orderObj->inAdvanceTakemeal) + ";" + orderObj->reserveMakeTime ) .arg( tempBusinessType ).arg(orderObj->expectDate).arg( QString::number(orderObj->inAdvanceTakemeal) + ";" + orderObj->reserveMakeTime )
.arg(orderObj->subStoreId).arg(orderObj->globalOrderType).arg(orderObj->globalServiceType).arg(orderObj->platformSource).arg( tempPcsCallbackUrl ); .arg(orderObj->subStoreId).arg(orderObj->globalOrderType).arg(orderObj->globalServiceType).arg(orderObj->platformSource)
.arg( tempPcsCallbackUrl ).arg( orderObj->memberLevel ).arg( orderObj->posExtendListString );
} else { } else {
QLOG_INFO()<<QString("[<<<<---PmsOrdersData::insertOrderData:Insert OrderId %1 Into PMS Order Success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---PmsOrdersData::insertOrderData:Insert OrderId %1 Into PMS Order Success--->>>>]").arg(orderObj->id);
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <QObject> #include <QObject>
#include <QMutex> #include <QMutex>
#include "Model/orderObject.h" #include "Model/orderObject.h"
// #include "Model/PosExtendObject.h"
#include <Model/couponsObject.h> #include <Model/couponsObject.h>
#include <Model/singleProductObject.h> #include <Model/singleProductObject.h>
#include "preDefine.h" #include "preDefine.h"
......
...@@ -122,9 +122,33 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -122,9 +122,33 @@ void OrderObject::FromJson(const QJsonObject &json)
paymObject->FetchDataFromJson(paymJson); paymObject->FetchDataFromJson(paymJson);
paymentList.append(paymObject); paymentList.append(paymObject);
} }
//解析多条POS扩展属性 List;
/*
QJsonArray posExtends = json[JSON_POS_EXTEND_LIST].toArray();
foreach(QJsonValue posExtend, posExtends)
{
QJsonObject posExtendJson = posExtend.toObject();
PosExtendObject *posExtendObject = new PosExtendObject(this);
posExtendObject->qty = 0;
posExtendObject->FetchDataFromJson(posExtendJson);
posExtendList.append(posExtendObject);
}
*/
QJsonArray posExtends = json[JSON_POS_EXTEND_LIST].toArray();
if ( posExtends.isEmpty() ) {
posExtendListString = QString("");
} else {
QJsonDocument tempDoc( posExtends );
// 获取JSON文本表示形式的字符串
QByteArray tempByteArray = tempDoc.toJson(QJsonDocument::Compact);
posExtendListString = QString::fromUtf8( tempByteArray );
}
return; return;
} }
void OrderObject::FetchDataFromJson(const QJsonObject &json) void OrderObject::FetchDataFromJson(const QJsonObject &json)
{ {
QStringList keys = json.keys(); QStringList keys = json.keys();
...@@ -139,6 +163,7 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json) ...@@ -139,6 +163,7 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json)
return; return;
} }
QString OrderObject::getChannelName() QString OrderObject::getChannelName()
{ {
if ( "MOD" == channel ) { if ( "MOD" == channel ) {
...@@ -240,6 +265,7 @@ QString OrderObject::getChannelName() ...@@ -240,6 +265,7 @@ QString OrderObject::getChannelName()
} }
} }
QString OrderObject::getOrderStatusDec() QString OrderObject::getOrderStatusDec()
{ {
switch(orderStatus) switch(orderStatus)
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
#include "Model/dishesObject.h" #include "Model/dishesObject.h"
#include "Model/couponsObject.h" #include "Model/couponsObject.h"
#include "Model/paymentObject.h" #include "Model/paymentObject.h"
// #include "Model/PosExtendObject.h"
#include <QDateTime> #include <QDateTime>
#include <QJsonDocument>
class OrderObject : public QObject class OrderObject : public QObject
{ {
...@@ -113,6 +115,7 @@ class OrderObject : public QObject ...@@ -113,6 +115,7 @@ class OrderObject : public QObject
Q_PROPERTY (bool deliveryAtProd READ getDeliveryAtProd WRITE setDeliveryAtProd) Q_PROPERTY (bool deliveryAtProd READ getDeliveryAtProd WRITE setDeliveryAtProd)
Q_PROPERTY (bool packageFeeAtProduct READ getPackageFeeAtProduct WRITE setPackageFeeAtProduct) Q_PROPERTY (bool packageFeeAtProduct READ getPackageFeeAtProduct WRITE setPackageFeeAtProduct)
Q_PROPERTY (QString memberLevel READ getMemberLevel WRITE setMemberLevel)
public: public:
OrderObject(QObject *parent=0) OrderObject(QObject *parent=0)
...@@ -138,6 +141,15 @@ public: ...@@ -138,6 +141,15 @@ public:
//扩展 星巴克 多条支付方式入机 List; //扩展 星巴克 多条支付方式入机 List;
QList<PaymentObject*>paymentList; QList<PaymentObject*>paymentList;
// 扩展 星巴克 多条 POS打印扩展属性List;
// POS/PCS 扩展列表: 优先打印,店用餐具,一次性杯,自带杯
// {printType->string,qty->int,printName->string,printDesc->string}
// printType: 打印类型 1001:优先制作 1101:店用餐具 1102:一次性杯 1103:自带杯
// qty: 数量(自带杯)
// printName: 打印名称
// printDesc: 打印描述
// QList<PosExtendObject*>posExtendList; //不可动态新增字段,在PosExtendObject转序列化时会丢失新增字段; 顾放弃此模式;
public: public:
QString id =""; //编号 QString id =""; //编号
...@@ -250,6 +262,16 @@ public: ...@@ -250,6 +262,16 @@ public:
int dataBaseIsORSPushInt = 0; int dataBaseIsORSPushInt = 0;
int dataBaseIsORSCancleInt = 0; int dataBaseIsORSCancleInt = 0;
QString dataBasePosOrderCheckNo = ""; QString dataBasePosOrderCheckNo = "";
QString memberLevel; // 会员等级: 黑金-Black、金星-Gold、玉星-Green、银星-Welcome;
QString posExtendListString;
// 扩展 星巴克 多条 POS打印扩展属性List;
// POS/PCS 扩展列表: 优先打印,店用餐具,一次性杯,自带杯
// {printType->string,qty->int,printName->string,printDesc->string}
// printType: 打印类型 1001:优先制作 1101:店用餐具 1102:一次性杯 1103:自带杯
// qty: 数量(自带杯)
// printName: 打印名称
// printDesc: 打印描述
QString getChannelName(); QString getChannelName();
...@@ -533,6 +555,9 @@ public: ...@@ -533,6 +555,9 @@ public:
inline bool getPackageFeeAtProduct()const{return packageFeeAtProduct;} inline bool getPackageFeeAtProduct()const{return packageFeeAtProduct;}
inline void setPackageFeeAtProduct(const bool& v){packageFeeAtProduct = v;} inline void setPackageFeeAtProduct(const bool& v){packageFeeAtProduct = v;}
inline QString getMemberLevel()const{return memberLevel;}
inline void setMemberLevel(const QString& v){memberLevel = v;}
}; };
#endif // ORDEROBJECT_H #endif // ORDEROBJECT_H
...@@ -74,11 +74,17 @@ public: ...@@ -74,11 +74,17 @@ public:
} }
} }
if ( macAddressList.size() ) { // MAC地址列表大于1时(需要进行升序排序);
if ( macAddressList.size() > 1 ) {
qSort(macAddressList.begin(), macAddressList.end(), [] (const QString& s1, const QString& s2) { qSort(macAddressList.begin(), macAddressList.end(), [] (const QString& s1, const QString& s2) {
return s1 < s2; return s1 < s2;
} ); } );
macAddress = macAddressList.first(); macAddress = macAddressList.first();
// MAC地址列表等于1时(无需排序,直接取唯一的值)
} else if ( macAddressList.size() == 1 ) {
macAddress = macAddressList.first();
} else {
// Do Nothing;
} }
// ip 地址可能存在多个,故还是需要像 upp 一样,将全部 ip 地址进行排序后,取第一个 // ip 地址可能存在多个,故还是需要像 upp 一样,将全部 ip 地址进行排序后,取第一个
...@@ -93,14 +99,19 @@ public: ...@@ -93,14 +99,19 @@ public:
ipAddressList.append( hadr.toString() ); ipAddressList.append( hadr.toString() );
} }
} }
if ( ipAddressList.size() ) { // IP地址列表大于1时(需要进行升序排序);
if ( ipAddressList.size() > 1 ) {
qSort(ipAddressList.begin(), ipAddressList.end(), [] (const QString& s1, const QString& s2) { qSort(ipAddressList.begin(), ipAddressList.end(), [] (const QString& s1, const QString& s2) {
return s1 < s2; return s1 < s2;
} ); } );
ipAddress = ipAddressList.first(); ipAddress = ipAddressList.first();
// MAC地址列表等于1时(无需排序,直接取唯一的值)
} else if ( ipAddressList.size() == 1 ) {
ipAddress = ipAddressList.first();
} else {
// Do Nothing;
} }
if ( macAddress.isEmpty() || ipAddress.isEmpty() ) { if ( macAddress.isEmpty() || ipAddress.isEmpty() ) {
QLOG_ERROR()<<QString("GetMacByAdaptersAddresses:: Local Hardware Address Acquisition Failed || Local IP Address Failed"); QLOG_ERROR()<<QString("GetMacByAdaptersAddresses:: Local Hardware Address Acquisition Failed || Local IP Address Failed");
} else { } else {
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
#define APP_THEME "deaufult" #define APP_THEME "deaufult"
// #define APP_VERSION "4.2023.10.12" // #define APP_VERSION "4.2023.10.12"
#define APP_VERSION "5.2023.11.10" #define APP_VERSION "5.2024.3.18"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号 //[Arm-Linux 不用修改] 修正版本号时,切记修正 FmTakeout.rc 中的版本号
#define SERVER_PASSWORD "posoperator@freemud.cn" #define SERVER_PASSWORD "posoperator@freemud.cn"
...@@ -112,6 +112,7 @@ ...@@ -112,6 +112,7 @@
#define JSON_PRODUCTS "products" #define JSON_PRODUCTS "products"
#define JSON_COUPONS "coupons" #define JSON_COUPONS "coupons"
#define JSON_PAYMENTS "PaymentObjs" #define JSON_PAYMENTS "PaymentObjs"
#define JSON_POS_EXTEND_LIST "posExtendList"
#define JSON_SUBPRODUCTS "addExtra" #define JSON_SUBPRODUCTS "addExtra"
#define JSON_COUPONPRODUCTS "skus" #define JSON_COUPONPRODUCTS "skus"
#define JSON_ID "id" #define JSON_ID "id"
...@@ -187,7 +188,7 @@ ...@@ -187,7 +188,7 @@
// 写报文超时时间(单位: 毫秒); // 写报文超时时间(单位: 毫秒);
#define SOCKET_WRITE_TIMEOUT_INTERVAL 15*1000 #define SOCKET_WRITE_TIMEOUT_INTERVAL 15*1000
// 启动超时时间(单位: 毫秒); // 启动超时时间(单位: 毫秒);
#define SOCKET_START_TIMEOUT_INTERVAL 1*10*1000 #define SOCKET_START_TIMEOUT_INTERVAL 2*10*1000
// 短超时时间(单位: 毫秒); // 短超时时间(单位: 毫秒);
#define SOCKET_SHORT_TIMEOUT_INTERVAL 2*30*1000 #define SOCKET_SHORT_TIMEOUT_INTERVAL 2*30*1000
// 长超时时间(单位: 毫秒); // 长超时时间(单位: 毫秒);
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2023-10-29T19:50:09. --> <!-- Written by QtCreator 4.11.1, 2023-11-10T16:32:51. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
......
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