Commit 3c5c3bf7 by 李小惠

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-lxh

parents 340682d4 01b24c66
...@@ -15,7 +15,8 @@ import java.util.Date; ...@@ -15,7 +15,8 @@ import java.util.Date;
public class WarehouseReq extends BaseRequest { public class WarehouseReq extends BaseRequest {
@NotBlank(message = "仓库主键不能为空", groups = {updateStatus.class, delete.class, detail.class}) @NotBlank(message = "仓库主键不能为空", groups = {updateStatus.class, delete.class, detail.class})
private String id; private String id;
//查询仓库设备时使用
private String warehouseId;
private String name; private String name;
private String location; private String location;
......
...@@ -40,6 +40,10 @@ public interface JYZBConstant { ...@@ -40,6 +40,10 @@ public interface JYZBConstant {
* 设备状态前缀 * 设备状态前缀
*/ */
String JYZB_ONLINE_PREFIX = "onlineState:"; String JYZB_ONLINE_PREFIX = "onlineState:";
/**
* 设备状态前缀
*/
String JYZB_DEVICE_PREFIX = "device:";
String JYZB_JWT_KEY = "JWT"; String JYZB_JWT_KEY = "JWT";
// String MINIO_ENDPOINT="http://192.168.3.121:9090"; // String MINIO_ENDPOINT="http://192.168.3.121:9090";
......
package com.junmp.jyzb.api.util;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
@Data
public class WsWarehouseReq {
@JsonProperty("deviceId")
private String deviceId;
@JsonProperty("orgId")
private String orgId;
@JsonProperty("onlineState")
private String onlineState;
@JsonProperty("warehouseId")
private String warehouseId;
@JsonProperty("warehouseDevs")
private List<warehouseDevs> warehouseDevs;
@Data
// 内部类表示box
public static class warehouseDevs {
@JsonProperty("devId")
private String devId;
@JsonProperty("devIP")
private String devIP;
@JsonProperty("devName")
private String devName;
@JsonProperty("devState")
private String devState;
@JsonProperty("devType")
private String devType;
}
}
\ No newline at end of file
package com.junmp.jyzb.cache;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.cache.AbstractRedisCache;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@Component
public class DeviceRedisCache extends AbstractRedisCache<String> {
public DeviceRedisCache(RedisTemplate<String, String> redisTemplate) {
super(redisTemplate);
}
@Override
public String getCommonKeyPrefix() {
return JYZBConstant.JYZB_DEVICE_PREFIX;
}
}
...@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq; ...@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateShelfReq; import com.junmp.jyzb.api.bean.req.UpdateShelfReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.api.util.WsWarehouseReq;
import com.junmp.jyzb.cache.TemperatureRedisCache; import com.junmp.jyzb.cache.TemperatureRedisCache;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature; import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
...@@ -50,7 +51,11 @@ public class WarehouseController { ...@@ -50,7 +51,11 @@ public class WarehouseController {
return ApiRes.success(warehouseService.AddWarehouse(req)); return ApiRes.success(warehouseService.AddWarehouse(req));
} }
@PostMapping(path="/CheckState",name="查询仓库设备状态")
@ApiOperation("添加仓库")
public ApiRes<WsWarehouseReq> CheckState(@RequestBody @Validated(ValidationApi.add.class) WarehouseReq req) {
return ApiRes.success(warehouseService.CheckState(req));
}
@PostMapping(path="/DeleteWarehouse",name="删除仓库信息#logType=30") @PostMapping(path="/DeleteWarehouse",name="删除仓库信息#logType=30")
@ApiOperation("删除仓库信息") @ApiOperation("删除仓库信息")
......
...@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq; ...@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.api.bean.query.WarehouseReq; import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.api.bean.req.WarrantyReq; import com.junmp.jyzb.api.bean.req.WarrantyReq;
import com.junmp.jyzb.api.util.WsWarehouseReq;
import com.junmp.jyzb.entity.Supplier; import com.junmp.jyzb.entity.Supplier;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature; import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
import com.junmp.jyzb.entity.Warehouse; import com.junmp.jyzb.entity.Warehouse;
...@@ -20,7 +21,12 @@ import java.util.Map; ...@@ -20,7 +21,12 @@ import java.util.Map;
public interface WarehouseService extends IService<Warehouse> { public interface WarehouseService extends IService<Warehouse> {
//ResponseResult addWarehouse(Map<String, Object> msg); /**
* 查询状态
*
* @param req
*/
WsWarehouseReq CheckState(WarehouseReq req);
/** /**
* 新增 * 新增
* *
......
...@@ -44,35 +44,10 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -44,35 +44,10 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
private PubOrgService pubOrgService; private PubOrgService pubOrgService;
@Resource @Resource
private CabinetBoxService cabinetBoxService; private CabinetBoxService cabinetBoxService;
@Resource
private PolicemanService policemanService;
@Resource
private CabinetBoxPoliceService cabinetBoxPoliceService;
@Resource
private CabinetBoxPoliceMapper cabinetBoxPoliceMapper;
@Autowired @Autowired
private RabbitMQSendMsg MQ; private RabbitMQSendMsg MQ;
private List<Long> getAllOrgId(CabinetReq req, String includeLowerLevel) {
List<Long> allOrg = new ArrayList<>();
if (includeLowerLevel.equals("false")) {
allOrg.add(req.getOrgId());
} else if (includeLowerLevel.equals("true")) {
//查询某组织机构的本级及下级
allOrg = pubOrgService.getLowerOrg(req.getOrgId());
}
return allOrg;
}
private List<Cabinet> getAllCabinetByOrg( List<Long> allOrgId) {
List<Cabinet> allCabinet = new ArrayList<>();
allCabinet = cabinetMapper.getAllCabinetByOrgList(allOrgId);
return allCabinet;
}
/** /**
* 添加单警柜 * 添加单警柜
* *
......
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -18,6 +19,8 @@ import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; ...@@ -18,6 +19,8 @@ import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.api.bean.req.WarrantyReq; import com.junmp.jyzb.api.bean.req.WarrantyReq;
import com.junmp.jyzb.api.bean.vo.InOrderInfoVo; import com.junmp.jyzb.api.bean.vo.InOrderInfoVo;
import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum; import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum;
import com.junmp.jyzb.api.util.WsWarehouseReq;
import com.junmp.jyzb.cache.DeviceRedisCache;
import com.junmp.jyzb.cache.TemperatureRedisCache; import com.junmp.jyzb.cache.TemperatureRedisCache;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
...@@ -63,12 +66,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -63,12 +66,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
@Autowired @Autowired
private RabbitMQSendMsg MQ; private RabbitMQSendMsg MQ;
@Resource
private DeviceRedisCache redisCache;
@Resource @Resource
private OfficeExcelApi officeExcelApi; private OfficeExcelApi officeExcelApi;
@Override
public WsWarehouseReq CheckState(WarehouseReq req) {
WsWarehouseReq warehouseReq=new WsWarehouseReq();
String deviceData= redisCache.get(req.getWarehouseId());
if (ObjectUtil.isNull(deviceData))
{
warehouseReq.setWarehouseId(req.getWarehouseId());
warehouseReq.setOnlineState("false");
}
else
{
warehouseReq.setOnlineState("true");
warehouseReq = JSON.parseObject(deviceData, WsWarehouseReq.class);
}
return warehouseReq;
}
@Override @Override
public String AddWarehouse(UpdateWarehouseReq req) { public String AddWarehouse(UpdateWarehouseReq req) {
List<Warehouse> list = list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getName, req.getName())); List<Warehouse> list = list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getName, req.getName()));
......
...@@ -8,10 +8,18 @@ import com.alibaba.fastjson2.JSON; ...@@ -8,10 +8,18 @@ import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.iot.server.ws.WebSocketServerListener;
import com.junmp.iot.server.ws.impl.DefaultWebSocketServerProtocol;
import com.junmp.junmpProcess.redis.FlowRedisCache;
import com.junmp.jyzb.api.util.WsCabinetReq;
import com.junmp.jyzb.api.util.WsWarehouseReq;
import com.junmp.jyzb.cache.DeviceRedisCache;
import com.junmp.jyzb.cache.OnlineRedisCache; import com.junmp.jyzb.cache.OnlineRedisCache;
import com.junmp.jyzb.entity.Cabinet; import com.junmp.jyzb.entity.Cabinet;
import com.junmp.jyzb.entity.CabinetBox;
import com.junmp.jyzb.entity.Temp.OnlineState; import com.junmp.jyzb.entity.Temp.OnlineState;
import com.junmp.jyzb.service.CabinetService; import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.ws.api.enums.ClientMsgType; import com.junmp.v2.ws.api.enums.ClientMsgType;
import com.junmp.v2.ws.api.enums.ServerMsgType; import com.junmp.v2.ws.api.enums.ServerMsgType;
import com.junmp.v2.ws.api.enums.SysMsgTypeEnum; import com.junmp.v2.ws.api.enums.SysMsgTypeEnum;
...@@ -22,6 +30,8 @@ import com.junmp.v2.ws.channel.WsSessionContainer; ...@@ -22,6 +30,8 @@ import com.junmp.v2.ws.channel.WsSessionContainer;
import com.junmp.v2.ws.message.WsMessageHandle; import com.junmp.v2.ws.message.WsMessageHandle;
import com.junmp.v2.ws.session.WsSessionHandle; import com.junmp.v2.ws.session.WsSessionHandle;
import io.jsonwebtoken.JwtException; import io.jsonwebtoken.JwtException;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -32,164 +42,74 @@ import javax.websocket.server.PathParam; ...@@ -32,164 +42,74 @@ import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint; import javax.websocket.server.ServerEndpoint;
import java.io.IOException; import java.io.IOException;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@Component @Component
@ServerEndpoint("/warehouse/{data}") @Slf4j
public class WarehouseWebSocketServer { public class WarehouseWebSocketServer implements WebSocketServerListener {
private static final Logger log = LoggerFactory.getLogger(com.junmp.v2.ws.server.ScreenWebSocketServer.class); // private static final Logger log = LoggerFactory.getLogger(com.junmp.v2.ws.server.ScreenWebSocketServer.class);
@Resource @Resource
public CabinetService cabinetService; public CabinetService cabinetService;
@Resource @Resource
private OnlineRedisCache onlineRedisCache; private DeviceRedisCache redisCache;
public WarehouseWebSocketServer() { @Override
public String uri() {
return "/device/ws";
} }
@OnOpen @SneakyThrows
public void onOpen(Session session, @PathParam("data") String data) { @Override
String userId = null; public void onText(DefaultWebSocketServerProtocol protocol) {
try {
// 获取当前时间的时间戳
Instant now = Instant.now();
// 转换为long类型
long timestamp = now.toEpochMilli();
Cabinet cabinet=cabinetService.getOne(new LambdaQueryWrapper<Cabinet>()
.eq(Cabinet::getCabinetNum, data));
cabinet.setOnlineState(1);
cabinet.setUpdateTime(DateTime.now());
// cabinetService.updateById(cabinet);
// //将数据放入redis
// onlineRedisCache.addSessionValue(session.getId(),type,typeId,timestamp);
} catch (JwtException var15) {
log.error("建立连接异常>>" + var15.getMessage());
try {
session.close();
log.warn("因连接失败,会话自动关闭");
} catch (IOException var14) {
var14.printStackTrace();
log.error("会话关闭异常>>" + var14.getMessage());
}
}
WsSessionContainer wsContainer = new WsSessionContainer(session);
WsSession<WsSessionContainer> socketSession = new WsSession();
WsMsgDto replyMsg = new WsMsgDto();
boolean var13 = false;
try { try {
var13 = true;
replyMsg.setServerMsgType(ServerMsgType.REPLY_MSG_TYPE.getCode());
// replyMsg.setToUserId(userId);
replyMsg.setData(session.getId());
socketSession.setSessionId(session.getId());
socketSession.setUserId(userId);
socketSession.setWsApi(wsContainer);
socketSession.setToken(data);
// socketSession.setData();
socketSession.setConnectionTime(System.currentTimeMillis());
WsSessionHandle.addWsSession(socketSession);
var13 = false;
} finally {
if (var13) {
wsContainer.writeAndFlush(replyMsg);
WsCallbackApi wsCallbackApi = WsMessageHandle.getWsCallback(SysMsgTypeEnum.LISTENER_ON_OPEN.getCode());
if (ObjectUtil.isNotEmpty(wsCallbackApi)) {
wsCallbackApi.callback(SysMsgTypeEnum.LISTENER_ON_OPEN.getCode(), (Object)null, socketSession);
}
log.info("已建立连接");
}
}
wsContainer.writeAndFlush(replyMsg);
WsCallbackApi wsCallbackApi = WsMessageHandle.getWsCallback(SysMsgTypeEnum.LISTENER_ON_OPEN.getCode());
if (ObjectUtil.isNotEmpty(wsCallbackApi)) {
wsCallbackApi.callback(SysMsgTypeEnum.LISTENER_ON_OPEN.getCode(), (Object)null, socketSession);
}
log.info("已建立连接");
}
@OnMessage String text = protocol.readText();
public void onMessage(String message, Session channel) { ObjectMapper objectMapper = new ObjectMapper();
WsMsgDto wsMsgDto = (WsMsgDto) JSON.parseObject(message, WsMsgDto.class); WsWarehouseReq deviceData = objectMapper.readValue(text, WsWarehouseReq.class);
WsSession<WsSessionContainer> wsSession = WsSessionHandle.getSessionBySessionId(channel.getId()); String warehouseId = deviceData.getWarehouseId();
if (ObjectUtil.isNotEmpty(wsSession) && ClientMsgType.USER_HEART.getCode().equals(wsMsgDto.getClientMsgType())) { String redisExist= redisCache.get(warehouseId);
log.info(StrUtil.format("来自与客户端[{}]的心跳消息。", new Object[]{wsMsgDto.getFromUserId()})); if(redisExist!=null)//已有存在数据
if (ObjectUtil.isNotEmpty(wsSession)) { {
wsSession.setLastActiveTime(System.currentTimeMillis());
}
} else if (!ObjectUtil.isEmpty(wsMsgDto.getFromUserId())) { String jsonData = objectMapper.writeValueAsString(deviceData);
if (ObjectUtil.isNotEmpty(wsSession)) { redisCache.put(warehouseId, jsonData);
wsSession.setLastActiveTime(System.currentTimeMillis());
WsCallbackApi callbackApi;
if (ClientMsgType.OPEN_AI_TYPE.getCode().equals(wsMsgDto.getClientMsgType())) {
log.info(StrUtil.format("来自与客户端[{}]调用OpenAi的消息。", new Object[]{wsMsgDto.getFromUserId()}));
callbackApi = (WsCallbackApi) SpringUtil.getBean(WsCallbackApi.class);
if (ObjectUtil.isNull(callbackApi)) {
log.warn("回调WsCallbackApi未注册.");
} else {
callbackApi.callback(wsMsgDto.getClientMsgType(), wsMsgDto.getData(), wsSession);
}
} else {
callbackApi = WsMessageHandle.getWsCallback(wsMsgDto.getClientMsgType());
if (ObjectUtil.isNotEmpty(callbackApi)) {
callbackApi.callback(wsMsgDto.getClientMsgType(), wsMsgDto, wsSession);
} else {
log.warn("未知的消息类型");
channel.getAsyncRemote().sendText("{\"serverMsgType\":\"未知的消息类型\"}");
}
}
} }
else
{
String channel = protocol.requestMessage().getChannelId();
String jsonData = objectMapper.writeValueAsString(deviceData);
redisCache.put(warehouseId, jsonData);
redisCache.put(channel, warehouseId);
} }
protocol.response("true");
} }
catch (Exception e)
@OnClose
public void onClose(Session session) {
try {
WsSession<WsSessionContainer> wsSession = WsSessionHandle.getSessionBySessionId(session.getId());
WsCallbackApi wsCallbackApi = WsMessageHandle.getWsCallback(SysMsgTypeEnum.LISTENER_ON_CLOSE.getCode());
if (ObjectUtil.isNotEmpty(wsSession) && ObjectUtil.isNotEmpty(wsCallbackApi)) {
OnlineState os=onlineRedisCache.getDataValue(wsSession.getSessionId());
String type= os.getType();
String typeId=os.getTypeId();
if (type.equals("cabinet"))//警柜断开连接
{ {
Cabinet cabinet=cabinetService.getOne(new LambdaQueryWrapper<Cabinet>() protocol.response("false");
.eq(Cabinet::getCabinetNum, typeId));
cabinet.setOnlineState(0);
cabinet.setUpdateTime(DateTime.now());
cabinetService.updateById(cabinet);
onlineRedisCache.remove(wsSession.getSessionId());
} else if (type.equals("warehouse")) {//仓库主机已连接
} }
wsCallbackApi.callback(SysMsgTypeEnum.LISTENER_ON_CLOSE.getCode(), (Object)null, wsSession);
} }
@Override
public void onClose(DefaultWebSocketServerProtocol protocol) {
} finally { String channel= protocol.requestMessage().getChannelId();
WsSessionHandle.delById(session.getId()); String warehouseId= redisCache.get(channel);
log.warn("会话已关闭"); redisCache.remove(channel);
redisCache.remove(warehouseId);
WebSocketServerListener.super.onClose(protocol);
} }
@Override
public void onBinary(DefaultWebSocketServerProtocol protocol) {
WebSocketServerListener.super.onBinary(protocol);
} }
@OnError
public void onError(Session session, Throwable error) {
WsSession<WsSessionContainer> wsSession = WsSessionHandle.getSessionBySessionId(session.getId());
WsCallbackApi wsCallbackApi = WsMessageHandle.getWsCallback(SysMsgTypeEnum.LISTENER_ON_ERROR.getCode());
if (ObjectUtil.isNotEmpty(wsCallbackApi)) {
wsCallbackApi.callback(SysMsgTypeEnum.LISTENER_ON_ERROR.getCode(), (Object)null, wsSession);
}
}
} }
\ No newline at end of file
package com.junmp.police.test;
import org.apache.tomcat.util.digester.DocumentProperties;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Base64Test {
public static void main(String args[]){
// String str = "abc";
// byte[] val = str.getBytes(StandardCharsets.UTF_8);
// String base64EncodedChunk = Base64.getEncoder().encodeToString(val);
// System.out.println(base64EncodedChunk);
}
}
package com.junmp.jyzb.boot; package com.junmp.jyzb.boot;
import com.junmp.jyzb.cache.DeviceRedisCache;
import com.junmp.v2.db.starter.JpDataSourceAutoConfiguration; import com.junmp.v2.db.starter.JpDataSourceAutoConfiguration;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -14,6 +15,10 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry; ...@@ -14,6 +15,10 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Collection;
/** /**
* <pre> * <pre>
* *
...@@ -34,7 +39,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -34,7 +39,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
JpDataSourceAutoConfiguration.class}) JpDataSourceAutoConfiguration.class})
public class JyzbBootApplication extends SpringBootServletInitializer { public class JyzbBootApplication extends SpringBootServletInitializer {
@Resource
private DeviceRedisCache redisCache;
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(JyzbBootApplication.class, args); SpringApplication.run(JyzbBootApplication.class, args);
...@@ -56,6 +62,11 @@ public class JyzbBootApplication extends SpringBootServletInitializer { ...@@ -56,6 +62,11 @@ public class JyzbBootApplication extends SpringBootServletInitializer {
} }
}; };
} }
@PostConstruct
public void clearRedisCacheOnStartup() {
Collection<String> allKeys=redisCache.getAllKeys();
allKeys.forEach(p->redisCache.remove(p));
}
} }
...@@ -10,7 +10,7 @@ thing: ...@@ -10,7 +10,7 @@ thing:
server: server:
websocket: websocket:
start: true start: true
port: 10040
# 配置第三方请求 # 配置第三方请求
junmp: junmp:
swagger: swagger:
......
...@@ -6,7 +6,11 @@ easy-es: ...@@ -6,7 +6,11 @@ easy-es:
address: 192.168.3.121:9200 address: 192.168.3.121:9200
username: username:
password: password:
thing:
server:
websocket:
start: true
port: 10040
# 配置第三方请求 # 配置第三方请求
junmp: junmp:
swagger: swagger:
......
...@@ -210,6 +210,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -210,6 +210,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
String objJson= redisCache.get(processInstanceId); String objJson= redisCache.get(processInstanceId);
redisCache.remove(processInstanceId); redisCache.remove(processInstanceId);
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class); List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
if (CollectionUtil.isNotEmpty(msgs)){ if (CollectionUtil.isNotEmpty(msgs)){
msgs.forEach(msg-> msgs.forEach(msg->
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论