From 71726a1cb05790d6841595ef7daef5173f2cddfa Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 29 三月 2023 09:43:11 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/PublishService.java |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/PublishService.java b/src/main/java/com/lf/server/service/data/PublishService.java
index 673b5f8..fd95f22 100644
--- a/src/main/java/com/lf/server/service/data/PublishService.java
+++ b/src/main/java/com/lf/server/service/data/PublishService.java
@@ -4,11 +4,14 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.all.StaticData;
 import com.lf.server.entity.ctrl.PubEntity;
+import com.lf.server.entity.ctrl.RegisterEntity;
 import com.lf.server.entity.data.MetaEntity;
 import com.lf.server.entity.data.PublishEntity;
 import com.lf.server.helper.RestHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.data.PublishMapper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -28,8 +31,16 @@
     @Value("${sys.exportServer}")
     private String exportServer;
 
+    @Value("${sys.iisHost}")
+    private String iisHost;
+
     @Autowired
     PublishMapper publishMapper;
+
+    @Autowired
+    FmeService fmeService;
+
+    private final static Log log = LogFactory.getLog(PublishService.class);
 
     @Override
     public Integer selectCount(String name) {
@@ -53,6 +64,11 @@
     @Override
     public PublishEntity selectById(int id) {
         return publishMapper.selectById(id);
+    }
+
+    @Override
+    public List<PublishEntity> selectByIds(String ids) {
+        return publishMapper.selectByIds(ids);
     }
 
     @Override
@@ -119,6 +135,10 @@
             return 0;
         }
 
+        if (msg.getCount() > 0) {
+            serverRegister(msg.getResult(), req);
+        }
+
         return msg.getCount();
     }
 
@@ -146,4 +166,76 @@
 
         return map;
     }
+
+    /**
+     * 鏈嶅姟娉ㄥ唽
+     */
+    private void serverRegister(String ids, HttpServletRequest req) {
+        List<PublishEntity> list = selectByIds(ids);
+        if (null == list || list.isEmpty()) {
+            return;
+        }
+
+        for (PublishEntity entity : list) {
+            String url = entity.getUrl().replace("{host}", iisHost);
+            String type = getServerType(entity);
+
+            RegisterEntity reg = fmeService.serverRegister(entity.getName(), url, type, req);
+            if (null == reg || StringHelper.isEmpty(reg.getSerialnum())) {
+                continue;
+            }
+
+            fmeService.serverApply(reg.getSerialnum(), entity.getId(), req);
+
+            entity.setRegid(reg.getHashid());
+            update(entity);
+        }
+    }
+
+    /**
+     * 鑾峰彇鏈嶅姟绫诲瀷
+     */
+    private String getServerType(PublishEntity entity) {
+        switch (entity.getType()) {
+            case "DOM":
+                return "TMS鏈嶅姟";
+            case "mpt":
+                return "涓夌淮鍦烘櫙鏈嶅姟";
+            default:
+                return "涓夌淮妯″瀷鏈嶅姟";
+        }
+    }
+
+    /**
+     * 鍒犻櫎澶氭潯
+     */
+    public Integer deletes(List<Integer> idList, HttpServletRequest req) {
+        String ids = StringHelper.join(idList, ",");
+
+        deleteRes(ids, req);
+
+        return deletes(ids);
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮
+     */
+    private void deleteRes(String ids, HttpServletRequest req) {
+        List<PublishEntity> list = selectByIds(ids);
+        if (null == list || list.isEmpty()) {
+            return;
+        }
+
+        for (PublishEntity entity : list) {
+            if (StringHelper.isEmpty(entity.getRegid())) {
+                continue;
+            }
+
+            try {
+                fmeService.deleteRes(entity.getRegid(), req);
+            } catch (Exception ex) {
+                log.error(ex.getMessage(), ex);
+            }
+        }
+    }
 }

--
Gitblit v1.9.3