lyhzzz 1 rok temu
rodzic
commit
2cd49bd2b2

+ 16 - 7
4dkankan-modeling/src/main/java/com/fdkankan/constants/SysConstants.java

@@ -1,9 +1,13 @@
 package com.fdkankan.constants;
 
 import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.log.entity.MqEcs;
+import com.fdkankan.log.service.IMqEcsService;
+import com.fdkankan.modeling.message.QueueNameService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -12,6 +16,7 @@ import org.springframework.core.env.StandardEnvironment;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -72,15 +77,19 @@ public class SysConstants implements ApplicationContextAware {
         }
     }
 
+    @Autowired
+    IMqEcsService mqEcsService;
+    @Autowired
+    com.fdkankan.modeling.message.QueueNameService QueueNameService;
+
     private void initIsResidenceService() {
-        if(CollectionUtils.isEmpty(residenceServices) || ObjectUtils.isEmpty(SysConstants.hostName)){
-            log.error("判断常驻服务失败!");
-            return;
+        if(!StringUtils.isEmpty(SysConstants.hostName) ){
+            MqEcs mqEcs = mqEcsService.getByEcs(SysConstants.hostName);
+            if(mqEcs == null){
+                mqEcs = new MqEcs(QueueNameService.getQueueName(),SysConstants.hostName,0);
+                mqEcsService.save(mqEcs);
+            }
         }
-        log.info("常驻服务列表:{}", residenceServices);
-        log.info("当前服务名称:{}", SysConstants.hostName);
-        isResidenceService = residenceServices.contains(hostName);
-        log.info("当前服务是否是常驻服务:{}", isResidenceService);
     }
 
     @Override

+ 1 - 1
4dkankan-modeling/src/main/java/com/fdkankan/job/EcsJob.java

@@ -21,7 +21,7 @@ public class EcsJob {
     @Autowired
     private RubberSheetingUtil rubberSheetingUtil;
 
-    //@PostConstruct
+    @PostConstruct
     public void deleteEcs() {
         if (SysConstants.isResidenceService) {
             log.info("此服务是常驻服务,不启动关闭弹性伸缩定时任务!");

+ 18 - 3
4dkankan-modeling/src/main/java/com/fdkankan/log/entity/MqEcs.java

@@ -1,6 +1,8 @@
 package com.fdkankan.log.entity;
 
+import lombok.AllArgsConstructor;
 import lombok.Getter;
+import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 import java.io.Serializable;
@@ -16,22 +18,35 @@ import java.util.Date;
  */
 @Getter
 @Setter
+@AllArgsConstructor
+@NoArgsConstructor
 public class MqEcs implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     private Integer id;
 
+    private String ecsName;
     /**
      * 发送的队列
      */
     private String queueName;
 
-    private String ecsName;
-
-
     private Date createTime;
 
     private Date updateTime;
 
+    private String remark;
+    private Integer status;
+
+    private Integer isScaling;
+
+
+
+
+    public MqEcs(String queueName, String ecsName, Integer status) {
+        this.queueName = queueName;
+        this.ecsName = ecsName;
+        this.status = status;
+    }
 }

+ 11 - 4
4dkankan-modeling/src/main/java/com/fdkankan/log/mapper/IMqEcsMapper.java

@@ -1,9 +1,7 @@
 package com.fdkankan.log.mapper;
 
 import com.fdkankan.log.entity.MqEcs;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.*;
 
 import java.util.List;
 
@@ -19,5 +17,14 @@ import java.util.List;
 public interface IMqEcsMapper {
 
     @Select("select * from mq_ecs where ecs_name =#{ecsName} limit 1")
-    List<MqEcs> getByEcs(@Param("ecsName") String hostName);
+    MqEcs getByEcs(@Param("ecsName") String hostName);
+
+
+    @Insert({"INSERT INTO mq_ecs (ecs_name,queue_name,status) " +
+            "VALUES (#{ecsName}, #{queueName}, #{status} )"})
+    void save(MqEcs mqEcs);
+
+
+    @Update("UPDATE mq_ecs SET status = #{status} WHERE ecs_name = #{hostName}")
+    void updateStatus(@Param("hostName")String hostName, @Param("status")Integer status);
 }

+ 5 - 1
4dkankan-modeling/src/main/java/com/fdkankan/log/service/IMqEcsService.java

@@ -15,5 +15,9 @@ import java.util.List;
  */
 public interface IMqEcsService {
 
-    List<MqEcs> getByEcs(String hostName);
+    MqEcs getByEcs(String hostName);
+
+    void save(MqEcs mqEcs);
+
+    void updateStatus(String hostName, Integer status);
 }

+ 12 - 1
4dkankan-modeling/src/main/java/com/fdkankan/log/service/impl/MqEcsServiceImpl.java

@@ -22,7 +22,18 @@ public class MqEcsServiceImpl implements IMqEcsService {
     @Autowired
     IMqEcsMapper mqEcsMapper;
     @Override
-    public List<MqEcs> getByEcs(String hostName) {
+    public MqEcs getByEcs(String hostName) {
         return mqEcsMapper.getByEcs(hostName);
     }
+
+    @Override
+    public void save(MqEcs mqEcs) {
+        mqEcsMapper.save(mqEcs);
+    }
+
+    @Override
+    public void updateStatus(String hostName, Integer status) {
+        mqEcsMapper.updateStatus(hostName,status);
+
+    }
 }

+ 5 - 0
4dkankan-modeling/src/main/java/com/fdkankan/modeling/message/BuildSceneReceiver.java

@@ -12,7 +12,9 @@ import com.fdkankan.constants.SysConstants;
 import com.fdkankan.enums.BuildStatusEnum;
 import com.fdkankan.exception.BuildException;
 import com.fdkankan.log.entity.BuildLog;
+import com.fdkankan.log.entity.MqEcs;
 import com.fdkankan.log.service.IBuildLogService;
+import com.fdkankan.log.service.IMqEcsService;
 import com.fdkankan.scene.entity.SceneProEditEntity;
 import com.fdkankan.scene.entity.SceneProEntity;
 import com.fdkankan.scene.service.ISceneProEditService;
@@ -41,6 +43,7 @@ import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.*;
 
@@ -83,6 +86,8 @@ public class BuildSceneReceiver {
     ModelingMsgProducer producer;
     @Autowired
     QueueNameService queueNameService;
+    @Autowired
+    IMqEcsService mqEcsService;
 
 
     @RabbitListener(

+ 3 - 3
4dkankan-modeling/src/main/java/com/fdkankan/modeling/message/QueueNameService.java

@@ -27,9 +27,9 @@ public class QueueNameService {
             log.info("获取hostName失败,监听队列名为:{}",queueName);
             return queueName;
         }
-        List<MqEcs> list = mqEcsService.getByEcs(SysConstants.hostName);
-        if(list != null && list.size() >0){
-            queueName = list.get(0).getQueueName();
+        MqEcs mqEcs = mqEcsService.getByEcs(SysConstants.hostName);
+        if(mqEcs != null ){
+            queueName = mqEcs.getQueueName();
             log.info("获取hostNam成功,监听队列名为:{}",queueName);
             return queueName;
         }

+ 3 - 3
4dkankan-modeling/src/main/resources/application-prod.properties

@@ -19,7 +19,7 @@ pagehelper.params=count=countSql
 pagehelper.reasonable=false
 pagehelper.support-methods-arguments=true
 #DB (new)
-spring.datasource.primary.url=jdbc:mysql://172.17.0.1:3306/zhi_house?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
+spring.datasource.primary.url=jdbc:mysql://172.18.159.244:3306/zhi_house?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
 spring.datasource.primary.username=root
 spring.datasource.primary.password=zfb@20210727%
 spring.datasource.primary.driverClassName=com.mysql.jdbc.Driver
@@ -38,7 +38,7 @@ spring.servlet.multipart.enabled=true
 spring.servlet.multipart.location=/mnt/data/
 #redis
 spring.redis.database=0
-spring.redis.host=172.17.0.1
+spring.redis.host=172.18.159.244
 spring.redis.port=6379
 spring.redis.password=
 # ?????? ?? ms????
@@ -69,7 +69,7 @@ swagger.description=api??
 swagger.serviceUrl=http://39.108.220.65:8080
 swagger.version=2.0
 #rabbitmq
-spring.rabbitmq.host=172.17.0.1
+spring.rabbitmq.host=172.18.159.244
 spring.rabbitmq.port=5672
 spring.rabbitmq.username=admin
 spring.rabbitmq.password=admin123