Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jiujian
/
client-customer-order-api
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-03-06 11:06:21 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
d5645b9784221c65f2fb261ae5a84d3c7f3c9d96
d5645b97
1 parent
5ce457eb
fix
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
4 deletions
src/main/java/com/infoloop/tianting/model/dto/OrderDbDTO.java
src/main/java/com/infoloop/tianting/server/WebSocketServer.java
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
src/main/java/com/infoloop/tianting/model/dto/OrderDbDTO.java
View file @
d5645b9
...
...
@@ -17,6 +17,8 @@ import lombok.NoArgsConstructor;
import
lombok.ToString
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -206,15 +208,19 @@ public class OrderDbDTO {
@RequestKeyParam
@ApiModelProperty
(
value
=
"档口 ID"
)
@NotNull
(
message
=
"档口 ID不能为空"
)
private
Integer
stallId
;
@ApiModelProperty
(
value
=
"客户 ID"
)
@NotNull
(
message
=
"客户 ID不能为空"
)
private
Integer
customerId
;
@ApiModelProperty
(
value
=
"餐单 id"
)
@NotNull
(
message
=
"餐单 id不能为空"
)
private
Integer
menuId
;
@ApiModelProperty
(
value
=
"用餐日期"
)
@NotNull
(
message
=
"用餐日期不能为空"
)
private
LocalDateTime
mealTime
;
@ApiModelProperty
(
value
=
"桌号"
)
...
...
@@ -224,9 +230,11 @@ public class OrderDbDTO {
private
String
remark
;
@ApiModelProperty
(
value
=
"支付方式"
)
@NotNull
(
message
=
"支付方式不能为空"
)
private
OnlinePayEnum
onlinePay
;
@ApiModelProperty
(
value
=
"订单菜品详情列表"
)
@NotEmpty
(
message
=
"订单菜品详情列表不能为空"
)
private
List
<
OperatorCreateOrderDetailDto
>
orderDetailDtos
;
}
...
...
@@ -240,10 +248,12 @@ public class OrderDbDTO {
private
Integer
enterpriseId
;
@ApiModelProperty
(
value
=
"院区 ID"
)
@NotNull
(
message
=
"院区 ID不能为空"
)
private
Integer
clientId
;
@RequestKeyParam
@ApiModelProperty
(
value
=
"档口 ID"
)
@NotNull
(
message
=
"档口 ID不能为空"
)
private
Integer
stallId
;
@ApiModelProperty
(
value
=
"需要创建客户 ID"
)
...
...
@@ -256,6 +266,7 @@ public class OrderDbDTO {
private
Integer
status
;
@ApiModelProperty
(
value
=
"餐单 id"
)
@NotNull
(
message
=
"餐单 id不能为空"
)
private
Integer
menuId
;
@ApiModelProperty
(
value
=
"订单商品总数"
)
...
...
@@ -265,6 +276,7 @@ public class OrderDbDTO {
private
Integer
payPrice
;
@ApiModelProperty
(
value
=
"支付方式"
)
@NotNull
(
message
=
"支付方式不能为空"
)
private
OnlinePayEnum
onlinePay
;
@ApiModelProperty
(
value
=
"支付时间"
)
...
...
@@ -280,6 +292,7 @@ public class OrderDbDTO {
private
String
transactionId
;
@ApiModelProperty
(
value
=
"用餐日期"
)
@NotNull
(
message
=
"用餐日期不能为空"
)
private
LocalDateTime
mealTime
;
@ApiModelProperty
(
value
=
"订餐地址"
)
...
...
@@ -309,7 +322,6 @@ public class OrderDbDTO {
@ApiModelProperty
(
value
=
"修改人 ID,修改人可能是院区端登陆的用户,也可能是 KDS 端登陆用户"
)
private
Integer
updatedBy
;
@ApiModelProperty
(
value
=
"更新来源:小程序点餐=1;院区端=2;kds=3;业务中台 = 4"
)
private
Integer
updateSource
;
...
...
@@ -317,6 +329,7 @@ public class OrderDbDTO {
private
CloseTimeType
closeTimeType
;
@ApiModelProperty
(
value
=
"订单菜品详情列表"
)
@NotEmpty
(
message
=
"订单菜品详情列表不能为空"
)
private
List
<
CreateOrderDetailDto
>
orderDetailDtos
;
}
...
...
src/main/java/com/infoloop/tianting/server/WebSocketServer.java
View file @
d5645b9
...
...
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
public
class
WebSocketServer
extends
TextWebSocketHandler
{
private
static
final
ConcurrentHashMap
<
UserSessionKey
,
UserSessionData
>
userSessions
=
new
ConcurrentHashMap
<>();
private
static
final
long
INACTIVITY_TIMEOUT
=
2
*
60
*
60
*
1000
;
private
static
final
long
INACTIVITY_TIMEOUT
=
60
*
60
*
1000
;
private
static
final
ScheduledExecutorService
scheduler
=
Executors
.
newScheduledThreadPool
(
1
);
static
{
...
...
@@ -34,6 +34,7 @@ public class WebSocketServer extends TextWebSocketHandler {
private
static
void
cleanInactiveSessions
()
{
final
var
currentTime
=
System
.
currentTimeMillis
();
final
var
iterator
=
userSessions
.
entrySet
().
iterator
();
log
.
info
(
"cleanInactiveSessions; sessions:{}"
,
userSessions
.
keySet
());
while
(
iterator
.
hasNext
())
{
final
var
entry
=
iterator
.
next
();
final
var
key
=
entry
.
getKey
();
...
...
@@ -108,8 +109,17 @@ public class WebSocketServer extends TextWebSocketHandler {
public
void
afterConnectionEstablished
(
WebSocketSession
session
)
{
final
var
key
=
getUserSessionKey
(
session
);
if
(
key
!=
null
)
{
final
var
existingSession
=
userSessions
.
remove
(
key
);
if
(
existingSession
!=
null
)
{
try
{
existingSession
.
closeSession
();
log
.
info
(
"WebSocket old connect closed,userId : {}, userType : {}"
,
key
.
getUserId
(),
key
.
getUserType
());
}
catch
(
IOException
e
)
{
log
.
error
(
"old WebSocket close failed,userId : {}, userType : {}"
,
key
.
getUserId
(),
key
.
getUserType
(),
e
);
}
}
userSessions
.
put
(
key
,
new
UserSessionData
(
session
));
log
.
info
(
"WebSocket connect success
:
userId : {}, userType : {}"
,
key
.
getUserId
(),
key
.
getUserType
());
log
.
info
(
"WebSocket connect success
,
userId : {}, userType : {}"
,
key
.
getUserId
(),
key
.
getUserType
());
}
else
{
log
.
warn
(
"WebSocket connect failed,unable to get valid user information"
);
}
...
...
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
View file @
d5645b9
...
...
@@ -609,7 +609,7 @@ public class OrderServiceRpcClient {
.
type
(
MessageTypeEnum
.
ORDER
)
.
noticeType
(
NoticeTypeEnum
.
ORDER_CREATED
)
.
subject
(
NoticeTypeEnum
.
ORDER_CREATED
.
getDescription
())
.
message
(
"
您
下单成功啦,快去查看吧~"
)
.
message
(
"
有新的订单
下单成功啦,快去查看吧~"
)
.
data
(
orderCreateSuccessData
)
.
build
();
try
{
...
...
Please
register
or
login
to post a comment