From 15a1b8a6cda205c10323b25578374e20165f3ff6 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 09 一月 2025 10:22:15 +0800
Subject: [PATCH] OSD导出、点位管理新增用户名密码

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java             |    5 +
 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml                    |   14 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java            |    2 
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java           |    3 +
 ycl-server/src/main/java/com/ycl/task/OsdTask.java                             |    2 
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java               |    5 +
 ycl-server/src/main/java/com/ycl/task/MonitorTask.java                         |    8 ++
 ycl-common/src/main/java/constant/PointHeaderConstant.java                     |    3 +
 ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java                    |   74 ++----------------------
 ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java          |    6 ++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |   10 +++
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                   |    4 +
 12 files changed, 64 insertions(+), 72 deletions(-)

diff --git a/ycl-common/src/main/java/constant/PointHeaderConstant.java b/ycl-common/src/main/java/constant/PointHeaderConstant.java
index 952284d..ff3d813 100644
--- a/ycl-common/src/main/java/constant/PointHeaderConstant.java
+++ b/ycl-common/src/main/java/constant/PointHeaderConstant.java
@@ -19,9 +19,12 @@
     public final static String Province_Tag_Face = "鏄惁鐪佸巺浜鸿劯鏍囩(鍙慨鏀�)";
     public final static String Impotrant_Command_Image = "鏄惁閲嶇偣鎸囨尌鍥惧儚(鍙慨鏀�)";
     public final static String Dept_Tag = "鏄惁閮ㄧ骇鏍囩(鍙慨鏀�)";
+    public final static String Username = "鐢ㄦ埛鍚�(鍙慨鏀�)";
+    public final static String Password = "瀵嗙爜(鍙慨鏀�)";
 
     // 鍙互灏嗚繖浜涘凡鐭ョ殑閿斁鍏ヤ竴涓泦鍚堜腑锛屾柟渚挎鏌�
     public static final Set<String> KNOWN_KEYS = new HashSet<>(Arrays.asList(
             ID,Point_Name, IP, Serial_Number,Area, Unit,Province_Tag_Video,Province_Tag_Car,Province_Tag_Face, Impotrant_Command_Image, Dept_Tag
+            ,Username,Password
     ));
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
index a233222..94cf46c 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -148,4 +148,6 @@
     /** 璁惧鍘傚晢锛� 0娴峰悍  1澶у崕  2瀹囪*/
     private Integer deviceType;
 
+    private String username;
+    private String password;
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index be892b8..1ce5182 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -104,4 +104,9 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date recoveryTime;
 
+    //璁惧鐧诲綍鐨勭敤鎴峰悕瀵嗙爜
+    @TableField("username")
+    private String username;
+    @TableField("password")
+    private String password;
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
index 83ca88e..c354891 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/PointExport.java
@@ -84,6 +84,12 @@
     @ExcelProperty("鏄惁閲嶇偣鐐逛綅")
     private String importantTagString;
 
+    @ColumnWidth(20)
+    @ExcelProperty("鐢ㄦ埛鍚�(鍙慨鏀�)")
+    private String username;
+    @ColumnWidth(20)
+    @ExcelProperty("瀵嗙爜(鍙慨鏀�)")
+    private String password;
     @ExcelIgnore
     private Boolean importantCommandImageTag;
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
index 9408c7d..78f45f2 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
@@ -83,6 +83,9 @@
     @TableField("end_time")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date endTime;
+
+    private String username;
+    private String password;
     public static YwPoint getEntityByForm(@NonNull YwPointForm form, YwPoint entity) {
         if(entity == null) {
           entity = new YwPoint();
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
index f01c44a..2bf1176 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.YwPoint;
@@ -68,6 +69,10 @@
      */
     private List<DynamicColumnVO> dynamicColumnList;
 
+    /** 璁惧鐧诲綍鐨勭敤鎴峰悕瀵嗙爜 */
+    private String username;
+    private String password;
+
     public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) {
         if(vo == null) {
             vo = new YwPointVO();
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index c20dd0c..f5adcac 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -265,7 +265,7 @@
         if (!CollectionUtils.isEmpty(dynamics)) {
             dynamicMap = dynamics.stream().filter(vo -> vo.getRefId() != null).collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
         }
-        //瀹氫箟琛ㄥご鍒楄〃
+        //瀹氫箟鍥哄畾琛ㄥご鍒楄〃
         LinkedHashSet<String> headers = new LinkedHashSet<>();
         headers.add(PointHeaderConstant.ID);
         headers.add(PointHeaderConstant.Point_Name);
@@ -278,6 +278,8 @@
         headers.add(PointHeaderConstant.Province_Tag_Face);
         headers.add(PointHeaderConstant.Impotrant_Command_Image);
         headers.add(PointHeaderConstant.Dept_Tag);
+        headers.add(PointHeaderConstant.Username);
+        headers.add(PointHeaderConstant.Password);
         List<String> headersList = new LinkedList<>();
         if (!CollectionUtils.isEmpty(dynamicsHeaders)) {
             //浣跨敤閾捐〃淇濊瘉鍚庣画琛ュ厖鏁版嵁鏃惰幏鍙栨暟鎹『搴忎竴鑷�
@@ -300,6 +302,8 @@
             list.add(export.getProvinceTagFaceString());
             list.add(export.getImportantCommandImageTagString());
             list.add(export.getDeptTagString());
+            list.add(export.getUsername());
+            list.add(export.getPassword());
             for (String header : headersList) {
                 //鍒涘缓涓�涓彉閲忚褰曟壘娌℃壘鍒拌繖涓猦eader
                 boolean flag = false;
@@ -357,6 +361,8 @@
             pointExport.setProvinceTagFace("鏄�".equals(map.get(PointHeaderConstant.Province_Tag_Face)));
             pointExport.setImportantCommandImageTag("鏄�".equals(map.get(PointHeaderConstant.Impotrant_Command_Image)));
             pointExport.setDeptTag("鏄�".equals(map.get(PointHeaderConstant.Dept_Tag)));
+            pointExport.setUsername(map.get(PointHeaderConstant.Username));
+            pointExport.setPassword(map.get(PointHeaderConstant.Password));
             List<DynamicColumnVO> dynamics = new ArrayList<>();
             // 澶勭悊鍔ㄦ�佸垪
             for (Map.Entry<String, String> entry : map.entrySet()) {
@@ -403,6 +409,8 @@
             point.setProvinceTagCar(item.getProvinceTagCar());
             point.setProvinceTagFace(item.getProvinceTagFace());
             point.setDeptTag(item.getDeptTag());
+            point.setUsername(item.getUsername());
+            point.setPassword(item.getPassword());
             if (needUpdateUnit) {
                 if (Objects.nonNull(unitId)) {
                     point.setUnitId(Long.valueOf(unitId));
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index d3f2964..b13a2cd 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -29,6 +29,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
@@ -61,7 +62,10 @@
     private YwPointMapper ywPointMapper;
     @Autowired
     private RedisTemplate redisTemplate;
-
+    @Value("${DH.userName}")
+    public String userName;
+    @Value("${DH.password}")
+    public String password;
     //鍚屾鐐逛綅鍦ㄧ嚎鐜囧埌mongo(寮冪敤)
 //    public void siteOnline() {
 //        log.info("寮�濮嬪悓姝ョ偣浣嶅湪绾跨巼鍒癿ongo");
@@ -169,6 +173,8 @@
             ywPoint.setCreateTime(new Date());
             ywPoint.setUpdateTime(new Date());
             ywPoint.setOnline(ApiConstants.UY_OnlineSite_Unknown);
+            ywPoint.setUsername(userName);
+            ywPoint.setPassword(password);
         }
         //鐘舵�佽缃负鑰冩牳璁惧
         ywPoint.setExamineStatus(Boolean.TRUE);
diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index 2ee25fa..9971b41 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -99,7 +99,7 @@
             List<Future<OSDResult>> futureList = new ArrayList<>(48);
             List<OSDResult> osdResultList = new ArrayList<>();
             for (TMonitor monitor : monitors) {
-                OSDCheckThread thread = new OSDCheckThread(monitor,HKUserName,HKPassword,DHUserName,DHPassword,YSUserName,YSPassword);
+                OSDCheckThread thread = new OSDCheckThread(monitor);
                 Future<OSDResult> future = executorService.submit(thread);
                 futureList.add(future);
             }
diff --git a/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java b/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
index 083a301..1d8863b 100644
--- a/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
+++ b/ycl-server/src/main/java/com/ycl/thread/OSDCheckThread.java
@@ -13,21 +13,9 @@
 @Slf4j
 public class OSDCheckThread implements Callable<OSDResult> {
     private TMonitor monitor;
-    public String HKUserName;
-    public String HKPassword;
-    public String DHUserName;
-    public String DHPassword;
-    public String YSUserName;
-    public String YSPassword;
 
-    public OSDCheckThread(TMonitor monitor, String HKUserName, String HKPassword, String DHUserName, String DHPassword, String YSUserName, String YSPassword) {
+    public OSDCheckThread(TMonitor monitor) {
         this.monitor = monitor;
-        this.HKUserName = HKUserName;
-        this.HKPassword = HKPassword;
-        this.DHUserName = DHUserName;
-        this.DHPassword = DHPassword;
-        this.YSUserName = YSUserName;
-        this.YSPassword = YSPassword;
     }
 
     public TMonitor getMonitor() {
@@ -38,59 +26,11 @@
         this.monitor = monitor;
     }
 
-    public String getHKUserName() {
-        return HKUserName;
-    }
-
-    public void setHKUserName(String HKUserName) {
-        this.HKUserName = HKUserName;
-    }
-
-    public String getHKPassword() {
-        return HKPassword;
-    }
-
-    public void setHKPassword(String HKPassword) {
-        this.HKPassword = HKPassword;
-    }
-
-    public String getDHUserName() {
-        return DHUserName;
-    }
-
-    public void setDHUserName(String DHUserName) {
-        this.DHUserName = DHUserName;
-    }
-
-    public String getDHPassword() {
-        return DHPassword;
-    }
-
-    public void setDHPassword(String DHPassword) {
-        this.DHPassword = DHPassword;
-    }
-
-    public String getYSUserName() {
-        return YSUserName;
-    }
-
-    public void setYSUserName(String YSUserName) {
-        this.YSUserName = YSUserName;
-    }
-
-    public String getYSPassword() {
-        return YSPassword;
-    }
-
-    public void setYSPassword(String YSPassword) {
-        this.YSPassword = YSPassword;
-    }
-
     @Override
     public OSDResult call() throws Exception {
         if (DeviceType.HK.getType().equals(monitor.getDeviceType())) {
             //娴峰悍
-            OSDResult osd = HKApi.getOsdByIP(monitor.getSerialNumber(),monitor.getIp(), HKUserName, HKPassword);
+            OSDResult osd = HKApi.getOsdByIP(monitor.getSerialNumber(),monitor.getIp(),monitor.getUsername(),monitor.getPassword());
             OSDResult osdResult = checkSuccess(monitor, osd);
             if (osdResult!=null) {
                 return osd;
@@ -99,7 +39,7 @@
             }
         } else if (DeviceType.DH.getType().equals(monitor.getDeviceType())) {
             //澶у崕
-            OSDResult osd = DHApi.getOsd(monitor.getSerialNumber(),monitor.getIp(), DHUserName, DHPassword);
+            OSDResult osd = DHApi.getOsd(monitor.getSerialNumber(),monitor.getIp(), monitor.getUsername(),monitor.getPassword());
             OSDResult osdResult = checkSuccess(monitor, osd);
             if (osdResult!=null) {
                 return osd;
@@ -108,7 +48,7 @@
             }
         } else if (DeviceType.YS.getType().equals(monitor.getDeviceType())) {
             //瀹囪
-            OSDResult osd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+            OSDResult osd = YSApi.getOsd(monitor.getIp(), monitor.getUsername(),monitor.getPassword());
             OSDResult osdResult = checkSuccess(monitor, osd);
             if (osdResult!=null) {
                 return osd;
@@ -123,19 +63,19 @@
 
     private OSDResult tryAllApi(TMonitor monitor) {
         //灏濊瘯娴峰悍鐨刟pi
-        OSDResult hkosd = HKApi.getOsdByIP(monitor.getSerialNumber(),monitor.getIp(), HKUserName, HKPassword);
+        OSDResult hkosd = HKApi.getOsdByIP(monitor.getSerialNumber(),monitor.getIp(), monitor.getUsername(),monitor.getPassword());
         if (hkosd != null) {
             hkosd.setSerialNumber(monitor.getSerialNumber());
             return hkosd;
         }
         //灏濊瘯澶у崕鐨刟pi
-        OSDResult dhosd = DHApi.getOsd(monitor.getSerialNumber(),monitor.getIp(), DHUserName, DHPassword);
+        OSDResult dhosd = DHApi.getOsd(monitor.getSerialNumber(),monitor.getIp(),monitor.getUsername(),monitor.getPassword());
         if (dhosd != null) {
             dhosd.setSerialNumber(monitor.getSerialNumber());
             return dhosd;
         }
         //瀹囪api
-        OSDResult ysosd = YSApi.getOsd(monitor.getIp(), YSUserName, YSPassword);
+        OSDResult ysosd = YSApi.getOsd(monitor.getIp(), monitor.getUsername(),monitor.getPassword());
         if (ysosd != null) {
             ysosd.setSerialNumber(monitor.getSerialNumber());
             return ysosd;
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 79d645f..9ff1133 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -90,7 +90,9 @@
     </select>
 
     <select id="selectByNumbers" resultType="com.ycl.platform.domain.entity.TMonitor">
-        select * from t_monitor where serial_number in
+        select m.*,p.username,p.password
+        from t_monitor m left join t_yw_point p on m.serial_number = p.serial_number
+        where serial_number in
         <foreach collection="numbers" separator="," open="(" close=")" item="number">
             #{number}
         </foreach>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index a503036..7e7de1c 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -13,6 +13,8 @@
         <result column="status" property="status"/>
         <result column="dept_id" property="deptId"/>
         <result column="dept_name" property="deptName"/>
+        <result column="username" property="username"/>
+        <result column="password" property="password"/>
         <result column="remark" property="remark"/>
         <result column="create_time" property="createTime"/>
         <result column="update_time" property="updateTime"/>
@@ -104,6 +106,8 @@
         yu.unit_name,
         yp.start_time,
         yp.end_time,
+        yp.username,
+        yp.password,
         d.area,
         CASE WHEN yp.province_tag_video = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagVideoString,
         CASE WHEN yp.province_tag_car = 0 THEN '鍚�' ELSE '鏄�' END AS provinceTagCarString,
@@ -146,7 +150,9 @@
             province_tag_car = #{point.provinceTagCar},
             province_tag_face = #{point.provinceTagFace},
             important_command_image_tag = #{point.importantCommandImageTag},
-            dept_tag = #{point.deptTag}
+            dept_tag = #{point.deptTag},
+            username = #{point.username},
+            password = #{point.password}
             WHERE serial_number = #{point.serialNumber}
         </foreach>
     </update>
@@ -284,6 +290,12 @@
             <if test="deptTag !=null">
                 dept_tag = #{deptTag},
             </if>
+            <if test="username !=null and username!=''">
+                username = #{username},
+            </if>
+            <if test="password !=null and password !=''">
+                password = #{password},
+            </if>
             unit_id = #{unitId},
             start_time = #{startTime},
             end_time = #{endTime},

--
Gitblit v1.8.0