Commit 16452743 by wuyang.zou

一、 Delivery优化

     ①补录异常订单--功能按钮
     ②同步服务端全部订单--功能按钮
     ③POS录入外卖单,线下商品更改此外卖商品 Bug
     ④POS录入完配送费后,仍有商品价格 >0.1的线下商品项录入到配送费之后 BUG
     ⑤Simphony录单认为成功,但实际并没有支付成功
     ⑥走心跳接口回传插件版本号+版本备注
     ⑦Simphony 主配料没有关联导致POS循环卡主
     ⑧ win10系统上的QT数据库无法正常打开 必须去除dsn中的属性[Trusted_Connection=yes]

二、MOP对应功能修改

1、MOP渠道 对应的POS中的 优惠折扣码申请
2,每单是否需要打包 MenuIteam  [  6411123  ]
3, 拉订单详情接口新增字段: channel:MOD / MOP/ ELE/
4, 订单入机成功后向服务端汇报订单入机情况接口新增字段:channel:ipAddress:
parent 847f9da6
......@@ -72,6 +72,7 @@ private:
typedef struct REPORTOMS_ORDERRECORD
{
QString orderNo; //订单号
QString channel; //订单渠道
QString type; //订单状态:[3:正向单;6:退货单; 9:POS机系统级别错误; 0:未知订单状态]
QString status; //订单入机状态:[1:成功; 2:失败]
QString opUser; //当前收银员;
......@@ -79,12 +80,14 @@ private:
QString storeId; //门店编号
QString remark; //备注:入机出错信息
QString checkNo; //小票号:入机成功时的小票号;
int reqResult; //向OMS请求汇报结果;
int reqResult; //向OMS请求汇报结果;
}RepOMSRecordOrderInfo;
private:
// 门店信息
QString m_storeId;
QString m_ipAddress; // 门店POS的 IP 地址
QString m_ipPortAddress; // 门店POS的 IP+端口 地址
QString m_password;
QString m_puginVersionComments;
QString m_posId;
......@@ -279,7 +282,7 @@ private slots:
* 参数:[1]订单编号
* 返回:是否成功
* */
bool _PullOrderDetail(const QString &orderId);
bool _PullOrderDetail(const QString &orderId, const QString& channel);
/* 功能:拉取订单
* 参数:NULL
* 返回:是否成功
......@@ -347,7 +350,7 @@ private slots:
// 单位转换
QString _Penny2Dollar(int penny);
QString _GetIpAddress();
void _GetIpAddress();
void _AddOrderPull(const QString& orderId=0,const QString& channel=0,const int& pageNumber=1,const int& pageSize=100);
// 避免获取较多历史订单的同时,OMS又有推单过来,导致死锁;
bool _TryAddOrderPull(const QString &orderId=0, const QString &channel=0, const int &pageNumber=1, const int &pageSize=100);
......
......@@ -77,6 +77,7 @@ QJsonObject DataManger::GetPullOrderListData(const int& pageNumber, const int& p
rObj.insert(JSON_PAGESIZE,pageSize);
rObj.insert(JSON_SHOPCODE,m_storeId);
rObj.insert(JSON_POSIPADDRESS,QString("http://") + m_posIpAddress);
rObj.insert(JSON_CHANNEL,QString("ALL"));
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
return rObj;
}
......
......@@ -11,7 +11,8 @@ bool SimProcOrderDB::initSimProcOrderDB(){
m_sqlDb=QSqlDatabase::addDatabase("QODBC","SimProcOrderDB"); //数据库驱动类型为SQL server;
if(m_sqlDb.isValid()){
QLOG_INFO()<<"[<<<<---SimProcOrderDB::SqlServer ODBC driver is valid--->>>>]";
QString dsn="DRIVER={SQL SERVER};SERVER=127.0.0.1\\sqlexpress;DATABASE=MMXBenefits;Trusted_Connection=yes";
QString dsn="DRIVER={SQL SERVER};SERVER=127.0.0.1\\sqlexpress;DATABASE=MMXBenefits";
// Win10不支持属性: ;Trusted_Connection=yes ; 必须取消此属性,否则 QODBC3: Unable to connnet;
m_sqlDb.setDatabaseName(dsn); //设置数据源名称
m_sqlDb.setUserName("sa"); //登录用户
m_sqlDb.setPassword("SIM29@123");
......
......@@ -53,6 +53,11 @@ void dishesObject::FetchDataFromJson(const QJsonObject &json)
foreach(QJsonValue subDish, subDishesArray)
{
dishesObject *item = new dishesObject(this);
//初始商品数据信息;
item->promotionQty=0;
item->promotionPrice=0;
item->starPromotionQty=0;
item->starPromotionPrice=0;
item->FetchDataFromJson(subDish.toObject());
sub_products.append(item);
}
......
......@@ -22,6 +22,11 @@ class dishesObject : public QObject
Q_PROPERTY (int promotionQty READ getpromotionQty WRITE setpromotionQty)
Q_PROPERTY (int promotionPrice READ getpromotionPrice WRITE setpromotionPrice)
Q_PROPERTY (QString starPromotionSku READ getStarPromotionSku WRITE setStarPromotionSku)
Q_PROPERTY (QString starPromotionName READ getStarPromotionName WRITE setStarPromotionName)
Q_PROPERTY (int starPromotionQty READ getStarPromotionQty WRITE setStarPromotionQty)
Q_PROPERTY (int starPromotionPrice READ getStarPromotionPrice WRITE setStarPromotionPrice)
public:
explicit dishesObject(QObject *parent = 0):QObject(parent){}
dishesObject(const dishesObject& dish,QObject* parent=0);
......@@ -36,11 +41,16 @@ public:
int packagePrice;
int price;
QString options;
//卡券/红包优惠;
QString promotionSku;
QString promotionName;
int promotionQty;
int promotionPrice;
//星星优惠;
QString starPromotionSku;
QString starPromotionName;
int starPromotionQty;
int starPromotionPrice;
QList<dishesObject*> sub_products;
......@@ -84,6 +94,19 @@ protected:
inline int getpromotionQty(){ return promotionQty; }
inline void setpromotionQty(const int& v){ promotionQty = v; }
inline QString getStarPromotionSku(){ return starPromotionSku; }
inline void setStarPromotionSku(const QString& v){ starPromotionSku = v; }
inline QString getStarPromotionName(){ return starPromotionName; }
inline void setStarPromotionName(const QString& v){ starPromotionName = v; }
inline int getStarPromotionPrice(){ return starPromotionPrice; }
inline void setStarPromotionPrice(const int& v){ starPromotionPrice = v; }
inline int getStarPromotionQty(){ return starPromotionQty; }
inline void setStarPromotionQty(const int& v){ starPromotionQty = v; }
};
#endif // DISHESOBJECT_H
......@@ -49,6 +49,10 @@ void OrderObject::FromJson(const QJsonObject &json)
{
QJsonObject proJson = product.toObject();
dishesObject *proObject = new dishesObject(this);
proObject->promotionQty = 0;
proObject->promotionPrice = 0;
proObject->starPromotionQty = 0;
proObject->starPromotionPrice = 0;
proObject->FetchDataFromJson(proJson);
proList.append(proObject);
}
......@@ -69,16 +73,17 @@ QString OrderObject::getChannelName()
{
QLOG_INFO() << QString("[<<<<---OrderObject:getChannelName [%1]--->>>>]").arg(channel);
if ("MOD" == channel && 3 != orderType){
return QString::fromLocal8Bit("星巴克");
return QString::fromLocal8Bit("星-MOD");
}else if("ELE" == channel){
return QString::fromLocal8Bit("饿了么");
}else if("BAIDU" == channel){
return QString::fromLocal8Bit("百度外卖");
}else if("MOP" == channel){
return QString::fromLocal8Bit("星-MOP");
}else if("MOD" == channel && 3 == orderType){
return QString::fromLocal8Bit("客诉单");
}else{
QLOG_INFO() << QString("[<<<<---OrderObject:getChannelName HM :[%1]--->>>>]").arg(channel);
if("HM" == channel){
if("HM" == channel) {
return QString::fromLocal8Bit("盒马");
}
return QString::fromLocal8Bit("未知");
......
......@@ -59,6 +59,8 @@ class OrderObject : public QObject
Q_PROPERTY (int deliveryDiscount READ getDeliveryDiscount WRITE setDeliveryDiscount)
Q_PROPERTY (int disPlateformFee READ getDisPlateformFee WRITE setDisPlateformFee)
Q_PROPERTY (int packageFee READ getPackageFee WRITE setPackageFee)
Q_PROPERTY (int isPackage READ getIsPackage WRITE setIsPackage)
Q_PROPERTY (QString packageSku READ getPackageSku WRITE setPackageSku)
Q_PROPERTY (int packDiscount READ getPackDiscount WRITE setPackDiscount)
Q_PROPERTY (int orderDiscount READ getOrderDiscount WRITE setOrderDiscount)
Q_PROPERTY (int productPrice READ getProductPrice WRITE setProductPrice)
......@@ -137,13 +139,15 @@ public:
QString addressDetail;
int orderIndex;
int updateTime;
QString customerSex; //用户性别 1- 男2-
QString customerSex; //用户性别 1-男; 2-
int needInvoice;
int deliveryPrice; // 配送费
int deliveryDiscount; // 配送费折扣
int disPlateformFee; // 平台优惠折扣;
int packageFee; // 打包费
int packDiscount; // 打包费折扣
int isPackage; // MOP渠道: 是否打包: 0 不打包; 1:打包;
QString packageSku; // MOP渠道: 打包SKU;
int orderDiscount; // 订单整单折扣金额
int productPrice;
......@@ -305,6 +309,9 @@ public:
inline int getPackageFee()const{return packageFee;}
inline void setPackageFee(const int& v){packageFee = v;}
inline int getIsPackage()const{return isPackage;}
inline void setIsPackage(const int& v){isPackage = v;}
inline int getPackDiscount()const{return packDiscount;}
inline void setPackDiscount(const int& v){packDiscount = v;}
......@@ -334,6 +341,9 @@ public:
inline QString getCustomerSex()const{return customerSex;}
inline void setCustomerSex(const QString& v){customerSex = v;}
inline QString getPackageSku()const{return packageSku;}
inline void setPackageSku(const QString& v){packageSku = v;}
};
......
......@@ -115,6 +115,19 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(tempDishObj->promotionQty) +QString(" )") )); // 数量
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
}
// 新增展示 星星优惠活动 的优惠项
if(tempDishObj->starPromotionSku.length()){
pNum++;
ui->detailTable0->insertRow(pNum);
ui->detailTable0->setItem(pNum, 0, new QTableWidgetItem(QString("( ") + tempDishObj->starPromotionName )); // 商品名
ui->detailTable0->item(pNum, 0)->setTextAlignment(Qt::AlignRight);
ui->detailTable0->setItem(pNum, 1, new QTableWidgetItem( QString("-") + Penny2Dollar(tempDishObj->starPromotionPrice))); // 价格
ui->detailTable0->item(pNum, 1)->setTextAlignment(Qt::AlignCenter);
ui->detailTable0->setItem(pNum, 2, new QTableWidgetItem(QString::number(tempDishObj->starPromotionQty) +QString(" )") )); // 数量
ui->detailTable0->item(pNum, 2)->setTextAlignment(Qt::AlignLeft);
}
}
// 新增配送费 + 打包费
ui->detailTable0->insertRow(pNum);
......
......@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 2,2019,110,2
PRODUCTVERSION 2,2019,110,2
FILEVERSION 2,2019,225,1
PRODUCTVERSION 2,2019,225,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.110.2"
VALUE "FileVersion", "2.2019.110.2"
VALUE "ProductVersion", "2.2019.225.1"
VALUE "FileVersion", "2.2019.225.1"
//*************************************************************************//
END
END
......
......@@ -5,16 +5,17 @@
#define APP_THEME "deaufult"
//#define APP_VERSION "1.20171013.01"
//#define APP_VERSION "2.20180822.01"
//#define APP_VERSION "2.20180824.01"
//#define APP_VERSION "2.20180905.01"
//#define APP_VERSION "1.20171013.01"
//#define APP_VERSION "2.20180822.01"
//#define APP_VERSION "2.20180824.01"
//#define APP_VERSION "2.20180905.01"
//#define APP_VERSION "2.2018913.1"
//#define APP_VERSION "2.2018919.1"
//#define APP_VERSION "2.20181023.1"
//#define APP_VERSION "2.20181210.1"
//#define APP_VERSION "2.2019110.1"
#define APP_VERSION "2.2019110.2"
//#define APP_VERSION "2.2019110.2"
#define APP_VERSION "2.2019.225.1"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
......
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