Jelajahi Sumber

update-测试

klzhangweiya 2 tahun lalu
induk
melakukan
df0bf271cd
39 mengubah file dengan 178 tambahan dan 1040 penghapusan
  1. 11 6
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/MonitorDao.java
  2. 6 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/OrgDao.java
  3. 3 3
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/process/impl/HarmonicUDataProcess.java
  4. 1 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/redis-host.properties
  5. 6 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/pom.xml
  6. 6 2
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/VbdsmHj212ModbusApplication.java
  7. 19 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TaskConfig.java
  8. 41 5
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/task/UploadDataTask.java
  9. 18 4
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/WsClientUtil.java
  10. 19 9
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/MockUploadWsService.java
  11. 19 19
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/RandomHarmonic.java
  12. 27 17
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/TerminalData.java
  13. 2 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/resources/application.yml
  14. 0 33
      iwb-iot-project/.gitignore
  15. 0 116
      iwb-iot-project/pom.xml
  16. 0 25
      iwb-iot-project/src/main/java/com/iwbnet/iot/IwbIotProjectApplication.java
  17. 0 19
      iwb-iot-project/src/main/java/com/iwbnet/iot/common/BaseResponse.java
  18. 0 22
      iwb-iot-project/src/main/java/com/iwbnet/iot/common/CodeEnum.java
  19. 0 10
      iwb-iot-project/src/main/java/com/iwbnet/iot/common/Constant.java
  20. 0 51
      iwb-iot-project/src/main/java/com/iwbnet/iot/common/MqResponse/LoginResp.java
  21. 0 52
      iwb-iot-project/src/main/java/com/iwbnet/iot/common/ResponseData.java
  22. 0 32
      iwb-iot-project/src/main/java/com/iwbnet/iot/config/MqttConfig.java
  23. 0 44
      iwb-iot-project/src/main/java/com/iwbnet/iot/config/SwaggerConfig.java
  24. 0 77
      iwb-iot-project/src/main/java/com/iwbnet/iot/controller/MqttController.java
  25. 0 22
      iwb-iot-project/src/main/java/com/iwbnet/iot/entity/Terminal.java
  26. 0 25
      iwb-iot-project/src/main/java/com/iwbnet/iot/entity/User.java
  27. 0 13
      iwb-iot-project/src/main/java/com/iwbnet/iot/mapper/UserMapper.java
  28. 0 46
      iwb-iot-project/src/main/java/com/iwbnet/iot/model/AuthClientDto.java
  29. 0 17
      iwb-iot-project/src/main/java/com/iwbnet/iot/model/ClientLoginDto.java
  30. 0 16
      iwb-iot-project/src/main/java/com/iwbnet/iot/model/TopicMsgDto.java
  31. 0 32
      iwb-iot-project/src/main/java/com/iwbnet/iot/mqtt/MqCallback.java
  32. 0 179
      iwb-iot-project/src/main/java/com/iwbnet/iot/mqtt/MqttConnect.java
  33. 0 9
      iwb-iot-project/src/main/java/com/iwbnet/iot/service/IPayloadService.java
  34. 0 24
      iwb-iot-project/src/main/java/com/iwbnet/iot/utils/Md5Util.java
  35. 0 29
      iwb-iot-project/src/main/resources/application-dev.yml
  36. 0 3
      iwb-iot-project/src/main/resources/application.yml
  37. 0 57
      iwb-iot-project/src/main/resources/logback.xml
  38. 0 6
      iwb-iot-project/src/main/resources/static/index.html
  39. 0 13
      iwb-iot-project/src/test/java/com/iwbnet/iot/IwbIotProjectApplicationTests.java

+ 11 - 6
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/MonitorDao.java

@@ -107,14 +107,19 @@ public class MonitorDao extends BaseDaoSupport<Monitor, Long> {
 		QueryRule rule = QueryRule.getInstance();
 		rule.andIn("terminalId", noExists);
 		List<Monitor> monitors =  super.find(rule);
-		for (Monitor monitor : monitors) {
-			result.add(monitor);
-			//计算缓存key,将数据库结果存入缓存
-			String cacheKey = cacheDao.genMD5Key(MONITOR_BY_ID, "" + monitor.getTerminalId());
-			if(!cacheDao.exists(cacheKey)){
-				cacheDao.insert(cacheKey, JSONObject.toJSONString(monitor), outtime);
+		try{
+			for (Monitor monitor : monitors) {
+				result.add(monitor);
+				//计算缓存key,将数据库结果存入缓存
+				String cacheKey = cacheDao.genMD5Key(MONITOR_BY_ID, "" + monitor.getTerminalId());
+				if(!cacheDao.exists(cacheKey)){
+					cacheDao.insert(cacheKey, JSONObject.toJSONString(monitor), outtime);
+				}
 			}
+		}catch (Exception e) {
+		//	log.debug(e.getStackTrace());
 		}
+
 		
 		return result;
 	}

+ 6 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/OrgDao.java

@@ -133,7 +133,12 @@ public class OrgDao extends BaseDaoSupport<Org, Long>  {
 		
 		//存入缓存
 		if(null != org){
-			cacheDao.insert(cacheKey, JSONObject.toJSONString(org), outtime);
+			try{
+				cacheDao.insert(cacheKey, JSONObject.toJSONString(org), outtime);
+			}catch (Exception e) {
+				//			log.debug(e.getStackTrace());
+			}
+
 		}
 		return org;
 		

+ 3 - 3
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/process/impl/HarmonicUDataProcess.java

@@ -160,11 +160,11 @@ public class HarmonicUDataProcess extends AbstractMessageProcess implements IMes
 		List<OnlineDataHarmonicU> dataList = new ArrayList<OnlineDataHarmonicU>();
 		//int success = 0;
 		
-		List<String> mointorIds = new ArrayList<String>();
+		List<String> monitorIds = new ArrayList<String>();
 		for(Object obj: msgList){
 			JSONObject json = JSONObject.parseObject(obj.toString());
 			OnlineDataHarmonicU harmonicU = getHarmonicU(json);
-			mointorIds.add(harmonicU.getTerminalId());
+			monitorIds.add(harmonicU.getTerminalId());
 
 		}
 
@@ -173,7 +173,7 @@ public class HarmonicUDataProcess extends AbstractMessageProcess implements IMes
 //				logger.info("记录总数"+msgList.size());
 				
 //				long beginTime = System.currentTimeMillis();
-				List<Monitor> datas = getMonitorByIds(mointorIds);
+				List<Monitor> datas = getMonitorByIds(monitorIds);
 				Map<String, Monitor> monitors = new HashMap<String,Monitor>();
 				for(Monitor m: datas){
 					monitors.put(m.getTerminalId(), m);

+ 1 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=192.168.0.104:6379:Iwb-2017

+ 6 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/pom.xml

@@ -68,6 +68,12 @@
             <version>1.0</version>
             <scope>compile</scope>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.apache.cxf</groupId>-->
+<!--            <artifactId>cxf-rt-transports-http</artifactId>-->
+<!--            <version>2.7.1</version>-->
+<!--            <scope>compile</scope>-->
+<!--        </dependency>-->
     </dependencies>
 <!--    <dependencyManagement>-->
 <!--        <dependencies>-->

+ 6 - 2
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/VbdsmHj212ModbusApplication.java

@@ -1,6 +1,7 @@
 package cn.vbdsm.hj212.modbus;
 
 import cn.vbdsm.hj212.modbus.server.TcpSocketServer;
+import cn.vbdsm.hj212.modbus.task.UploadDataTask;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
@@ -11,12 +12,14 @@ import  cn.vbdsm.hj212.modbus.ws.*;
 
 @SpringBootApplication
 @Slf4j
-@EnableScheduling
+//@EnableScheduling
 public class VbdsmHj212ModbusApplication implements CommandLineRunner {
     @Autowired
     private TcpSocketServer tcpSocketServer;
     @Autowired
-        private MockUploadWsService uploadDataService;
+    private MockUploadWsService uploadDataService;
+    @Autowired
+    private UploadDataTask uploadDataTask;
 
     public static void main(String[] args) {
         SpringApplication.run(VbdsmHj212ModbusApplication.class, args);
@@ -24,6 +27,7 @@ public class VbdsmHj212ModbusApplication implements CommandLineRunner {
 
     @Override
     public void run(String... args) throws Exception {
+        uploadDataTask.startUpload();
       //uploadDataService.loadTerminals();
 //        tcpSocketServer.run();
 //        Runtime.getRuntime().addShutdownHook(new Thread(){

+ 19 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TaskConfig.java

@@ -0,0 +1,19 @@
+package cn.vbdsm.hj212.modbus.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+
+@Configuration
+public class TaskConfig {
+
+    @Bean(name = "uploadDataTaskScheduler")
+    public ThreadPoolTaskScheduler threadPoolTaskScheduler(){
+        ThreadPoolTaskScheduler executor = new ThreadPoolTaskScheduler();
+        executor.setPoolSize(2);
+        executor.setThreadNamePrefix("taskExecutor-");
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+}

+ 41 - 5
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/task/UploadDataTask.java

@@ -1,23 +1,59 @@
 package cn.vbdsm.hj212.modbus.task;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.support.CronTrigger;
 import org.springframework.stereotype.Component;
 import cn.vbdsm.hj212.modbus.ws.*;
+import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.concurrent.ScheduledFuture;
 
-@Component
+@Slf4j
+@Service
 public class UploadDataTask {
 //    @Autowired
 //    private  UploadDataService uploadDataService;
     @Autowired
     private MockUploadWsService uploadWsService;
 
-    @Scheduled(cron = "0 0/15 * * * ?")
-    public void uploadData() throws Exception {
-        uploadWsService.loadTerminals();
-        //System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+
+//    @Scheduled(cron = "0 0/15 * * * ?")
+//    public void uploadData() {
+//        try{
+//            uploadWsService.loadTerminals();
+//        }catch (Exception e){
+//            log.error("uploadData error:" + e.getMessage());
+//        }
+//        //System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+//    }
+    @Resource(name = "uploadDataTaskScheduler")
+    private ThreadPoolTaskScheduler taskScheduler;
+
+    private ScheduledFuture future;
+
+    public void startUpload(){
+        //每次调用前,可执行一次关闭之前的
+        stopUpload();
+        future = taskScheduler.schedule(()->{
+            try{
+                uploadWsService.loadTerminals();
+            }catch (Exception e){
+                log.error("uploadData error:" + e.getMessage());
+            }
+        },new CronTrigger("0/2 * * * * ?"));
+    }
+
+    public void stopUpload(){
+        if(future != null){
+            log.info("stop upload!!");
+            future.cancel(true);
+        }
     }
 }

+ 18 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/WsClientUtil.java

@@ -1,16 +1,30 @@
 package cn.vbdsm.hj212.modbus.utils;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 
+@Slf4j
 public class WsClientUtil {
-    public static String callWebSV(String wsdUrl, String operationName, String... params) throws Exception {
+    public static String callWebSV(String wsdUrl, String operationName, String... params){
         JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
         Client client = dcf.createClient(wsdUrl);
-        //client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));
+        HTTPConduit conduit = (HTTPConduit) client.getConduit();
+        HTTPClientPolicy policy = new HTTPClientPolicy();
+        long timeout =  10 * 1000;// 60s timeout
+        policy.setConnectionTimeout(timeout);
+        policy.setReceiveTimeout(timeout);
+        conduit.setClient(policy);
         Object[] objects;
+        try{
+            objects = client.invoke(operationName, params);
+            return objects[0].toString();
+        }catch (Exception e){
+             log.error("发送错误!请检查日志记录!{}", e.getMessage());
+        }
         // invoke("方法名",参数1,参数2,参数3....);
-        objects = client.invoke(operationName, params);
-        return objects[0].toString();
+        return "发送错误!请检查日志记录!";
     }
 
 }

+ 19 - 9
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/MockUploadWsService.java

@@ -55,7 +55,7 @@ public class MockUploadWsService {
 //            }
 //        }
 //    }
-    public void loadTerminals() throws Exception {
+    public void loadTerminals(){
         String terminals = mockMonitor.getTerminals();
         String[] coms = terminals.split("&");
         for(String c : coms){
@@ -65,7 +65,12 @@ public class MockUploadWsService {
                 TerminalData td = getTerminal(cts[0],t);
                 RandomPower power = new RandomPower();
                 setEngine(power,td);
-                uploadData(td,power);
+                try {
+                    uploadData(td,power);
+                }catch (Exception e){
+                    log.error("uploadData error:" + e.getMessage());
+                }
+
             }
         }
     }
@@ -105,17 +110,22 @@ public class MockUploadWsService {
 
 
 
-    public void uploadData(TerminalData td,RandomPower power) throws Exception {
+    public void uploadData(TerminalData td,RandomPower power)  {
         String nowStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
         long now = Long.parseLong(nowStr);
         now = now - (now - (now / 10000) * 10000) % 1500;
-        sendData("01",td,now,power);
-        sendData("02",td,now,power);
-        sendData("03",td,now,power);
-        sendData("04",td,now,power);
+        try {
+            sendData("01",td,now,power);
+            sendData("02",td,now,power);
+            sendData("03",td,now,power);
+            sendData("04",td,now,power);
+        }catch (Exception e){
+            log.error("uploadData error:" + e.getMessage());
+        }
+
     }
 
-    private void sendData(String type, TerminalData td ,Long date,RandomPower power) throws Exception {
+    private void sendData(String type, TerminalData td ,Long date,RandomPower power)  {
         OnlineData onlineData_power = new OnlineData();
         onlineData_power.setCompanyId(td.getCompanyId());
         onlineData_power.setDataType(type);
@@ -157,7 +167,7 @@ public class MockUploadWsService {
                 log.info("地址:{},企业编号:{},设备号信息:{},上传结果:{}",url,td.getCompanyId(),terminalId,result);
             }
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            log.error("数据上报异常:" + e.getMessage() + "\nKEY:" + wsProperties.getKey() + "\nCONTENT:" + content);
         }
     }
 

+ 19 - 19
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/RandomHarmonic.java

@@ -11,25 +11,25 @@ import java.math.BigDecimal;
 @NoArgsConstructor
 @AllArgsConstructor
 public class RandomHarmonic {
-    public String type ;
-    public BigDecimal h3 ;
-    public BigDecimal h5 ;
-    public BigDecimal h7 ;
-    public BigDecimal h9 ;
-    public BigDecimal h11 ;
-    public BigDecimal h13 ;
-    public BigDecimal h15 ;
-    public BigDecimal h17 ;
-    public BigDecimal h19 ;
-    public BigDecimal h21 ;
-    public BigDecimal h23 ;
-    public BigDecimal h25 ;
-    public BigDecimal h27 ;
-    public BigDecimal h29 ;
-    public BigDecimal h31 ;
-    public BigDecimal hall;
-    public BigDecimal baseI ;
-    public BigDecimal baseU ;
+        public String type ;
+        public BigDecimal h3 ;
+        public BigDecimal h5 ;
+        public BigDecimal h7 ;
+        public BigDecimal h9 ;
+        public BigDecimal h11 ;
+        public BigDecimal h13 ;
+        public BigDecimal h15 ;
+        public BigDecimal h17 ;
+        public BigDecimal h19 ;
+        public BigDecimal h21 ;
+        public BigDecimal h23 ;
+        public BigDecimal h25 ;
+        public BigDecimal h27 ;
+        public BigDecimal h29 ;
+        public BigDecimal h31 ;
+        public BigDecimal hall;
+        public BigDecimal baseI ;
+        public BigDecimal baseU ;
 
     public RandomHarmonic(String type){
         this.type = type;

+ 27 - 17
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/TerminalData.java

@@ -53,17 +53,24 @@ public class TerminalData {
     private String key = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
 
     public BigDecimal getCurDayTotalP(){
-        return this.dayTotal_p.getOrDefault(this.key,new BigDecimal(0));
+        if(this.dayTotal_p.containsKey(this.key)){
+            return this.dayTotal_p.get(this.key);
+        }
+        return new BigDecimal(0);
     }
     public BigDecimal getCurDayTotalE(){
-        return this.dayTotal_e.getOrDefault(this.key,new BigDecimal(0));
+        if(this.dayTotal_e.containsKey(this.key)){
+            return this.dayTotal_e.get(this.key);
+        }
+        return new BigDecimal(0);
     }
 
     public TerminalData SetDayTotalP(BigDecimal d){
-        if(this.dayTotal_p.containsKey(key)){
-            dayTotal_p.remove(key);
-        }
-        dayTotal_p.put(key,d);
+//        if(this.dayTotal_p.containsKey(key)){
+//            dayTotal_p.remove(key);
+//        }
+//        dayTotal_p.put(key,d);
+        dayTotal_p.compute(key,(k,v)->d);
         return this;
     }
     public TerminalData SetTotalP(BigDecimal d)
@@ -72,10 +79,7 @@ public class TerminalData {
         return this;
     }
     public TerminalData SetDayTotalE(BigDecimal d){
-        if(this.dayTotal_e.containsKey(key)){
-            dayTotal_e.remove(key);
-        }
-        dayTotal_e.put(key,d);
+        dayTotal_e.compute(key, (k,v)-> d);
         return this;
     }
     public TerminalData SetTotalE(BigDecimal d)
@@ -86,26 +90,32 @@ public class TerminalData {
 
 
     public void saveFileInfo()  {
-
         String fileName = StrUtil.format("{}@{}.json",companyId,terminalId);
-        //ClassPathResource classPathResource = new ClassPathResource(StrUtil.format("mock"));
+        FileWriter fw = null;
         try {
             //String resourcePath = classPathResource.getURL().toString().substring(6);
             File saveDir = new File("./mock");
             if (!saveDir.exists()) {
-                saveDir.mkdir();
+                boolean mkdir = saveDir.mkdir();
             }
             File file = new File(saveDir.getAbsoluteFile()+ "/" + fileName);
             if(!file.exists()){
-                file.createNewFile();
+                boolean newFile = file.createNewFile();
             }
-            FileWriter fw = new FileWriter(file);
+            fw = new FileWriter(file);
             String content = JSON.toJSONString(this);
             fw.write(content);
-            fw.flush();
-            fw.close();
         } catch (IOException e) {
             log.error("{}@{}.json文件保存失败!",companyId,terminalId);
+        }finally {
+            if(fw != null){
+                try {
+                    fw.flush();
+                    fw.close();
+                } catch (IOException e) {
+                    log.error("{}@{}.json文件保存失败!error:{}",companyId,terminalId,e.getMessage());
+                }
         }
+      }
     }
 }

+ 2 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/resources/application.yml

@@ -9,7 +9,8 @@ vbdsm:
             bossThreadNum: 1 #netty boss线程数 默认为1
             workThreadNum: 4 #netty work线程数,默认为4
     ws:
-        url: http://192.168.0.104:7100/services/UploadData?wsdl;http://192.168.0.104:7100/services/UploadData?wsdl
+        #url: http://192.168.0.104:7100/services/UploadData?wsdl;http://192.168.0.104:7100/services/UploadData?wsdl
+        url: http://127.0.0.1:7100/services/UploadData?wsdl
         method: UploadAllData
         key: WOSHI123456MIYAO
     monitor:

+ 0 - 33
iwb-iot-project/.gitignore

@@ -1,33 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/

+ 0 - 116
iwb-iot-project/pom.xml

@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>com.iwbnet</groupId>
-    <artifactId>iwb-iot-project</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <name>iwb-iot-project</name>
-    <description>iwb-iot-project</description>
-    <properties>
-        <java.version>1.8</java.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <spring-boot.version>2.6.13</spring-boot.version>
-    </properties>
-    <dependencies>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.2.16</version>
-        </dependency>
-        <dependency>
-            <groupId>com.mysql</groupId>
-            <artifactId>mysql-connector-j</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
-            <version>5.8.20</version>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.fastjson2</groupId>
-            <artifactId>fastjson2</artifactId>
-            <version>2.0.32</version>
-        </dependency>
-
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-boot-starter</artifactId>
-            <version>3.0.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.integration</groupId>
-            <artifactId>spring-integration-mqtt</artifactId>
-            <version>5.5.14</version>
-        </dependency>
-    </dependencies>
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${spring-boot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${spring-boot.version}</version>
-                <configuration>
-                    <mainClass>com.iwbnet.iot.IwbIotProjectApplication</mainClass>
-                    <skip>true</skip>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>repackage</id>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>

+ 0 - 25
iwb-iot-project/src/main/java/com/iwbnet/iot/IwbIotProjectApplication.java

@@ -1,25 +0,0 @@
-package com.iwbnet.iot;
-
-import com.iwbnet.iot.mqtt.MqttConnect;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-@MapperScan("com.iwbnet.iot.mapper")
-public class IwbIotProjectApplication implements CommandLineRunner {
-    @Autowired
-    private MqttConnect mqttConnect;
-
-    public static void main(String[] args) {
-        SpringApplication.run(IwbIotProjectApplication.class, args);
-    }
-
-    @Override
-    public void run(String... args) throws Exception {
-        //程序启动时候,创建一个mqtt连接
-        mqttConnect.connect("", "", null);
-    }
-}

+ 0 - 19
iwb-iot-project/src/main/java/com/iwbnet/iot/common/BaseResponse.java

@@ -1,19 +0,0 @@
-package com.iwbnet.iot.common;
-
-import lombok.Data;
-
-@Data
-public class BaseResponse {
-    /**
-     * 状态码
-     */
-    private Integer code;
-
-
-
-    protected BaseResponse(CodeEnum code) {
-        this.code = code.getCode();
-
-    }
-
-}

+ 0 - 22
iwb-iot-project/src/main/java/com/iwbnet/iot/common/CodeEnum.java

@@ -1,22 +0,0 @@
-package com.iwbnet.iot.common;
-
-public enum CodeEnum {
-    SUCCESS(200),
-    FAIL(500),
-    ;
-
-    private final Integer code;
-
-
-
-    CodeEnum(Integer code) {
-        this.code = code;
-
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-
-}

+ 0 - 10
iwb-iot-project/src/main/java/com/iwbnet/iot/common/Constant.java

@@ -1,10 +0,0 @@
-package com.iwbnet.iot.common;
-
-public class Constant {
-
-
-    public static final Integer USER_STATUS_ACTIVE = 0;
-    public static final Integer USER_STATUS_FORBID = 1;
-
-
-}

+ 0 - 51
iwb-iot-project/src/main/java/com/iwbnet/iot/common/MqResponse/LoginResp.java

@@ -1,51 +0,0 @@
-package com.iwbnet.iot.common.MqResponse;
-
-import lombok.Data;
-
-
-
-public class LoginResp {
-    public String getResult() {
-        return result;
-    }
-
-    public void setResult(String result) {
-        this.result = result;
-    }
-
-    public boolean isIs_superuser() {
-        return is_superuser;
-    }
-
-    public void setIs_superuser(boolean is_superuser) {
-        this.is_superuser = is_superuser;
-    }
-
-    private String result;
-
-    private boolean is_superuser;
-    public LoginResp(String result) {
-        this.result = result;
-    }
-    public LoginResp(String result, boolean is_superuser) {
-        this.result = result;
-        this.is_superuser = is_superuser;
-    }
-
-    public static LoginResp allow(boolean is_superuser) {
-        return new LoginResp("allow", is_superuser);
-    }
-    public static LoginResp allow( ) {
-        return new LoginResp("allow");
-    }
-    public static LoginResp deny(boolean is_superuser) {
-        return new LoginResp("deny", is_superuser);
-    }
-    public static LoginResp deny() {
-        return new LoginResp("deny");
-    }
-    public static LoginResp ignore(boolean is_superuser) {
-        return new LoginResp("ignore", is_superuser);
-    }
-
-}

+ 0 - 52
iwb-iot-project/src/main/java/com/iwbnet/iot/common/ResponseData.java

@@ -1,52 +0,0 @@
-package com.iwbnet.iot.common;
-
-import lombok.Data;
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class ResponseData<T> extends BaseResponse {
-    /**
-     * 数据
-     */
-    private T data;
-
-
-    private String msg;
-
-    private ResponseData(CodeEnum code) {
-        super(code);
-    }
-
-    private ResponseData(CodeEnum code, T data) {
-        super(code);
-        this.data = data;
-    }
-    private ResponseData(CodeEnum code, T data,String msg) {
-        super(code);
-        this.data = data;
-        this.msg = msg;
-    }
-
-    /**
-     * 对外开放基础响应体已供调用,可用于增、删、改接口操作
-     */
-    public static BaseResponse out(CodeEnum code) {
-        return new BaseResponse(code);
-    }
-
-    /**
-     * 对外开放数据响应体已供调用,可用于查询数据实用,引用了范型设计,支持各种数据类型
-     */
-    public static <T> ResponseData<T> out(CodeEnum code, T data) {
-        return new ResponseData<>(code, data);
-    }
-    public static <T> ResponseData<T> success(T data) {
-        return new ResponseData<>(CodeEnum.SUCCESS, data);
-    }
-
-    public static <T> ResponseData<T> fail(T data,String msg) {
-        return new ResponseData<>(CodeEnum.FAIL, data,msg);
-    }
-}

+ 0 - 32
iwb-iot-project/src/main/java/com/iwbnet/iot/config/MqttConfig.java

@@ -1,32 +0,0 @@
-package com.iwbnet.iot.config;
-
-import cn.hutool.core.collection.CollectionUtil;
-import lombok.Data;
-import lombok.var;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Data
-@Component
-@ConfigurationProperties(prefix = "mqtt")
-public class MqttConfig {
-    private String host;
-
-    private String username;
-
-    private String password;
-
-    private String clientId;
-
-    private String sub;
-
-
-    public String[] getInitSub() {
-        if(this.getSub() == null) {
-            return null;
-        }
-        return this.getSub().split(",");
-    }
-}

+ 0 - 44
iwb-iot-project/src/main/java/com/iwbnet/iot/config/SwaggerConfig.java

@@ -1,44 +0,0 @@
-package com.iwbnet.iot.config;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-
-import springfox.documentation.oas.annotations.EnableOpenApi;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Contact;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-
-@Configuration
-@EnableOpenApi
-public class SwaggerConfig {
-        /**
-     * 用于读取配置文件 application.properties 中 swagger 属性是否开启
-     */
-    @Value("${swagger.enabled}")
-    Boolean swaggerEnabled;
-    @Bean
-    public Docket desertsApi(){
-        return new Docket(DocumentationType.OAS_30)
-                .apiInfo(apiInfo())
-                .select()
-                .apis(RequestHandlerSelectors.basePackage("com.iwbnet.iot.controller"))
-                .paths(PathSelectors.any())
-                .build()
-                .groupName("iotServerGroup")
-                .enable(swaggerEnabled);
-    }
-
-    private ApiInfo apiInfo(){
-        return new ApiInfoBuilder()
-                .title("IOT-HTTP-TEST-Swagger3文档")
-                .description("文档描述信息")
-                .contact(new Contact("IWBNET-IOT", "#", "IWBNET@qq.com"))
-                .version("1.0")
-                .build();
-    }
-}

+ 0 - 77
iwb-iot-project/src/main/java/com/iwbnet/iot/controller/MqttController.java

@@ -1,77 +0,0 @@
-package com.iwbnet.iot.controller;
-
-import com.alibaba.fastjson2.JSON;
-import com.iwbnet.iot.common.MqResponse.LoginResp;
-import com.iwbnet.iot.common.ResponseData;
-import com.iwbnet.iot.entity.User;
-import com.iwbnet.iot.model.AuthClientDto;
-import com.iwbnet.iot.model.ClientLoginDto;
-import com.iwbnet.iot.model.TopicMsgDto;
-import com.iwbnet.iot.mqtt.MqttConnect;
-import com.iwbnet.iot.utils.Md5Util;
-import io.swagger.annotations.Api;
-import com.iwbnet.iot.mapper.UserMapper;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-@Slf4j
-@Api(tags = "mqtt-API")
-@RestController
-@RequestMapping("/mqtt")
-public class MqttController {
-    @Autowired
-    private UserMapper userMapper;
-
-
-    @Autowired
-    private MqttConnect mqttConnect;
-
-    @ApiOperation("认证")
-    @PostMapping(value = "/login",produces = "application/json")
-    public LoginResp authentication(@ApiParam(value = "访问设备客户端用户") @RequestBody ClientLoginDto client){
-        log.info("client:{},username:{},pwd:{},发起连接...",
-                client.getClientId(),client.getUsername(),client.getPassword());
-
-        User user = userMapper.selectUserByUsername(client.getUsername());
-        if(user==null){
-            return LoginResp.deny(false);
-        }
-        String password = user.getPassword().trim();
-        if(!password.equals(Md5Util.getMD5Str(client.getPassword()))){
-            return LoginResp.deny(false);
-        }
-        return LoginResp.allow(user.getIsSuperuser() == 1);
-
-    }
-    @ApiOperation("鉴权")
-    @PostMapping(value = "/auth",produces = "application/json")
-    public LoginResp auth(@RequestBody AuthClientDto client){
-        String jsonString = JSON.toJSONString(client);
-        log.info(jsonString);
-        return LoginResp.allow();
-    }
-
-    @ApiOperation("订阅主题")
-    @GetMapping(value = "/sub")
-    public ResponseData sub(@ApiParam(value = "主题",readOnly = true) @RequestParam(value = "topic") String topic){
-        log.info("订阅主题:{}",topic);
-        if (!mqttConnect.isConnect()) {
-            mqttConnect.connect("", "", null);
-        }
-        return  ResponseData.success(topic+ (mqttConnect.sub(topic)?"订阅成功":"订阅失败"));
-    }
-
-    @ApiOperation("发布主题payload")
-    @PostMapping(value = "/pub")
-    public ResponseData pub(@ApiParam(value = "主题+payload",required = true) @RequestBody TopicMsgDto input){
-        log.info("发布主题:{}",JSON.toJSONString(input));
-        if (!mqttConnect.isConnect()) {
-            mqttConnect.connect("", "", null);
-        }
-        return  ResponseData.success((mqttConnect.pub(input)?"发布成功":"发布失败"));
-    }
-
-}

+ 0 - 22
iwb-iot-project/src/main/java/com/iwbnet/iot/entity/Terminal.java

@@ -1,22 +0,0 @@
-package com.iwbnet.iot.entity;
-
- import lombok.Data;
-
-@Data
-//@Table("t_terminal")
-public class Terminal {
-    //@Id(keyType = KeyType.Auto)
-    private Long id;
-
-    private String clientId;
-
-    private Long userId;
-
-    private String terminalName;
-
-    private String terminalCode;
-
-    private Integer terminalType;
-
-    private Integer terminalStatus;
-}

+ 0 - 25
iwb-iot-project/src/main/java/com/iwbnet/iot/entity/User.java

@@ -1,25 +0,0 @@
-package com.iwbnet.iot.entity;
-
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-import lombok.Getter;
-
-//设备厂家账号信息
-@Getter
-//@Table("t_user")
-@ApiModel(value = "User", description = "设备厂家账号信息")
-public class User {
-    //@Id(keyType = KeyType.Auto)
-    private Long id;
-
-    private String username;
-
-    private String password;
-
-    private Integer status;
-
-    private Integer isSuperuser;
-
-
-
-}

+ 0 - 13
iwb-iot-project/src/main/java/com/iwbnet/iot/mapper/UserMapper.java

@@ -1,13 +0,0 @@
-package com.iwbnet.iot.mapper;
-
-import com.iwbnet.iot.entity.User;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-
-@Mapper
-public interface UserMapper {
-
-
-    @Select("select * from t_user where username = #{username}")
-    public User selectUserByUsername(String username);
-}

+ 0 - 46
iwb-iot-project/src/main/java/com/iwbnet/iot/model/AuthClientDto.java

@@ -1,46 +0,0 @@
-package com.iwbnet.iot.model;
-
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
- @ApiModel("mqtt认证实体")
-@Data
-public class AuthClientDto {
-    //${clientid}: 客户端的 ID
-//    ${username}: 客户端登录时用的用户名
-//    ${peerhost}: 客户端的源 IP 地址
-//    ${proto_name}: 客户端使用的协议名称。例如 MQTT,CoAP 等
-//    ${mountpoint}: 网关监听器的挂载点(主题前缀)
-//    ${action}: 当前执行的动作请求,例如 publish,subscribe
-//    ${topic}: 当前请求想要发布或订阅的主题(或主题过滤器)
-//    ${qos}: 当前请求想要发布或订阅的消息 QoS
-//    ${retain}: 当前请求想要发布的消息是否为保留消息
-    @ApiModelProperty("客户端的ID")
-    private String clientId;
-
-    @ApiModelProperty("客户端登录时用的用户名")
-    private String username;
-
-    @ApiModelProperty("当前请求想要发布或订阅的主题(或主题过滤器)")
-    private String topic;
-
-    @ApiModelProperty("当前执行的动作请求,例如publish,subscribe")
-    private String action;
-
-    @ApiModelProperty("客户端的源IP地址")
-    private String peerHost;
-
-    @ApiModelProperty("客户端使用的协议名称。例如 MQTT,CoAP 等")
-    private String protoName;
-
-    // @ApiModelProperty("网关监听器的挂载点(主题前缀)")
-    private String mountPoint;
-
-    @ApiModelProperty("当前请求想要发布或订阅的消息 QoS")
-    private String qos;
-
-    @ApiModelProperty("当前请求想要发布的消息是否为保留消息")
-    private String retain;
-
-}

+ 0 - 17
iwb-iot-project/src/main/java/com/iwbnet/iot/model/ClientLoginDto.java

@@ -1,17 +0,0 @@
-package com.iwbnet.iot.model;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@ApiModel("mqtt登录请求")
-@Data
-public class ClientLoginDto {
-     @ApiModelProperty("用户名")
-    private String username;
-
-      @ApiModelProperty("密码")
-    private String password;
-
-      @ApiModelProperty("客户端Id")
-    private String clientId;
-}

+ 0 - 16
iwb-iot-project/src/main/java/com/iwbnet/iot/model/TopicMsgDto.java

@@ -1,16 +0,0 @@
-package com.iwbnet.iot.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@ApiModel("mqtt订阅主题实体类")
-@Data
-public class TopicMsgDto {
-     @ApiModelProperty("主题")
-    private String topic;
-    @ApiModelProperty("消息信息")
-    private String payload;
-     @ApiModelProperty("QoS等级,0为至多一次,1为至少一次,2为确保只有一次")
-    private int qos;
-}

+ 0 - 32
iwb-iot-project/src/main/java/com/iwbnet/iot/mqtt/MqCallback.java

@@ -1,32 +0,0 @@
-package com.iwbnet.iot.mqtt;
-
-import lombok.extern.slf4j.Slf4j;
-import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
-import org.eclipse.paho.client.mqttv3.MqttCallback;
-import org.eclipse.paho.client.mqttv3.MqttMessage;
-
-@Slf4j
-public class MqCallback implements MqttCallback{
-    /**
-     * MQTT 断开连接会执行此方法
-     */
-    @Override
-    public void connectionLost(Throwable throwable) {
-        log.info("断开了MQTT连接 :{}", throwable.getMessage());
-        log.error(throwable.getMessage(), throwable);
-    }
-    /**
-     * subscribe订阅后得到的消息会执行到这里
-     */
-    @Override
-    public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
-        log.info("收到来自 " + topic + " 的消息:{}", new String(mqttMessage.getPayload()));
-    }
-    /**
-     * publish发布成功后会执行到这里
-     */
-    @Override
-    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
-        log.info("发布消息成功");
-    }
-}

+ 0 - 179
iwb-iot-project/src/main/java/com/iwbnet/iot/mqtt/MqttConnect.java

@@ -1,179 +0,0 @@
-package com.iwbnet.iot.mqtt;
-
-import com.alibaba.fastjson2.JSON;
-import com.iwbnet.iot.config.MqttConfig;
-import com.iwbnet.iot.model.TopicMsgDto;
-import lombok.extern.slf4j.Slf4j;
-import org.eclipse.paho.client.mqttv3.*;
-import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.PreDestroy;
-
-
-@Slf4j
-@Component
-public class MqttConnect {
-
-    @Autowired
-    private MqttConfig mqttConfig;
-
-    private MqttClient mqttClient;
-
-
-    public boolean isConnect() {
-        return mqttClient.isConnected();
-    }
-        /**
-     * 客户端connect连接mqtt服务器
-     *
-     * @param userName     用户名
-     * @param passWord     密码
-     * @param mqttCallback 回调函数
-     **/
-    public void connect(String userName, String passWord, MqttCallback mqttCallback){
-        if(userName.equals("") || passWord.equals("")) {
-            userName = mqttConfig.getUsername();
-            passWord = mqttConfig.getPassword();
-        }
-
-        try {
-            MqttConnectOptions options = mqttConnectOptions(userName, passWord);
-            if (mqttCallback == null) {
-                mqttClient.setCallback(new MqCallback());
-            } else {
-                mqttClient.setCallback(mqttCallback);
-            }
-            mqttClient.connect(options);
-        } catch (MqttException e) {
-            log.error(e.getMessage(), e);
-        }
-    }
-
-    /**
-     * 订阅默认主题
-     */
-    public void subInitTopic(){
-        try {
-
-            mqttClient.subscribe(mqttConfig.getInitSub());
-        } catch (MqttException e) {
-            log.error(e.getMessage(), e);
-        }
-    }
-
-
-
-    /**
-     * MQTT连接参数设置
-     */
-    private MqttConnectOptions mqttConnectOptions(String userName, String passWord) throws MqttException {
-        String host = "tcp://127.0.0.1:1883";
-        String clientId = "vbdsm-hj212-iot";
-        if(mqttConfig != null && mqttConfig.getHost() != null && !"".equals(mqttConfig.getHost())) {
-            host = mqttConfig.getHost();
-            clientId = mqttConfig.getClientId();
-        }
-        mqttClient = new MqttClient(host, clientId, new MemoryPersistence());
-        MqttConnectOptions options = new MqttConnectOptions();
-        options.setUserName(userName);
-        options.setPassword(passWord.toCharArray());
-        options.setConnectionTimeout(10);///默认:30
-        options.setAutomaticReconnect(true);//默认:false
-        options.setCleanSession(false);//默认:true
-        //options.setKeepAliveInterval(20);//默认:60
-        return options;
-    }
-
-     /**
-     * 关闭MQTT连接
-     */
-     @PreDestroy
-    public void close() throws MqttException {
-         log.info("关闭MQTT连接");
-        mqttClient.disconnect();
-        mqttClient.close();
-    }
-
-    /**
-     * 向某个主题发布消息 默认qos:1
-     *
-     * @param topic:发布的主题
-     * @param msg:发布的消息
-     */
-    public boolean pub(String topic, String msg)   {
-        return pub(topic, msg, 1);
-    }
-
-    public boolean pub(TopicMsgDto input)   {
-        String topic = input.getTopic();
-        String payLoad = input.getPayload();
-        if (payLoad == null) {
-            return false;
-        }
-        return pub(topic, payLoad, input.getQos());
-    }
-
-    /**
-     * 向某个主题发布消息
-     *
-     * @param topic: 发布的主题
-     * @param msg:   发布的消息
-     * @param qos:   消息质量    Qos:0、1、2
-     */
-    public boolean pub(String topic, String msg, int qos) {
-        MqttMessage mqttMessage = new MqttMessage();
-        mqttMessage.setQos(qos);
-        mqttMessage.setPayload(msg.getBytes());
-        MqttTopic mqttTopic = mqttClient.getTopic(topic);
-        try{
-            MqttDeliveryToken token = mqttTopic.publish(mqttMessage);
-            token.waitForCompletion();
-            return true;
-        }catch (MqttException e) {
-            log.error(e.getMessage(), e);
-        }
-        return false;
-    }
-
-    /**
-     * 订阅某一个主题 ,此方法默认的的Qos等级为:1
-     *
-     * @param topic 主题
-     */
-    public boolean sub(String topic)   {
-        try{
-            mqttClient.subscribe(topic);
-            return true;
-        }catch (MqttException e) {
-            log.error(e.getMessage(), e);
-        }
-        return false;
-    }
-
-    /**
-     * 订阅某一个主题,可携带Qos
-     *
-     * @param topic 所要订阅的主题
-     * @param qos   消息质量:0、1、2
-     */
-    public boolean sub(String topic, int qos)   {
-        try{
-            mqttClient.subscribe(topic, qos);
-            return true;
-        }catch (MqttException e) {
-            log.error(e.getMessage(), e);
-        }
-        return false;
-    }
-
-
-//    public void destroy() {
-//        try {
-//            this.close();
-//        } catch (MqttException e) {
-//            log.error(e.getMessage(), e);
-//        }
-//    }
-}

+ 0 - 9
iwb-iot-project/src/main/java/com/iwbnet/iot/service/IPayloadService.java

@@ -1,9 +0,0 @@
-package com.iwbnet.iot.service;
-
-
-public interface IPayloadService {
-
-
-
-    public void send(String topic, String payload);
-}

+ 0 - 24
iwb-iot-project/src/main/java/com/iwbnet/iot/utils/Md5Util.java

@@ -1,24 +0,0 @@
-package com.iwbnet.iot.utils;
-
-import java.math.BigInteger;
-import java.nio.charset.StandardCharsets;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-public class Md5Util {
-    public static String getMD5Str(String str) {
-        byte[] digest = null;
-        try {
-            MessageDigest md5 = MessageDigest.getInstance("md5");
-            digest = md5.digest(str.getBytes(StandardCharsets.UTF_8));
-        } catch (NoSuchAlgorithmException e) {
-            e.printStackTrace();
-        }
-        //16是表示转换为16进制数
-        String md5Str = null;
-        if (digest != null) {
-            md5Str = new BigInteger(1, digest).toString(16);
-        }
-        return md5Str;
-    }
-}

+ 0 - 29
iwb-iot-project/src/main/resources/application-dev.yml

@@ -1,29 +0,0 @@
-server:
-  port: 5080
-swagger:
-  enabled: true
-mybatis:
-  mapper-locations: classpath:mappers/*xml
-  type-aliases-package: com.iwbnet.iot.entity
-  configuration:
-    map-underscore-to-camel-case: true
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-# DataSource Config
-spring:
-  datasource:
-    type: com.alibaba.druid.pool.DruidDataSource
-    url: jdbc:mysql://47.112.30.247:43308/iot_com?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
-    username: root
-    password: 123456
-    driver-class-name: com.mysql.cj.jdbc.Driver
-  mvc:
-    pathmatch:
-      matching-strategy: ant_path_matcher
-
-mqtt:
-  host: tcp://127.0.0.1:1883
-  username: admin
-  password: 123456
-  clientId: vbdsm-hj212-iot
-  sub: vbdsm/device/+/+,system/+/+
-

+ 0 - 3
iwb-iot-project/src/main/resources/application.yml

@@ -1,3 +0,0 @@
-spring:
-    profiles:
-        active: dev

+ 0 - 57
iwb-iot-project/src/main/resources/logback.xml

@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <property name="rootLevel" value="INFO"/>
-    <property name="appName" value="vbdsm-hj212-IOT-server"/>
-    <contextName>${appName}</contextName>
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger- %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-        </filter>
-    </appender>
-
-    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <FileNamePattern>./logs/${appName}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
-            <maxFileSize>100MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>2GB</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <FileNamePattern>./logs/${appName}.%d{yyyy-MM-dd}.%i.error.log</FileNamePattern>
-            <maxFileSize>100MB</maxFileSize>
-            <maxHistory>30</maxHistory>
-            <totalSizeCap>2GB</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <root level="info">
-        <appender-ref ref="STDOUT"/>
-        <appender-ref ref="INFO"/>
-        <appender-ref ref="ERROR"/>
-    </root>
-</configuration>

+ 0 - 6
iwb-iot-project/src/main/resources/static/index.html

@@ -1,6 +0,0 @@
-<html>
-<body>
-<h1>hello word!!!</h1>
-<p>this is a html page</p>
-</body>
-</html>

+ 0 - 13
iwb-iot-project/src/test/java/com/iwbnet/iot/IwbIotProjectApplicationTests.java

@@ -1,13 +0,0 @@
-package com.iwbnet.iot;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class IwbIotProjectApplicationTests {
-
-    @Test
-    void contextLoads() {
-    }
-
-}