Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jiujian
/
client-customer-order-service
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wangyingyang
2024-11-26 20:09:51 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6a63d7689cbdd2178997447cd5dd5003b13456c6
6a63d768
1 parent
392b9a96
update order pageable
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
0 deletions
src/main/java/com/tianting/infoloop/service/grpc/OrderGrpcService.java
src/main/proto/ClientCustomerOrderService.proto
src/main/java/com/tianting/infoloop/service/grpc/OrderGrpcService.java
View file @
6a63d76
...
...
@@ -40,7 +40,9 @@ import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersB
import
com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByIdsRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByConditionRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByConditionRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByPaginationRpcRequest
;
...
...
@@ -193,6 +195,42 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu
queryWrapper
.
eq
(
OrderDb:
:
getStatus
,
request
.
getStatusValue
());
queryWrapper
.
orderByDesc
(
OrderDb:
:
getCreatedAt
);
final
var
result
=
orderDbService
.
page
(
page
,
queryWrapper
);
// 查询各个状态的订单数量
int
unknownCount
=
0
;
int
toPrepareCount
=
0
;
int
preparingCount
=
0
;
int
allServedCount
=
0
;
int
canceledCount
=
0
;
for
(
OrderStatusEnum
status:
OrderStatusEnum
.
values
())
{
LambdaQueryWrapper
<
OrderDb
>
queryCountWrapper
=
Wrappers
.
lambdaQuery
();
if
(!
request
.
getKeyword
().
isEmpty
())
{
queryCountWrapper
.
like
(
OrderDb:
:
getMealTime
,
request
.
getKeyword
());
}
queryCountWrapper
.
eq
(
OrderDb:
:
getEnterpriseId
,
request
.
getEnterpriseId
());
queryCountWrapper
.
eq
(
OrderDb:
:
getClientId
,
request
.
getClientId
());
queryCountWrapper
.
eq
(
OrderDb:
:
getStatus
,
status
.
ordinal
());
final
var
count
=
orderDbService
.
count
(
queryCountWrapper
);
if
(
status
.
equals
(
OrderStatusEnum
.
UNKNOWN_STATUS
))
{
unknownCount
+=
count
;
}
else
if
(
status
.
equals
(
OrderStatusEnum
.
TO_PREPARE
))
{
toPrepareCount
+=
count
;
}
else
if
(
status
.
equals
(
OrderStatusEnum
.
PREPARING
))
{
preparingCount
+=
count
;
}
else
if
(
status
.
equals
(
OrderStatusEnum
.
PARTIAL_SERVED
)
||
status
.
equals
(
OrderStatusEnum
.
ALL_SERVED
))
{
allServedCount
+=
count
;
}
else
{
canceledCount
+=
count
;
}
}
builder
.
setCountByStatus
(
OrderCountByStatus
.
newBuilder
()
.
setUnknownCount
(
unknownCount
)
.
setToPrepareCount
(
toPrepareCount
)
.
setPreparingCount
(
preparingCount
)
.
setAllServedCount
(
allServedCount
)
.
setCanceledCount
(
canceledCount
)
.
build
());
builder
.
setTotal
(
result
.
getTotal
());
builder
.
setPages
(
result
.
getPages
());
if
(!
result
.
getRecords
().
isEmpty
())
{
...
...
src/main/proto/ClientCustomerOrderService.proto
View file @
6a63d76
...
...
@@ -161,10 +161,19 @@ message QueryClientCustomerOrdersByPaginationRpcRequest {
int32
pageSize
=
6
;
}
message
OrderCountByStatus
{
int32
unknownCount
=
1
;
int32
toPrepareCount
=
2
;
int32
preparingCount
=
3
;
int32
allServedCount
=
4
;
int32
canceledCount
=
5
;
}
message
QueryClientCustomerOrdersByPaginationRpcResponse
{
int64
total
=
1
;
int64
pages
=
2
;
repeated
SingleClientCustomerOrderRpcResponse
responses
=
3
;
OrderCountByStatus
countByStatus
=
4
;
}
message
QueryClientCustomerOrdersByConditionRpcRequest
{
...
...
Please
register
or
login
to post a comment