|
@@ -2,12 +2,14 @@ package com.huimv.wine.ws;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.huimv.wine.common.EventWsErrUtil;
|
|
|
+import com.huimv.wine.common.TimeUtil;
|
|
|
import com.huimv.wine.config.VipCofing;
|
|
|
import com.huimv.wine.entity.Advertise;
|
|
|
import com.huimv.wine.entity.Device;
|
|
|
import com.huimv.wine.entity.Params;
|
|
|
import com.huimv.wine.entity.Wine;
|
|
|
import com.huimv.wine.entity.vo.QrcodeParam;
|
|
|
+import com.huimv.wine.entity.vo.TradeRedis;
|
|
|
import com.huimv.wine.entity.vo.WsEvent;
|
|
|
import com.huimv.wine.mapper.AdvertiseMapper;
|
|
|
import com.huimv.wine.mapper.DeviceMapper;
|
|
@@ -16,6 +18,7 @@ import com.huimv.wine.mapper.WineMapper;
|
|
|
import com.huimv.wine.utils.SpringContextUtil;
|
|
|
import com.huimv.wine.utils.WebsocketSellerUtil;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
import org.springframework.web.socket.handler.TextWebSocketHandler;
|
|
@@ -24,6 +27,7 @@ import javax.websocket.*;
|
|
|
import javax.websocket.server.PathParam;
|
|
|
import javax.websocket.server.ServerEndpoint;
|
|
|
import java.io.IOException;
|
|
|
+import java.time.Duration;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -116,6 +120,8 @@ public class SellerController extends TextWebSocketHandler {
|
|
|
//生成支付码
|
|
|
private void getQrcode(Device device, Session session, Object data) {
|
|
|
WineMapper wineMapper = SpringContextUtil.getBean(WineMapper.class);
|
|
|
+ RedisTemplate redisTemplate = SpringContextUtil.getBean(RedisTemplate.class);
|
|
|
+
|
|
|
QrcodeParam qrcodeParam = (QrcodeParam) data;
|
|
|
int weight = qrcodeParam.getWeight();
|
|
|
int id = qrcodeParam.getId();
|
|
@@ -132,12 +138,13 @@ public class SellerController extends TextWebSocketHandler {
|
|
|
WebsocketSellerUtil.sendMessage(session,EventWsErrUtil.getWsErr(String.format("got a wrong cash[you: %d, real: %d]",cash,nowCash)));
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ String trade = id+TimeUtil.getNowStringTime();
|
|
|
+ String store = JSON.toJSONString(new TradeRedis(device.getId(),cell,id,weight,cash));
|
|
|
+ redisTemplate.opsForValue().set(String.format("WxPay_%s", trade),store, Duration.ofSeconds(1800));
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private void keepAlive(Session session, Object data) {
|
|
|
WebsocketSellerUtil.sendMessage(session,new WsEvent("advResult",data));
|
|
|
}
|