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
cd71b166
Commit
cd71b166
authored
Jan 11, 2018
by
yunpeng.song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更改图标样式,增加多用户互斥,修改posSalesId写入db错误的问题,给一些资源增加互斥锁,登录改为同步的。
parent
716544c1
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
235 additions
and
107 deletions
+235
-107
fmTakeaway/Control/flowControl.cpp
+123
-67
fmTakeaway/Control/flowControl.h
+6
-3
fmTakeaway/DTools/orderstatus.cpp
+53
-4
fmTakeaway/DTools/orderstatus.h
+4
-1
fmTakeaway/DTools/sysTray.cpp
+2
-2
fmTakeaway/Model/orderObject.h
+14
-1
fmTakeaway/floatForm.cpp
+6
-6
fmTakeaway/floatForm.ui
+1
-1
fmTakeaway/fm.ico
+0
-0
fmTakeaway/fmTakeaway.pro
+1
-1
fmTakeaway/fmTakeaway.rc
+2
-2
fmTakeaway/main.cpp
+11
-6
fmTakeaway/settingForm.cpp
+12
-13
No files found.
fmTakeaway/Control/flowControl.cpp
View file @
cd71b166
...
@@ -54,7 +54,7 @@ FlowControl::FlowControl():semaphore(0)
...
@@ -54,7 +54,7 @@ FlowControl::FlowControl():semaphore(0)
connect
(
this
,
&
FlowControl
::
doConfirmOrder
,
this
,
&
FlowControl
::
_ConfirmOrder
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doConfirmOrder
,
this
,
&
FlowControl
::
_ConfirmOrder
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doRefundOrder
,
this
,
&
FlowControl
::
_RefundOrder
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doRefundOrder
,
this
,
&
FlowControl
::
_RefundOrder
,
Qt
::
BlockingQueuedConnection
);
connect
(
this
,
&
FlowControl
::
doLogin
,
this
,
&
FlowControl
::
onGetNewStoreInfo
);
connect
(
this
,
&
FlowControl
::
doLogin
,
this
,
&
FlowControl
::
onGetNewStoreInfo
,
Qt
::
BlockingQueuedConnection
);
m_tcpServerManage
=
new
JQHttpServer
::
TcpServerManage
(
10
);
m_tcpServerManage
=
new
JQHttpServer
::
TcpServerManage
(
10
);
m_tcpServerManage
->
setHttpAcceptedCallback
(
[
this
](
const
QPointer
<
JQHttpServer
::
Session
>
&
session
)
m_tcpServerManage
->
setHttpAcceptedCallback
(
[
this
](
const
QPointer
<
JQHttpServer
::
Session
>
&
session
)
...
@@ -86,7 +86,7 @@ FlowControl::FlowControl():semaphore(0)
...
@@ -86,7 +86,7 @@ FlowControl::FlowControl():semaphore(0)
{
{
status
=
0
;
status
=
0
;
}
}
if
(
!
m_orders
MapXbk
.
isEmpty
())
if
(
!
m_orders
EntryMap
.
isEmpty
())
{
{
iscontinue
=
1
;
iscontinue
=
1
;
}
}
...
@@ -109,6 +109,7 @@ FlowControl::FlowControl():semaphore(0)
...
@@ -109,6 +109,7 @@ FlowControl::FlowControl():semaphore(0)
{
{
QLOG_INFO
()
<<
QString
(
"bind failed!"
);
QLOG_INFO
()
<<
QString
(
"bind failed!"
);
}
}
Orderstatus
::
getInstance
();
_ClickOMSAssignArea
();
_ClickOMSAssignArea
();
m_loginTimer
->
start
(
20
*
1000
);
m_loginTimer
->
start
(
20
*
1000
);
semaphore
.
release
(
1
);
semaphore
.
release
(
1
);
...
@@ -140,9 +141,7 @@ void FlowControl::_AddOrderPull(const QString &orderId, const QString &channel,
...
@@ -140,9 +141,7 @@ void FlowControl::_AddOrderPull(const QString &orderId, const QString &channel,
orderPull
.
channel
=
channel
;
orderPull
.
channel
=
channel
;
orderPull
.
pageNumber
=
pageNumber
;
orderPull
.
pageNumber
=
pageNumber
;
orderPull
.
pageSize
=
pageSize
;
orderPull
.
pageSize
=
pageSize
;
m_mutex
.
lock
();
m_orderPullList
.
append
(
orderPull
);
m_orderPullList
.
append
(
orderPull
);
m_mutex
.
unlock
();
}
}
void
FlowControl
::
_GetOrder
(
const
QString
&
orderId
,
const
QString
&
channel
)
void
FlowControl
::
_GetOrder
(
const
QString
&
orderId
,
const
QString
&
channel
)
...
@@ -162,7 +161,7 @@ void FlowControl::_ClickOMSAssignArea()
...
@@ -162,7 +161,7 @@ void FlowControl::_ClickOMSAssignArea()
void
FlowControl
::
_ClickToLogin
()
void
FlowControl
::
_ClickToLogin
()
{
{
if
(
!
m_bLoginResult
||!
m_orders
MapXbk
.
isEmpty
())
if
(
!
m_bLoginResult
||!
m_orders
EntryMap
.
isEmpty
())
{
{
QLOG_INFO
()
<<
"retry click after 20s"
;
QLOG_INFO
()
<<
"retry click after 20s"
;
_ClickOMSAssignArea
();
_ClickOMSAssignArea
();
...
@@ -243,17 +242,14 @@ bool FlowControl::_Login()
...
@@ -243,17 +242,14 @@ bool FlowControl::_Login()
m_clearTimer
->
start
(
1000
*
60
*
60
*
24
*
2
);
m_clearTimer
->
start
(
1000
*
60
*
60
*
24
*
2
);
m_heartTimer
->
start
(
1000
*
60
*
5
);
m_heartTimer
->
start
(
1000
*
60
*
5
);
m_pullTimer
->
start
(
1000
*
10
);
m_pullTimer
->
start
(
1000
*
10
);
onGetBusinessStatus
();
emit
doPullOrder
(
QString
(),
QString
());
emit
doPullOrder
(
QString
(),
QString
());
}
}
}
}
if
(
!
result
)
if
(
!
result
)
{
{
QLOG_INFO
()
<<
QString
(
"%1 msec after login..."
).
arg
(
VALUE_RELOGINTIME
);
QLOG_INFO
()
<<
QString
(
"%1 msec after login..."
).
arg
(
VALUE_RELOGINTIME
);
QTimer
::
singleShot
(
VALUE_RELOGINTIME
,
this
,
&
FlowControl
::
_Login
);
QTimer
::
singleShot
(
VALUE_RELOGINTIME
,
this
,
&
FlowControl
::
_Login
);
}
}
return
result
;
return
result
;
}
}
...
@@ -350,6 +346,7 @@ bool FlowControl::_PullOrder()
...
@@ -350,6 +346,7 @@ bool FlowControl::_PullOrder()
}
}
}
}
}
}
orderObject
->
update_time
=
QDateTime
::
currentDateTime
().
toTime_t
();
if
(
OrderObject
::
RequestRefund
==
orderObject
->
status
)
if
(
OrderObject
::
RequestRefund
==
orderObject
->
status
)
{
{
emit
startRemind
(
1
);
emit
startRemind
(
1
);
...
@@ -365,28 +362,42 @@ bool FlowControl::_PullOrder()
...
@@ -365,28 +362,42 @@ bool FlowControl::_PullOrder()
}
}
OrderProperpy
op
;
OrderProperpy
op
;
QString
posSaledId
=
m_orderIdToPosSalesIdMap
.
value
(
orderObject
->
order_id
);
switch
(
orderObject
->
status
){
switch
(
orderObject
->
status
){
case
OrderObject
:
:
NewOrder
:
case
OrderObject
:
:
NewOrder
:
case
OrderObject
:
:
Confirmed
:
case
OrderObject
:
:
Confirmed
:
case
OrderObject
:
:
Sendout
:
case
OrderObject
:
:
Sendout
:
case
OrderObject
:
:
ToSend
:
case
OrderObject
:
:
ToSend
:
case
OrderObject
:
:
Finished
:
case
OrderObject
:
:
Finished
:
case
OrderObject
:
:
RequestRefund
:
if
(
!
breaded
)
if
(
!
breaded
)
{
{
op
.
bCancled
=
bcancled
;
op
.
bCancled
=
bcancled
;
op
.
bReaded
=
breaded
;
op
.
bReaded
=
breaded
;
op
.
entryType
=
1
;
op
.
entryType
=
1
;
op
.
pullNum
=
0
;
op
.
pullNum
=
0
;
m_ordersMapXbk
.
insert
(
orderObject
->
order_id
,
op
);
m_OrderEntryMutex
.
lock
();
m_ordersEntryMap
.
insert
(
orderObject
->
order_id
,
op
);
m_OrderEntryMutex
.
unlock
();
_ClickOMSAssignArea
();
_ClickOMSAssignArea
();
}
}
break
;
break
;
case
OrderObject
:
:
AgreeRefund
:
case
OrderObject
:
:
AgreeRefund
:
case
OrderObject
:
:
Refunded
:
case
OrderObject
:
:
Refunded
:
case
OrderObject
:
:
Cancled
:
case
OrderObject
:
:
Cancled
:
if
(
!
breaded
&&
m_ordersMapXbk
.
contains
(
orderObject
->
order_id
))
if
(
!
breaded
&&
m_ordersEntryMap
.
contains
(
orderObject
->
order_id
))
m_ordersMapXbk
.
erase
(
m_ordersMapXbk
.
find
(
orderObject
->
order_id
));
{
if
(
posSaledId
.
isEmpty
())
{
m_OrderEntryMutex
.
lock
();
m_ordersEntryMap
.
erase
(
m_ordersEntryMap
.
find
(
orderObject
->
order_id
));
m_OrderEntryMutex
.
unlock
();
}
else
{
orderObject
->
possale_id
=
posSaledId
;
}
}
break
;
break
;
default
:
default
:
break
;
break
;
...
@@ -595,7 +606,6 @@ bool FlowControl::_CompleteOrder(const QString& orderId)
...
@@ -595,7 +606,6 @@ bool FlowControl::_CompleteOrder(const QString& orderId)
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
int
oldStatus
=
orderObject
->
status
;
int
oldStatus
=
orderObject
->
status
;
orderObject
->
status
=
recvJson
[
JSON_STATUS
].
toInt
();
orderObject
->
status
=
recvJson
[
JSON_STATUS
].
toInt
();
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
}
}
...
@@ -925,19 +935,23 @@ void FlowControl::_ClearOrder()
...
@@ -925,19 +935,23 @@ void FlowControl::_ClearOrder()
{
{
QDateTime
currentDateTime
=
QDateTime
::
currentDateTime
();
QDateTime
currentDateTime
=
QDateTime
::
currentDateTime
();
OrderObject
*
order
=
NULL
;
OrderObject
*
order
=
NULL
;
m_OrderEntryMutex
.
lock
();
foreach
(
order
,
m_ordersMap
.
values
())
{
foreach
(
order
,
m_ordersMap
.
values
())
{
QDateTime
createDateTime
=
QDateTime
::
fromTime_t
(
order
->
cre
ate_time
);
QDateTime
createDateTime
=
QDateTime
::
fromTime_t
(
order
->
upd
ate_time
);
qint64
days
=
createDateTime
.
daysTo
(
currentDateTime
);
qint64
days
=
createDateTime
.
daysTo
(
currentDateTime
);
if
(
days
>=
2
)
if
(
days
>=
2
)
{
{
QLOG_INFO
()
<<
QString
(
"clear order %1"
).
arg
(
order
->
order_id
);
QLOG_INFO
()
<<
QString
(
"clear order %1"
).
arg
(
order
->
order_id
);
emit
clearorder
(
order
->
order_id
,
order
->
status
);
emit
clearorder
(
order
->
order_id
,
order
->
status
);
m_ordersMap
.
value
(
order
->
order_id
)
->
deleteLater
();
m_ordersMap
.
value
(
order
->
order_id
)
->
deleteLater
();
m_ordersEntryMap
.
erase
(
m_ordersEntryMap
.
find
(
order
->
order_id
));
delete
m_ordersMap
.
take
(
order
->
order_id
);
delete
m_ordersMap
.
take
(
order
->
order_id
);
}
}
}
}
Orderstatus
::
getInstance
().
deleteRecord
(
QDate
::
currentDate
().
addMonths
(
-
1
).
toString
(
"yyyy-MM-dd"
));
m_OrderEntryMutex
.
unlock
();
Orderstatus
::
getInstance
().
deleteRecord
(
QDate
::
currentDate
().
addMonths
(
-
1
).
toString
(
"yyyyMMdd"
));
}
}
bool
FlowControl
::
_GetReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
bool
FlowControl
::
_GetReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
...
@@ -958,7 +972,6 @@ bool FlowControl::_GetReplyJson(const QJsonObject &content,QJsonObject &data, QS
...
@@ -958,7 +972,6 @@ bool FlowControl::_GetReplyJson(const QJsonObject &content,QJsonObject &data, QS
else
{
else
{
actionId
=
content
[
"actionId"
].
toInt
();
actionId
=
content
[
"actionId"
].
toInt
();
}
}
qDebug
()
<<
actionId
;
switch
(
actionId
)
{
switch
(
actionId
)
{
case
1
:
//simphony拉取订单
case
1
:
//simphony拉取订单
result
=
_Get01ReplyJson
(
content
,
data
,
error
);
result
=
_Get01ReplyJson
(
content
,
data
,
error
);
...
@@ -969,6 +982,9 @@ bool FlowControl::_GetReplyJson(const QJsonObject &content,QJsonObject &data, QS
...
@@ -969,6 +982,9 @@ bool FlowControl::_GetReplyJson(const QJsonObject &content,QJsonObject &data, QS
case
3
:
//simphony取消接单
case
3
:
//simphony取消接单
result
=
_Get03ReplyJson
(
content
,
data
,
error
);
result
=
_Get03ReplyJson
(
content
,
data
,
error
);
break
;
break
;
case
4
:
//simphony消息回复
result
=
_Get04ReplyJson
(
content
,
data
,
error
);
break
;
case
11
:
//推送订单
case
11
:
//推送订单
result
=
_Get11ReplyJson
(
content
,
data
,
error
);
result
=
_Get11ReplyJson
(
content
,
data
,
error
);
break
;
break
;
...
@@ -1006,15 +1022,15 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
...
@@ -1006,15 +1022,15 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
QString
orderId
=
content
[
"orderId"
].
toString
();
QString
orderId
=
content
[
"orderId"
].
toString
();
if
(
m_ordersMap
.
contains
(
orderId
))
if
(
m_ordersMap
.
contains
(
orderId
))
{
{
if
(
m_orderOperatePair
.
contains
(
orderId
))
//
if(m_orderOperatePair.contains(orderId))
{
//
{
if
(
orderOperation
.
orderId
==
orderId
)
//
if(orderOperation.orderId==orderId)
{
//
{
emit
showAlert
(
AlertForm
::
MSGERROR
,
"订单已经在收银机上操作,请等待结果"
);
//
emit showAlert(AlertForm::MSGERROR,"订单已经在收银机上操作,请等待结果");
error
=
QString
(
"订单已经在收银机上操作,请等待结果"
);
//
error=QString("订单已经在收银机上操作,请等待结果");
}
//
}
return
false
;
//
return false;
}
//
}
emit
doStartOperateTimer
();
emit
doStartOperateTimer
();
emit
doConfirmOrder
(
orderId
);
emit
doConfirmOrder
(
orderId
);
orderOperation
.
orderId
=
orderId
;
orderOperation
.
orderId
=
orderId
;
...
@@ -1028,6 +1044,7 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
...
@@ -1028,6 +1044,7 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
error
=
QString
(
"响应超时"
);
error
=
QString
(
"响应超时"
);
}
}
result
=
m_bOperateResult
;
result
=
m_bOperateResult
;
//memset(&orderOperation,0, sizeof(orderOperation));
semaphore
.
release
(
1
);
semaphore
.
release
(
1
);
}
}
else
{
else
{
...
@@ -1043,20 +1060,21 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
...
@@ -1043,20 +1060,21 @@ bool FlowControl::_Get02ReplyJson(const QJsonObject &content, QJsonObject &data,
}
}
bool
FlowControl
::
_Get03ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
bool
FlowControl
::
_Get03ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
{
QLOG_INFO
()
<<
__FUNCTION__
;
int
result
;
int
result
;
if
(
m_bLoginResult
&&
content
.
contains
(
"orderId"
)){
if
(
m_bLoginResult
&&
content
.
contains
(
"orderId"
)){
QString
orderId
=
content
[
"orderId"
].
toString
();
QString
orderId
=
content
[
"orderId"
].
toString
();
if
(
m_ordersMap
.
contains
(
orderId
))
if
(
m_ordersMap
.
contains
(
orderId
))
{
{
if
(
m_orderOperatePair
.
contains
(
orderId
))
//
if(m_orderOperatePair.contains(orderId))
{
//
{
if
(
orderOperation
.
orderId
==
orderId
)
//
if(orderOperation.orderId==orderId)
{
//
{
emit
showAlert
(
AlertForm
::
SUCCESS
,
"订单已经在收银机上操作,请等待结果"
);
//
emit showAlert(AlertForm::SUCCESS,"订单已经在收银机上操作,请等待结果");
error
=
QString
(
"订单已经在收银机上操作,请等待结果"
);
//
error=QString("订单已经在收银机上操作,请等待结果");
}
//
}
return
false
;
//
return false;
}
//
}
emit
doStartOperateTimer
();
emit
doStartOperateTimer
();
emit
doRefundOrder
(
orderId
,
-
1
,
QString
(
"同意退款"
));
emit
doRefundOrder
(
orderId
,
-
1
,
QString
(
"同意退款"
));
orderOperation
.
orderId
=
orderId
;
orderOperation
.
orderId
=
orderId
;
...
@@ -1070,6 +1088,7 @@ bool FlowControl::_Get03ReplyJson(const QJsonObject &content, QJsonObject &data,
...
@@ -1070,6 +1088,7 @@ bool FlowControl::_Get03ReplyJson(const QJsonObject &content, QJsonObject &data,
error
=
QString
(
"响应超时"
);
error
=
QString
(
"响应超时"
);
}
}
result
=
m_bOperateResult
;
result
=
m_bOperateResult
;
memset
(
&
orderOperation
,
0
,
sizeof
(
orderOperation
));
semaphore
.
release
(
1
);
semaphore
.
release
(
1
);
}
}
...
@@ -1084,10 +1103,59 @@ bool FlowControl::_Get03ReplyJson(const QJsonObject &content, QJsonObject &data,
...
@@ -1084,10 +1103,59 @@ bool FlowControl::_Get03ReplyJson(const QJsonObject &content, QJsonObject &data,
}
}
return
result
;
return
result
;
}
}
bool
FlowControl
::
_Get04ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
QLOG_INFO
()
<<
__FUNCTION__
;
bool
result
=
true
;
if
(
m_bLoginResult
&&
content
.
contains
(
"orderId"
)){
QString
orderId
=
content
[
"orderId"
].
toString
();
QString
posSaleId
=
content
[
"PosSaleId"
].
toString
();
if
(
!
orderId
.
isEmpty
()
&&
posSaleId
.
isEmpty
())
{
QLOG_INFO
()
<<
QString
(
"%1订单已经成功推送给simphony"
).
arg
(
orderId
);
m_orderIdToPosSalesIdMap
.
insert
(
orderId
,
posSaleId
);
if
(
m_ordersEntryMap
.
contains
(
orderId
))
{
if
(
m_ordersEntryMap
.
value
(
orderId
).
entryType
==
1
)
{
Orderstatus
::
getInstance
().
putupdate
(
orderId
,
1
);
Orderstatus
::
getInstance
().
PosSalesIdupdate
(
orderId
,
posSaleId
);
}
else
{
orderId
=
m_orderIdToPosSalesIdMap
.
key
(
posSaleId
);
Orderstatus
::
getInstance
().
refundupdate
(
orderId
,
1
);
}
m_OrderEntryMutex
.
lock
();
m_ordersEntryMap
.
erase
(
m_ordersEntryMap
.
find
(
orderId
));
m_OrderEntryMutex
.
unlock
();
}
else
{
OrderProperpy
op
;
op
.
bCancled
=
true
;
op
.
bReaded
=
false
;
op
.
entryType
=
0
;
op
.
pullNum
=
0
;
m_OrderEntryMutex
.
lock
();
m_ordersEntryMap
.
insert
(
orderId
,
op
);
m_OrderEntryMutex
.
unlock
();
}
}
else
{
result
=
false
;
error
=
QString
(
"订单号不能为空"
);
}
}
else
{
result
=
false
;
error
=
QString
(
"请求参数错误"
);
}
return
result
;
}
bool
FlowControl
::
_Get11ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
bool
FlowControl
::
_Get11ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
)
{
{
QLOG_INFO
()
<<
__FUNCTION__
;
QLOG_INFO
()
<<
__FUNCTION__
;
int
result
;
bool
result
=
true
;
if
(
!
m_bLoginResult
){
if
(
!
m_bLoginResult
){
error
=
QString
(
"FMOMS未登录"
);
error
=
QString
(
"FMOMS未登录"
);
return
false
;
return
false
;
...
@@ -1136,44 +1204,25 @@ bool FlowControl::_GetLoginReplyJson(const QJsonObject &content,QString &error)
...
@@ -1136,44 +1204,25 @@ bool FlowControl::_GetLoginReplyJson(const QJsonObject &content,QString &error)
bool
FlowControl
::
_GetQueryReplyJson
(
QJsonObject
&
data
,
QString
&
error
,
const
QString
&
orderId
)
bool
FlowControl
::
_GetQueryReplyJson
(
QJsonObject
&
data
,
QString
&
error
,
const
QString
&
orderId
)
{
{
QLOG_INFO
()
<<
__FUNCTION__
<<
error
<<
orderId
;
QLOG_INFO
()
<<
__FUNCTION__
<<
error
<<
orderId
;
bool
result
;
bool
result
=
true
;
if
(
!
m_bLoginResult
)
if
(
!
m_bLoginResult
)
{
{
error
=
QString
(
"FMOMS 未登录"
);
error
=
QString
(
"FMOMS 未登录"
);
return
false
;
return
false
;
}
}
if
(
!
orderId
.
isEmpty
())
if
(
m_ordersEntryMap
.
isEmpty
())
{
if
(
!
m_ordersMapXbk
.
contains
(
orderId
))
{
error
=
QString
(
"%1订单不能抓取"
).
arg
(
orderId
);
QLOG_INFO
()
<<
QString
(
"%1订单不能抓取"
).
arg
(
orderId
);
}
else
{
QLOG_INFO
()
<<
QString
(
"%1订单已经成功推送给simphony"
).
arg
(
orderId
);
if
(
m_ordersMapXbk
.
value
(
orderId
).
entryType
==
1
)
{
Orderstatus
::
getInstance
().
putupdate
(
orderId
,
1
);
}
else
{
Orderstatus
::
getInstance
().
refundupdate
(
orderId
,
1
);
}
m_ordersMapXbk
.
erase
(
m_ordersMapXbk
.
find
(
orderId
));
}
}
if
(
m_ordersMapXbk
.
isEmpty
())
{
{
error
=
QString
(
"没有新订单待拉取"
);
error
=
QString
(
"没有新订单待拉取"
);
result
=
fals
e
;
result
=
tru
e
;
}
}
else
else
{
{
QString
orderId
=
m_ordersMapXbk
.
firstKey
();
error
.
clear
();
QString
orderId
=
m_ordersEntryMap
.
firstKey
();
int
pullNum
=
4
;
int
pullNum
=
4
;
QMap
<
QString
,
OrderProperpy
>::
iterator
iter
;
QMap
<
QString
,
OrderProperpy
>::
iterator
iter
;
//auto iter=m_orders
MapXbk
.Iterator();
//auto iter=m_orders
EntryMap
.Iterator();
for
(
iter
=
m_orders
MapXbk
.
begin
();
iter
!=
m_ordersMapXbk
.
end
();
iter
++
)
for
(
iter
=
m_orders
EntryMap
.
begin
();
iter
!=
m_ordersEntryMap
.
end
();
iter
++
)
{
{
OrderProperpy
op
=
iter
.
value
();
OrderProperpy
op
=
iter
.
value
();
int
num
=
op
.
pullNum
;
int
num
=
op
.
pullNum
;
...
@@ -1184,14 +1233,16 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
...
@@ -1184,14 +1233,16 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
}
}
}
}
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
OrderObject
*
orderObject
=
m_ordersMap
.
value
(
orderId
);
if
(
4
==
m_orders
MapXbk
.
value
(
orderId
).
pullNum
)
if
(
4
==
m_orders
EntryMap
.
value
(
orderId
).
pullNum
)
{
{
OrderProperpy
op
=
m_orders
MapXbk
.
value
(
orderId
);
OrderProperpy
op
=
m_orders
EntryMap
.
value
(
orderId
);
op
.
pullNum
=
0
;
op
.
pullNum
=
0
;
m_ordersMapXbk
.
insert
(
orderId
,
op
);
m_OrderEntryMutex
.
lock
();
m_ordersEntryMap
.
insert
(
orderId
,
op
);
m_OrderEntryMutex
.
unlock
();
}
}
QJsonObject
rObj
,
cObj
;
QJsonObject
rObj
,
cObj
;
if
(
m_orders
MapXbk
.
first
().
entryType
==
1
)
if
(
m_orders
EntryMap
.
first
().
entryType
==
1
)
{
{
rObj
.
insert
(
"fm_cmd"
,
"put_order"
);
rObj
.
insert
(
"fm_cmd"
,
"put_order"
);
}
}
...
@@ -1201,6 +1252,7 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
...
@@ -1201,6 +1252,7 @@ bool FlowControl::_GetQueryReplyJson(QJsonObject &data, QString &error, const QS
rObj
.
insert
(
"fm_ver"
,
"1.0"
);
rObj
.
insert
(
"fm_ver"
,
"1.0"
);
cObj
.
insert
(
"pay_id"
,
"002"
);
cObj
.
insert
(
"pay_id"
,
"002"
);
cObj
.
insert
(
"pay_str"
,
"非码外卖"
);
cObj
.
insert
(
"pay_str"
,
"非码外卖"
);
cObj
.
insert
(
"posSales_id"
,
orderObject
->
possale_id
);
cObj
.
insert
(
"order_status"
,
orderObject
->
status
);
//订单的状态
cObj
.
insert
(
"order_status"
,
orderObject
->
status
);
//订单的状态
cObj
.
insert
(
"pay_ebcode"
,
orderObject
->
channel
);
cObj
.
insert
(
"pay_ebcode"
,
orderObject
->
channel
);
cObj
.
insert
(
"order_index"
,
orderObject
->
order_index
);
cObj
.
insert
(
"order_index"
,
orderObject
->
order_index
);
...
@@ -1306,7 +1358,11 @@ void FlowControl::_OperateTimeOut()
...
@@ -1306,7 +1358,11 @@ void FlowControl::_OperateTimeOut()
QLOG_INFO
()
<<
__FUNCTION__
;
QLOG_INFO
()
<<
__FUNCTION__
;
m_bOperateResult
=
false
;
m_bOperateResult
=
false
;
semaphore
.
release
(
1
);
semaphore
.
release
(
1
);
m_orderOperatePair
.
erase
(
m_orderOperatePair
.
find
(
orderOperation
.
orderId
));
auto
iter
=
m_orderOperatePair
.
find
(
orderOperation
.
orderId
);
if
(
iter
!=
m_orderOperatePair
.
end
())
{
m_orderOperatePair
.
erase
(
iter
);
}
}
}
...
...
fmTakeaway/Control/flowControl.h
View file @
cd71b166
...
@@ -87,17 +87,19 @@ private:
...
@@ -87,17 +87,19 @@ private:
QMap
<
QString
,
QMultiMap
<
QString
,
dishesObject
>
>
m_dishesMap
;
QMap
<
QString
,
QMultiMap
<
QString
,
dishesObject
>
>
m_dishesMap
;
// 已接单的订单
// 已接单的订单
QMap
<
QString
,
OrderProperpy
>
m_ordersMapXbk
;
QMap
<
QString
,
OrderProperpy
>
m_ordersEntryMap
;
//订单号与pos短号映射
QMap
<
QString
,
QString
>
m_orderIdToPosSalesIdMap
;
//记录当前订单操作
//记录当前订单操作
QMap
<
QString
,
int
>
m_orderOperatePair
;
QMap
<
QString
,
int
>
m_orderOperatePair
;
QMutex
m_mutex
;
//订单拉取记录
//订单拉取记录
QList
<
PullOrderInfo
>
m_orderPullList
;
QList
<
PullOrderInfo
>
m_orderPullList
;
//订单操作互斥信号
//订单操作互斥信号
QSemaphore
semaphore
;
QSemaphore
semaphore
;
//订单操作状态
//订单操作状态
OrderOperation
orderOperation
;
OrderOperation
orderOperation
;
QMutex
m_OrderEntryMutex
;
signals
:
signals
:
// 发送信号给自己 做登陆
// 发送信号给自己 做登陆
void
doLogin
();
void
doLogin
();
...
@@ -252,6 +254,7 @@ private slots:
...
@@ -252,6 +254,7 @@ private slots:
bool
_Get01ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get01ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get02ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get02ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get03ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get03ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get04ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get11ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get11ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get12ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_Get12ReplyJson
(
const
QJsonObject
&
content
,
QJsonObject
&
data
,
QString
&
error
);
bool
_GetLoginReplyJson
(
const
QJsonObject
&
content
,
QString
&
error
);
bool
_GetLoginReplyJson
(
const
QJsonObject
&
content
,
QString
&
error
);
...
...
fmTakeaway/DTools/orderstatus.cpp
View file @
cd71b166
#include "orderstatus.h"
#
include
"orderstatus.h"
#include "QsLog.h"
#include "QsLog.h"
#include <QCoreApplication>
#include <QCoreApplication>
...
@@ -25,8 +25,7 @@ Orderstatus::Orderstatus()
...
@@ -25,8 +25,7 @@ Orderstatus::Orderstatus()
}
}
if
(
!
isTableExist
){
if
(
!
isTableExist
){
QLOG_INFO
()
<<
"table status does not exist"
;
QLOG_INFO
()
<<
"table status does not exist"
;
query
.
prepare
(
QString
(
"create table status (orderId varchar(20) primary key, "
query
.
prepare
(
QString
(
"create table status (orderId varchar(20) primary key,isput int(1),isrefund int(1),isreport int(1),isbackreport int(1),posSalesId varchar(20),creatTime varchar(20))"
));
"isput int(1),isrefund int(1),isreport int(1),isbackreport int(1),creatTime varchar(20))"
));
if
(
!
query
.
exec
())
if
(
!
query
.
exec
())
{
{
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
QString
::
number
(
query
.
lastError
().
type
())
<<
"create table"
;
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
QString
::
number
(
query
.
lastError
().
type
())
<<
"create table"
;
...
@@ -55,7 +54,7 @@ bool Orderstatus::statusinsert(const QString &orderId,const QString& creatTime)
...
@@ -55,7 +54,7 @@ bool Orderstatus::statusinsert(const QString &orderId,const QString& creatTime)
}
}
bool
result
;
bool
result
;
QSqlQuery
query
(
db
);
QSqlQuery
query
(
db
);
query
.
prepare
(
QString
(
"insert into status values('%1',0,0,0,0,'%6')"
).
arg
(
orderId
).
arg
(
creatTime
));
query
.
prepare
(
QString
(
"insert into status values('%1',0,0,0,0,
NUll,
'%6')"
).
arg
(
orderId
).
arg
(
creatTime
));
qDebug
()
<<
creatTime
;
qDebug
()
<<
creatTime
;
if
(
!
query
.
exec
())
if
(
!
query
.
exec
())
{
{
...
@@ -302,6 +301,56 @@ bool Orderstatus::isorderexit(const QString &orderId)
...
@@ -302,6 +301,56 @@ bool Orderstatus::isorderexit(const QString &orderId)
return
result
;
return
result
;
}
}
bool
Orderstatus
::
PosSalesIdupdate
(
const
QString
&
orderId
,
const
QString
&
posSalesId
)
{
m_mutex
.
lock
();
if
(
!
db
.
open
())
{
QLOG_ERROR
()
<<
"sqlite open failed"
<<
db
.
lastError
().
text
();
return
false
;
}
bool
result
;
QSqlQuery
query
(
db
);
query
.
prepare
(
QString
(
"update status set posSalesId='%1' where orderId='%2'"
)
.
arg
(
posSalesId
).
arg
(
orderId
));
if
(
!
query
.
exec
())
{
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
__FUNCTION__
;
result
=
false
;
}
else
{
QLOG_INFO
()
<<
QString
(
"update orderId %1 posSalesId success"
).
arg
(
orderId
);
result
=
true
;
}
db
.
close
();
m_mutex
.
unlock
();
return
result
;
}
QString
Orderstatus
::
getPosSalesId
(
const
QString
&
orderId
)
{
m_mutex
.
lock
();
QString
result
;
if
(
!
db
.
open
())
{
QLOG_ERROR
()
<<
"sqlite open failed"
<<
db
.
lastError
().
text
();
return
result
;
}
QSqlQuery
query
(
db
);
query
.
prepare
(
QString
(
"select posSalesId from status where orderId='%1'"
).
arg
(
orderId
));
if
(
!
query
.
exec
())
{
QLOG_ERROR
()
<<
query
.
lastError
().
text
()
<<
orderId
<<
__FUNCTION__
;
}
while
(
query
.
next
())
{
result
=
query
.
value
(
0
).
toString
();
}
db
.
close
();
m_mutex
.
unlock
();
return
result
;
}
bool
Orderstatus
::
deleteRecord
(
QString
creatTime
)
bool
Orderstatus
::
deleteRecord
(
QString
creatTime
)
{
{
m_mutex
.
lock
();
m_mutex
.
lock
();
...
...
fmTakeaway/DTools/orderstatus.h
View file @
cd71b166
/******************
/******************
*进行sqlite操作
*进行sqlite操作
******************/
******************/
#ifndef ORDERSTATUS_H
#ifndef ORDERSTATUS_H
...
@@ -76,6 +76,9 @@ public:
...
@@ -76,6 +76,9 @@ public:
*返回:true是,false否
*返回:true是,false否
**/
**/
bool
isorderexit
(
const
QString
&
orderId
);
bool
isorderexit
(
const
QString
&
orderId
);
bool
PosSalesIdupdate
(
const
QString
&
orderId
,
const
QString
&
posSalesId
);
QString
getPosSalesId
(
const
QString
&
orderId
);
bool
deleteRecord
(
QString
creatTime
);
bool
deleteRecord
(
QString
creatTime
);
private
:
private
:
QMutex
m_mutex
;
QMutex
m_mutex
;
...
...
fmTakeaway/DTools/sysTray.cpp
View file @
cd71b166
#include "SysTray.h"
#
include
"SysTray.h"
#include <QApplication>
#include <QApplication>
#include <QThread>
#include <QThread>
extern
QThread
tcpThread
;
extern
QThread
tcpThread
;
...
@@ -9,7 +9,7 @@ SysTray::SysTray(QObject *parent) :
...
@@ -9,7 +9,7 @@ SysTray::SysTray(QObject *parent) :
{
{
_CreatMenu
();
_CreatMenu
();
setIcon
(
QIcon
(
":fm.
ico
"
));
setIcon
(
QIcon
(
":fm.
png
"
));
}
}
void
SysTray
::
_CreatMenu
()
void
SysTray
::
_CreatMenu
()
...
...
fmTakeaway/Model/orderObject.h
View file @
cd71b166
#ifndef ORDEROBJECT_H
#
ifndef
ORDEROBJECT_H
#define ORDEROBJECT_H
#define ORDEROBJECT_H
#include "Model/baseObject.h"
#include "Model/baseObject.h"
...
@@ -148,6 +148,7 @@ public:
...
@@ -148,6 +148,7 @@ public:
Q_PROPERTY
(
int
delivery_time
READ
getdelivery_time
WRITE
setdelivery_time
)
Q_PROPERTY
(
int
delivery_time
READ
getdelivery_time
WRITE
setdelivery_time
)
Q_PROPERTY
(
int
delivery_status
READ
getdelivery_status
WRITE
setdelivery_status
)
Q_PROPERTY
(
int
delivery_status
READ
getdelivery_status
WRITE
setdelivery_status
)
Q_PROPERTY
(
QString
fm_id
READ
getfm_id
WRITE
setfm_id
)
Q_PROPERTY
(
QString
fm_id
READ
getfm_id
WRITE
setfm_id
)
Q_PROPERTY
(
QString
possale_id
READ
getpossale_id
WRITE
setpossale_id
)
Q_PROPERTY
(
QStringList
records
READ
getrecords
WRITE
setrecords
)
Q_PROPERTY
(
QStringList
records
READ
getrecords
WRITE
setrecords
)
Q_PROPERTY
(
int
service_fee
READ
getservice_fee
WRITE
setservice_fee
)
Q_PROPERTY
(
int
service_fee
READ
getservice_fee
WRITE
setservice_fee
)
Q_PROPERTY
(
int
dis_platform_fee
READ
getdis_platform_fee
WRITE
setdis_platform_fee
)
Q_PROPERTY
(
int
dis_platform_fee
READ
getdis_platform_fee
WRITE
setdis_platform_fee
)
...
@@ -155,11 +156,13 @@ public:
...
@@ -155,11 +156,13 @@ public:
Q_PROPERTY
(
int
package_fee
READ
getpackage_fee
WRITE
setpackage_fee
)
Q_PROPERTY
(
int
package_fee
READ
getpackage_fee
WRITE
setpackage_fee
)
Q_PROPERTY
(
int
product_fee
READ
getproduct_fee
WRITE
setproduct_fee
)
Q_PROPERTY
(
int
product_fee
READ
getproduct_fee
WRITE
setproduct_fee
)
Q_PROPERTY
(
int
order_type
READ
getorder_type
WRITE
setorder_type
)
Q_PROPERTY
(
int
order_type
READ
getorder_type
WRITE
setorder_type
)
Q_PROPERTY
(
int
update_time
READ
getupdate_time
WRITE
setupdate_time
)
int
service_fee
;
//平台佣金
int
service_fee
;
//平台佣金
int
dis_platform_fee
;
//平台承担的优惠金额
int
dis_platform_fee
;
//平台承担的优惠金额
int
dis_shop_fee
;
//商户承担的优惠金额
int
dis_shop_fee
;
//商户承担的优惠金额
int
package_fee
;
//打包费
int
package_fee
;
//打包费
QString
possale_id
;
//pos短号
QString
address
;
//地址
QString
address
;
//地址
QString
channel
;
//渠道
QString
channel
;
//渠道
...
@@ -201,8 +204,14 @@ public:
...
@@ -201,8 +204,14 @@ public:
int
product_fee
;
// 商户商品金额=商品金额+打包费
int
product_fee
;
// 商户商品金额=商品金额+打包费
int
order_type
;
//订单类型
int
order_type
;
//订单类型
int
update_time
;
//期望送达时间
protected
:
protected
:
inline
int
getupdate_time
()
const
{
return
update_time
;}
inline
void
setupdate_time
(
const
int
&
v
){
update_time
=
v
;}
inline
int
getproduct_fee
()
const
{
return
product_fee
;}
inline
int
getproduct_fee
()
const
{
return
product_fee
;}
inline
void
setproduct_fee
(
const
int
&
v
){
product_fee
=
v
;}
inline
void
setproduct_fee
(
const
int
&
v
){
product_fee
=
v
;}
...
@@ -239,6 +248,10 @@ protected:
...
@@ -239,6 +248,10 @@ protected:
inline
void
setchannelName
(
const
QString
&
v
){
channel_name
=
v
;}
inline
void
setchannelName
(
const
QString
&
v
){
channel_name
=
v
;}
inline
void
setpossale_id
(
const
QString
&
v
){
possale_id
=
v
;}
inline
QString
getpossale_id
()
const
{
return
possale_id
;}
inline
QString
getphone
()
const
{
return
phone
;}
inline
QString
getphone
()
const
{
return
phone
;}
inline
void
setphone
(
const
QString
&
v
){
phone
=
v
;}
inline
void
setphone
(
const
QString
&
v
){
phone
=
v
;}
...
...
fmTakeaway/floatForm.cpp
View file @
cd71b166
#include "floatForm.h"
#
include
"floatForm.h"
#include "ui_floatForm.h"
#include "ui_floatForm.h"
#include <QPixmap>
#include <QPixmap>
#include "DTools/configManger.h"
#include "DTools/configManger.h"
...
@@ -18,9 +18,9 @@ FloatForm::FloatForm(QWidget *parent) :
...
@@ -18,9 +18,9 @@ FloatForm::FloatForm(QWidget *parent) :
m_bReminding
=
false
;
m_bReminding
=
false
;
QPixmap
imgNormal
(
":float_normal.
jp
g"
);
QPixmap
imgNormal
(
":float_normal.
pn
g"
);
m_imgNormalSize
=
imgNormal
.
size
();
m_imgNormalSize
=
imgNormal
.
size
();
QPixmap
imgRemind
(
":float_remind.
jp
g"
);
QPixmap
imgRemind
(
":float_remind.
pn
g"
);
m_imgRemindSize
=
imgRemind
.
size
();
m_imgRemindSize
=
imgRemind
.
size
();
m_animation
.
setTargetObject
(
this
);
m_animation
.
setTargetObject
(
this
);
...
@@ -93,7 +93,7 @@ void FloatForm::_Init()
...
@@ -93,7 +93,7 @@ void FloatForm::_Init()
setAttribute
(
Qt
::
WA_TranslucentBackground
);
setAttribute
(
Qt
::
WA_TranslucentBackground
);
setFixedSize
(
m_imgNormalSize
);
setFixedSize
(
m_imgNormalSize
);
setStyleSheet
(
"#floatWdg{ border-image: url(:float_normal.
jp
g); }"
);
setStyleSheet
(
"#floatWdg{ border-image: url(:float_normal.
pn
g); }"
);
//setStyleSheet("#floatWdg{ border-image: url(:logo.svg); }");
//setStyleSheet("#floatWdg{ border-image: url(:logo.svg); }");
//setStyleSheet("#floatWdg{ border-image: url(:float_normal.png); }");
//setStyleSheet("#floatWdg{ border-image: url(:float_normal.png); }");
...
@@ -109,7 +109,7 @@ void FloatForm::_Blink()
...
@@ -109,7 +109,7 @@ void FloatForm::_Blink()
m_animation
.
start
();
m_animation
.
start
();
loop
.
exec
();
loop
.
exec
();
this
->
setFixedSize
(
m_imgRemindSize
);
this
->
setFixedSize
(
m_imgRemindSize
);
ui
->
floatWdg
->
setStyleSheet
(
"#floatWdg{ border-image: url(:float_remind.
jp
g);}"
);
ui
->
floatWdg
->
setStyleSheet
(
"#floatWdg{ border-image: url(:float_remind.
pn
g);}"
);
//ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_remind.png);}");
//ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_remind.png);}");
m_animation
.
setStartValue
(
0
);
m_animation
.
setStartValue
(
0
);
m_animation
.
setEndValue
(
1
);
m_animation
.
setEndValue
(
1
);
...
@@ -121,7 +121,7 @@ void FloatForm::_Blink()
...
@@ -121,7 +121,7 @@ void FloatForm::_Blink()
loop
.
exec
();
loop
.
exec
();
this
->
setFixedSize
(
m_imgNormalSize
);
this
->
setFixedSize
(
m_imgNormalSize
);
//ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_normal.png)}");
//ui->floatWdg->setStyleSheet("#floatWdg{ border-image: url(:float_normal.png)}");
ui
->
floatWdg
->
setStyleSheet
(
"#floatWdg{ border-image: url(:float_normal.
jp
g);}"
);
ui
->
floatWdg
->
setStyleSheet
(
"#floatWdg{ border-image: url(:float_normal.
pn
g);}"
);
m_animation
.
setStartValue
(
0
);
m_animation
.
setStartValue
(
0
);
m_animation
.
setEndValue
(
1
);
m_animation
.
setEndValue
(
1
);
m_animation
.
start
();
m_animation
.
start
();
...
...
fmTakeaway/floatForm.ui
View file @
cd71b166
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<string>
Dialog
</string>
<string>
Dialog
</string>
</property>
</property>
<property
name=
"windowOpacity"
>
<property
name=
"windowOpacity"
>
<double>
0.
5
00000000000000
</double>
<double>
0.
8
00000000000000
</double>
</property>
</property>
<layout
class=
"QGridLayout"
name=
"gridLayout"
>
<layout
class=
"QGridLayout"
name=
"gridLayout"
>
<property
name=
"leftMargin"
>
<property
name=
"leftMargin"
>
...
...
fmTakeaway/fm.ico
deleted
100644 → 0
View file @
716544c1
File deleted
fmTakeaway/fmTakeaway.pro
View file @
cd71b166
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
#
#
#-------------------------------------------------
#-------------------------------------------------
QT
+=
core
gui
network
printsupport
multimedia
concurrent
sql
QT
+=
core
gui
network
multimedia
concurrent
sql
greaterThan
(
QT_MAJOR_VERSION
,
4
)
:
QT
+=
widgets
greaterThan
(
QT_MAJOR_VERSION
,
4
)
:
QT
+=
widgets
...
...
fmTakeaway/fmTakeaway.rc
View file @
cd71b166
IDI_ICON1 ICON DISCARDABLE"fm.ico"
IDI_ICON1 ICON DISCARDABLE "logo.ico"
\ No newline at end of file
\ No newline at end of file
fmTakeaway/main.cpp
View file @
cd71b166
#include "mainForm.h"
#
include
"mainForm.h"
#include <QApplication>
#include <QApplication>
#include <QDir>
#include <QDir>
#include <QResource>
#include <QResource>
...
@@ -53,12 +53,17 @@ void LoadTheme(const QString& theme)
...
@@ -53,12 +53,17 @@ void LoadTheme(const QString& theme)
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
HANDLE
m_hMutex
=
CreateMutex
(
NULL
,
FALSE
,
L"fmTakeaway"
);
HANDLE
m_hMutex
=
CreateMutex
(
NULL
,
FALSE
,
L"
Global
\\
fmTakeaway"
);
if
(
GetLastError
()
==
ERROR_ALREADY_EXISTS
)
{
if
(
NULL
!=
m_hMutex
){
CloseHandle
(
m_hMutex
);
if
(
GetLastError
()
==
ERROR_ALREADY_EXISTS
)
{
m_hMutex
=
NULL
;
CloseHandle
(
m_hMutex
);
return
-
1
;
m_hMutex
=
NULL
;
return
-
1
;
}
}
else
{
return
-
1
;
}
}
QApplication
a
(
argc
,
argv
);
QApplication
a
(
argc
,
argv
);
...
...
fmTakeaway/settingForm.cpp
View file @
cd71b166
#include "settingForm.h"
#
include
"settingForm.h"
#include "ui_settingForm.h"
#include "ui_settingForm.h"
#include "preDefine.h"
#include "preDefine.h"
#include "DTools/configManger.h"
#include "DTools/configManger.h"
#include <QPrinterInfo>
#include <QSound>
#include <QSound>
SettingForm
::
SettingForm
(
QWidget
*
parent
)
:
SettingForm
::
SettingForm
(
QWidget
*
parent
)
:
...
@@ -12,17 +11,17 @@ SettingForm::SettingForm(QWidget *parent) :
...
@@ -12,17 +11,17 @@ SettingForm::SettingForm(QWidget *parent) :
ui
->
setupUi
(
this
);
ui
->
setupUi
(
this
);
// 初始化打印机选项
// 初始化打印机选项
QString
printer
=
ConfigManger
::
GetInstance
().
GetPrinterName
();
//
QString printer = ConfigManger::GetInstance().GetPrinterName();
QStringList
printerList
=
QPrinterInfo
::
availablePrinterNames
();
//
QStringList printerList = QPrinterInfo::availablePrinterNames();
for
(
int
i
=
0
;
i
<
printerList
.
count
();
i
++
)
//
for(int i=0; i<printerList.count(); i++)
{
//
{
QString
name
=
printerList
[
i
];
//
QString name = printerList[i];
ui
->
settingCbxPrinter
->
addItem
(
name
);
//
ui->settingCbxPrinter->addItem(name);
if
(
!
name
.
compare
(
printer
))
//
if(!name.compare(printer))
{
//
{
ui
->
settingCbxPrinter
->
setCurrentIndex
(
i
);
//
ui->settingCbxPrinter->setCurrentIndex(i);
}
//
}
}
//
}
_Init
();
_Init
();
}
}
...
...
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