修改用户是否在充电sql

This commit is contained in:
yuyang 2021-08-11 16:42:15 +08:00
parent d1639320f6
commit c597826849
2 changed files with 29 additions and 41 deletions

View File

@ -18,12 +18,13 @@ import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
/**
* @author yuyang
* @date 2021/8/9 14:33
*/
@Component
@ServerEndpoint(value="/websocket/{userId}")
@ServerEndpoint(value = "/websocket/{userId}")
public class WebSocketController {
/**
@ -44,14 +45,16 @@ public class WebSocketController {
/**
* 连接建立成功调用的方法
* @param session 可选的参数session为与某个客户端的连接会话需要通过它来给客户端发送数据
*
* @param session 可选的参数session为与某个客户端的连接会话需要通过它来给客户端发送数据
*/
@OnOpen
public void onOpen(@PathParam("userId") Long userId,Session session){
this.userId =userId;
public void onOpen(@PathParam("userId") Long userId, Session session) {
this.userId = userId;
this.session = session;
System.out.println("userId:"+userId);
System.out.println("session:"+session);
System.out.println("userId:" + userId);
System.out.println("session:" + session);
webSocketSet.add(this); //加入set中
addOnlineCount(); //在线数加1
System.out.println("有新连接加入!当前在线人数为" + getOnlineCount());
@ -61,41 +64,15 @@ public class WebSocketController {
e.printStackTrace();
}
}
/**
* 给指定的人发送消息
* @param message
*/
@OnMessage
public void sendToUser(String message) {
String sendUserno = message.split("[|]")[1];
String sendMessage = message.split("[|]")[0];
try {
if (webSocketSet.get(sendUserno) != null) {
webSocketSet.get(sendUserno).sendMessage("用户" + userno + "发来消息:" + " <br/> " + sendMessage);
} else {
System.out.println("当前用户不在线");
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取当前时间
*
* @return
*/
private String getNowTime() {
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(date);
return time;
}
/**
* 连接关闭调用的方法
*/
@OnClose
public void onClose(){
public void onClose() {
webSocketSet.remove(this); //从set中删除
subOnlineCount(); //在线数减1
System.out.println("有一连接关闭!当前在线人数为" + getOnlineCount());
@ -103,15 +80,17 @@ public class WebSocketController {
/**
* 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息
* @param session 可选的参数
*/
@OnMessage
public void onMessage(String message, Session session) {
System.out.println("收到:" + this.userId+"的消息");
System.out.println("收到:" + this.userId + "的消息");
System.out.println("来自客户端的消息:" + message);
try {
message ="{\n" +
message = "{\n" +
" \"msg\": \"操作成功\",\n" +
" \"code\": 200,\n" +
" \"data\": {\n" +
@ -133,7 +112,7 @@ public class WebSocketController {
ApplicationContext act = ApplicationContextRegister.getApplicationContext();
RedisService redisService = act.getBean(RedisService.class);
Object cacheObject = redisService.getCacheObject("gun:1472583698524602.seqdec");
System.out.println("cacheObject:"+cacheObject);
System.out.println("cacheObject:" + cacheObject);
this.session.getBasicRemote().sendText(message);
@ -144,24 +123,30 @@ public class WebSocketController {
/**
* 发生错误时调用
*
* @param session
* @param error
*/
@OnError
public void onError(Session session, Throwable error){
public void onError(Session session, Throwable error) {
System.out.println("发生错误");
error.printStackTrace();
}
public static synchronized int getOnlineCount() {
return onlineCount;
}
public static synchronized void addOnlineCount() {
WebSocketController.onlineCount++;
}
public static synchronized void subOnlineCount() {
WebSocketController.onlineCount--;
}
}

View File

@ -87,7 +87,10 @@
where del_flag=0
</select>
<select id="countXhpcRealTimeOrder" resultType="int">
select count(real_time_order_id) from xhpc_real_time_order where user_id =#{userId} and type =2 order by create_time desc LIMIT 1
select
count(charge_order_id)
from xhpc_charge_order
where user_id =#{userId} and status=0
</select>
<select id="countXhpcChargeOrder" resultType="int">