Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FMDbMonitor_linux
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
guanghui.cui
FMDbMonitor_linux
Commits
12d87215
Commit
12d87215
authored
Sep 26, 2017
by
guanghui.cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、日志按类型分文件
2、菜单缓存 3、清理超过6个月数据库记录
parent
d49d5be4
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
72 additions
and
16 deletions
+72
-16
base/CommonStruct.h
+5
-4
base/MySQLService.cpp
+1
-1
bin/log.conf
+24
-2
pos_bft/OrderInfo.cpp
+17
-6
pos_bft/OrderInfo.h
+1
-0
src/PayProcess.cpp
+4
-0
src/json.cpp
+20
-3
No files found.
base/CommonStruct.h
View file @
12d87215
...
...
@@ -69,15 +69,15 @@ struct TakeawayOrder
struct
PrinterMenu
{
std
::
string
idMenu
;
int
i
dPrinter
;
std
::
string
d
evice
;
std
::
string
strMenuId
;
int
i
PrinterId
;
std
::
string
strD
evice
;
};
struct
PrintDevice
{
int
id
;
std
::
string
d
evice
;
std
::
string
strD
evice
;
};
#endif
\ No newline at end of file
base/MySQLService.cpp
View file @
12d87215
...
...
@@ -80,7 +80,7 @@ int MySQLService::stop()
{
///关闭 mysql
if
(
_connect
.
thread_id
!=
0
)
{
LOG
(
ERROR
)
<<
"stop mysql: "
<<
_connect
.
thread_id
;
LOG
(
INFO
)
<<
"stop mysql: "
<<
_connect
.
thread_id
;
db_close
();
}
if
(
sqlStr
!=
NULL
){
...
...
bin/log.conf
View file @
12d87215
...
...
@@ -3,8 +3,29 @@
TO_FILE
=
true
TO_STANDARD_OUTPUT
=
true
FORMAT
=
"[%level | %datetime] | %msg"
FILENAME
=
"./logs/log
_%datetime{%Y%M%d}
.log"
FILENAME
=
"./logs/log.log"
MILLISECONDS_WIDTH
=
3
PERFORMANCE_TRACKING
=
false
MAX_LOG_FILE_SIZE
=
1048576
MAX_LOG_FILE_SIZE
=
1048576
0
LOG_FLUSH_THRESHOLD
=
10
*
TRACE
:
FILENAME
=
"./logs/trace_log.log"
*
DEBUG
:
FILENAME
=
"./logs/debug_log.log"
*
FATAL
:
ENABLED
=
false
*
ERROR
:
FILENAME
=
"./logs/error_log.log"
*
WARNING
:
FILENAME
=
"./logs/warning_log.log"
*
INFO
:
FILENAME
=
"./logs/info_log.log"
*
VERBOSE
:
ENABLED
=
false
\ No newline at end of file
pos_bft/OrderInfo.cpp
View file @
12d87215
...
...
@@ -88,6 +88,7 @@ int COrderInfo::Init()
mysql_free_result
(
mysql
->
_result
);
}
nErrCode
=
AddFMTable
();
CleanOldData
();
pthread_mutex_unlock
(
&
mutex
);
//解锁
return
nErrCode
;
}
...
...
@@ -360,7 +361,8 @@ int COrderInfo::AddFMTable()
orderid VARCHAR(15) NOT NULL ,\
consume_num INT,\
original_price INT,\
pid VARCHAR(20))"
);
pid VARCHAR(20),\
insert_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)"
);
nErrCode
=
mysql
->
exec_proc
();
//设置“非码外卖按钮”
...
...
@@ -455,7 +457,7 @@ bool COrderInfo::GetMenuPrinter()
while
((
mysqlDevice
->
_row
=
mysql_fetch_row
(
mysqlDevice
->
_result
))
!=
NULL
){
PrintDevice
device
;
device
.
id
=
atoi
(
mysqlDevice
->
_row
[
0
]);
device
.
d
evice
=
mysqlDevice
->
_row
[
1
];
device
.
strD
evice
=
mysqlDevice
->
_row
[
1
];
vecDevices
.
push_back
(
device
);
}
mysql_free_result
(
mysqlDevice
->
_result
);
...
...
@@ -468,11 +470,11 @@ bool COrderInfo::GetMenuPrinter()
nErrCode
=
mysql
->
query
();
while
((
mysql
->
_row
=
mysql_fetch_row
(
mysql
->
_result
))
!=
NULL
){
PrinterMenu
menu
;
menu
.
idMenu
=
mysql
->
_row
[
0
];
menu
.
i
dPrinter
=
atoi
(
mysql
->
_row
[
1
]);
menu
.
strMenuId
=
mysql
->
_row
[
0
];
menu
.
i
PrinterId
=
atoi
(
mysql
->
_row
[
1
]);
for
(
auto
dev
:
vecDevices
){
if
(
menu
.
i
dPrinter
==
dev
.
id
){
menu
.
device
=
dev
.
d
evice
;
if
(
menu
.
i
PrinterId
==
dev
.
id
){
menu
.
strDevice
=
dev
.
strD
evice
;
}
}
vecPrinterMenus
.
push_back
(
menu
);
...
...
@@ -494,6 +496,15 @@ std::vector<PrinterMenu>& COrderInfo::GetPOSMenu()
return
vecPrinterMenus
;
}
void
COrderInfo
::
CleanOldData
()
{
sprintf
(
mysql
->
sqlStr
,
"%s"
,
"DELETE FROM fmTakeaway WHERE insert_time < DATE_SUB(CURDATE(),INTERVAL 6 MONTH);"
);
mysql
->
remove
();
sprintf
(
mysql
->
sqlStr
,
"%s"
,
"DELETE FROM fmTakeaway_products WHERE insert_time < DATE_SUB(CURDATE(),INTERVAL 6 MONTH);"
);
mysql
->
remove
();
LOG
(
INFO
)
<<
"Clean up more than six months of data"
;
}
//需要导出的函数,即用户在外部可以调用的接口
bool
GetOperationObject
(
void
**
_RtObject
)
{
...
...
pos_bft/OrderInfo.h
View file @
12d87215
...
...
@@ -71,6 +71,7 @@ private:
std
::
vector
<
PrinterMenu
>
vecPrinterMenus
;
//菜单-打印机 类型对应表
char
*
UTF8ToLatin1
(
const
char
*
str
);
void
CleanOldData
();
//清理超过六个月数据
//获取菜品对应打印机及打印设备
bool
GetMenuPrinter
();
...
...
src/PayProcess.cpp
View file @
12d87215
...
...
@@ -264,6 +264,10 @@ void *FunTakeaway(void* lpParamter)
// LOG(INFO)<<"idMenu"<<menu.idMenu<<" idPrinter:"<<menu.idPrinter<<" device:"<<menu.device;
// }
std
::
string
resJson
=
GetPOSMenuJson
(
vecMenu
);
//LOG(INFO)<<"res JOSN"<<resJson.data();
// statusCode=1001;
// msg="hello world";
// std::string strReturnJson = GetTakeawayResultJson(statusCode,msg.data());
socketSendData
(
resJson
.
data
(),
connect_fd
);
}
LOG
(
INFO
)
<<
"外卖:"
<<
order
.
order_index
<<
" 写数据库:"
<<
statusCode
;
...
...
src/json.cpp
View file @
12d87215
...
...
@@ -204,8 +204,24 @@ std::string GetTakeawayResultJson(const int statuscode,const char* msg)
std
::
string
GetPOSMenuJson
(
std
::
vector
<
PrinterMenu
>
&
vecMenu
)
{
for
(
auto
menu
:
vecMenu
){
LOG
(
INFO
)
<<
"idMenu"
<<
menu
.
idMenu
<<
" idPrinter:"
<<
menu
.
idPrinter
<<
" device:"
<<
menu
.
device
;
rapidjson
::
Document
document
;
document
.
SetObject
();
rapidjson
::
Document
::
AllocatorType
&
allocator
=
document
.
GetAllocator
();
rapidjson
::
Value
arrayJson
(
rapidjson
::
kArrayType
);
for
(
int
i
=
0
;
i
<
vecMenu
.
size
();
i
++
){
rapidjson
::
Value
obj
(
rapidjson
::
kObjectType
);
obj
.
AddMember
(
"iPrinterId"
,
vecMenu
[
i
].
iPrinterId
,
allocator
);
obj
.
AddMember
(
"strMenuId"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strMenuId
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
obj
.
AddMember
(
"strDevice"
,
rapidjson
::
Value
(
vecMenu
[
i
].
strDevice
.
c_str
(),
document
.
GetAllocator
()),
allocator
);
arrayJson
.
PushBack
(
obj
,
allocator
);
}
return
"123456"
;
document
.
AddMember
(
"MenuList"
,
arrayJson
,
allocator
);
rapidjson
::
StringBuffer
buffer
;
rapidjson
::
Writer
<
rapidjson
::
StringBuffer
>
writer
(
buffer
);
document
.
Accept
(
writer
);
return
buffer
.
GetString
();
}
\ No newline at end of file
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