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
Jiaqi Xia
2026-02-04 11:18:55 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
57461dcbe881c5e2b684821a41e35a9db7e01483
57461dcb
1 parent
e9121c99
feat: add pending order subscription messages query and update proto/service/db implementations
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
76 additions
and
1 deletions
src/main/java/com/tianting/infoloop/model/db/OrderSubscriptionMessageDb.java
src/main/java/com/tianting/infoloop/service/OrderSubscriptionMessageDbService.java
src/main/java/com/tianting/infoloop/service/grpc/MealOrderGrpcService.java
src/main/java/com/tianting/infoloop/service/impl/OrderSubscriptionMessageDbServiceImpl.java
src/main/proto/MealOrderService.proto
src/main/java/com/tianting/infoloop/model/db/OrderSubscriptionMessageDb.java
View file @
57461dc
...
...
@@ -20,7 +20,7 @@ import java.time.LocalDateTime;
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
value
=
"
order_subscription_message
"
)
@TableName
(
value
=
"
meal_order_subscription_messages
"
)
public
class
OrderSubscriptionMessageDb
extends
Model
<
OrderSubscriptionMessageDb
>
{
/**
* 主键ID
...
...
src/main/java/com/tianting/infoloop/service/OrderSubscriptionMessageDbService.java
View file @
57461dc
...
...
@@ -28,5 +28,12 @@ public interface OrderSubscriptionMessageDbService extends IService<OrderSubscri
* @return 受影响的行数
*/
int
batchPhysicalDeleteByIds
(
java
.
util
.
List
<
Long
>
ids
,
int
enterpriseId
);
/**
* 查询待发送的订阅消息(未删除的记录)
* @param enterpriseId 企业ID
* @return 待发送的订阅消息列表
*/
List
<
OrderSubscriptionMessageDb
>
queryPendingMessages
(
int
enterpriseId
);
}
...
...
src/main/java/com/tianting/infoloop/service/grpc/MealOrderGrpcService.java
View file @
57461dc
...
...
@@ -16,6 +16,9 @@ import com.infoloop.tianting.mealorderservice.CreateOrderSubscriptionMessageRpcR
import
com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcRequest
;
import
com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcResponse
;
import
com.infoloop.tianting.mealorderservice.OrderSubscriptionMessageRpcResponse
;
import
com.infoloop.tianting.mealorderservice.PendingOrderSubscriptionMessageRpcResponse
;
import
com.infoloop.tianting.mealorderservice.QueryPendingOrderSubscriptionMessagesRpcRequest
;
import
com.infoloop.tianting.mealorderservice.QueryPendingOrderSubscriptionMessagesRpcResponse
;
import
com.infoloop.tianting.mealorderservice.BatchCreateGradeClassesRpcResponse
;
import
com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcRequest
;
import
com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcResponse
;
...
...
@@ -1541,4 +1544,38 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
responseObserver
.
onNext
(
builder
.
build
());
responseObserver
.
onCompleted
();
}
@Override
@DS
(
DATA_SOURCE_SLAVE
)
public
void
queryPendingOrderSubscriptionMessages
(
final
QueryPendingOrderSubscriptionMessagesRpcRequest
request
,
final
StreamObserver
<
QueryPendingOrderSubscriptionMessagesRpcResponse
>
responseObserver
)
{
final
var
builder
=
QueryPendingOrderSubscriptionMessagesRpcResponse
.
newBuilder
();
try
{
final
var
messages
=
orderSubscriptionMessageDbService
.
queryPendingMessages
(
request
.
getEnterpriseId
());
for
(
final
var
message
:
messages
)
{
builder
.
addResponses
(
PendingOrderSubscriptionMessageRpcResponse
.
newBuilder
()
.
setId
(
message
.
getId
())
.
setEnterpriseId
(
message
.
getEnterpriseId
())
.
setDinerId
(
message
.
getDinerId
()
!=
null
?
message
.
getDinerId
()
:
0
)
.
setOpenId
(
message
.
getOpenId
())
.
setTemplateId
(
message
.
getTemplateId
()
!=
null
?
message
.
getTemplateId
()
:
""
)
.
setOrderPeriodStartDate
(
message
.
getOrderPeriodStartDate
()
!=
null
?
message
.
getOrderPeriodStartDate
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
()
:
0
)
.
setJumpPath
(
message
.
getJumpPath
()
!=
null
?
message
.
getJumpPath
()
:
""
)
.
setOrderPeriodEndDate
(
message
.
getOrderPeriodEndDate
()
!=
null
?
message
.
getOrderPeriodEndDate
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
()
:
0
)
.
setCreatedAt
(
message
.
getCreatedAt
()
!=
null
?
message
.
getCreatedAt
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
()
:
0
)
.
build
());
}
}
catch
(
final
Exception
e
)
{
log
.
error
(
"queryPendingOrderSubscriptionMessages error;"
,
e
);
responseObserver
.
onError
(
Status
.
INTERNAL
.
withDescription
(
e
.
getMessage
()).
asException
());
return
;
}
responseObserver
.
onNext
(
builder
.
build
());
responseObserver
.
onCompleted
();
}
}
...
...
src/main/java/com/tianting/infoloop/service/impl/OrderSubscriptionMessageDbServiceImpl.java
View file @
57461dc
...
...
@@ -96,5 +96,14 @@ public class OrderSubscriptionMessageDbServiceImpl extends ServiceImpl<OrderSubs
// 物理删除(使用 Mapper 中的 SQL,绕过逻辑删除)
return
this
.
baseMapper
.
physicalDeleteByIds
(
ids
,
enterpriseId
);
}
@Override
public
List
<
OrderSubscriptionMessageDb
>
queryPendingMessages
(
int
enterpriseId
)
{
LambdaQueryWrapper
<
OrderSubscriptionMessageDb
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
OrderSubscriptionMessageDb:
:
getEnterpriseId
,
enterpriseId
)
.
eq
(
OrderSubscriptionMessageDb:
:
getIsDeleted
,
false
)
.
orderByAsc
(
OrderSubscriptionMessageDb:
:
getCreatedAt
);
return
this
.
list
(
queryWrapper
);
}
}
...
...
src/main/proto/MealOrderService.proto
View file @
57461dc
...
...
@@ -69,6 +69,7 @@ service MealOrderServiceRpc {
rpc
GetUserOrderSubscriptionMessageHistory
(
GetUserOrderSubscriptionMessageHistoryRpcRequest
)
returns
(
GetUserOrderSubscriptionMessageHistoryRpcResponse
)
{}
rpc
BatchDeleteOrderSubscriptionMessagesByIds
(
BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest
)
returns
(
BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse
)
{}
rpc
BatchPhysicalDeleteOrderSubscriptionMessagesByIds
(
BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest
)
returns
(
BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse
)
{}
rpc
QueryPendingOrderSubscriptionMessages
(
QueryPendingOrderSubscriptionMessagesRpcRequest
)
returns
(
QueryPendingOrderSubscriptionMessagesRpcResponse
)
{}
}
enum
MealOrderOrderMethodEnum
{
...
...
@@ -1013,3 +1014,24 @@ message BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest {
message
BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse
{
int32
affectedRows
=
1
;
// 受影响的行数
}
// 查询待发送的订阅消息(未删除的记录)
message
QueryPendingOrderSubscriptionMessagesRpcRequest
{
int32
enterpriseId
=
1
;
}
message
PendingOrderSubscriptionMessageRpcResponse
{
int64
id
=
1
;
int32
enterpriseId
=
2
;
int32
dinerId
=
3
;
string
openId
=
4
;
string
templateId
=
5
;
int64
orderPeriodStartDate
=
6
;
string
jumpPath
=
7
;
int64
orderPeriodEndDate
=
8
;
int64
createdAt
=
9
;
}
message
QueryPendingOrderSubscriptionMessagesRpcResponse
{
repeated
PendingOrderSubscriptionMessageRpcResponse
responses
=
1
;
}
...
...
Please
register
or
login
to post a comment