Commit fab216f4 by wuyang.zou

add new function:

starbucks Now 扫码上吊屏;解除盒子 下吊屏;
parent 28e695f7
......@@ -61,11 +61,13 @@ FlowControl::FlowControl()
m_pullTimer=new QTimer(this);
m_reportOMSReocrdOrderTimer = new QTimer(this);
m_loginTimer=new QTimer(this);
m_notifySimPullTimer = new QTimer(this);
m_notifyPmsPullTimer = new QTimer(this);
m_cyclePullAllOrderTimer = new QTimer(this);
m_remindCasherBlinkFloatTimer = new QTimer(this);
connect(m_loginTimer,&QTimer::timeout,this,&FlowControl::_ClickToLogin);
connect(m_notifySimPullTimer,&QTimer::timeout,this,&FlowControl::_ClickToNotifySimPullOrder);
connect(m_notifyPmsPullTimer,&QTimer::timeout,this,&FlowControl::_NotifyPmsPullOrder);
connect(m_cyclePullAllOrderTimer,&QTimer::timeout,this,&FlowControl::_NotifyCyclePullAllOrder);
connect(m_remindCasherBlinkFloatTimer,&QTimer::timeout,this,&FlowControl::_RemindCasherBlinkFloatForm);
connect(m_pullTimer,&QTimer::timeout,this,&FlowControl::_PullOrderData);
connect(m_reportOMSReocrdOrderTimer,&QTimer::timeout,this,&FlowControl::_ReportOMSRecordOrderInfo);
......@@ -102,7 +104,7 @@ FlowControl::FlowControl()
_InitDataBeforeLogin();
m_loginTimer->start(6*1000);
m_notifySimPullTimer->start(1000*5);
m_notifyPmsPullTimer->start(1000*5);
//_TestRedis();
//_TestInsertOrderData();
......@@ -112,7 +114,6 @@ void FlowControl::_TestRedis(){
/* Test Redis Function */
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FM外卖插件 Beign Test Redis:--->>>>]");
QtRedisClient::getInstance().testOrderRedisExist(QString("1234"));
QtRedisClient::getInstance().pushOrder2Redis(QString("ldh"),1);
}
void FlowControl::_TestInsertOrderData(){
......@@ -159,13 +160,17 @@ void FlowControl::_TestInsertOrderData(){
m_FmOrdersMap.insert(testOrderObject->id, testOrderObject);
m_simValidOrdersList.append(testOrderObject->id);
QLOG_INFO() << QString("[<<<<---FlowControl::_TestInsertOrderData() m_simValidOrdersList Append Success:%1--->>>>]").arg(testOrderObject->id);
QtRedisClient::getInstance().pushOrder2Redis(testOrderObject);
QLOG_INFO() << QString("[<<<<---FlowControl::test pushOrder2Redis() orderId:%1 Success--->>>>]").arg(testOrderObject->id);
}
}
bool FlowControl::_AppendOrderInfo2Redis(const OrderObject* orderObject) {
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FlowControl::_AppendOrderInfo2Redis: OrderId:%1--->>>>]").arg(orderObject->id);
return QtRedisClient::getInstance().pushOrder2Redis(orderObject->id,orderObject->orderStatus);
return QtRedisClient::getInstance().pushOrder2Redis(orderObject);
}
void FlowControl::_GetIpAddress()
......@@ -302,62 +307,89 @@ void FlowControl::_SmartTriggerClickPosBtn(const bool bTimerTrigger)
}
void FlowControl::_ClickToNotifySimPullOrder()
void FlowControl::_NotifyPmsPullOrder()
{
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---触发按钮点击事件:_ClickToNotifySimPullOrder: m_simValidOrdersList.isEmpty()==%1--->>>>>]").arg(m_simValidOrdersList.isEmpty());
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---:_NotifyPmsPullOrder: m_simValidOrdersList.isEmpty()==%1--->>>>>]").arg(m_simValidOrdersList.isEmpty());
if(!m_simValidOrdersList.isEmpty())
{
m_notifySimPullTimer->start(1000*5);
m_notifyPmsPullTimer->start(1000*5);
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM插件 向PMS数据库插入数据; 并添加 Redis --->>>>]");
QString listFirstOrderId = m_simValidOrdersList.takeFirst();
OrderObject* orderObject = m_FmOrdersMap.value(listFirstOrderId);
//更新插入结果;
bool updateInsertRet = false;
// 更新/ 插入结果;
bool updateRet = false;
bool insertRet = false;
bool bExistOrder = false;
if(orderObject) {
//如果订单存在库中则更新订单状态;
if( PmsOrdersData::getInstance().isOrderExist(orderObject->id) ){
updateInsertRet = PmsOrdersData::getInstance().updateOrderStatus(orderObject,orderObject->orderStatus);
bExistOrder = PmsOrdersData::getInstance().isOrderExist(orderObject->id);
if( bExistOrder ){
updateRet = PmsOrdersData::getInstance().updateOrderStatus(orderObject,orderObject->orderStatus,orderObject->makeStatus);
//不存在则插入;
} else {
QString pmsOrderRef;
updateInsertRet = PmsOrdersData::getInstance().insertOrderData(orderObject,pmsOrderRef);
insertRet = PmsOrdersData::getInstance().insertOrderData(orderObject,pmsOrderRef);
}
QLOG_INFO()<<QString("[<<<<---FlowControl::_ClickToNotifySimPullOrder Insert Mysql DB Order:%1 Insert Ret:--->>>>]")
.arg(orderObject->id)<<updateInsertRet;
//如果订单插入数据库成功后,向Redis中添加此订单信息;
if(updateInsertRet){
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder Insert Mysql DB Order:%1 bExistOrder:%2 insertRet:%3 updateRet:%4--->>>>]")
.arg(orderObject->id).arg(bExistOrder?1:0).arg(insertRet?1:0).arg(updateRet?1:0);
//如果订单 插入/更新 数据库成功后,向Redis中添加此订单信息;
if(insertRet || updateRet) {
for (int i=0;i<3;i++) {
if( _AppendOrderInfo2Redis(orderObject) ) {
QLOG_INFO()<<QString("[<<<<---FlowControl::_ClickToNotifySimPullOrder _AppendOrderInfo2Redis Success Try times:%1--->>>>]").arg(i);
//将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
QLOG_INFO()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder _AppendOrderInfo2Redis Success Try times:%1--->>>>]").arg(i);
//只有第一次插入DB成功,才会想OMS汇报入机情况;
// 将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
if(insertRet) {
_AddOrderInfo2ReportList(orderObject,QString("1"),QString::fromLocal8Bit("订单入PMS库成功并通知Redis成功"));
}
break;
} else {
QLOG_ERROR()<<QString("[<<<<---FlowControl::_ClickToNotifySimPullOrder _AppendOrderInfo2Redis Failed, Try Again--->>>>]");
QLOG_ERROR()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder _AppendOrderInfo2Redis Failed, Try Again--->>>>]");
continue;
}
}
//如果订单插入数据库失败后;向服务端汇报订单落库情况;
//如果订单插入/更新 数据库失败后;向服务端汇报订单落库情况;
} else {
QLOG_ERROR()<<QString("[<<<<---FlowControl::_ClickToNotifySimPullOrder Insert Mysql DB Order:%1 Insert Failed--->>>>]")
QLOG_ERROR()<<QString("[<<<<---FlowControl::_NotifyPmsPullOrder Insert Mysql DB Order:%1 Insert/Update Failed--->>>>]")
.arg(orderObject->id);
//进行数据清除回滚;防止与重新入机的订单数据出现重复; 删除 orders/order_item/order_item_condiments
//只有插入失败才 进行数据清理;防止与重新入机的订单数据出现重复; 删除 orders/order_item/order_item_condiments
if(!bExistOrder && !insertRet) {
PmsOrdersData::getInstance().deleteOrderData(orderObject);
}
//将此订单添加汇报队列中; 参数2: "1":代表成功; "2":代表失败; 参数3:入机备注;
_AddOrderInfo2ReportList(orderObject,QString("2"),QString::fromLocal8Bit("订单入PMS库失败"));
_AddOrderInfo2ReportList(orderObject,QString("2"),QString::fromLocal8Bit("订单 插入/更新 PMS库数据失败"));
}
} else {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_ClickToNotifySimPullOrder Insert Mysql DB orderObject Is Null:--->>>>]");
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_NotifyPmsPullOrder Insert Mysql DB orderObject Is Null:--->>>>]");
}
} else {
//如果订单队列中没有待处理订单,定时器设定为8s;
m_notifySimPullTimer->start(1000*8);
m_notifyPmsPullTimer->start(1000*8);
}
}
void FlowControl::_NotifyCyclePullAllOrder()
{
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<--- _NotifyCyclePullAllOrder: m_simValidOrdersList.count()==%1--->>>>>]").arg( m_simValidOrdersList.count() );
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_NotifyCyclePullAllOrder Call onGetOMSAllOrders():--->>>>]");
onGetOMSAllOrders();
//定期拉取OMS门店全部有效订单 间隔为:10分钟;
m_cyclePullAllOrderTimer->start(1000*60*10);
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_NotifyCyclePullAllOrder Next Pull All Order Time: %1--->>>>]")
.arg(QDateTime::currentDateTime().addSecs(60*10).toString("yyyy-MM-dd hh:mm:ss"));
}
void FlowControl::_RemindCasherBlinkFloatForm()
{
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_RemindCasherBlinkFloatForm: m_simValidOrdersList.isEmpty()==%1--->>>>>]").arg(m_simValidOrdersList.isEmpty());
......@@ -582,9 +614,13 @@ bool FlowControl::_Login()
m_heartTimer->start(1000*60*5);
m_pullTimer->start(1000*5);
m_reportOMSReocrdOrderTimer->start(1000*5);
m_notifySimPullTimer->start(10*1000);
m_notifyPmsPullTimer->start(10*1000);
m_remindCasherBlinkFloatTimer->start(5*1000);
m_cyclePullAllOrderTimer->start(1000*60*10);
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FlowControl::_Login Next Pull All Order Time: %1--->>>>]")
.arg(QDateTime::currentDateTime().addSecs(60*10).toString("yyyy-MM-dd hh:mm:ss"));
//在登陆时再次检查数据库连接是否都正常;
if ( !m_initPmsGetStoreConfigDBRet ) {
result = false;
......@@ -814,8 +850,6 @@ bool FlowControl::_SendHeart()
}else{
result = true;
emit setNetStatus(QString::fromLocal8Bit("<font color='#f5f5f5'>正常</font>"));
//只有上一次心跳是异常:才根据心跳来展示门店营业状态 [数据延迟比较严重:同时也需要通过OMS推门店状态给插件]
if(m_bLastHeartIsError){
if( recvJson.contains(JSON_ELESTORESTS) ){
m_eleStoreStatus = recvJson[JSON_ELESTORESTS].toInt();
}
......@@ -832,7 +866,6 @@ bool FlowControl::_SendHeart()
m_bLastHeartIsError = false;
}
}
}
return result;
}
......
......@@ -112,8 +112,9 @@ private:
QTimer *m_pullTimer;
QTimer *m_reportOMSReocrdOrderTimer;
QTimer *m_loginTimer;
QTimer *m_notifySimPullTimer;
QTimer *m_remindCasherBlinkFloatTimer; //插件程序收到外卖订单后,需要一致提醒店员[直到此外卖订单被全部录入到POS系统]
QTimer *m_notifyPmsPullTimer;
QTimer *m_cyclePullAllOrderTimer; //由于定时器是为了周期性获取全部订单; 原因: PmsPlugin set StoreServiceCenter; aviod missing Orders;
// 网络通信
BillSocket *m_loginSocket;
BillSocket *m_pullOrderSocket;
......@@ -387,7 +388,8 @@ public slots:
//点击屏幕指定区域
void _ClickOMSAssignArea();
void _ClickToLogin();
void _ClickToNotifySimPullOrder();
void _NotifyPmsPullOrder();
void _NotifyCyclePullAllOrder();
void _RemindCasherBlinkFloatForm();
void _OrderAnalysis(const QJsonObject &jsonObject);
......
......@@ -177,9 +177,10 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
"delivery_price,delivery_discount,delivery_time, order_estimation,make_finish_time,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) "
"pos_id, lang, ext_info, rider_phone, rider_name, displateform_fee, make_status, make_source, make_device_id) "
"VALUES(?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,"
" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?,?)");
query.addBindValue(orderObj->id); // --非码OMS订单号
query.addBindValue(orderObj->id); // --非码OMS订单号
query.addBindValue(orderObj->orderStatus); // --订单状态
......@@ -240,6 +241,9 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
query.addBindValue(orderObj->riderPhone); // --配送者电话
query.addBindValue(orderObj->riderName); // -配送者名称
query.addBindValue( abs(orderObj->disPlateformFee * 0.01)); // --平台优惠
query.addBindValue(orderObj->makeStatus); // --制作状态
query.addBindValue(orderObj->makeSource); // --提供制作状态来源
query.addBindValue(orderObj->makeDeviceId); // --提供制作状态设备ID
if(!query.exec()) {
QLOG_ERROR()<<"[<<<<---PmsOrdersData::insertOrderData:Insert Order Error--->>>>]"<<query.lastError().text()
......@@ -252,10 +256,10 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
"delivery_price,delivery_discount,delivery_time, order_estimation,make_finish_time,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) "
"pos_id, lang, ext_info, rider_phone, rider_name, displateform_fee, make_status, make_source, make_device_id) "
"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)")
"%41, %42, %43, %44, %45, %46, %47, %48, %49, %50, %51, %52, %53, %54)")
.arg(orderObj->id).arg(orderObj->id).arg(orderObj->orderStatus).arg(updateTimeString).arg(orderObj->channel)
.arg(orderObj->orderType).arg(tempOrderTypeId)
.arg(orderObj->pickupCode).arg(orderObj->totalPrice * 0.01).arg(orderObj->productPrice * 0.01).arg(orderObj->orderDiscount * 0.01)
......@@ -268,7 +272,8 @@ bool PmsOrdersData::insertOrderData(OrderObject* orderObj,QString& pmsOrderRef)
.arg(orderObj->confirmTime).arg(orderObj->customerId).arg("Female").arg(orderObj->waybillId).arg(orderObj->storeId)
.arg(orderObj->storeName).arg(orderObj->storeAddress).arg("")
.arg("").arg(orderObj->lang).arg(orderObj->memo).arg(orderObj->riderPhone).arg(orderObj->riderName)
.arg(orderObj->disPlateformFee * 0.01);
.arg(orderObj->disPlateformFee * 0.01).arg(orderObj->makeStatus).arg(orderObj->makeSource).arg(orderObj->makeDeviceId);
} else {
QLOG_INFO()<<QString("[<<<<---PmsOrdersData::insertOrderData:Insert OrderId %1 Into PMS Order Success--->>>>]").arg(orderObj->id);
pmsOrderRef = query.lastInsertId().toString();
......@@ -530,7 +535,7 @@ bool PmsOrdersData::insertSubProductData(const QList<dishesObject*> sub_products
}
//更新订单状态:需加锁;
bool PmsOrdersData::updateOrderStatus(OrderObject* orderObj, const int &OrderStatus) {
bool PmsOrdersData::updateOrderStatus(OrderObject* orderObj, const int &OrderStatus , const QString &makeStatus) {
if ( !orderObj) {
QLOG_ERROR()<<"[<<<<---PmsOrdersData::updateOrderStatus orderObj Point is Null --->>>>]";
......@@ -553,8 +558,10 @@ bool PmsOrdersData::updateOrderStatus(OrderObject* orderObj, const int &OrderSta
// 需要对应转换并更新: order_type_id;
int tempOrderTypeId = convertPosServiceTypeId( orderObj, orderObj->orderStatus);
query.prepare(QString("update orders set order_status=%1,order_type_id=%2 where order_id='%3'")
.arg(QString::number(OrderStatus)).arg(QString::number(tempOrderTypeId)).arg(orderObj->id));
query.prepare(QString("update orders set order_status=%1,order_type_id=%2, make_status='%3',"
" make_source='%4', make_device_id='%5' where order_id='%6'")
.arg(QString::number(OrderStatus),QString::number(tempOrderTypeId),makeStatus,
orderObj->makeSource, orderObj->makeDeviceId, orderObj->id));
if(!query.exec()) {
QLOG_ERROR()<<query.lastError().text()<<"[<<<<---PmsOrdersData::update Order Status Failed--->>>>]";
......
......@@ -75,7 +75,7 @@ public:
*参数:[1]订单对象
*返回:true操作成功,false失败
**/
bool updateOrderStatus(OrderObject* orderObj, const int &OrderStatus);
bool updateOrderStatus(OrderObject* orderObj, const int &OrderStatus , const QString &makeStatus);
/**
*功能:查询 订单号和 订单状态 是否存在PMS数据库中;
......
......@@ -69,17 +69,21 @@ bool QtRedisClient::testOrderRedisExist(const QString& orderId){
return bOrderExist;
}
bool QtRedisClient::pushOrder2Redis(const QString& orderId,const int& orderStatus){
bool QtRedisClient::pushOrder2Redis(const OrderObject* orderObj ){
bool bPushOrderSuc = false;
QList<QByteArray> cmdString;
cmdString.append("LPUSH");
cmdString.append("PmsOrderStatusNotifyList");
QJsonObject orderStatusObj;
orderStatusObj.insert("ID",orderId);
orderStatusObj.insert("STATUS",orderStatus);
orderStatusObj.insert("ID",orderObj->id);
orderStatusObj.insert("STATUS",orderObj->orderStatus);
QString timeStamp = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
orderStatusObj.insert("TIMESTAMP",timeStamp);
orderStatusObj.insert("MAKESTATUS",orderObj->makeStatus);
orderStatusObj.insert("MAKESOURCE",orderObj->makeSource);
orderStatusObj.insert("MAKEDEVICEID",orderObj->makeDeviceId);
orderStatusObj.insert("MAKEDEVICENAME","");
QJsonDocument orderStatusDoc = QJsonDocument(orderStatusObj);
cmdString.append(orderStatusDoc.toJson());
......@@ -87,10 +91,11 @@ bool QtRedisClient::pushOrder2Redis(const QString& orderId,const int& orderStatu
auto result = m_pRedisConnectOperat->commandSync(cmdString);
QVariant val = result.value();
if(val.toInt()) {
QLOG_INFO() << QString("[<<<<---QtRedisClient::pushOrder2Redis orderId:%1 ; orderStatus:%2 ; ret:%3 Success--->>>>]").arg(orderId).arg(orderStatus).arg(val.toString());
QLOG_INFO() << QString("[<<<<---QtRedisClient::pushOrder2Redis orderId:%1 ; orderStatus:%2 ; ret:%3 Success--->>>>]").arg(orderObj->id).arg(orderObj->orderStatus).arg(val.toString());
QLOG_INFO() << QString("[<<<<---QtRedisClient::pushOrder2Redis orderId:%1 Redis Context:%2--->>>>]").arg(orderObj->id).arg( QString(orderStatusDoc.toJson()) );
bPushOrderSuc = true;
} else {
QLOG_ERROR() << QString("[<<<<---QtRedisClient::pushOrder2Redis orderId:%1 ; orderStatus:%2 ; val:%3 Failed--->>>>]").arg(orderId).arg(orderStatus).arg(val.toString());
QLOG_ERROR() << QString("[<<<<---QtRedisClient::pushOrder2Redis orderId:%1 ; orderStatus:%2 ; val:%3 Failed--->>>>]").arg(orderObj->id).arg(orderObj->orderStatus).arg(val.toString());
}
} catch (const RedisClient::Connection::Exception& e) {
QLOG_ERROR() << "QtRedisClient::isOrderRedisExist Cannot run command:" << e.what();
......
......@@ -8,6 +8,8 @@
#include <QCommandLineParser>
#include <QJsonDocument>
#include "Model/orderObject.h"
class QtRedisClient : public QObject
{
Q_OBJECT
......@@ -27,7 +29,7 @@ public:
*参数:[1]订单号; [2]订单状态;
*返回:true:追加成功,false:追加失败
**/
bool pushOrder2Redis(const QString& orderId, const int& orderStatus);
bool pushOrder2Redis(const OrderObject* orderObj);
/**
*功能:查询订单是否已经存在 Redis中;
......
......@@ -19,6 +19,9 @@ class CouponsObject : public QObject
Q_PROPERTY (int consumeFactAmount READ getConsumeFactAmount WRITE setConsumeFactAmount)
Q_PROPERTY (int consumeDiscountAmount READ getConsumeDiscountAmount WRITE setConsumeDiscountAmount)
Q_PROPERTY (QString discount READ getDiscount WRITE setDiscount)
Q_PROPERTY (QString giverName READ getGiverName WRITE setGiverName)
Q_PROPERTY (QString blessingWords READ getBlessingWords WRITE setBlessingWords)
public:
explicit CouponsObject(QObject *parent = 0):QObject(parent){}
......@@ -26,15 +29,20 @@ public:
CouponsObject& operator =(const CouponsObject& coupons);
void FetchDataFromJson(const QJsonObject &json);
QString couponSeq; //券序号
QString code;
QString code; //券ID号
QString couponName; //券名
QString menuItem;
QString couponType;
QString menuItem; // 菜单分类
QString couponType; //券类型
bool storeChannel; //是否门店券;
QString payMethodId;
int consumeFactAmount;
int consumeDiscountAmount;
QString payMethodId; //券支付方式ID
int consumeFactAmount; //券实际售卖金额
int consumeDiscountAmount; //券折扣金额
QString discount;
QString giverName ; //券赠送者
QString blessingWords ; //券赠送祝福
QList<SingleProductObject*> skus;
protected:
......@@ -67,6 +75,13 @@ protected:
inline QString getDiscount(){ return discount; }
inline void setDiscount(const QString& v){ discount = v; }
inline QString getGiverName(){ return giverName; }
inline void setGiverName(const QString& v){ giverName = v; }
inline QString getBlessingWords(){ return blessingWords; }
inline void setBlessingWords(const QString& v){ blessingWords = v; }
};
#endif // COUPONSOBJECT_H
......@@ -32,6 +32,8 @@ class dishesObject : public QObject
Q_PROPERTY (int starPromotionQty READ getStarPromotionQty WRITE setStarPromotionQty)
Q_PROPERTY (int starPromotionPrice READ getStarPromotionPrice WRITE setStarPromotionPrice)
Q_PROPERTY (QString userName READ getUserName WRITE setUserName)
public:
explicit dishesObject(QObject *parent = 0):QObject(parent){}
dishesObject(const dishesObject& dish,QObject* parent=0);
......@@ -61,6 +63,7 @@ public:
QString starPromotionName = "";
int starPromotionQty = 0;
int starPromotionPrice = 0;
QString userName = "";
QList<dishesObject*> sub_products;
......@@ -132,6 +135,10 @@ protected:
inline int getStarPromotionQty(){ return starPromotionQty; }
inline void setStarPromotionQty(const int& v){ starPromotionQty = v; }
inline QString getUserName(){ return userName; }
inline void setUserName(const QString& v){ userName = v; }
};
#endif // DISHESOBJECT_H
......@@ -77,6 +77,10 @@ class OrderObject : public QObject
Q_PROPERTY (int productPrice READ getProductPrice WRITE setProductPrice)
Q_PROPERTY (int totalPrice READ getTotalPrice WRITE setTotalPrice)
Q_PROPERTY (int orderStatus READ getOrderStatus WRITE setOrderStatus)
Q_PROPERTY (QString makeStatus READ getMakeStatus WRITE setMakeStatus)
Q_PROPERTY (QString makeSource READ getMakeSource WRITE setMakeSource)
Q_PROPERTY (QString makeDeviceId READ getMakeDeviceId WRITE setMakeDeviceId)
Q_PROPERTY (QString businessType READ getBusinessType WRITE setBusinessType)
Q_PROPERTY (int deliveryStatus READ getDeliveryStatus WRITE setDeliveryStatus)
Q_PROPERTY (int payStatus READ getPayStatus WRITE setPayStatus)
Q_PROPERTY (int refundStatus READ getRefundStatus WRITE setRefundStatus)
......@@ -176,6 +180,11 @@ public:
int productPrice = 0;
int totalPrice = 0;
int orderStatus = 0;
QString makeStatus = ""; // PMS 制作状态
QString makeSource = ""; //PMS 制作来源: 普通扫描枪、扫描枪Now、顾客、PMS-kds、
QString makeDeviceId = ""; //PMS 更新制作状态的设备Id
QString businessType; //订单业务类型: 10:预约单 20:杯贴祝福 30:拼团
int deliveryStatus = 0;
int payStatus = 0;
int refundStatus = 0;
......@@ -380,6 +389,18 @@ public:
inline int getOrderStatus()const{return orderStatus;}
inline void setOrderStatus(const int& v){orderStatus = v;}
inline QString getMakeStatus()const{return makeStatus;}
inline void setMakeStatus(const QString& v){makeStatus = v;}
inline QString getMakeSource()const{return makeSource;}
inline void setMakeSource(const QString& v){makeSource = v;}
inline QString getMakeDeviceId()const{return makeDeviceId;}
inline void setMakeDeviceId(const QString& v){makeDeviceId = v;}
inline QString getBusinessType()const{return businessType;}
inline void setBusinessType(const QString& v){businessType = v;}
inline int getDeliveryStatus()const{return deliveryStatus;}
inline void setDeliveryStatus(const int& v){deliveryStatus = v;}
......
......@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 4,2020,318,1
PRODUCTVERSION 4,2020,318,1
FILEVERSION 4,2020,508,1
PRODUCTVERSION 4,2020,508,1
//*************************************************************************//
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
......@@ -27,12 +27,12 @@ VS_VERSION_INFO VERSIONINFO
VALUE "CompanyName", "ShangHai.Freemud Co., Ltd."
VALUE "FileDescription", "PMS Plugin Application"
VALUE "InternalName", "PmsPlugin.exe"
VALUE "LegalCopyright", "Copyright (C)2013-2020"
VALUE "LegalCopyright", "Copyright (C)2014-2020"
VALUE "OriginalFilename", "PmsPlugin.exe"
VALUE "ProductName", "PMS Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "4.2020.318.1"
VALUE "FileVersion", "4.2020.318.1"
VALUE "ProductVersion", "4.2020.508.1"
VALUE "FileVersion", "4.2020.508.1"
//*************************************************************************//
END
END
......
......@@ -5,9 +5,9 @@
#define APP_THEME "deaufult"
//#define APP_VERSION "4.2019.1031.1"
//#define APP_VERSION "4.2019.1225.1"
#define APP_VERSION "4.2020.318.1"
//#define APP_VERSION "4.2020.318.1"
#define APP_VERSION "4.2020.508.1"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
#define SERVER_PASSWORD "posoperator@freemud.cn"
......
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