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)
"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, "
"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(?, ?, ?, ?, ?,?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?,"
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" );
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" );
query.addBindValue(orderObj->id); // --非码OMS订单号
query.addBindValue(orderObj->id); // --非码OMS订单号
......@@ -331,6 +331,20 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
tempPcsCallbackUrl = m_puginInitUrl.mid(0, m_puginInitUrl.length() - 4) + "pcs/order/pms/callback";
}
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()) {
QLOG_ERROR()<<"[<<<<---PmsOrdersData::insertOrderData:Insert Order Error--->>>>]"<<query.lastError().text()
......@@ -344,10 +358,12 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
"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, 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, "
"%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->orderType).arg(tempOrderTypeId)
.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)
.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( 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 {
QLOG_INFO()<<QString("[<<<<---PmsOrdersData::insertOrderData:Insert OrderId %1 Into PMS Order Success--->>>>]").arg(orderObj->id);
......
......@@ -7,6 +7,7 @@
#include <QObject>
#include <QMutex>
#include "Model/orderObject.h"
// #include "Model/PosExtendObject.h"
#include <Model/couponsObject.h>
#include <Model/singleProductObject.h>
#include "preDefine.h"
......
......@@ -122,9 +122,33 @@ void OrderObject::FromJson(const QJsonObject &json)
paymObject->FetchDataFromJson(paymJson);
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;
}
void OrderObject::FetchDataFromJson(const QJsonObject &json)
{
QStringList keys = json.keys();
......@@ -139,6 +163,7 @@ void OrderObject::FetchDataFromJson(const QJsonObject &json)
return;
}
QString OrderObject::getChannelName()
{
if ( "MOD" == channel ) {
......@@ -240,6 +265,7 @@ QString OrderObject::getChannelName()
}
}
QString OrderObject::getOrderStatusDec()
{
switch(orderStatus)
......
......@@ -5,7 +5,9 @@
#include "Model/dishesObject.h"
#include "Model/couponsObject.h"
#include "Model/paymentObject.h"
// #include "Model/PosExtendObject.h"
#include <QDateTime>
#include <QJsonDocument>
class OrderObject : public QObject
{
......@@ -113,6 +115,7 @@ class OrderObject : public QObject
Q_PROPERTY (bool deliveryAtProd READ getDeliveryAtProd WRITE setDeliveryAtProd)
Q_PROPERTY (bool packageFeeAtProduct READ getPackageFeeAtProduct WRITE setPackageFeeAtProduct)
Q_PROPERTY (QString memberLevel READ getMemberLevel WRITE setMemberLevel)
public:
OrderObject(QObject *parent=0)
......@@ -138,6 +141,15 @@ public:
//扩展 星巴克 多条支付方式入机 List;
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:
QString id =""; //编号
......@@ -250,6 +262,16 @@ public:
int dataBaseIsORSPushInt = 0;
int dataBaseIsORSCancleInt = 0;
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();
......@@ -533,6 +555,9 @@ public:
inline bool getPackageFeeAtProduct()const{return packageFeeAtProduct;}
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
......@@ -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) {
return s1 < s2;
} );
macAddress = macAddressList.first();
// MAC地址列表等于1时(无需排序,直接取唯一的值)
} else if ( macAddressList.size() == 1 ) {
macAddress = macAddressList.first();
} else {
// Do Nothing;
}
// ip 地址可能存在多个,故还是需要像 upp 一样,将全部 ip 地址进行排序后,取第一个
......@@ -93,14 +99,19 @@ public:
ipAddressList.append( hadr.toString() );
}
}
if ( ipAddressList.size() ) {
// IP地址列表大于1时(需要进行升序排序);
if ( ipAddressList.size() > 1 ) {
qSort(ipAddressList.begin(), ipAddressList.end(), [] (const QString& s1, const QString& s2) {
return s1 < s2;
} );
ipAddress = ipAddressList.first();
// MAC地址列表等于1时(无需排序,直接取唯一的值)
} else if ( ipAddressList.size() == 1 ) {
ipAddress = ipAddressList.first();
} else {
// Do Nothing;
}
if ( macAddress.isEmpty() || ipAddress.isEmpty() ) {
QLOG_ERROR()<<QString("GetMacByAdaptersAddresses:: Local Hardware Address Acquisition Failed || Local IP Address Failed");
} else {
......
......@@ -6,8 +6,8 @@
#define APP_THEME "deaufult"
// #define APP_VERSION "4.2023.10.12"
#define APP_VERSION "5.2023.11.10"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
#define APP_VERSION "5.2024.3.18"
//[Arm-Linux 不用修改] 修正版本号时,切记修正 FmTakeout.rc 中的版本号
#define SERVER_PASSWORD "posoperator@freemud.cn"
......@@ -112,6 +112,7 @@
#define JSON_PRODUCTS "products"
#define JSON_COUPONS "coupons"
#define JSON_PAYMENTS "PaymentObjs"
#define JSON_POS_EXTEND_LIST "posExtendList"
#define JSON_SUBPRODUCTS "addExtra"
#define JSON_COUPONPRODUCTS "skus"
#define JSON_ID "id"
......@@ -187,7 +188,7 @@
// 写报文超时时间(单位: 毫秒);
#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
// 长超时时间(单位: 毫秒);
......
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<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