Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
takeout_sbk
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yunpeng.song
takeout_sbk
Commits
e3950090
Commit
e3950090
authored
Dec 25, 2019
by
wuyang.zou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix some bug;
rebuild ssl lib; tag:4.2019.1225.1
parent
656314a7
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
206 additions
and
32 deletions
+206
-32
ReadMe.md
+34
-0
fmTakeout/Control/flowControl.cpp
+12
-3
fmTakeout/DTools/configManger.cpp
+21
-0
fmTakeout/DTools/configManger.h
+9
-0
fmTakeout/DTools/dataManger.cpp
+5
-2
fmTakeout/DTools/dataManger.h
+2
-2
fmTakeout/DTools/pmsGetStoreConfig.cpp
+8
-2
fmTakeout/DTools/pmsGetStoreConfig.h
+3
-0
fmTakeout/DTools/pmsOrdersData.cpp
+72
-14
fmTakeout/DTools/pmsOrdersData.h
+4
-1
fmTakeout/DTools/qtRedisClient.cpp
+5
-1
fmTakeout/DTools/qtRedisClient.h
+4
-0
fmTakeout/DTools/simProcOrderDB.cpp
+5
-1
fmTakeout/fmTakeout.rc
+5
-5
fmTakeout/main.cpp
+15
-0
fmTakeout/preDefine.h
+2
-1
No files found.
ReadMe.md
0 → 100644
View file @
e3950090
# StarBucks Pms Plugin
## 目录
*
[
背景介绍
](
#背景介绍
)
*
[
开发
](
#开发
)
*
[
使用说明
](
#使用说明
)
*
[
其他
](
#其他
)
<a
name=
"背景介绍"
></a>
## 背景介绍
*功能*
:为 Starbucks 生产管理系统 PMS, 同步线上订单到PMS本地数据库中
<br/>
*意义*
:是帮助PMS集成 门店全部渠道的全部订单 不可或缺的功能;
<a
name=
"开发说明"
></a>
## 开发
*
【开发】 为了集成 QRedis,把编译器版本提升至 MSVC2015, 使用 Qt 5.9.8, 使用Qt Create 4.8.2;
<br/>
*
【编译】
<br/>
<1>
QRedis 是使用源码集成到项目中,需要注意仓库地址版本,特别注意存在submodule;
<br/>
<2>
插件使用了https 通信协议,代码中 使能 QSslConfiguration,故需要使用MSVC2015 编译 Openssl源码,得到两个库文件(libeay32.dll , ssleay32.dll),放置与该插件应用目录下;
<br/>
<3>
本次插件也使用了 MYSQL 数据库,故需要使用 源码编译 Mysql数据库连接动态库: libmysql.dll
<br/>
*
【测试】
<br/>
<1>
功能等同 PosPlugin:显示门店营业状态,展示订单,心跳检查,网络状态展示,同步订单,自测订单,部分渠道退单等功能;
<br/>
<2>
特别功能:插订单数据到 PMS 本地数据库,通过 RedisList 进行消息同步;
<br/>
*
【git repo】仓库地址:git@scm.starbucks.com:china/delivery-postakeout.git
分支:pmsDevelop
<br/>
<a
name=
"使用说明"
></a>
## 使用说明
同POS插件;
fmTakeout/Control/flowControl.cpp
View file @
e3950090
...
@@ -665,6 +665,7 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
...
@@ -665,6 +665,7 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
// 拉取订单详情接口: 新增 渠道 参数
// 拉取订单详情接口: 新增 渠道 参数
url
.
append
(
QString
(
"&"
)
+
JSON_CHANNEL
+
QString
(
"="
)
+
channel
);
url
.
append
(
QString
(
"&"
)
+
JSON_CHANNEL
+
QString
(
"="
)
+
channel
);
url
.
append
(
QString
(
"&"
)
+
JSON_POSIPADDRESS
+
QString
(
"="
)
+
m_ipPortAddress
);
url
.
append
(
QString
(
"&"
)
+
JSON_POSIPADDRESS
+
QString
(
"="
)
+
m_ipPortAddress
);
url
.
append
(
QString
(
"&"
)
+
JSON_PMSMACHINENO
+
QString
(
"="
)
+
m_pmsMachineNo
);
QLOG_INFO
()
<<
QString
(
"[<<<<---Pull Order Detail--->>>>][requestUrl:]"
)
<<
url
;
QLOG_INFO
()
<<
QString
(
"[<<<<---Pull Order Detail--->>>>][requestUrl:]"
)
<<
url
;
QUrl
TempQUrl
=
url
;
QUrl
TempQUrl
=
url
;
m_pullOrderSocket
->
SetUrl
(
TempQUrl
);
m_pullOrderSocket
->
SetUrl
(
TempQUrl
);
...
@@ -673,6 +674,8 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
...
@@ -673,6 +674,8 @@ bool FlowControl::_PullOrderDetail(const QString& orderId, const QString& channe
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
if
(
!
result
)
{
if
(
!
result
)
{
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
// refresh gui defaultStoreStatus;
emit
doUpdateStoreStatus
(
0
,
0
,
0
);
}
else
{
}
else
{
qDebug
()
<<
recvJson
;
qDebug
()
<<
recvJson
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
));
...
@@ -708,7 +711,7 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
...
@@ -708,7 +711,7 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
QJsonObject
sendJson
;
QJsonObject
sendJson
;
QJsonObject
recvJson
;
QJsonObject
recvJson
;
int
ordertotalSum
;
int
ordertotalSum
;
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderListData
(
pageNo
,
pageSize
);
sendJson
=
DataManger
::
GetInstance
().
GetPullOrderListData
(
pageNo
,
pageSize
,
m_pmsMachineNo
);
QLOG_INFO
()
<<
QString
(
"[<<<<---FlowControl::_PullOrderList: Pull Order List--->>>>][requestData:]"
)
<<
sendJson
;
QLOG_INFO
()
<<
QString
(
"[<<<<---FlowControl::_PullOrderList: Pull Order List--->>>>][requestData:]"
)
<<
sendJson
;
if
(
ConfigManger
::
GetInstance
().
GetOrderSslConfig
())
{
if
(
ConfigManger
::
GetInstance
().
GetOrderSslConfig
())
{
...
@@ -728,6 +731,8 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
...
@@ -728,6 +731,8 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
.
arg
(
result
).
arg
(
error
)
<<
recvJson
;
if
(
!
result
)
{
if
(
!
result
)
{
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
// refresh gui defaultStoreStatus;
emit
doUpdateStoreStatus
(
0
,
0
,
0
);
}
else
{
}
else
{
qDebug
()
<<
recvJson
;
qDebug
()
<<
recvJson
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"正常"
));
...
@@ -776,7 +781,7 @@ bool FlowControl::_SendHeart()
...
@@ -776,7 +781,7 @@ bool FlowControl::_SendHeart()
QJsonObject
recvJson
;
QJsonObject
recvJson
;
m_puginVersionComments
=
ConfigManger
::
GetInstance
().
GetOrderServerUrl
();
m_puginVersionComments
=
ConfigManger
::
GetInstance
().
GetOrderServerUrl
();
sendJson
=
DataManger
::
GetInstance
().
GetHeartData
(
m_password
,
m_posId
,
m_ipPortAddress
,
m_puginVersionComments
,
m_bLastHeartIsError
);
sendJson
=
DataManger
::
GetInstance
().
GetHeartData
(
m_password
,
m_posId
,
m_ipPortAddress
,
m_puginVersionComments
,
m_bLastHeartIsError
,
m_pmsMachineNo
);
QLOG_INFO
()
<<
QString
(
"[<<<<---Send Heart--->>>>][requestData:%1]"
)
<<
sendJson
;
QLOG_INFO
()
<<
QString
(
"[<<<<---Send Heart--->>>>][requestData:%1]"
)
<<
sendJson
;
QUrl
TempQUrl
=
ConfigManger
::
GetInstance
().
GetLoginServerUrl
()
+
QUrl
TempQUrl
=
ConfigManger
::
GetInstance
().
GetLoginServerUrl
()
+
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_HEART
);
ConfigManger
::
GetInstance
().
GetInterfaceName
(
INI_INTERFACE_HEART
);
...
@@ -788,6 +793,8 @@ bool FlowControl::_SendHeart()
...
@@ -788,6 +793,8 @@ bool FlowControl::_SendHeart()
{
{
m_bLastHeartIsError
=
true
;
m_bLastHeartIsError
=
true
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
// refresh gui defaultStoreStatus;
emit
doUpdateStoreStatus
(
0
,
0
,
0
);
}
else
}
else
{
{
QLOG_INFO
()
<<
QString
(
"[<<<<---Send Heart Finish: code:%1--->>>>]"
).
arg
(
recvJson
[
JSON_LOGINCODE
].
toInt
());
QLOG_INFO
()
<<
QString
(
"[<<<<---Send Heart Finish: code:%1--->>>>]"
).
arg
(
recvJson
[
JSON_LOGINCODE
].
toInt
());
...
@@ -796,6 +803,8 @@ bool FlowControl::_SendHeart()
...
@@ -796,6 +803,8 @@ bool FlowControl::_SendHeart()
result
=
false
;
result
=
false
;
m_bLastHeartIsError
=
true
;
m_bLastHeartIsError
=
true
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#ff0000'>网络不稳定,正在重试</font>"
));
// refresh gui defaultStoreStatus;
emit
doUpdateStoreStatus
(
0
,
0
,
0
);
}
else
{
}
else
{
result
=
true
;
result
=
true
;
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#f5f5f5'>正常</font>"
));
emit
setNetStatus
(
QString
::
fromLocal8Bit
(
"<font color='#f5f5f5'>正常</font>"
));
...
@@ -2962,7 +2971,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
...
@@ -2962,7 +2971,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(const QJsonObject &content, QJso
QString
FlowControl
::
_Penny2Dollar
(
int
penny
)
QString
FlowControl
::
_Penny2Dollar
(
int
penny
)
{
{
double
dollar
=
(
double
)
penny
/
100
;
double
dollar
=
static_cast
<
double
>
(
penny
/
100
)
;
return
QString
::
number
(
dollar
,
'f'
,
1
);
return
QString
::
number
(
dollar
,
'f'
,
1
);
}
}
...
...
fmTakeout/DTools/configManger.cpp
View file @
e3950090
...
@@ -165,6 +165,27 @@ int ConfigManger::GetLoginSslConfig()
...
@@ -165,6 +165,27 @@ int ConfigManger::GetLoginSslConfig()
return
m_config
->
value
(
"SSLConfig/login"
).
toInt
();
return
m_config
->
value
(
"SSLConfig/login"
).
toInt
();
}
}
QString
ConfigManger
::
GetMysqlIpConfig
()
{
return
m_config
->
value
(
"MysqlConfig/ip"
).
toString
();
}
QString
ConfigManger
::
GetMysqlPasswordConfig
()
{
return
m_config
->
value
(
"MysqlConfig/password"
).
toString
();
}
QString
ConfigManger
::
GetRedisIpConfig
()
{
return
m_config
->
value
(
"RedisConfig/ip"
).
toString
();
}
QString
ConfigManger
::
GetRedisPasswordConfig
()
{
return
m_config
->
value
(
"RedisConfig/password"
).
toString
();
}
int
ConfigManger
::
GetOrderSslConfig
()
int
ConfigManger
::
GetOrderSslConfig
()
{
{
return
m_config
->
value
(
"SSLConfig/order"
).
toInt
();
return
m_config
->
value
(
"SSLConfig/order"
).
toInt
();
...
...
fmTakeout/DTools/configManger.h
View file @
e3950090
...
@@ -134,6 +134,15 @@ public:
...
@@ -134,6 +134,15 @@ public:
int
GetLoginSslConfig
();
int
GetLoginSslConfig
();
int
GetOrderSslConfig
();
int
GetOrderSslConfig
();
// Get Mysql IP & Password Config;
QString
GetMysqlIpConfig
();
QString
GetMysqlPasswordConfig
();
// Get Redis IP & Password Config;
QString
GetRedisIpConfig
();
QString
GetRedisPasswordConfig
();
private
:
private
:
ConfigManger
();
ConfigManger
();
ConfigManger
(
ConfigManger
const
&
);
ConfigManger
(
ConfigManger
const
&
);
...
...
fmTakeout/DTools/dataManger.cpp
View file @
e3950090
...
@@ -60,7 +60,7 @@ QJsonObject DataManger::GetLoginData(const QString &partnerId, const QString &st
...
@@ -60,7 +60,7 @@ QJsonObject DataManger::GetLoginData(const QString &partnerId, const QString &st
QJsonObject
DataManger
::
GetHeartData
(
const
QString
&
password
,
const
QString
&
stationId
,
QJsonObject
DataManger
::
GetHeartData
(
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
ipAddress
,
const
QString
&
versionComments
,
const
QString
&
ipAddress
,
const
QString
&
versionComments
,
const
bool
lastHeartIsError
)
const
bool
lastHeartIsError
,
const
QString
&
pmsMachineNo
)
{
{
QJsonObject
rObj
;
QJsonObject
rObj
;
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
rObj
.
insert
(
JSON_IPADDRESS
,
ipAddress
);
...
@@ -70,6 +70,7 @@ QJsonObject DataManger::GetHeartData(const QString &password,const QString &stat
...
@@ -70,6 +70,7 @@ QJsonObject DataManger::GetHeartData(const QString &password,const QString &stat
rObj
.
insert
(
JSON_MACHINECODE
,
stationId
);
rObj
.
insert
(
JSON_MACHINECODE
,
stationId
);
rObj
.
insert
(
JSON_PLUGINVERSION
,
APP_VERSION
);
rObj
.
insert
(
JSON_PLUGINVERSION
,
APP_VERSION
);
rObj
.
insert
(
JSON_PLUGINVERSIONCOMMENTS
,
versionComments
);
rObj
.
insert
(
JSON_PLUGINVERSIONCOMMENTS
,
versionComments
);
rObj
.
insert
(
JSON_PMSMACHINENO
,
pmsMachineNo
);
if
(
lastHeartIsError
){
if
(
lastHeartIsError
){
rObj
.
insert
(
JSON_SYNCSTORESTATUS
,
1
);
rObj
.
insert
(
JSON_SYNCSTORESTATUS
,
1
);
}
else
{
}
else
{
...
@@ -78,7 +79,7 @@ QJsonObject DataManger::GetHeartData(const QString &password,const QString &stat
...
@@ -78,7 +79,7 @@ QJsonObject DataManger::GetHeartData(const QString &password,const QString &stat
return
rObj
;
return
rObj
;
}
}
QJsonObject
DataManger
::
GetPullOrderListData
(
const
int
&
pageNumber
,
const
int
&
pageSize
)
QJsonObject
DataManger
::
GetPullOrderListData
(
const
int
&
pageNumber
,
const
int
&
pageSize
,
const
QString
&
pmsMachineNo
)
{
{
QJsonObject
rObj
;
QJsonObject
rObj
;
rObj
.
insert
(
JSON_PAGENUMBER
,
pageNumber
);
rObj
.
insert
(
JSON_PAGENUMBER
,
pageNumber
);
...
@@ -86,6 +87,8 @@ QJsonObject DataManger::GetPullOrderListData(const int& pageNumber, const int& p
...
@@ -86,6 +87,8 @@ QJsonObject DataManger::GetPullOrderListData(const int& pageNumber, const int& p
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
rObj
.
insert
(
JSON_SHOPCODE
,
m_storeId
);
rObj
.
insert
(
JSON_POSIPADDRESS
,
QString
(
"http://"
)
+
m_posIpAddress
);
rObj
.
insert
(
JSON_POSIPADDRESS
,
QString
(
"http://"
)
+
m_posIpAddress
);
rObj
.
insert
(
JSON_CHANNEL
,
QString
(
"ALL"
));
rObj
.
insert
(
JSON_CHANNEL
,
QString
(
"ALL"
));
rObj
.
insert
(
JSON_PMSMACHINENO
,
pmsMachineNo
);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
//rObj.insert(JSON_AUTOCONFIRM, autoconfirm);
return
rObj
;
return
rObj
;
}
}
...
...
fmTakeout/DTools/dataManger.h
View file @
e3950090
...
@@ -44,12 +44,12 @@ public:
...
@@ -44,12 +44,12 @@ public:
* 返回:登录数据
* 返回:登录数据
* */
* */
QJsonObject
GetHeartData
(
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
ipAddress
,
QJsonObject
GetHeartData
(
const
QString
&
password
,
const
QString
&
stationId
,
const
QString
&
ipAddress
,
const
QString
&
versionComments
,
const
bool
lastHeartIsError
);
const
QString
&
versionComments
,
const
bool
lastHeartIsError
,
const
QString
&
pmsMachineNo
);
/* 功能:获取拉取订单数据
/* 功能:获取拉取订单数据
* 参数:[1]时间戳
* 参数:[1]时间戳
* 返回:登录数据
* 返回:登录数据
* */
* */
QJsonObject
GetPullOrderListData
(
const
int
&
pageNumber
=
1
,
const
int
&
pageSize
=
1000
);
QJsonObject
GetPullOrderListData
(
const
int
&
pageNumber
=
1
,
const
int
&
pageSize
=
1000
,
const
QString
&
pmsMachineNo
=
"001"
);
/* 功能:获取拉取配送员数据
/* 功能:获取拉取配送员数据
* 参数:[1]门店号[2]渠道代码
* 参数:[1]门店号[2]渠道代码
* 返回:登录数据
* 返回:登录数据
...
...
fmTakeout/DTools/pmsGetStoreConfig.cpp
View file @
e3950090
#include "pmsGetStoreConfig.h"
#include "pmsGetStoreConfig.h"
#include "QsLog.h"
#include "QsLog.h"
#include "DTools/configManger.h"
PmsGetStoreConfig
::
PmsGetStoreConfig
()
PmsGetStoreConfig
::
PmsGetStoreConfig
()
{
{
QLOG_INFO
()
<<
"[<<<<---PmsGetStoreConfig:: ConStructure PMS Get Store Config DataBase--->>>>]"
;
QLOG_INFO
()
<<
"[<<<<---PmsGetStoreConfig:: ConStructure PMS Get Store Config DataBase--->>>>]"
;
...
@@ -10,12 +12,16 @@ bool PmsGetStoreConfig::initPmsStoreConfigDB() {
...
@@ -10,12 +12,16 @@ bool PmsGetStoreConfig::initPmsStoreConfigDB() {
m_sqlDb
=
QSqlDatabase
::
addDatabase
(
"QMYSQL"
,
"PmsGetStoreConfig"
);
//数据库驱动类型为Mysql
m_sqlDb
=
QSqlDatabase
::
addDatabase
(
"QMYSQL"
,
"PmsGetStoreConfig"
);
//数据库驱动类型为Mysql
if
(
m_sqlDb
.
isValid
()){
if
(
m_sqlDb
.
isValid
()){
QLOG_INFO
()
<<
"[<<<<---PmsGetStoreConfig driver is valid--->>>>]"
;
QLOG_INFO
()
<<
"[<<<<---PmsGetStoreConfig driver is valid--->>>>]"
;
m_sqlDb
.
setHostName
(
"192.168.99.100"
);
//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
m_sqlDbIp
=
ConfigManger
::
GetInstance
().
GetMysqlIpConfig
();
m_sqlDbPassword
=
ConfigManger
::
GetInstance
().
GetMysqlPasswordConfig
();
m_sqlDb
.
setHostName
(
m_sqlDbIp
.
length
()
?
m_sqlDbIp
:
"127.0.0.1"
);
//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
//m_sqlDb.setHostName("localhost"); // 本地测试;
//m_sqlDb.setHostName("localhost"); // 本地测试;
m_sqlDb
.
setPort
(
3306
);
//连接数据库端口号,与设置一致
m_sqlDb
.
setPort
(
3306
);
//连接数据库端口号,与设置一致
m_sqlDb
.
setDatabaseName
(
"pms"
);
//连接数据库名,与设置一致
m_sqlDb
.
setDatabaseName
(
"pms"
);
//连接数据库名,与设置一致
m_sqlDb
.
setUserName
(
"oms"
);
//数据库用户名,与设置一致
m_sqlDb
.
setUserName
(
"oms"
);
//数据库用户名,与设置一致
m_sqlDb
.
setPassword
(
"starbucks@oms"
);
m_sqlDb
.
setPassword
(
m_sqlDbPassword
.
length
()
?
m_sqlDbPassword
:
"starbucks@oms"
);
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
QLOG_ERROR
()
<<
"[<<<<---PmsGetStoreConfig Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
QLOG_ERROR
()
<<
"[<<<<---PmsGetStoreConfig Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
...
...
fmTakeout/DTools/pmsGetStoreConfig.h
View file @
e3950090
...
@@ -37,6 +37,9 @@ private:
...
@@ -37,6 +37,9 @@ private:
PmsGetStoreConfig
&
operator
=
(
PmsGetStoreConfig
const
&
);
PmsGetStoreConfig
&
operator
=
(
PmsGetStoreConfig
const
&
);
QSqlDatabase
m_sqlDb
;
QSqlDatabase
m_sqlDb
;
QString
m_sqlDbIp
;
QString
m_sqlDbPassword
;
signals
:
signals
:
public
slots
:
public
slots
:
...
...
fmTakeout/DTools/pmsOrdersData.cpp
View file @
e3950090
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
#include "alertForm.h"
#include "alertForm.h"
#include <QDateTime>
#include <QDateTime>
#include "Control/flowControl.h"
#include "Control/flowControl.h"
#include "DTools/configManger.h"
PmsOrdersData
::
PmsOrdersData
()
{
PmsOrdersData
::
PmsOrdersData
()
{
QLOG_INFO
()
<<
"[<<<<---PmsOrdersData:: Structure PMS Orders Table--->>>>]"
;
QLOG_INFO
()
<<
"[<<<<---PmsOrdersData:: Structure PMS Orders Table--->>>>]"
;
...
@@ -14,12 +15,15 @@ bool PmsOrdersData::initPmsOrdersData() {
...
@@ -14,12 +15,15 @@ bool PmsOrdersData::initPmsOrdersData() {
if
(
m_sqlDb
.
isValid
()
)
{
if
(
m_sqlDb
.
isValid
()
)
{
QLOG_INFO
()
<<
"[<<<<---PmsOrdersData driver is valid--->>>>]"
;
QLOG_INFO
()
<<
"[<<<<---PmsOrdersData driver is valid--->>>>]"
;
m_sqlDb
.
setHostName
(
"192.168.99.100"
);
//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
m_sqlDbIp
=
ConfigManger
::
GetInstance
().
GetMysqlIpConfig
();
m_sqlDbPassword
=
ConfigManger
::
GetInstance
().
GetMysqlPasswordConfig
();
m_sqlDb
.
setHostName
(
m_sqlDbIp
.
length
()
?
m_sqlDbIp
:
"127.0.0.1"
);
//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
//m_sqlDb.setHostName("localhost"); //本地测试;
//m_sqlDb.setHostName("localhost"); //本地测试;
m_sqlDb
.
setPort
(
3306
);
//连接数据库端口号,与设置一致
m_sqlDb
.
setPort
(
3306
);
//连接数据库端口号,与设置一致
m_sqlDb
.
setDatabaseName
(
"pms"
);
//连接数据库名,与设置一致
m_sqlDb
.
setDatabaseName
(
"pms"
);
//连接数据库名,与设置一致
m_sqlDb
.
setUserName
(
"oms"
);
//数据库用户名,与设置一致
m_sqlDb
.
setUserName
(
"oms"
);
//数据库用户名,与设置一致
m_sqlDb
.
setPassword
(
"starbucks@oms"
);
m_sqlDb
.
setPassword
(
m_sqlDbPassword
.
length
()
?
m_sqlDbPassword
:
"starbucks@oms"
);
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
QLOG_ERROR
()
<<
"[<<<<---PmsOrdersData Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
QLOG_ERROR
()
<<
"[<<<<---PmsOrdersData Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
...
@@ -206,9 +210,18 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const
...
@@ -206,9 +210,18 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const
bool
insertProRet
=
false
;
bool
insertProRet
=
false
;
bool
insertSubProRet
=
false
;
bool
insertSubProRet
=
false
;
int
insertProSucNum
=
0
;
int
insertProSucNum
=
0
;
int
availProNum
=
0
;
// Skip Some Invalid Products;
QString
MainProOptions
=
""
;
if
(
proList
.
count
())
{
if
(
proList
.
count
())
{
foreach
(
dishesObject
*
dishesObjectTemp
,
proList
){
foreach
(
dishesObject
*
dishesObjectTemp
,
proList
){
QString
tempCodeLeftHead
=
dishesObjectTemp
->
code
.
left
(
1
);
if
(
dishesObjectTemp
->
code
.
contains
(
"Default"
,
Qt
::
CaseInsensitive
)
||
(
tempCodeLeftHead
<
QString
(
'0'
)
||
tempCodeLeftHead
>
QString
(
'9'
))
||
!
dishesObjectTemp
->
qty
){
continue
;
}
++
availProNum
;
QSqlQuery
query
(
m_sqlDb
);
QSqlQuery
query
(
m_sqlDb
);
query
.
prepare
(
"INSERT INTO order_items(order_id,product_id, product_code, product_name, en_product_name, product_qty, item_total,"
query
.
prepare
(
"INSERT INTO order_items(order_id,product_id, product_code, product_name, en_product_name, product_qty, item_total,"
"spec_id, spec_name, en_spec_name, price, promotion_name, promotion_price, promotion_qty, promotion_sku,"
"spec_id, spec_name, en_spec_name, price, promotion_name, promotion_price, promotion_qty, promotion_sku,"
...
@@ -248,23 +261,31 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const
...
@@ -248,23 +261,31 @@ bool PmsOrdersData::insertProductData(const QList<dishesObject*> proList, const
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertOrderProductData:Insert OrderId %1 Product Success code:%2 increaseId:%3--->>>>]"
)
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertOrderProductData:Insert OrderId %1 Product Success code:%2 increaseId:%3--->>>>]"
)
.
arg
(
OrderId
).
arg
(
dishesObjectTemp
->
code
).
arg
(
ProInIdRef
);
.
arg
(
OrderId
).
arg
(
dishesObjectTemp
->
code
).
arg
(
ProInIdRef
);
QString
SubProInIdRef
;
QString
SubProInIdRef
;
//插入配料商品数据;
//插入配料商品数据+Special Hot / Cold;
if
(
dishesObjectTemp
->
sub_products
.
count
()
)
{
MainProOptions
=
dishesObjectTemp
->
options
;
insertSubProRet
=
insertSubProductData
(
dishesObjectTemp
->
sub_products
,
ProInIdRef
,
SubProInIdRef
);
if
(
dishesObjectTemp
->
sub_products
.
count
()
||
!
MainProOptions
.
isEmpty
()
)
{
insertSubProRet
=
insertSubProductData
(
dishesObjectTemp
->
sub_products
,
MainProOptions
,
ProInIdRef
,
SubProInIdRef
);
if
(
insertSubProRet
){
if
(
insertSubProRet
){
insertProSucNum
++
;
insertProSucNum
++
;
}
else
{
// insertSubProductData occurred Error And Faild Need Return False Immediately;
insertProRet
=
false
;
QLOG_ERROR
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData: Insert MainProduct code:%1's SubProduct Failed --->>>>]"
).
arg
(
dishesObjectTemp
->
code
);
return
insertProRet
;
}
}
}
else
{
}
else
{
insertProSucNum
++
;
insertProSucNum
++
;
}
}
}
}
}
}
}
else
{
}
else
{
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertProductData OrderId %1 Has No Products--->>>>]"
).
arg
(
OrderId
);
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertProductData OrderId %1 Has No Products--->>>>]"
).
arg
(
OrderId
);
}
}
if
(
insertProSucNum
==
proList
.
count
()){
if
(
insertProSucNum
==
availProNum
){
insertProRet
=
true
;
insertProRet
=
true
;
}
}
return
insertProRet
;
return
insertProRet
;
}
}
...
@@ -275,10 +296,10 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
...
@@ -275,10 +296,10 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
bool
delSubProductFailRet
=
false
;
bool
delSubProductFailRet
=
false
;
int
id
=
0
;
int
id
=
0
;
QSqlQuery
query
(
m_sqlDb
);
QSqlQuery
query
(
m_sqlDb
);
query
.
prepare
(
QString
(
"select id from order
s
_items where order_id='%1'"
).
arg
(
orderObj
->
id
));
query
.
prepare
(
QString
(
"select id from order_items where order_id='%1'"
).
arg
(
orderObj
->
id
));
if
(
!
query
.
exec
())
{
if
(
!
query
.
exec
())
{
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
"[<<<<---PmsOrdersData::deleteProductData"
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
"[<<<<---PmsOrdersData::deleteProductData"
" select id from order
s
_items Failed orderId:--->>>>]"
<<
orderObj
->
id
;
" select id from order_items Failed orderId:--->>>>]"
<<
orderObj
->
id
;
delSubProductFailRet
=
true
;
delSubProductFailRet
=
true
;
delProductFailRet
=
true
;
delProductFailRet
=
true
;
}
else
{
}
else
{
...
@@ -293,10 +314,10 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
...
@@ -293,10 +314,10 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
}
}
}
}
//批量删除主商品;
//批量删除主商品;
query
.
prepare
(
QString
(
"delete from order
s
_items where order_id='%1'"
).
arg
(
orderObj
->
id
)
);
query
.
prepare
(
QString
(
"delete from order_items where order_id='%1'"
).
arg
(
orderObj
->
id
)
);
if
(
!
query
.
exec
())
{
if
(
!
query
.
exec
())
{
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
QString
(
"[<<<<---PmsOrdersData::deleteProductData"
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
QString
(
"[<<<<---PmsOrdersData::deleteProductData"
" delete from order
s
_items where order_id='%1' Failed--->>>>]"
).
arg
(
orderObj
->
id
);
" delete from order_items where order_id='%1' Failed--->>>>]"
).
arg
(
orderObj
->
id
);
delProductFailRet
=
true
;
delProductFailRet
=
true
;
}
}
}
}
...
@@ -311,11 +332,21 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
...
@@ -311,11 +332,21 @@ bool PmsOrdersData::deleteProductData(OrderObject* orderObj) {
}
}
//此函数将会在 insertProductData 函数中调用;顾无需加锁 否则 会导致死锁;
//此函数将会在 insertProductData 函数中调用;顾无需加锁 否则 会导致死锁;
bool
PmsOrdersData
::
insertSubProductData
(
const
QList
<
dishesObject
*>
sub_products
,
const
QString
&
ProInIdRef
,
QString
&
SubProInIdRef
)
{
bool
PmsOrdersData
::
insertSubProductData
(
const
QList
<
dishesObject
*>
sub_products
,
const
QString
&
MainProOptions
,
const
QString
&
ProInIdRef
,
QString
&
SubProInIdRef
)
{
bool
insertSubProRet
=
false
;
bool
insertSubProRet
=
false
;
int
insertSubProSucNum
=
0
;
int
insertSubProSucNum
=
0
;
int
availSubProNum
=
0
;
// Skip Some Invalid Sub Products;
if
(
sub_products
.
count
())
{
if
(
sub_products
.
count
())
{
foreach
(
dishesObject
*
subDishesObjectTemp
,
sub_products
){
foreach
(
dishesObject
*
subDishesObjectTemp
,
sub_products
){
QString
tempSubCodeLeftHead
=
subDishesObjectTemp
->
code
.
left
(
1
);
if
(
subDishesObjectTemp
->
code
.
contains
(
"Default"
,
Qt
::
CaseInsensitive
)
||
(
tempSubCodeLeftHead
<
QString
(
'0'
)
||
tempSubCodeLeftHead
>
QString
(
'9'
))
||
!
subDishesObjectTemp
->
qty
){
continue
;
}
++
availSubProNum
;
QSqlQuery
query
(
m_sqlDb
);
QSqlQuery
query
(
m_sqlDb
);
query
.
prepare
(
"INSERT INTO order_item_condiments(item_id,condiment_id, condiment_code, condiment_name, en_condiment_name,"
query
.
prepare
(
"INSERT INTO order_item_condiments(item_id,condiment_id, condiment_code, condiment_name, en_condiment_name,"
" price, condimen_total, sequence, qty ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
);
" price, condimen_total, sequence, qty ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
);
...
@@ -339,8 +370,9 @@ bool PmsOrdersData::insertSubProductData(const QList<dishesObject*> sub_products
...
@@ -339,8 +370,9 @@ bool PmsOrdersData::insertSubProductData(const QList<dishesObject*> sub_products
.
arg
(
subDishesObjectTemp
->
enProductName
).
arg
(
subDishesObjectTemp
->
price
*
0.01
).
arg
(
0
).
arg
(
subDishesObjectTemp
->
sequence
).
arg
(
subDishesObjectTemp
->
qty
);
.
arg
(
subDishesObjectTemp
->
enProductName
).
arg
(
subDishesObjectTemp
->
price
*
0.01
).
arg
(
0
).
arg
(
subDishesObjectTemp
->
sequence
).
arg
(
subDishesObjectTemp
->
qty
);
}
else
{
}
else
{
SubProInIdRef
=
query
.
lastInsertId
().
toString
();
SubProInIdRef
=
query
.
lastInsertId
().
toString
();
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData:Insert ProInIdRef:%1 subProduct Success code:%2 increaseId:%3--->>>>]"
)
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData:Insert ProInIdRef:%1 subProduct Success code:%2 SubProInIdRef:%3"
.
arg
(
ProInIdRef
).
arg
(
subDishesObjectTemp
->
code
).
arg
(
SubProInIdRef
);
" increaseId:%4--->>>>]"
)
.
arg
(
ProInIdRef
).
arg
(
subDishesObjectTemp
->
code
).
arg
(
SubProInIdRef
).
arg
(
query
.
lastInsertId
().
toString
()
);
insertSubProSucNum
++
;
insertSubProSucNum
++
;
}
}
}
}
...
@@ -348,7 +380,33 @@ bool PmsOrdersData::insertSubProductData(const QList<dishesObject*> sub_products
...
@@ -348,7 +380,33 @@ bool PmsOrdersData::insertSubProductData(const QList<dishesObject*> sub_products
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData ProInIdRef:%1 Has No subProducts--->>>>]"
).
arg
(
ProInIdRef
);
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData ProInIdRef:%1 Has No subProducts--->>>>]"
).
arg
(
ProInIdRef
);
}
}
if
(
insertSubProSucNum
==
sub_products
.
count
()){
//Special Insert MainProOptions;
if
(
!
MainProOptions
.
isEmpty
()
)
{
++
availSubProNum
;
QSqlQuery
query
(
m_sqlDb
);
query
.
prepare
(
"INSERT INTO order_item_condiments(item_id, condiment_code , price, condimen_total , qty ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
);
query
.
addBindValue
(
ProInIdRef
.
toInt
());
// --主商品自增编号
query
.
addBindValue
(
MainProOptions
);
// --子商品code
query
.
addBindValue
(
0
);
// --子商品价格
query
.
addBindValue
(
0
);
// --子商品应收价格 dishesObjectTemp->totalQuantityPrice ????????
query
.
addBindValue
(
1
);
// --子商品数量
if
(
!
query
.
exec
())
{
QLOG_ERROR
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData:Insert ProInIdRef:%1 MainProOptions code:%2 Failed --->>>>]"
)
.
arg
(
ProInIdRef
).
arg
(
MainProOptions
)
<<
query
.
lastError
().
text
()
<<
QString
::
number
(
query
.
lastError
().
type
());
QLOG_ERROR
()
<<
QString
(
"INSERT INTO order_item_condiments(item_id, condiment_code , price, condimen_total , qty ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
)
.
arg
(
ProInIdRef
.
toInt
()).
arg
(
MainProOptions
).
arg
(
0
).
arg
(
0
).
arg
(
1
);
}
else
{
SubProInIdRef
=
query
.
lastInsertId
().
toString
();
QLOG_INFO
()
<<
QString
(
"[<<<<---PmsOrdersData::insertSubProductData:Insert ProInIdRef:%1 MainProOptions Success code:%2 SubProInIdRef:%3"
" increaseId:%4--->>>>]"
)
.
arg
(
ProInIdRef
).
arg
(
MainProOptions
).
arg
(
SubProInIdRef
).
arg
(
query
.
lastInsertId
().
toString
()
);
insertSubProSucNum
++
;
}
}
if
(
insertSubProSucNum
==
availSubProNum
){
insertSubProRet
=
true
;
insertSubProRet
=
true
;
}
}
return
insertSubProRet
;
return
insertSubProRet
;
...
...
fmTakeout/DTools/pmsOrdersData.h
View file @
e3950090
...
@@ -57,7 +57,7 @@ public:
...
@@ -57,7 +57,7 @@ public:
*参数:[1]订单对象指针 [2]返回插入成功后的自增序号;
*参数:[1]订单对象指针 [2]返回插入成功后的自增序号;
*返回:true操作成功,false失败
*返回:true操作成功,false失败
**/
**/
bool
insertSubProductData
(
const
QList
<
dishesObject
*>
sub_products
,
const
QString
&
ProInIdRef
,
QString
&
SubProInIdRef
);
bool
insertSubProductData
(
const
QList
<
dishesObject
*>
sub_products
,
const
QString
&
MainProOptions
,
const
QString
&
ProInIdRef
,
QString
&
SubProInIdRef
);
/**
/**
*功能: 根据订单ID 更新 数据库中 Order 订单状态信息;
*功能: 根据订单ID 更新 数据库中 Order 订单状态信息;
...
@@ -89,6 +89,9 @@ private:
...
@@ -89,6 +89,9 @@ private:
PmsOrdersData
&
operator
=
(
PmsOrdersData
const
&
);
PmsOrdersData
&
operator
=
(
PmsOrdersData
const
&
);
QSqlDatabase
m_sqlDb
;
QSqlDatabase
m_sqlDb
;
QString
m_sqlDbIp
;
QString
m_sqlDbPassword
;
signals
:
signals
:
public
slots
:
public
slots
:
...
...
fmTakeout/DTools/qtRedisClient.cpp
View file @
e3950090
#include "qtRedisClient.h"
#include "qtRedisClient.h"
#include "QsLog.h"
#include "QsLog.h"
#include "DTools/configManger.h"
QtRedisClient
::
QtRedisClient
()
QtRedisClient
::
QtRedisClient
()
{
{
QLOG_INFO
()
<<
"[<<<<---QtRedisClient:: ConStructure Redis Begin --->>>>]"
;
QLOG_INFO
()
<<
"[<<<<---QtRedisClient:: ConStructure Redis Begin --->>>>]"
;
initRedisClient
();
initRedisClient
();
m_RedisConnectCnf
.
setHost
(
"192.168.99.100"
);
m_redisIp
=
ConfigManger
::
GetInstance
().
GetRedisIpConfig
();
//m_redisPassword = ConfigManger::GetInstance().GetRedisPasswordConfig();
m_RedisConnectCnf
.
setHost
(
m_redisIp
.
length
()
?
m_redisIp
:
"127.0.0.1"
);
//m_RedisConnectCnf.setHost("127.0.0.1"); //本地测试;
//m_RedisConnectCnf.setHost("127.0.0.1"); //本地测试;
m_RedisConnectCnf
.
setPort
(
6379
);
m_RedisConnectCnf
.
setPort
(
6379
);
//m_RedisConnectCnf.setAuth("123456"); //本地测试;
//m_RedisConnectCnf.setAuth("123456"); //本地测试;
...
...
fmTakeout/DTools/qtRedisClient.h
View file @
e3950090
...
@@ -45,6 +45,10 @@ private:
...
@@ -45,6 +45,10 @@ private:
RedisClient
::
ConnectionConfig
m_RedisConnectCnf
;
RedisClient
::
ConnectionConfig
m_RedisConnectCnf
;
RedisClient
::
Connection
*
m_pRedisConnectOperat
=
nullptr
;
RedisClient
::
Connection
*
m_pRedisConnectOperat
=
nullptr
;
QString
m_redisIp
;
QString
m_redisPassword
;
signals
:
signals
:
public
slots
:
public
slots
:
...
...
fmTakeout/DTools/simProcOrderDB.cpp
View file @
e3950090
...
@@ -26,11 +26,15 @@ bool SimProcOrderDB::initSimProcOrderDB(){
...
@@ -26,11 +26,15 @@ bool SimProcOrderDB::initSimProcOrderDB(){
m_sqlDb.setUserName("sa"); //登录用户
m_sqlDb.setUserName("sa"); //登录用户
m_sqlDb.setPassword("SIM29@123");
m_sqlDb.setPassword("SIM29@123");
*/
*/
m_sqlDb
.
setHostName
(
"192.168.99.100"
);
//连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
//PMS No Use;
/*
m_sqlDb.setHostName("127.0.0.1"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
m_sqlDb.setPort(3306); //连接数据库端口号,与设置一致
m_sqlDb.setPort(3306); //连接数据库端口号,与设置一致
m_sqlDb.setDatabaseName("pms"); //连接数据库名,与设置一致
m_sqlDb.setDatabaseName("pms"); //连接数据库名,与设置一致
m_sqlDb.setUserName("oms"); //数据库用户名,与设置一致
m_sqlDb.setUserName("oms"); //数据库用户名,与设置一致
m_sqlDb.setPassword("starbucks@oms"); //数据库密码,与设置一致
m_sqlDb.setPassword("starbucks@oms"); //数据库密码,与设置一致
*/
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
if
(
!
m_sqlDb
.
open
())
{
//打开数据库
QLOG_ERROR
()
<<
"[<<<<---SimProcOrderDB:: Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
QLOG_ERROR
()
<<
"[<<<<---SimProcOrderDB:: Open Database error:--->>>>]"
<<
m_sqlDb
.
lastError
().
text
();
...
...
fmTakeout/fmTakeout.rc
View file @
e3950090
...
@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
...
@@ -7,8 +7,8 @@ IDI_ICON ICON DISCARDABLE "logo.ico"
#endif
#endif
VS_VERSION_INFO VERSIONINFO
VS_VERSION_INFO VERSIONINFO
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
FILEVERSION 4,2019,1
031
,1
FILEVERSION 4,2019,1
225
,1
PRODUCTVERSION 4,2019,1
031
,1
PRODUCTVERSION 4,2019,1
225
,1
//*************************************************************************//
//*************************************************************************//
FILEFLAGSMASK 0x3fL
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
#ifdef _DEBUG
...
@@ -27,12 +27,12 @@ VS_VERSION_INFO VERSIONINFO
...
@@ -27,12 +27,12 @@ VS_VERSION_INFO VERSIONINFO
VALUE "CompanyName", "ShangHai.Freemud Co., Ltd."
VALUE "CompanyName", "ShangHai.Freemud Co., Ltd."
VALUE "FileDescription", "PMS Plugin Application"
VALUE "FileDescription", "PMS Plugin Application"
VALUE "InternalName", "PmsPlugin.exe"
VALUE "InternalName", "PmsPlugin.exe"
VALUE "LegalCopyright", "Copyright (C)2013-20
19
"
VALUE "LegalCopyright", "Copyright (C)2013-20
20
"
VALUE "OriginalFilename", "PmsPlugin.exe"
VALUE "OriginalFilename", "PmsPlugin.exe"
VALUE "ProductName", "PMS Plugin"
VALUE "ProductName", "PMS Plugin"
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
//***每次修改后编译发版必须变更版本号(preDefine.h中APP_VERSION 需要一致)***//
VALUE "ProductVersion", "4.2019.1
031
.1"
VALUE "ProductVersion", "4.2019.1
225
.1"
VALUE "FileVersion", "4.2019.1
031
.1"
VALUE "FileVersion", "4.2019.1
225
.1"
//*************************************************************************//
//*************************************************************************//
END
END
END
END
...
...
fmTakeout/main.cpp
View file @
e3950090
...
@@ -50,6 +50,18 @@ void LoadTheme(const QString& theme)
...
@@ -50,6 +50,18 @@ void LoadTheme(const QString& theme)
qssFile
.
close
();
qssFile
.
close
();
}
}
void
FixAppEnvirment
()
{
QString
curEnvPath
=
QProcessEnvironment
::
systemEnvironment
().
value
(
"PATH"
);
QString
dstEnvPath
;
dstEnvPath
.
append
(
g_appDir
);
dstEnvPath
.
append
(
curEnvPath
);
if
(
!
dstEnvPath
.
isEmpty
()
)
{
QLOG_INFO
()
<<
QString
(
"Current path env::%s"
).
arg
(
dstEnvPath
);
}
else
{
QLOG_INFO
()
<<
QString
(
"Current path env is empty"
);
}
}
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
#ifdef Q_OS_WIN
#ifdef Q_OS_WIN
...
@@ -73,6 +85,9 @@ int main(int argc, char *argv[])
...
@@ -73,6 +85,9 @@ int main(int argc, char *argv[])
// 初始化日志
// 初始化日志
InitLogger
();
InitLogger
();
// 修正环境变量;
// FixAppEnvirment();
// 加载主题
// 加载主题
LoadTheme
(
APP_THEME
);
LoadTheme
(
APP_THEME
);
...
...
fmTakeout/preDefine.h
View file @
e3950090
...
@@ -5,7 +5,8 @@
...
@@ -5,7 +5,8 @@
#define APP_THEME "deaufult"
#define APP_THEME "deaufult"
#define APP_VERSION "4.2019.1031.1"
//#define APP_VERSION "4.2019.1031.1"
#define APP_VERSION "4.2019.1225.1"
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
//修正版本号时,切记修正 FmTakeout.rc 中的版本号
#define SERVER_PASSWORD "posoperator@freemud.cn"
#define SERVER_PASSWORD "posoperator@freemud.cn"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment