修改websocket代码

master
bynt 2 years ago
parent 0dee8d8fb2
commit 5fdfa009ba

@ -13,5 +13,7 @@ public class TreeUserDTO extends UserDto {
private static final long serialVersionUID = -6936022647922476487L; private static final long serialVersionUID = -6936022647922476487L;
private Long templateId;
private List<TreeUserDTO> children; private List<TreeUserDTO> children;
} }

@ -109,6 +109,12 @@ public enum ResponseCode {
*/ */
INSUFFICIENT_ACCOUNT_BALANCE("1019", "账户余额不足"), INSUFFICIENT_ACCOUNT_BALANCE("1019", "账户余额不足"),
/**
*
*
*/
CONNECTION_SUCCEEDED("1027", "连接成功"),
/** /**
* *
* *

@ -11,6 +11,7 @@ import lombok.Getter;
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum WebSocketEnums { public enum WebSocketEnums {
/** /**
* *
*/ */
@ -34,7 +35,13 @@ public enum WebSocketEnums {
/** /**
* *
*/ */
CREATE(5,"create"); CREATE(5,"create"),
/**
*
*/
HEART_BEAT(6,"heart_beat");
private final Integer value; private final Integer value;
private final String type; private final String type;

@ -147,6 +147,7 @@ public class CompanyServiceImpl implements CompanyService {
} }
@Override @Override
@CacheEvict(cacheNames = "companyCache", key = "#companyId")
public void updateCompanyTemplateId(Long templateId, Long companyId) { public void updateCompanyTemplateId(Long templateId, Long companyId) {
companyRepository.updateCompanyTemplateIdById(templateId,companyId); companyRepository.updateCompanyTemplateIdById(templateId,companyId);
} }

@ -135,6 +135,8 @@ public class UserServiceImpl implements UserService {
for (RoleSmallDto role : roles) { for (RoleSmallDto role : roles) {
if (role.getId() == DefaultNumberConstants.EIGHT_NUMBER) { if (role.getId() == DefaultNumberConstants.EIGHT_NUMBER) {
user.setIsManager(Boolean.TRUE); user.setIsManager(Boolean.TRUE);
CompanyDto companyById = companyService.findCompanyById(user.getCompanyId());
user.setTemplateId(companyById.getTemplateId());
} }
if (role.getId() == DefaultNumberConstants.ONE_NUMBER) { if (role.getId() == DefaultNumberConstants.ONE_NUMBER) {
user.setIsAdmin(Boolean.TRUE); user.setIsAdmin(Boolean.TRUE);

@ -6,6 +6,7 @@ import com.baiye.constant.DefaultNumberConstants;
import com.baiye.http.WebSocketResponse; import com.baiye.http.WebSocketResponse;
import com.baiye.manager.UserTokenManager; import com.baiye.manager.UserTokenManager;
import com.baiye.model.dto.SendWebSocketDTO; import com.baiye.model.dto.SendWebSocketDTO;
import com.baiye.model.enums.ResponseCode;
import com.baiye.model.enums.WebSocketEnums; import com.baiye.model.enums.WebSocketEnums;
import com.baiye.modules.system.service.MessageNotificationService; import com.baiye.modules.system.service.MessageNotificationService;
import com.baiye.modules.system.service.UserMessageService; import com.baiye.modules.system.service.UserMessageService;
@ -40,6 +41,7 @@ public class WebSocketServer {
} }
private static final AtomicInteger ONLINE_COUNT = new AtomicInteger(0); private static final AtomicInteger ONLINE_COUNT = new AtomicInteger(0);
/** /**
* concurrent线SetSession * concurrent线SetSession
*/ */
@ -69,10 +71,16 @@ public class WebSocketServer {
*/ */
@OnClose @OnClose
public void onClose(Session session) { public void onClose(Session session) {
if (onlineId != null) { Long userId = getUserId(session);
SESSIONS.remove(onlineId); try {
int cnt = ONLINE_COUNT.decrementAndGet(); if (userId != null) {
log.info("有连接关闭,当前连接数为:{}", cnt); SESSIONS.remove(userId);
int cnt = ONLINE_COUNT.decrementAndGet();
session.close();
log.info("有连接关闭关闭id为{},当前连接数为:{}", userId, cnt);
}
} catch (IOException e) {
throw new RuntimeException("关闭失败");
} }
} }
@ -83,7 +91,6 @@ public class WebSocketServer {
*/ */
@OnMessage @OnMessage
public void onMessage(String message, Session session) { public void onMessage(String message, Session session) {
log.info("来自客户端的消息:{}", message);
JSONObject jsonObject = JSONUtil.parseObj(message); JSONObject jsonObject = JSONUtil.parseObj(message);
String type = "type"; String type = "type";
UserMessageService userMessageService = UserMessageService userMessageService =
@ -144,6 +151,15 @@ public class WebSocketServer {
(jsonObject.getStr(type)))); (jsonObject.getStr(type))));
} }
break; break;
case DefaultNumberConstants.SIX_NUMBER:
userId = getUserId(session);
if (userId != null) {
sendMessage(session, JSONUtil.toJsonStr
(WebSocketResponse.createBySuccess
(jsonObject.getStr(type),
ResponseCode.CONNECTION_SUCCEEDED)));
}
break;
default: default:
break; break;
} }
@ -203,8 +219,9 @@ public class WebSocketServer {
} }
if (session != null) { if (session != null) {
sendMessage(session, message); sendMessage(session, message);
log.info("=============== 发送消息成功 ===============");
} else { } else {
log.warn("没有找到你指定ID的会话{}", sessionId); log.error("发送消息失败{}", sessionId);
} }
} }
@ -225,7 +242,7 @@ public class WebSocketServer {
data.setCode(DefaultNumberConstants.TWO_HUNDRED); data.setCode(DefaultNumberConstants.TWO_HUNDRED);
session.getBasicRemote().sendText(JSONUtil.toJsonStr(data)); session.getBasicRemote().sendText(JSONUtil.toJsonStr(data));
} else { } else {
log.warn("没有找到你指定ID的会话{}", id); log.error("没有找到你指定ID的会话{}", id);
} }
} }
} }
@ -238,7 +255,7 @@ public class WebSocketServer {
session.getBasicRemote().sendText(JSONUtil.toJsonStr session.getBasicRemote().sendText(JSONUtil.toJsonStr
(WebSocketResponse.createBySuccess("userMessage", hashMap.get(id)))); (WebSocketResponse.createBySuccess("userMessage", hashMap.get(id))));
} else { } else {
log.warn("没有找到你指定ID的会话{}", id); log.error("没有找到你指定ID的会话{}", id);
} }
} }
} catch (IOException e) { } catch (IOException e) {

Loading…
Cancel
Save