Commit 01b24c66 by 赵剑炜

设备管理模块完成

parent 32c5a1f4
...@@ -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";
......
...@@ -10,14 +10,14 @@ import java.util.List; ...@@ -10,14 +10,14 @@ import java.util.List;
public class WsWarehouseReq { public class WsWarehouseReq {
@JsonProperty("deviceId") @JsonProperty("deviceId")
private String deviceId; private String deviceId;
@JsonProperty("onlineState")
private String onlineState;
@JsonProperty("orgId") @JsonProperty("orgId")
private String orgId; private String orgId;
@JsonProperty("onlineState")
private String onlineState;
@JsonProperty("warehouseId") @JsonProperty("warehouseId")
private String warehouseId; private String warehouseId;
@JsonProperty("boxList") @JsonProperty("warehouseDevs")
private List<warehouseDevs> warehouseDevs; private List<warehouseDevs> warehouseDevs;
...@@ -28,7 +28,7 @@ public class WsWarehouseReq { ...@@ -28,7 +28,7 @@ public class WsWarehouseReq {
private String devId; private String devId;
@JsonProperty("devIP") @JsonProperty("devIP")
private int devIP; private String devIP;
@JsonProperty("devName") @JsonProperty("devName")
private String devName; private String devName;
......
...@@ -14,6 +14,6 @@ public class DeviceRedisCache extends AbstractRedisCache<String> { ...@@ -14,6 +14,6 @@ public class DeviceRedisCache extends AbstractRedisCache<String> {
@Override @Override
public String getCommonKeyPrefix() { public String getCommonKeyPrefix() {
return JYZBConstant.JYZB_CACHE_PREFIX; 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);
/** /**
* 新增 * 新增
* *
......
...@@ -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()));
......
...@@ -43,8 +43,10 @@ import javax.websocket.server.ServerEndpoint; ...@@ -43,8 +43,10 @@ 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.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -71,11 +73,21 @@ public class WarehouseWebSocketServer implements WebSocketServerListener { ...@@ -71,11 +73,21 @@ public class WarehouseWebSocketServer implements WebSocketServerListener {
String text = protocol.readText(); String text = protocol.readText();
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
WsWarehouseReq deviceData = objectMapper.readValue(text, WsWarehouseReq.class); WsWarehouseReq deviceData = objectMapper.readValue(text, WsWarehouseReq.class);
deviceData.setOnlineState("true"); String warehouseId = deviceData.getWarehouseId();
String channel = protocol.requestMessage().getChannelId(); String redisExist= redisCache.get(warehouseId);
String jsonData=objectMapper.writeValueAsString(deviceData); if(redisExist!=null)//已有存在数据
redisCache.put(channel,jsonData+":"+deviceData.getOrgId()+":"+deviceData.getWarehouseId()); {
String jsonData = objectMapper.writeValueAsString(deviceData);
redisCache.put(warehouseId, jsonData);
}
else
{
String channel = protocol.requestMessage().getChannelId();
String jsonData = objectMapper.writeValueAsString(deviceData);
redisCache.put(warehouseId, jsonData);
redisCache.put(channel, warehouseId);
}
protocol.response("true"); protocol.response("true");
} }
catch (Exception e) catch (Exception e)
...@@ -83,13 +95,13 @@ public class WarehouseWebSocketServer implements WebSocketServerListener { ...@@ -83,13 +95,13 @@ public class WarehouseWebSocketServer implements WebSocketServerListener {
protocol.response("false"); protocol.response("false");
} }
} }
@Override @Override
public void onClose(DefaultWebSocketServerProtocol protocol) { public void onClose(DefaultWebSocketServerProtocol protocol) {
String channel= protocol.requestMessage().getChannelId(); String channel= protocol.requestMessage().getChannelId();
String key= redisCache.get("*:" + channel); String warehouseId= redisCache.get(channel);
redisCache.remove(key); redisCache.remove(channel);
redisCache.remove(warehouseId);
WebSocketServerListener.super.onClose(protocol); WebSocketServerListener.super.onClose(protocol);
} }
...@@ -99,4 +111,5 @@ public class WarehouseWebSocketServer implements WebSocketServerListener { ...@@ -99,4 +111,5 @@ public class WarehouseWebSocketServer implements WebSocketServerListener {
} }
} }
\ No newline at end of file
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: 10030 port: 10040
# 配置第三方请求 # 配置第三方请求
junmp: junmp:
swagger: swagger:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论