zhuyifan

fix

......@@ -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;
}
......
......@@ -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");
}
......
......@@ -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 {
......