Commit 09ec3ce3 by wuyang.zou

1、过来POS key 是字母导致POS程序卡死;

2、ORS 预约 实物订单,不能删除配日期是当天的订单;
3、ORS 订单不能存退货按钮;
4、悬浮框频繁闪烁
5、针对打印小票表中缺少的字段进行查漏检查
6、支持ELEME istore混合支付 + App银联支付
7、优化程序,不播放语音文件
8、优化,减少对数据库的访问;
9、避免客诉单 配送费数量为1 导致入机失败;
10、增强POS插件的抗压功能;
parent 44db0500
......@@ -146,14 +146,9 @@ private:
//向OMS汇报订单的POS入机情况 队列;
QList<RepOMSRecordOrderInfo*> m_orderRecordRepOMSList;
QMutex m_RepOMSRecordOrderMutex;
//订单操作互斥信号
//QSemaphore semaphore;
//订单操作互斥信号 QSemaphore semaphore;
QMutex m_OrderEntryMutex;
//插件订单创造新订单,订单数据解析时,必须加锁,防止订单对象的数据被窜改;
//QMutex m_UpdateOrderObjMutex;
//新增三个bool变量用来标识 程序初始化时,两个数据库中的三张表是否能够连接正常;
bool m_initSimProcOrderDBRet;
bool m_initPrintSumBillPosDBRet;
......
......@@ -86,7 +86,7 @@ void ConfigManger::setFloatInitPostion(const QPoint &postion)
int ConfigManger::GetBlinkInterval()
{
return m_userConfig->value(INI_BLINKINTERVAL).toFloat()*1000;
return m_userConfig->value(INI_BLINKINTERVAL).toFloat()*1000*2;
}
int ConfigManger::GetSoundInterval()
......
#include "getCaboxAReAuth.h"
#include "getCaboxAReAuth.h"
#include "QsLog.h"
#include <QDateTime>
#include "Control/flowControl.h"
......
#ifndef GETCABOXAREAUTH_H
#ifndef GETCABOXAREAUTH_H
#define GETCABOXAREAUTH_H
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
......
#include "printSumBillPosDB.h"
#include "printSumBillPosDB.h"
#include "QsLog.h"
#include "alertForm.h"
#include <QDateTime>
......@@ -13,6 +13,7 @@ PrintSumBillPosDB::PrintSumBillPosDB()
bool PrintSumBillPosDB::initPrintSumBillPosDB(){
//QString dbPath = QString(ConfigManage::Instance().databasePath());
bool bRet = false;
bool bRetCheckColumn = false;
m_sqlDb = QSqlDatabase::addDatabase("QODBC","PrintSumBillPosDB"); //数据库驱动类型为SQL Server
if ( m_sqlDb.isValid() ) {
QLOG_INFO()<<"[<<<<---SqlServer ODBC driver is valid--->>>>]";
......@@ -35,7 +36,10 @@ bool PrintSumBillPosDB::initPrintSumBillPosDB(){
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM TakeOut Plugin Version:2.20181130.1 Begin Add New Column--->>>>]");
bRet = alterTablePrintSumBillPosDB();
return bRet;
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---FM TakeOut Plugin Version:2.2019.520.1 Begin check table tb_msr_customer_info Column--->>>>]");
bRetCheckColumn = alterTablePrintSumBillPosDBAndCheck();
return (bRet && bRetCheckColumn);
}
bool PrintSumBillPosDB::alterTablePrintSumBillPosDB() {
......@@ -115,7 +119,7 @@ bool PrintSumBillPosDB::alterTablePrintSumBillPosDB() {
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='reserve5'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add reserve5 varchar(400) null; ";
selectsql = "alter table tb_msr_customer_info add reserve5 varchar(400) null ";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info reserve5 Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { addSuccessNum++; }
......@@ -132,6 +136,109 @@ bool PrintSumBillPosDB::alterTablePrintSumBillPosDB() {
}
bool PrintSumBillPosDB::alterTablePrintSumBillPosDBAndCheck() {
QMutexLocker mutex(&m_mutex);
int checkSuccessNum = 0;
QSqlQuery query(m_sqlDb);
QString selectsql;
if(!m_sqlDb.open()) {
QLOG_ERROR()<<"[<<<<---alterTablePrintSumBillPosDBAndCheck::SqlServer Database:Open Failed--->>>>]"<<m_sqlDb.lastError().text();
return false;
}
// Alter Table accept_name;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='accept_name'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add accept_name varchar(400) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info accept_name Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table accept_address ;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='accept_address'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add accept_address varchar(800) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info accept_address Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table accept_phone;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='accept_phone'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add accept_phone varchar(20) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info accept_phone Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table order_id;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='order_id'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add order_id varchar(50) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info order_id Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table order_status;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='order_status'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add order_status int null ";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info order_status Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table waybill_id;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='waybill_id'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add waybill_id varchar(50) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info waybill_id Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table take_no;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='take_no'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add take_no int null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info take_no Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table deliver_phone;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='deliver_phone'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add deliver_phone varchar(20) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info deliver_phone Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
// Alter Table deliver_name;
selectsql = "select * from syscolumns where id=object_id('tb_msr_customer_info') and name='deliver_name'";
query.exec(selectsql);
if(!query.next()){
selectsql = "alter table tb_msr_customer_info add deliver_name varchar(400) null";
if(!query.exec(selectsql)){
QLOG_ERROR()<< "[<<<<---alter table tb_msr_customer_info deliver_name Faild--->>>>]" <<query.lastError().text()<<QString::number(query.lastError().type());
} else { checkSuccessNum++; }
} else { checkSuccessNum++;}
m_sqlDb.close();
if (9 == checkSuccessNum) {
QLOG_INFO()<<"[<<<<---alterTablePrintSumBillPosDBAndCheck::checkSuccessNum = 9 --->>>>]";
return true;
} else {
QLOG_ERROR()<<"[<<<<---alterTablePrintSumBillPosDBAndCheck::checkSuccessNum < 9 = --->>>>]"<<checkSuccessNum;
return false;
}
}
PrintSumBillPosDB &PrintSumBillPosDB::getInstance()
{
static PrintSumBillPosDB printSumBillPosDB;
......
/******************
/******************
*进行sql server操作
******************/
#ifndef PRINTSUMBILLPOSDB_H
......@@ -37,6 +37,13 @@ public:
bool alterTablePrintSumBillPosDB();
/**
*功能:检查pos本地数据库打印小票信息表中字段;
*参数:[无]
*返回:true:检查字段完整性成功,false:检查字段完整性失败
**/
bool alterTablePrintSumBillPosDBAndCheck();
/**
*功能:插入一条汇总单信息到pos本地数据库中;
*参数:[1]订单号 [2]小票号
*返回:true操作成功,false失败
......
......@@ -36,24 +36,36 @@ public:
*返回:true操作成功,false失败
**/
bool insertSimProcOrder(const QString& orderId, const QString &creatTime);
/**
*功能:更新推单的入账状态[POS录单状态:订单录销售单的意思;同时也用来标记POS是否打印过录单小票]
*参数:[1]订单号[2]入账状态(目前情况都是"1")
*返回:true操作成功,false失败
**/
bool updatePushOrderStatus(const QString& orderId, const int &pushOrderStatus);
/**
*功能:查订单在数据库中的标志性数据;
*参数:[1]订单号 [2]订单是否存在 [3]是否销售单 [4]是否退货单 [5]是否ORS销售单 [6]是否ORS退货单 [7]订单对应小票号;
*返回:true:获取成功,false:获取失败;
**/
bool getDbOrderAllFlag(const QString& id, int& dataBaseIsOrderExistInt, int& dataBaseIsPushInt,
int& dataBaseIsCancleInt, int& dataBaseIsORSPushInt, int& dataBaseIsORSCancleInt, QString& dataBasePosOrderCheckNo);
/**
*功能:查询是否入账[POS新单录单:即模拟Simphony点单是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
*返回:true是,false否
**/
bool isPushedOrder(const QString& orderId);
/**
*功能:更新退款入账状态[POS退款录单状态:订单录退款单的意思;同时也用来标记POS是否打印过退款单小票]
*参数:[1]订单号[2]退款入账状态
*返回:true操作成功,false失败
**/
bool updateRefundOrderStatus(const QString& orderId, const int &refundOrderStatus);
/**
*功能:查询是否退款入账[POS退款录单:即模拟Simphony退单是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
......@@ -67,6 +79,7 @@ public:
*返回:true操作成功,false失败
**/
bool updateORSPushOrderStatus(const QString& orderId, const int &ORSPushOrderStatus);
/**
*功能:查询 预约实物销售单 是否入机成功 [即模拟Simphony录入预约实物是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
......@@ -80,6 +93,7 @@ public:
*返回:true操作成功,false失败
**/
bool updateORSCancleOrderStatus(const QString& orderId, const int &ORSCancleOrderStatus);
/**
*功能:查询 预约实物退货 是否入机成功 [即模拟Simphony录入预约实物退货是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
......@@ -94,24 +108,28 @@ public:
*返回:true操作成功,false失败
**/
bool updateReportOrderStatus(const QString& orderId, const int &reportOrderStatus);
/**
*功能:查询是否汇报入账 [POS订单是否汇报入账:判断Simphony 汇报入单是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
*返回:true是,false否
**/
bool isReportOrder(const QString& orderId);
/**
*功能:更新back汇报入账状态[POS汇报入账状态:录订单汇报的意思;同时也用来标记POS是否?????????]
*参数:[1]订单号[2]汇报入账状态
*返回:true操作成功,false失败
**/
bool updateBackReportOrderStatus(const QString& orderId, const int &backReportOrderStatus);
/**
*功能:查询是否back汇报入账 [POS订单是否汇报入账:判断Simphony 汇报入单是否成功:成功:TRUE;未成功:FALSE]
*参数:[1]订单号
*返回:true是,false否
**/
bool isBackReportOrder(const QString& orderId);
/**
*功能:查询订单是否存在
*参数:[1]订单号
......
......@@ -8,12 +8,10 @@
#include "alertForm.h"
#include <QMap>
#include <JQHttpServer.h>
#include <QMutex>
#include <QDateTime>
#include <QJsonArray>
#include <QTimer>
#include <QPair>
#include <QMutex>
/*class:LoaclHttpServer 线程:接受客户端HTTP请求的服务*/
......
......@@ -8,6 +8,8 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare
proList.clear();
qDeleteAll(coupList);
coupList.clear();
qDeleteAll(paymentList);
paymentList.clear();
const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
......@@ -24,6 +26,10 @@ OrderObject::OrderObject(const OrderObject &order, QObject *parent):QObject(pare
CouponsObject *coupon=new CouponsObject(*ptr,this);
this->coupList.append(coupon);
}
foreach (auto ptr, order.paymentList) {
PaymentObject *payment=new PaymentObject(*ptr,this);
this->paymentList.append(payment);
}
}
OrderObject& OrderObject::operator =(const OrderObject& order)
......@@ -32,6 +38,8 @@ OrderObject& OrderObject::operator =(const OrderObject& order)
proList.clear();
qDeleteAll(coupList);
coupList.clear();
qDeleteAll(paymentList);
paymentList.clear();
const QMetaObject *m = order.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++)
{
......@@ -48,6 +56,10 @@ OrderObject& OrderObject::operator =(const OrderObject& order)
CouponsObject *coupon = new CouponsObject(*ptr,this);
this->coupList.append(coupon);
}
foreach (auto ptr, order.paymentList) {
PaymentObject *payment=new PaymentObject(*ptr,this);
this->paymentList.append(payment);
}
return *this;
}
......@@ -57,6 +69,8 @@ void OrderObject::FromJson(const QJsonObject &json)
proList.clear();
qDeleteAll(coupList);
coupList.clear();
qDeleteAll(paymentList);
paymentList.clear();
FetchDataFromJson(json);
QJsonArray products = json[JSON_PRODUCTS].toArray();
foreach(QJsonValue product, products)
......@@ -86,6 +100,19 @@ void OrderObject::FromJson(const QJsonObject &json)
coupObject->FetchDataFromJson(coupJson);
coupList.append(coupObject);
}
//解析多条支付方式信息 List;
QJsonArray payments = json[JSON_PAYMENTS].toArray();
foreach(QJsonValue payment, payments)
{
QJsonObject paymJson = payment.toObject();
PaymentObject *paymObject = new PaymentObject(this);
paymObject->paymentFmId="";
paymObject->payMethodId="";
paymObject->paymentMoney = 0;
paymObject->FetchDataFromJson(paymJson);
paymentList.append(paymObject);
}
return;
}
......@@ -116,6 +143,8 @@ QString OrderObject::getChannelName()
return QString::fromLocal8Bit("星-自测");
}else if("ORS" == channel){
return QString::fromLocal8Bit("星-预约");
}else if("STC" == channel){
return QString::fromLocal8Bit("SmartCase");
}else{
if("HM" == channel) {
return QString::fromLocal8Bit("盒马");
......
......@@ -4,13 +4,12 @@
#include "Model/baseObject.h"
#include "Model/dishesObject.h"
#include "Model/couponsObject.h"
#include "Model/paymentObject.h"
class OrderObject : public QObject
{
Q_OBJECT
Q_PROPERTY (QString id READ getId WRITE setId)
Q_PROPERTY (QString payfmId READ getPayfmId WRITE setPayfmId)
Q_PROPERTY (QString thirdPartyBatch READ getThirdPartyBatch WRITE setThirdPartyBatch)
......@@ -97,11 +96,11 @@ public:
QList<dishesObject*>proList;
//扩展 星巴克 预约实物的券信息 List;
QList<CouponsObject*>coupList;
//扩展 星巴克 多条支付方式入机 List;
QList<PaymentObject*>paymentList;
public:
QString id; //编号
QString payfmId; //FM唯一码
QString thirdPartyBatch ; //第三方交易流水号
......@@ -174,6 +173,14 @@ public:
bool isCancle;
bool isORSPush;
bool isORSCancle;
//获取数据库中订单的标志数据;
int dataBaseIsOrderExistInt;
int dataBaseIsPushInt;
int dataBaseIsCancleInt;
int dataBaseIsORSPushInt;
int dataBaseIsORSCancleInt;
QString dataBasePosOrderCheckNo;
QString getChannelName();
QString getOrderStatusDec();
......@@ -366,11 +373,6 @@ public:
inline QString getSecretSignal()const{return secretSignal;}
inline void setSecretSignal(const QString& v){secretSignal = v;}
};
#endif // ORDEROBJECT_H
#include "paymentObject.h"
#include "preDefine.h"
#include <QJsonArray>
PaymentObject::PaymentObject(const PaymentObject &payments, QObject *parent):QObject(parent)
{
const QMetaObject *m = payments.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++) {
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = payments.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
}
PaymentObject& PaymentObject::operator =(const PaymentObject& payments)
{
const QMetaObject *m = payments.metaObject();
for( int i=m->propertyOffset(); i<m->propertyCount(); i++) {
QMetaProperty qmp = m->property(i);
QString key = QString::fromLatin1(qmp.name());
QVariant value = payments.property(key.toUtf8());
this->setProperty(key.toUtf8(), value);
}
return *this;
}
void PaymentObject::FetchDataFromJson(const QJsonObject &json)
{
foreach(QString key, json.keys()) {
setProperty(key.toUtf8(), json[key].toVariant());
}
return;
}
#ifndef PAYMENTOBJECT_H
#define PAYMENTOBJECT_H
#include <QObject>
#include <QJsonObject>
#include <QVariant>
#include <QMetaProperty>
class PaymentObject : public QObject
{
Q_OBJECT
Q_PROPERTY (QString paymentFmId READ getPaymentFmId WRITE setPaymentFmId)
Q_PROPERTY (QString payMethodId READ getPayMethodId WRITE setPayMethodId)
Q_PROPERTY (int paymentMoney READ getPaymentMoney WRITE setPaymentMoney)
public:
explicit PaymentObject(QObject *parent = 0):QObject(parent){}
PaymentObject(const PaymentObject& payments,QObject* parent=0);
PaymentObject& operator =(const PaymentObject& payments);
void FetchDataFromJson(const QJsonObject &json);
QString paymentFmId; //支付方式对应的Upp FmId;
QString payMethodId;
int paymentMoney;
protected:
inline QString getPaymentFmId(){ return paymentFmId; }
inline void setPaymentFmId(const QString& v){ paymentFmId = v; }
inline QString getPayMethodId(){ return payMethodId; }
inline void setPayMethodId(const QString& v){ payMethodId = v; }
inline int getPaymentMoney(){ return paymentMoney; }
inline void setPaymentMoney(const int& v){ paymentMoney = v; }
};
#endif // PAYMENTOBJECT_H
......@@ -245,8 +245,8 @@ void DetailForm::InitData(OrderObject *orderObject)
{
ui->detailBtn2->hide();
}
//星巴克:如果订单是客诉单 / MOP渠道,不能显示退单按钮;
if(3 == orderObject->getOrderType() || "MOP" == orderObject->channel){
//星巴克:客诉单/MOP渠道/ORS渠道,不能显示退单按钮;
if(3 == orderObject->getOrderType() || "MOP" == orderObject->channel || "ORS" == orderObject->channel){
ui->detailBtn2->hide();
}
......
......@@ -165,47 +165,42 @@ void FloatForm::_Blink()
m_animation.start();
loop.exec();
if(m_bReminding)
{
if(m_bReminding) {
QTimer::singleShot(ConfigManger::GetInstance().GetBlinkInterval(), this, &FloatForm::_Blink);
}
}
void FloatForm::_PlayWav()
{
QSound::play(m_remindWav);
if(m_bReminding)
{
QTimer::singleShot(m_wavPlayInterval, this, &FloatForm::_PlayWav);
//QSound::play(m_remindWav);
if(m_bReminding) {
//QTimer::singleShot(m_wavPlayInterval, this, &FloatForm::_PlayWav);
QLOG_INFO()<<QString("[<<<----FloatForm::_PlayWav m_bReminding: --->>>>]")<< m_bReminding;
}
}
void FloatForm::onStartRemind(int type)
{
switch(type)
{
QLOG_INFO()<<QString("[<<<----FloatForm::onStartRemind:type:%1;m_bReminding: --->>>>]").arg(type)<< m_bReminding;
//每次播报音频,将会导致POS插件崩溃;顾在此处停止音频的播放;
switch(type) {
case REMIND_CONFIRMED_ORDER:
m_remindWav = QString("%1/wav/msg.wav").arg(QApplication::applicationDirPath());
//m_remindWav = QString("%1/wav/msg.wav").arg(QApplication::applicationDirPath());
// 加上音频的时长
m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_NEWORDERTIME;
break;
case REMIND_REQREFUND_ORDER:
m_remindWav = QString("%1/wav/msg1.wav").arg(QApplication::applicationDirPath());
//m_remindWav = QString("%1/wav/msg1.wav").arg(QApplication::applicationDirPath());
m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_REFUNDORDERTIME;
break;
}
if(m_bReminding)
{
return;
} else {
if(!m_bReminding) {
m_bReminding = true;
}
m_remindTimer.start(1000*30);
m_remindTimer.setSingleShot(true);
connect(&m_remindTimer, &QTimer::timeout, this, &FloatForm::onStopRemind);
//10s后触发将闪烁提醒标志(m_bReminding)重置为False事件;
QTimer::singleShot(1000*10, this, &FloatForm::onStopRemind);
//根据闪烁提醒标志(m_bReminding):只有是True,则一直循环闪烁,直到标志为False;
_Blink();
_PlayWav();
}
......
......@@ -55,7 +55,7 @@ private:
int m_wavPlayInterval;
// 置顶定时器
QTimer m_raiseTimer;
QTimer m_remindTimer;
//QTimer m_remindTimer; //取消此定时器使用
/* 功能:初始化
* 参数:NULL
......
......@@ -58,7 +58,8 @@ SOURCES += main.cpp\
DTools/printSumBillPosDB.cpp \
DTools/getCaboxAReAuth.cpp \
Model/couponsObject.cpp \
Model/singleProductObject.cpp
Model/singleProductObject.cpp \
Model/paymentObject.cpp
HEADERS += \
mainForm.h \
......@@ -95,7 +96,8 @@ HEADERS += \
DTools/printSumBillPosDB.h \
DTools/getCaboxAReAuth.h \
Model/couponsObject.h \
Model/singleProductObject.h
Model/singleProductObject.h \
Model/paymentObject.h
FORMS += mainForm.ui \
alertForm.ui \
......
......@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2019,422,1
PRODUCTVERSION 2,2019,422,1
FILEVERSION 2,2019,528,1
PRODUCTVERSION 2,2019,528,1
//*************************************************************************//
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
......@@ -31,8 +31,8 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "fmTakeout.exe"
VALUE "ProductName", "Delivery Order Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "2.2019.422.1"
VALUE "FileVersion", "2.2019.422.1"
VALUE "ProductVersion", "2.2019.528.1"
VALUE "FileVersion", "2.2019.528.1"
//*************************************************************************//
END
END
......
......@@ -18,7 +18,10 @@
//#define APP_VERSION "2.2019.225.1"
//#define APP_VERSION "2.2019.331.1"
//#define APP_VERSION "2.2019.410.1"
#define APP_VERSION "2.2019.422.1"
//#define APP_VERSION "2.2019.422.1"
//#define APP_VERSION "2.2019.520.1"
#define APP_VERSION "2.2019.528.1"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
......@@ -100,6 +103,7 @@
#define JSON_COUNT "count"
#define JSON_PRODUCTS "products"
#define JSON_COUPONS "coupons"
#define JSON_PAYMENTS "PaymentObjs"
#define JSON_SUBPRODUCTS "addExtra"
#define JSON_COUPONPRODUCTS "skus"
#define JSON_ID "id"
......@@ -201,7 +205,9 @@
// 默认网络超时时间
#define VALUE_NETTIMEOUT 40000
// 默认尝试加锁网络超时时间
#define VALUE_TRYLOCKNETTIMEOUT 8000
#define VALUE_TRYLOCKNETTIMEOUT 5000
// 尝试加锁程序内部超时时间[500ms]
#define VALUE_TRYLOCKMEMTIMEOUT 500
// 默认重新尝试登录的时间
#define VALUE_RELOGINTIME 20000
// 默认心跳间隔的时间
......
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