diff --git a/common-lib/src/main/java/com/mortals/xhx/common/pdu/DeviceReq.java b/common-lib/src/main/java/com/mortals/xhx/common/pdu/DeviceReq.java
index 3fe1feb8533aab5932ae39975d5dabeaef3abd50..9ea49d305acd41767ba9800d541087b3ffe2bf21 100644
--- a/common-lib/src/main/java/com/mortals/xhx/common/pdu/DeviceReq.java
+++ b/common-lib/src/main/java/com/mortals/xhx/common/pdu/DeviceReq.java
@@ -176,7 +176,7 @@ public class DeviceReq implements Serializable {
 
         System.out.println(NumberUtil.div(1920, 1080, 2));
         System.out.println(NumberUtil.div(1080, 1920, 2));
-        System.out.println(NumberUtil.div(800, 1280, 2));
+        System.out.println(NumberUtil.div(400, 1280, 2));
         System.out.println(NumberUtil.div(1024, 600, 2));
 
 
diff --git a/device-manager/src/main/java/com/mortals/xhx/busiz/web/DeviceApiController.java b/device-manager/src/main/java/com/mortals/xhx/busiz/web/DeviceApiController.java
index a58f4a688e7c689ed385d347f8d1b61823353cff..664d5ebb42f87f873a4226118bfea82cd77e2816 100644
--- a/device-manager/src/main/java/com/mortals/xhx/busiz/web/DeviceApiController.java
+++ b/device-manager/src/main/java/com/mortals/xhx/busiz/web/DeviceApiController.java
@@ -6,6 +6,7 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.net.URLDecoder;
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.URLUtil;
 import cn.hutool.extra.servlet.ServletUtil;
@@ -215,6 +216,7 @@ public class DeviceApiController {
             //鍒ゆ柇褰撳墠璁惧鏄惁璁剧疆浜嗗垎杈ㄧ巼 濡傛灉璁剧疆浜� 鏌ヨ褰撳墠璁惧鐨勮祫婧愯矾寰勬槸鍚﹀瓨鍦� 濡傛灉瀛樺湪
             String resolution = deviceEntity.getResolution();
             if (!ObjectUtils.isEmpty(resolution)) {
+                //瀛樺湪鍒嗚鲸鐜�
                 DeviceModuleDistributeQuery query = new DeviceModuleDistributeQuery();
                 query.setProductId(productEntity.getId());
                 query.setSiteId(deviceEntity.getSiteId());
@@ -222,6 +224,7 @@ public class DeviceApiController {
                 query.setDistribute(DistributeEnum.鏄�.getValue());
                 DeviceModuleDistributeEntity distribute = deviceModuleDistributeService.selectOne(query);
                 if (!ObjectUtils.isEmpty(distribute)) {
+                    //褰撳墠鍒嗚鲸鐜囪祫婧愬瓨鍦�
                     String homeUrl = String.format("/homeDeviceUrl/%s/%s/%s", distribute.getSiteId(), distribute.getProductCode(), distribute.getImageResolutionValue());
                     //鏍规嵁閮ㄧ讲鐨勮祫婧� 鐢熸垚homeurl
                     String domain = GlobalSysInfo.getParamValue(PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
@@ -237,6 +240,7 @@ public class DeviceApiController {
                         serverInfo.setEventUrl(productEntity.getEventUrl());
                     }
                 } else {
+                    //褰撳墠鍒嗚鲸鐜囪祫婧愰儴瀛樺湪锛屽鏋滃瓨鍦ㄩ珮瀹斤紝鍒欑敤楂樺姣旀煡璇㈢敓鎴愮浉杩慼omeurl
                     buildHomeUrlBySite(deviceEntity, productEntity, serverInfo, serverName, serverPort);
                 }
             } else {
@@ -456,33 +460,18 @@ public class DeviceApiController {
 
             DeviceEntity deviceEntity = deviceService.getExtCache(req.getDeviceCode());
 
-
-
-/*            if (!ObjectUtils.isEmpty(width) && !ObjectUtils.isEmpty(height)) {
-                //鏍规嵁鍒嗚鲸鐜� 鑷€傚簲璁剧疆鍒嗚鲸鐜�
-                double div = NumberUtil.div(width, height, 2);
-                if (div >= 1.7 && div <= 1.8) {
-                    deviceEntity.setResolutionValue(ImageReEnum.RE_1920X1080.getDesc());
-                    //System.out.println("1.7 < div < 1.8");
-                } else if (div >= 0.4 && div <= 0.7) {
-                    deviceEntity.setResolutionValue(ImageReEnum.RE_1080X1920.getDesc());
-                    //System.out.println("1.7 < div < 1.8");
-                } else if (div >= 0.9 && div <= 1.1) {
-                    deviceEntity.setResolutionValue(ImageReEnum.RE_1280X1280.getDesc());
-                    //System.out.println("div >= 0.9 && div <= 1.1");
-                }
-            }*/
-
             if (ObjectUtils.isEmpty(deviceEntity)) {
                 //鍒濆鍖栨柊澧炲熀纭€璁惧锛屽悗缁湪绾垮畬鍠勪俊鎭悗鍐嶈娉ㄥ唽娣诲姞
                 deviceEntity = new DeviceEntity();
                 deviceEntity.initAttrValue();
+                checkAndUpdateImageRe(width, height, productEntity, deviceEntity);
                 saveDevice(req, platformEntity, productEntity, deviceEntity);
                 deviceEntity.setCreateTime(new Date());
                 deviceEntity.setCreateUserId(1L);
                 deviceService.save(deviceEntity, null);
             } else {
                 //鏇存柊
+                checkAndUpdateImageRe(width, height, productEntity, deviceEntity);
                 updateDevice(req, platformEntity, productEntity, deviceEntity);
                 deviceEntity.setUpdateTime(new Date());
                 deviceEntity.setUpdateUserId(1L);
@@ -491,10 +480,7 @@ public class DeviceApiController {
             if (deviceEntity.getDeviceStatus() == DeviceStatusEnum.鏈縺娲�.getValue()) {
                 throw new AppException(DEVICE_UNACTIVE, DEVICE_UNACTIVE_CONTENT);
             }
-            if (!ObjectUtils.isEmpty(deviceEntity) && !ObjectUtils.isEmpty(width) && !ObjectUtils.isEmpty(height)) {
-                deviceEntity.setWidth(width);
-                deviceEntity.setHeight(height);
-            }
+
             DeviceQueueAuthInfo authInfo = new DeviceQueueAuthInfo();
             URL url = getServerUrl();
             authInfo.setHost(url.getHost());
@@ -584,6 +570,49 @@ public class DeviceApiController {
         return JSON.toJSONString(rsp);
     }
 
+    private void checkAndUpdateImageRe(Double width, Double height, ProductEntity productEntity, DeviceEntity deviceEntity) {
+        if (!ObjectUtils.isEmpty(width)
+                && !ObjectUtils.isEmpty(height)
+                && ObjectUtils.isEmpty(deviceEntity.getResolution())) {
+            deviceEntity.setWidth(width);
+            deviceEntity.setHeight(height);
+            deviceEntity.setResolution(width + "x" + height);
+            deviceEntity.setResolutionValue(width + "x" + height);
+
+            //鏌ヨ鏄惁瀛樺湪璧勬簮锛屽鏋滀笉瀛樺湪 鍒欐坊鍔犱负鐩镐技璧勬簮
+            DeviceModuleDistributeQuery query = new DeviceModuleDistributeQuery();
+            query.setSiteId(deviceEntity.getSiteId());
+            query.setProductId(productEntity.getId());
+            query.setDistribute(DistributeEnum.鏄�.getValue());
+            query.setImageResolution(deviceEntity.getResolution());
+            query.setOrderColList(Arrays.asList(new OrderCol("version", OrderCol.DESCENDING)));
+            DeviceModuleDistributeEntity deviceModuleDistributeEntity = deviceModuleDistributeService.selectOne(query);
+            if (ObjectUtils.isEmpty(deviceModuleDistributeEntity)) {
+                //娌℃湁璧勬簮 鏍规嵁瀹藉拰楂樺瓨鍦� 鎵句竴涓浉杩戠殑璧勬簮銆�
+                if (!ObjectUtils.isEmpty(width) && !ObjectUtils.isEmpty(height)) {
+                    //鏍规嵁鍒嗚鲸鐜� 鑷€傚簲璁剧疆鍒嗚鲸鐜�
+                    double div = NumberUtil.div(width, height, 2);
+                    if (div >= 1.3 && div <= 5.0) {
+                        deviceEntity.setResolutionValue(ImageReEnum.RE_1920X1080.getDesc());
+                        deviceEntity.setResolution(ImageReEnum.RE_1920X1080.getDesc());
+                        log.info("1.3 < div < 5.0");
+                        //System.out.println("1.7 < div < 1.8");
+                    } else if (div >= 0.1 && div <= 0.79) {
+                        deviceEntity.setResolutionValue(ImageReEnum.RE_1080X1920.getDesc());
+                        deviceEntity.setResolution(ImageReEnum.RE_1080X1920.getDesc());
+                        log.info("0.1 < div < 0.79");
+                        //System.out.println("1.7 < div < 1.8");
+                    } else if (div >= 0.8 && div <= 1.29) {
+                        deviceEntity.setResolutionValue(ImageReEnum.RE_1280X1280.getDesc());
+                        deviceEntity.setResolution(ImageReEnum.RE_1280X1280.getDesc());
+                        log.info("div >= 0.9 && div <= 1.1");
+                        //System.out.println("div >= 0.9 && div <= 1.1");
+                    }
+                }
+            }
+        }
+    }
+
 
     /**
      * 妫€鏌ヨ澶囨渶鏂扮増鏈俊鎭�
@@ -1142,6 +1171,7 @@ public class DeviceApiController {
         String scheme = serverInfo.getScheme();
         String homeUrl = "";
         //鏍规嵁绔欑偣涓庤祫婧愰儴缃叉潵鐢熸垚homeurl
+
         DeviceModuleDistributeQuery query = new DeviceModuleDistributeQuery();
         query.setSiteId(deviceEntity.getSiteId());
         query.setProductId(productEntity.getId());
@@ -1151,13 +1181,9 @@ public class DeviceApiController {
         DeviceModuleDistributeEntity deviceModuleDistributeEntity = deviceModuleDistributeService.selectOne(query);
         if (ObjectUtils.isEmpty(deviceModuleDistributeEntity)) {
             //鍒ゆ柇濡傛灉瀹藉拰楂樺瓨鍦� 鎵句竴涓浉杩戠殑璧勬簮銆�
-
-
-
         } else {
             //homeDeviceUrl/1/pdj/1920x1080
             homeUrl = String.format("/homeDeviceUrl/%s/%s/%s", deviceModuleDistributeEntity.getSiteId(), deviceModuleDistributeEntity.getProductCode(), deviceModuleDistributeEntity.getImageResolutionValue());
-
             //鏍规嵁閮ㄧ讲鐨勮祫婧� 鐢熸垚homeurl
             String domain = GlobalSysInfo.getParamValue(PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
             if (!ObjectUtils.isEmpty(serverName) && Validator.isIpv4(serverName)) {
@@ -1200,7 +1226,6 @@ public class DeviceApiController {
             String decodeStr = URLDecoder.decode(str, Charset.defaultCharset());
             productVersionInfo.setDownloadUrl(decodeStr);
         }
-
         log.info("downurl:" + productVersionInfo.getDownloadUrl());
     }
 
@@ -1415,7 +1440,6 @@ public class DeviceApiController {
                 updateDevice(req, platformEntity, productEntity, deviceEntity);
                 deviceEntity.setUpdateTime(new Date());
                 deviceEntity.setUpdateUserId(1L);
-                //cacheService.lpush(RedisKey.KEY_DEVICE_UPDATE_QUEUE, deviceEntity);
                 deviceService.update(deviceEntity, null);
             }