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
zhuyifan
2025-11-17 17:02:27 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3c378cea7111afbec4e181b87d47996b980900f0
3c378cea
1 parent
b987c51e
feat(proto): add batch query for order operation records
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
51 additions
and
0 deletions
src/main/java/com/tianting/infoloop/model/db/OrderDb.java
src/main/java/com/tianting/infoloop/service/grpc/OrderGrpcService.java
src/main/java/com/tianting/infoloop/service/impl/OrderDbServiceImpl.java
src/main/java/com/tianting/infoloop/utils/DbToProtoUtil.java
src/main/proto/ClientCustomerOrderService.proto
src/main/java/com/tianting/infoloop/model/db/OrderDb.java
View file @
3c378ce
...
...
@@ -119,6 +119,10 @@ public class OrderDb extends Model<OrderDb> implements Serializable {
*/
private
String
transactionId
;
/**
* 支付平台响应id
*/
private
String
tradeReferenceNo
;
/**
* 用餐日期
*/
private
LocalDateTime
mealTime
;
...
...
src/main/java/com/tianting/infoloop/service/grpc/OrderGrpcService.java
View file @
3c378ce
...
...
@@ -45,6 +45,8 @@ 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.GetOrderOperationRecordsByOrderIdsRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdsResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum
;
...
...
@@ -668,6 +670,31 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu
@Override
@DS
(
DATA_SOURCE_MASTER
)
public
void
getOrderOperationRecordsByOrderIds
(
final
GetOrderOperationRecordsByOrderIdsRequest
request
,
final
StreamObserver
<
GetOrderOperationRecordsByOrderIdsResponse
>
responseStreamObserver
)
{
final
var
builder
=
GetOrderOperationRecordsByOrderIdsResponse
.
newBuilder
();
try
{
LambdaQueryWrapper
<
OrderOperationRecordDb
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
OrderOperationRecordDb:
:
getEnterpriseId
,
request
.
getEnterpriseId
());
queryWrapper
.
in
(
OrderOperationRecordDb:
:
getOrderId
,
request
.
getOrderIdsList
());
queryWrapper
.
orderByDesc
(
OrderOperationRecordDb:
:
getCreatedAt
);
final
var
list
=
orderOperationRecordDbService
.
list
(
queryWrapper
);
if
(!
list
.
isEmpty
())
{
builder
.
addAllResponses
(
ProtoBeanUtil
.
beanListToProtoList
(
list
,
OrderOperationRecord
.
class
));
}
}
catch
(
final
Exception
e
)
{
log
.
error
(
"getClientCustomerOrdersByCustomerId error;"
,
e
);
responseStreamObserver
.
onError
(
Status
.
INTERNAL
.
withDescription
(
e
.
getMessage
()).
asException
());
}
responseStreamObserver
.
onNext
(
builder
.
build
());
responseStreamObserver
.
onCompleted
();
}
@Override
@DS
(
DATA_SOURCE_MASTER
)
public
void
batchCreateOrderOperationRecords
(
final
BatchCreateOrderOperationRecordsRequest
request
,
final
StreamObserver
<
BatchCreateOrderOperationRecordsResponse
>
responseStreamObserver
)
{
...
...
src/main/java/com/tianting/infoloop/service/impl/OrderDbServiceImpl.java
View file @
3c378ce
...
...
@@ -375,6 +375,9 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl
if
(
updateOrderRequest
.
getModification
().
getShouldUpdateTransactionId
())
{
orderDb
.
setTransactionId
(
updateOrderRequest
.
getModification
().
getTransactionId
());
}
if
(
updateOrderRequest
.
getModification
().
getShouldUpdateTradeReferenceNo
())
{
orderDb
.
setTradeReferenceNo
(
updateOrderRequest
.
getModification
().
getTradeReferenceNo
());
}
if
(
updateOrderRequest
.
getModification
().
getShouldUpdateMealTime
())
{
orderDb
.
setMealTime
(
LocalDateTimeUtil
.
of
(
updateOrderRequest
.
getModification
().
getMealTime
()));
}
...
...
src/main/java/com/tianting/infoloop/utils/DbToProtoUtil.java
View file @
3c378ce
...
...
@@ -70,6 +70,10 @@ public class DbToProtoUtil {
protoBuilder
.
setTransactionId
(
orderDb
.
getTransactionId
());
}
if
(
orderDb
.
getTradeReferenceNo
()
!=
null
)
{
protoBuilder
.
setTradeReferenceNo
(
orderDb
.
getTradeReferenceNo
());
}
if
(
orderDb
.
getMealTime
()!=
null
)
{
protoBuilder
.
setMealTime
(
orderDb
.
getMealTime
().
toEpochSecond
(
ZoneOffset
.
UTC
)
*
1000
);
}
...
...
src/main/proto/ClientCustomerOrderService.proto
View file @
3c378ce
...
...
@@ -32,6 +32,7 @@ service ClientCustomerOrderServiceRpc {
// 操作记录
rpc
GetOrderOperationRecordsByOrderId
(
GetOrderOperationRecordsByOrderIdRequest
)
returns
(
GetOrderOperationRecordsByOrderIdResponse
)
{}
rpc
GetOrderOperationRecordsByOrderIds
(
GetOrderOperationRecordsByOrderIdsRequest
)
returns
(
GetOrderOperationRecordsByOrderIdsResponse
)
{}
rpc
BatchCreateOrderOperationRecords
(
BatchCreateOrderOperationRecordsRequest
)
returns
(
BatchCreateOrderOperationRecordsResponse
)
{}
...
...
@@ -147,6 +148,7 @@ message SingleClientCustomerOrderRpcResponse {
string
syncRoomNo
=
36
;
bool
isCanceled
=
37
;
string
avoidRemark
=
38
;
string
tradeReferenceNo
=
39
;
}
message
GetClientCustomerOrderByIdRpcRequest
{
...
...
@@ -393,6 +395,8 @@ message ClientCustomerOrderModification {
bool
isCanceled
=
57
;
bool
shouldUpdateAvoidRemark
=
58
;
string
avoidRemark
=
59
;
bool
shouldUpdateTradeReferenceNo
=
60
;
string
tradeReferenceNo
=
61
;
}
message
UpdateClientCustomerOrderRpcRequest
{
...
...
@@ -624,6 +628,15 @@ message GetOrderOperationRecordsByOrderIdResponse {
repeated
OrderOperationRecord
responses
=
1
;
}
message
GetOrderOperationRecordsByOrderIdsRequest
{
int32
enterpriseId
=
1
;
repeated
int32
orderIds
=
2
;
}
message
GetOrderOperationRecordsByOrderIdsResponse
{
repeated
OrderOperationRecord
responses
=
1
;
}
message
OrderOperationRecordCreation
{
int32
orderId
=
1
;
OrderOperationType
type
=
2
;
...
...
Please
register
or
login
to post a comment