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-11 12:34:40 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2cecf4fc32d7dad1cba7d6224b5e06fb212081cf
2cecf4fc
1 parent
929bb32c
update order
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
72 additions
and
23 deletions
gradle.properties
src/main/java/com/tianting/infoloop/handler/MyMetaObjectHandler.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/tracing/GrpcServerInterceptor.java
src/main/proto/ClientCustomerOrderService.proto
gradle.properties
View file @
2cecf4f
...
...
@@ -3,4 +3,4 @@ org.gradle.parallel=true
org.gradle.caching
=
true
org.gradle.jvmargs
=
-Xmx4096m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.configureondemand
=
true
org.gradle.java.home
=
/usr/lib/jvm/java-11-openjdk-amd64
\ No newline at end of file
#
org.gradle.java.home
=
/usr/lib/jvm/java-11-openjdk-amd64
\ No newline at end of file
...
...
src/main/java/com/tianting/infoloop/handler/MyMetaObjectHandler.java
View file @
2cecf4f
...
...
@@ -18,30 +18,30 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
this
.
strictInsertFill
(
metaObject
,
"createdAt"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictUpdateFill
(
metaObject
,
"updatedAt"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictInsertFill
(
metaObject
,
"isDeleted"
,
Integer
.
class
,
NOT_DELETED_FLAG
);
final
var
userId
=
ContextHolder
.
getUserId
();
final
var
source
=
ContextHolder
.
getSource
();
if
(
userId
!=
null
)
{
this
.
strictInsertFill
(
metaObject
,
"createdBy"
,
Integer
.
class
,
userId
);
this
.
strictInsertFill
(
metaObject
,
"updatedBy"
,
Integer
.
class
,
userId
);
}
if
(
source
!=
null
)
{
this
.
strictInsertFill
(
metaObject
,
"creationSource"
,
Integer
.
class
,
source
);
this
.
strictInsertFill
(
metaObject
,
"updateSource"
,
Integer
.
class
,
source
);
}
//
final var userId = ContextHolder.getUserId();
//
final var source = ContextHolder.getSource();
//
if (userId != null) {
//
this.strictInsertFill(metaObject, "createdBy", Integer.class, userId);
//
this.strictInsertFill(metaObject, "updatedBy", Integer.class, userId);
//
}
//
if (source != null) {
//
this.strictInsertFill(metaObject, "creationSource", Integer.class, source);
//
this.strictInsertFill(metaObject, "updateSource", Integer.class, source);
//
}
}
//更新时的填充策略
@Override
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
strictUpdateFill
(
metaObject
,
"updatedAt"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
final
var
userId
=
ContextHolder
.
getUserId
();
final
var
source
=
ContextHolder
.
getSource
();
if
(
userId
!=
null
)
{
this
.
strictInsertFill
(
metaObject
,
"updatedBy"
,
Integer
.
class
,
userId
);
}
if
(
source
!=
null
)
{
this
.
strictInsertFill
(
metaObject
,
"updateSource"
,
Integer
.
class
,
source
);
}
//
final var userId = ContextHolder.getUserId();
//
final var source = ContextHolder.getSource();
//
if (userId != null) {
//
this.strictInsertFill(metaObject, "updatedBy", Integer.class, userId);
//
}
//
if (source != null) {
//
this.strictInsertFill(metaObject, "updateSource", Integer.class, source);
//
}
}
}
...
...
src/main/java/com/tianting/infoloop/service/grpc/OrderGrpcService.java
View file @
2cecf4f
...
...
@@ -4,7 +4,9 @@ package com.tianting.infoloop.service.grpc;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderDetailsRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderDetailsRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrdersRpcRequest
;
...
...
@@ -41,6 +43,8 @@ import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecords
import
com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByConditionRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByConditionRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByPaginationRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByPaginationRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderDetailRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderDetailRpcRequest
;
...
...
@@ -170,6 +174,35 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu
@Override
@DS
(
DATA_SOURCE_MASTER
)
public
void
queryClientCustomerOrdersByPagination
(
final
QueryClientCustomerOrdersByPaginationRpcRequest
request
,
final
StreamObserver
<
QueryClientCustomerOrdersByPaginationRpcResponse
>
responseObserver
)
{
final
var
builder
=
QueryClientCustomerOrdersByPaginationRpcResponse
.
newBuilder
();
try
{
IPage
<
OrderDb
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
LambdaQueryWrapper
<
OrderDb
>
queryWrapper
=
Wrappers
.
lambdaQuery
();
if
(!
request
.
getKeyword
().
isEmpty
())
{
queryWrapper
.
like
(
OrderDb:
:
getMealTime
,
request
.
getKeyword
());
}
queryWrapper
.
eq
(
OrderDb:
:
getEnterpriseId
,
request
.
getEnterpriseId
());
queryWrapper
.
eq
(
OrderDb:
:
getClientId
,
request
.
getClientId
());
queryWrapper
.
eq
(
OrderDb:
:
getStatus
,
request
.
getStatusValue
());
final
var
result
=
orderDbService
.
page
(
page
,
queryWrapper
);
builder
.
setTotal
(
result
.
getTotal
());
builder
.
setPages
(
result
.
getPages
());
if
(!
result
.
getRecords
().
isEmpty
())
{
builder
.
addAllResponses
(
ProtoBeanUtil
.
beanListToProtoList
(
result
.
getRecords
(),
SingleClientCustomerOrderRpcResponse
.
class
));
}
}
catch
(
final
Exception
e
)
{
log
.
error
(
"queryClientCustomerOrdersByPagination error;"
,
e
);
responseObserver
.
onError
(
Status
.
INTERNAL
.
withDescription
(
e
.
getMessage
()).
asException
());
}
responseObserver
.
onNext
(
builder
.
build
());
responseObserver
.
onCompleted
();
}
@Override
@DS
(
DATA_SOURCE_MASTER
)
public
void
queryClientCustomerOrdersByCondition
(
final
QueryClientCustomerOrdersByConditionRpcRequest
request
,
final
StreamObserver
<
QueryClientCustomerOrdersByConditionRpcResponse
>
responseStreamObserver
)
{
...
...
src/main/java/com/tianting/infoloop/service/impl/OrderDbServiceImpl.java
View file @
2cecf4f
This diff is collapsed. Click to expand it.
src/main/java/com/tianting/infoloop/tracing/GrpcServerInterceptor.java
View file @
2cecf4f
...
...
@@ -131,10 +131,10 @@ public class GrpcServerInterceptor implements ServerInterceptor {
final
var
enterpriseId
=
headers
.
get
(
enterpriseIdKey
)
==
null
?
"0"
:
headers
.
get
(
enterpriseIdKey
);
final
var
source
=
headers
.
get
(
sourceKey
)
==
null
?
"0"
:
headers
.
get
(
sourceKey
);
log
.
info
(
"userContext; methodName:{}, userId:{}, enterpriseId:{}, source:{}"
,
methodName
,
userId
,
enterpriseId
,
source
);
return
Context
.
current
()
.
withValue
(
ConfigConstants
.
USER_ID
,
userId
)
.
withValue
(
ConfigConstants
.
ENTERPRISE_ID
,
enterpriseId
)
.
withValue
(
ConfigConstants
.
SOURCE
,
source
);
return
Context
.
current
()
;
//
.withValue(ConfigConstants.USER_ID, userId)
//
.withValue(ConfigConstants.ENTERPRISE_ID, enterpriseId)
//
.withValue(ConfigConstants.SOURCE, source);
}
private
static
class
GrpcGetter
implements
Propagation
.
RemoteGetter
<
Metadata
>
{
...
...
src/main/proto/ClientCustomerOrderService.proto
View file @
2cecf4f
...
...
@@ -18,6 +18,7 @@ service ClientCustomerOrderServiceRpc {
rpc
UpdateClientCustomerOrder
(
UpdateClientCustomerOrderRpcRequest
)
returns
(
UpdateClientCustomerOrderRpcResponse
)
{}
rpc
BatchUpdateClientCustomerOrders
(
BatchUpdateClientCustomerOrdersRpcRequest
)
returns
(
BatchUpdateClientCustomerOrdersRpcResponse
)
{}
rpc
DeleteClientCustomerOrdersByIds
(
DeleteClientCustomerOrdersByIdsRpcRequest
)
returns
(
DeleteClientCustomerOrdersRpcResponse
)
{}
rpc
QueryClientCustomerOrdersByPagination
(
QueryClientCustomerOrdersByPaginationRpcRequest
)
returns
(
QueryClientCustomerOrdersByPaginationRpcResponse
)
{}
//订单明细
rpc
GetClientCustomerOrderDetailById
(
GetClientCustomerOrderDetailByIdRpcRequest
)
returns
(
GetClientCustomerOrderDetailByIdRpcResponse
)
{}
...
...
@@ -142,6 +143,21 @@ message GetClientCustomerOrdersByCustomerIdRpcResponse {
repeated
SingleClientCustomerOrderRpcResponse
responses
=
1
;
}
message
QueryClientCustomerOrdersByPaginationRpcRequest
{
string
keyword
=
1
;
OrderStatusEnum
status
=
2
;
int32
clientId
=
3
;
int32
enterpriseId
=
4
;
int32
pageNo
=
5
;
int32
pageSize
=
6
;
}
message
QueryClientCustomerOrdersByPaginationRpcResponse
{
int64
total
=
1
;
int64
pages
=
2
;
repeated
SingleClientCustomerOrderRpcResponse
responses
=
3
;
}
message
QueryClientCustomerOrdersByConditionRpcRequest
{
int32
enterpriseId
=
1
;
bool
shouldFilterOrderCode
=
2
;
...
...
Please
register
or
login
to post a comment