Browse Source

Merge branch 'master' into develop

# Conflicts:
#	.idea/encodings.xml
#	.idea/jarRepositories.xml
wulianwei 5 months ago
parent
commit
4c7b8a23aa

+ 1 - 0
.gitignore

@@ -3,3 +3,4 @@
 /target
 /.idea
 /he1fuh9LSDW12357securemode2authTyperegnwlsignmethodhmacsha256random996instanceIdiot-060a0bgd-sslhe1fuh9LSDWiot-as-mqttcn-shanghaialiyuncscom443
+.idea

+ 3 - 0
src/main/java/com/tuoren/forward/entity/Device.java

@@ -13,6 +13,9 @@ public class Device {
     @Schema(description = "MAC")
     private String mac;
 
+    @Schema(description = "通信模块mac")
+    private String netMac;
+
     @Schema(description = "设备名称")
     private String name;
     

+ 3 - 0
src/main/java/com/tuoren/forward/entity/req/DeviceAddReq.java

@@ -16,6 +16,9 @@ public class DeviceAddReq {
     @Schema(description = "设备名称")
     private String name;
 
+    @Schema(description = "通信模块mac")
+    private String netMac;
+
     @Schema(description = "SIM 卡号")
     private String sim;
 

+ 3 - 0
src/main/java/com/tuoren/forward/entity/resp/DeviceRelevancyResp.java

@@ -20,6 +20,9 @@ public class DeviceRelevancyResp {
     @Schema(description = "MAC")
     private String mac;
 
+    @Schema(description = "通信模块mac")
+    private String netMac;
+
     @Schema(description = "是否删除:, '0':未删除.’'1' 删除")
     private String isDelete;
 

+ 1 - 1
src/main/java/com/tuoren/forward/netty/AES.java

@@ -96,7 +96,7 @@ public class AES {
 //        json.put("deviceId", "11111");
 //        json.put("platform", "aliyun");
         json.put("version", 1);
-        json.put("networkType", "2");
+        json.put("networkType", "3");
         json.put("networkProtocol", 1);
         json.put("productId", "1dbfd476b7nm2");
         json.put("deviceId", "3332583205340147");

+ 52 - 39
src/main/java/com/tuoren/forward/netty/MyServer.java

@@ -216,8 +216,7 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
         //判断传入的version是0或者为空
         if (version == 0 || StrUtil.isBlank(String.valueOf(version))) {
             processVersionZero(paramJson, json);
-        }
-        else if (version == 1) {
+        } else if (version == 1) {
             //网络类型
             Integer networkCode = paramJson.getIntValue("networkType");
             NetworkType network = NetworkType.NetworkTypeName(networkCode);
@@ -225,7 +224,7 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
             String userId = paramJson.getString("userId");//1000
             //查询userId是否存在
             User userIdCode = userMapper.selectByCode(userId);
-            if (  userIdCode == null || StrUtil.isBlank(userIdCode.getCode())) {
+            if (userIdCode == null || StrUtil.isBlank(userIdCode.getCode())) {
                 return buildErrorResponse(NExcCode.ERROR_USERID, json);
             }
             //产品编号
@@ -240,6 +239,9 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
             String deviceName = paramJson.getString("deviceId");
             //SIM卡号
             String sim = paramJson.getString("sim");
+            //通信模块mac(这是传给你的字段,然后插入到数据库中)
+            String netMac = paramJson.getString("netMac");
+
             //通过查询获取到参数
             String id = userIdCode.getId();
             //查找用户id
@@ -273,11 +275,12 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
                 return buildErrorResponse(NExcCode.ERROR_PLATFORM_NULL, json);
             }
             //添加修改设备
-            handleDevice(deviceName, sim, productId, id);
+            handleDevice(platform, deviceName, netMac, sim, productId, id);
+
             //通过平台进行设备注册
             switch (platform) {
                 case 1:
-                    handleAliYunRegistration(json, version, network, userId, productId, protocol, deviceName, platform, productKey);
+                    handleAliYunRegistration(json, version, network, userId, productId, protocol, deviceName, platform, productKey);//走的阿里云
                     break;
                 case 2:
                     return buildErrorResponse(NExcCode.ERROR_PLATFORM_TYPE, json);
@@ -291,6 +294,7 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
         return json.toString();
     }
 
+
     //处理版本1的local设备注册
     private void handleLocalRegistration(JSONObject json, JSONObject paramJson, NetworkType network, String userId, String productId, NetworkProtocol protocol, String deviceName, String wifi, String deviceSecret, String remoteAddress, int remotePort) {
         //WiFi注册
@@ -334,6 +338,7 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
             json.put("productKey", productKey);
         }
     }
+
     //处理版本0的设备注册
     private void processVersionZero(JSONObject paramJson, JSONObject json) {
         String deviceName = paramJson.getString("deviceId"); //device表中的mac
@@ -350,32 +355,32 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
             json.put("deviceSecret", registData.getString("DeviceSecret"));
             json.put("productKey", registData.getString("ProductKey"));
         }
-        
-        Device device =  deviceMapper.selectByMac(deviceName);
-        if(device != null) {
-        	device.setSim(sim);
-        	if(StringUtils.isEmpty(userCode)) {
-            	User user = userMapper.selectByCode(userCode);
-            	if(user != null) {
-            		device.setTenantId(user.getId());
-            	}
-            	deviceMapper.updateByPrimaryKeySelective2(device);
+
+        Device device = deviceMapper.selectByMac(deviceName);
+        if (device != null) {
+            device.setSim(sim);
+            if (StringUtils.isEmpty(userCode)) {
+                User user = userMapper.selectByCode(userCode);
+                if (user != null) {
+                    device.setTenantId(user.getId());
+                }
+                deviceMapper.updateByPrimaryKeySelective2(device);
             }
-        }else {
-        	device = new Device();
-        	device.setId(UUIDUtil.get32UUID());
-        	device.setMac(deviceName);
-        	device.setSim(sim);
-        	device.setCreatetime(new Date());
-        	if(StringUtils.isEmpty(userCode)) {
-            	User user = userMapper.selectByCode(userCode);
-            	if(user != null) {
-            		device.setTenantId(user.getId());
-            	}
+        } else {
+            device = new Device();
+            device.setId(UUIDUtil.get32UUID());
+            device.setMac(deviceName);
+            device.setSim(sim);
+            device.setCreatetime(new Date());
+            if (StringUtils.isEmpty(userCode)) {
+                User user = userMapper.selectByCode(userCode);
+                if (user != null) {
+                    device.setTenantId(user.getId());
+                }
             }
-        	deviceMapper.insertSelective(device);
+            deviceMapper.insertSelective(device);
         }
-        
+
     }
 
     //截取deviceId
@@ -389,21 +394,29 @@ class MyServerHandler extends ChannelInboundHandlerAdapter {
         }
     }
 
+    //Wifi泵新增修改设备信息
+    private void handleWifiDevice(String deviceName, String netMac, String sim, String productId, String id) {
+
+    }
+
     //新增修改设备信息
-    private void handleDevice(String deviceName, String sim, String productId, String id) {
+    private void handleDevice(Integer platform, String deviceName, String netMac, String sim, String productId, String id) {
         //查询数据库是否存在该设备
         Device deviceMac = deviceMapper.selectByMac(deviceName);
         if (deviceMac == null) {
-            //不存在,则新增设备
-            //添加操作
-            Device NewDevice = new Device();
-            NewDevice.setId(UUIDUtil.get32UUID());
-            NewDevice.setMac(deviceName);
-            NewDevice.setSim(sim);
-            NewDevice.setProductId(productId);
-            NewDevice.setCreatetime(new Date());
-            NewDevice.setTenantId(id);
-            deviceMapper.insertSelective(NewDevice);
+            Device newDevice = new Device();
+            newDevice.setId(UUIDUtil.get32UUID());
+            newDevice.setMac(deviceName);
+            newDevice.setSim(sim);
+            newDevice.setProductId(productId);
+            newDevice.setCreatetime(new Date());
+            newDevice.setTenantId(id);
+
+            if (platform != 1) {
+                newDevice.setNetMac(netMac);
+            }
+
+            deviceMapper.insertSelective(newDevice);
         } else {
             //如果存在,检查productId是否一致
             boolean needUpdate = false;

+ 7 - 7
src/main/java/com/tuoren/forward/netty/excepetion/NExcCode.java

@@ -13,13 +13,13 @@ import lombok.Getter;
 @Getter
 public enum NExcCode {
     SUCCESS(200,"成功"),
-    ERROR_PARAM(400,"Parameter null"),
-    ERROR_USERID(401,"userId not exist"),
-    ERROR_NETWORK_TYPE(402,"network no exist"),
-    ERROR_VERSION_TYPE(403,"version no exist"),
-    ERROR_PLATFORM_TYPE(404,"platform no exist"),
-    ERROR_PLATFORM_NULL(404,"platform null"),
-    ERROR_PRODUCTID(405,"productId no exist");
+    ERROR_PARAM(400,"参数为空"),
+    ERROR_USERID(401,"用户编码不存在"),
+    ERROR_NETWORK_TYPE(402,"网络类型不存在"),
+    ERROR_VERSION_TYPE(403,"版本号不存在"),
+    ERROR_PLATFORM_TYPE(404,"平台不存在"),
+    ERROR_PLATFORM_NULL(404,"平台为空"),
+    ERROR_PRODUCTID(405,"产品id不存在");
 
 
 

+ 2 - 0
src/main/resources/mapper/DeviceRelevancyMapper.xml

@@ -4,6 +4,7 @@
     <resultMap id="BaseResultMap" type="com.tuoren.forward.entity.resp.DeviceRelevancyResp">
         <id column="deivce_id" jdbcType="VARCHAR" property="deviceId"/>
         <result column="mac" jdbcType="VARCHAR" property="mac"/>
+        <result column="net_mac" jdbcType="VARCHAR" property="netMac"/>
         <result column="is_delete" jdbcType="VARCHAR" property="isDelete"/>
         <result column="sim" jdbcType="VARCHAR" property="sim"/>
         <result column="description" jdbcType="VARCHAR" property="description"/>
@@ -21,6 +22,7 @@
         select
         d.id as deivce_id,
         d.mac as mac,
+        d.net_mac as net_mac,
         d.is_delete as is_delete,
         d.sim as sim,
         d.description as description,