Commit fab216f4 by wuyang.zou

add new function:

starbucks Now 扫码上吊屏;解除盒子 下吊屏;
parent 28e695f7
......@@ -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中;
......
......@@ -18,23 +18,31 @@ class CouponsObject : public QObject
Q_PROPERTY (QString payMethodId READ getPayMethodId WRITE setPayMethodId)
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 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){}
CouponsObject(const CouponsObject& coupons,QObject* parent=0);
CouponsObject& operator =(const CouponsObject& coupons);
void FetchDataFromJson(const QJsonObject &json);
QString couponSeq; //券序号
QString code;
QString couponName; //券名
QString menuItem;
QString couponType;
bool storeChannel; //是否门店券;
QString payMethodId;
int consumeFactAmount;
int consumeDiscountAmount;
QString couponSeq; //券序号
QString code; //券ID号
QString couponName; //券名
QString menuItem; // 菜单分类
QString couponType; //券类型
bool storeChannel; //是否门店券;
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