Commit 52b8b82a authored by 王夏晖's avatar 王夏晖

完善命令发送方式

parent 0b088e72
......@@ -14,4 +14,217 @@
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.adc:adc-da-base:2.0.0" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-util:2.2.41" level="project" />
<orderEntry type="library" name="Maven: eu.bitwalker:UserAgentUtils:1.20" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.dozer:dozer:5.4.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.10" level="project" />
<orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
<orderEntry type="library" name="Maven: com.rabbitmq:amqp-client:4.1.0" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.0" level="project" />
<orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.1" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk14:1.58" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-sys:2.2.1" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-swagger:2.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.6.1" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.10" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.10" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.6.1" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.6.1" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.6.1" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.6.1" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.6.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.6.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.0" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0-RC2" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-file:2.2.0" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-gen:2.0.0" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2" level="project" />
<orderEntry type="library" name="Maven: com.adc:adc-da-druid:2.0.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.9" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.5.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.5.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.6.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.10.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.11" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.11" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.3.5.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.1.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.8" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.8" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.8" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jetty:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlets:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-continuation:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-webapp:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-xml:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-server:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-common:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-api:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-client:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-servlet:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:javax-websocket-server-impl:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-annotations:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-plus:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.1" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-commons:5.0.1" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-tree:5.0.1" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:javax-websocket-client-impl:9.2.24.v20180105" level="project" />
<orderEntry type="library" name="Maven: javax.websocket:javax.websocket-api:1.0" level="project" />
<orderEntry type="library" name="Maven: org.mortbay.jasper:apache-el:8.0.33" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.0" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.javacsv:javacsv:2.0" level="project" />
<orderEntry type="library" name="Maven: net.sf.opencsv:opencsv:2.3" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.9" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:19.0" level="project" />
<orderEntry type="library" name="Maven: com.mashape.unirest:unirest-java:1.4.9" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.6" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
<orderEntry type="library" name="Maven: com.oracle:ojdbc7:12.1.0.1" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.1" level="project" />
<orderEntry type="library" name="Maven: io.dropwizard.metrics:metrics-core:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.5" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.46" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.5.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.16" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.16" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:ganymed-ssh2:build210-hudson-1" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-ftp:2.13.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.13.2" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.2.6" level="project" />
<orderEntry type="library" name="Maven: com.jcraft:jsch:0.1.50" level="project" />
<orderEntry type="library" name="Maven: commons-net:commons-net:3.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.7" level="project" />
<orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot-starter:1.18" level="project" />
<orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot:1.18" level="project" />
<orderEntry type="library" name="Maven: org.jasypt:jasypt:1.9.2" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-all:4.1.22.Final" level="project" />
<orderEntry type="module-library">
<library name="Maven: com.gexin.platform:gexin-rp-sdk-http:4.1.00">
<CLASSES>
<root url="jar://$MODULE_DIR$/src/main/lib/gexin-rp-sdk-http-4.1.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Maven: com.gexin.platform:gexin-rp-fastjson:1.0.0.1">
<CLASSES>
<root url="jar://$MODULE_DIR$/src/main/lib/gexin-rp-fastjson-1.0.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Maven: com.gexin.platform:gexin-rp-sdk-base:4.0.0.25">
<CLASSES>
<root url="jar://$MODULE_DIR$/src/main/lib/gexin-rp-sdk-base-4.0.0.25.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Maven: com.gexin.platform:gexin-rp-sdk-template:4.0.0.19">
<CLASSES>
<root url="jar://$MODULE_DIR$/src/main/lib/gexin-rp-sdk-template-4.0.0.19.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Maven: com.google.protobuf:protobuf-java:2.5.0">
<CLASSES>
<root url="jar://$MODULE_DIR$/src/main/lib/protobuf-java-2.5.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
\ No newline at end of file
......@@ -5,6 +5,8 @@ import com.adc.da.znks.entity.User;
import com.adc.da.znks.service.UserService;
import com.adc.da.znks.util.GenResponse;
import com.adc.da.znks.util.SocketUtils;
import com.adc.da.znks.util.SystemValue;
import io.netty.channel.Channel;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -40,11 +42,15 @@ public class InstructionsController {
login[5] = 0x05;
login[6] = 0x06;
login[7] = 0x2a;
String ip = getIp(phoneNumber);
/*String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(login, 1,ip,8899);
}*/
Channel ch = ((Channel)SystemValue.channelMap.get("F0 FE 6B 88 BE 14 "));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(login);
String result = "1";
if("01".equals(result)) {
return GenResponse.success("1", "登录成功", true);
} else if("00".equals(result)) {
......@@ -70,18 +76,15 @@ public class InstructionsController {
open[5] = 0x00;
open[6] = (byte)number;
open[7] = 0x2d;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "开锁成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("开锁失败");
} else {
return GenResponse.fail("开锁异常");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("开锁成功");
} else {
return GenResponse.fail("开锁异常");
}
......@@ -101,18 +104,15 @@ public class InstructionsController {
open[5] = 0x00;
open[6] = (byte)number;
open[7] = 0x01;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "安防码学习成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("安防码学习失败");
} else {
return GenResponse.fail("安防码学习异常");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("安防码学习成功");
} else {
return GenResponse.fail("安防码学习异常");
}
......@@ -137,18 +137,15 @@ public class InstructionsController {
open[5] = 0x00;
open[6] = 0x00;
open[7] = (byte)0xF0;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "布防成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("布防失败");
} else {
return GenResponse.fail("布防失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("布防成功");
} else {
return GenResponse.fail("布防失败");
}
......@@ -173,18 +170,15 @@ public class InstructionsController {
open[5] = 0x00;
open[6] = 0x00;
open[7] = (byte)0xF1;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "撤防成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("撤防失败");
} else {
return GenResponse.fail("撤防失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("撤防成功");
} else {
return GenResponse.fail("撤防失败");
}
......@@ -207,18 +201,15 @@ public class InstructionsController {
open[3] = 0x01;
open[4] = 0x01;
open[5] = 0x22;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "进入组网成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("进入组网失败");
} else {
return GenResponse.fail("进入组网失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("进入组网成功");
} else {
return GenResponse.fail("进入组网失败");
}
......@@ -241,18 +232,15 @@ public class InstructionsController {
open[3] = 0x01;
open[4] = 0x02;
open[5] = 0x23;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "退出组网成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("退出组网失败");
} else {
return GenResponse.fail("退出组网失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("退出组网成功");
} else {
return GenResponse.fail("退出组网失败");
}
......@@ -275,18 +263,15 @@ public class InstructionsController {
open[3] = 0x01;
open[4] = 0x03;
open[5] = 0x24;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "zigBee恢复出厂成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("zigBee恢复出厂失败");
} else {
return GenResponse.fail("zigBee恢复出厂失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("ZigBee恢复出厂成功");
} else {
return GenResponse.fail("zigBee恢复出厂失败");
}
......@@ -309,18 +294,15 @@ public class InstructionsController {
open[3] = 0x01;
open[4] = 0x04;
open[5] = 0x25;
String ip = getIp(phoneNumber);
if(ip==null){
return GenResponse.fail("网关ip获取失败");
}
String result = SocketUtils.connectServerWithTCPSocket(open, 1,ip,8899);
if("01".equals(result)) {
return GenResponse.success("1", "wifi恢复出厂成功", true);
} else if("00".equals(result)) {
return GenResponse.fail("wifi恢复出厂失败");
} else {
return GenResponse.fail("wifi恢复出厂失败");
String mac = getMacByPhone(phoneNumber);
if(mac==null){
return GenResponse.fail("网关mac获取失败");
}
Channel ch = ((Channel)SystemValue.channelMap.get(mac));
System.out.println("open status : " + ch.isOpen());
System.out.println("active status : " + ch.isActive());
ch.writeAndFlush(open);
return GenResponse.fail("Wifi恢复出厂成功");
} else {
return GenResponse.fail("wifi恢复出厂失败");
}
......@@ -328,10 +310,10 @@ public class InstructionsController {
public String getIp(String phone){
List<Map<String,Object>> list = userService.queryIpByUser(phone);
public String getMacByPhone(String phone){
List<Map<String,Object>> list = userService.queryMacByPhone(phone);
if(list!=null){
return list.get(0).get("ip")!=null?list.get(0).get("ip").toString():null;
return list.get(0).get("mac_address")!=null?list.get(0).get("mac_address").toString():null;
}
return null;
}
......
......@@ -22,11 +22,15 @@ public interface UserDao extends BaseDao<User> {
@Select("SELECT * FROM tb_user WHERE temphone = #{phoneNumber}")
User getUserByPhoneNumber(@Param("phoneNumber") String phoneNumber);
List<Map<String,Object>> queryIpByUser(@Param("phone") String phone);
List<Map<String,Object>> queryMacByPhone(@Param("phone") String phone);
@Update("UPDATE tb_user SET client_id = #{clientId} WHERE temphone = #{phoneNumber}")
int updateClientIdByPhoneNumber(@Param("clientId")String clientId, @Param("phoneNumber")String phoneNumber);
List<Map<String,Object>> queryClientByIp(@Param("ip") String ip);
@Select("select way.mac_address from tb_user ur,tb_gateway way where ur.id = way.user_id\n" +
" and ur.temphone = #{phoneNumber}")
List<Map<String,Object>> getGateWayByPhoneNumber(@Param("phoneNumber") String phoneNumber);
}
......@@ -45,7 +45,11 @@ public class UserService extends BaseService<User, String> {
Boolean flag = false;
User user = dao.getUserByPhoneNumber(phoneNumber);
if(user != null) {
flag = true;
if(user.getPassword()!=null && !"".equals(user.getPassword())){
flag = true;
}else{
flag = false;
}
}
return flag;
}
......@@ -90,7 +94,7 @@ public class UserService extends BaseService<User, String> {
List<String> encryptList = encryptList(plainPassword);
Asserts.notNull(encryptList, "encrypt list must not be null.");
String id = UUID.randomUUID();
User insertUser = new User(id, temphone, encryptList.get(0), encryptList.get(1));
User insertUser = new User(id, temphone, "", "");
logger.info("insertUser: {}", insertUser);
int result = dao.insertSelective(insertUser);
if (result != 0) {
......@@ -99,14 +103,15 @@ public class UserService extends BaseService<User, String> {
return false;
}
} else {
User user = users.get(0);
/*User user = users.get(0);
String decryptPassword = SecurityUtils.decrypt(user.getEncryptkey(), user.getPassword());
Asserts.notNull(plainPassword, "plainPassword must not be null.");
if (plainPassword.equals(decryptPassword)) {
return true;
} else {
return false;
}
}*/
return true;
}
}
......@@ -125,8 +130,8 @@ public class UserService extends BaseService<User, String> {
}
public List<Map<String,Object>> queryIpByUser(String phone){
return dao.queryIpByUser(phone);
public List<Map<String,Object>> queryMacByPhone(String phone){
return dao.getGateWayByPhoneNumber(phone);
}
public void updateClientIdByPhoneNumber(String clientId, String phoneNumber) {
......
......@@ -13,4 +13,6 @@ public class SystemValue {
public static Map<String, String> ipMacMap = new HashMap<>();
public static Map<String,Object> channelMap = new HashMap<>();
}
......@@ -35,11 +35,13 @@ public class NettyServer {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
System.out.println("端口号:"+ch.remoteAddress().getPort());
System.out.println("connected...; Local:" + ch.localAddress().getHostString());
System.out.println("connected...; Client:" + ch.remoteAddress().getHostString());
//發送請求指令
if( SystemValue.ipMacMap.get(ch.remoteAddress().getHostString()) == null){
/*if( SystemValue.ipMacMap.get(ch.remoteAddress().getHostString()) == null){
connectGateway(ch.remoteAddress().getHostString(),8899);
}
}*/
ch.pipeline().addLast(new ByteArrayEncoder());
ch.pipeline().addLast(new ByteArrayDecoder());
ch.pipeline().addLast(new ServerHandler()); // 客户端触发操作
......@@ -48,7 +50,7 @@ public class NettyServer {
}
});
ChannelFuture cf = sb.bind().sync(); // 服务器异步创建绑定
ChannelFuture cf = sb.bind(9999).sync(); // 服务器异步创建绑定
System.out.println(NettyServer.class + " started and listen on " + cf.channel().localAddress());
cf.channel().closeFuture().sync(); // 关闭服务器通道
} finally {
......
......@@ -13,10 +13,12 @@ import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelFutureListener;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.group.ChannelGroup;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import sun.java2d.pipe.SpanShapeRenderer;
import sun.rmi.transport.Channel;
import javax.annotation.PostConstruct;
import java.text.SimpleDateFormat;
......@@ -60,14 +62,15 @@ public class ServerHandler extends ChannelInboundHandlerAdapter {
// 1.上报MAC地址信息 6位mac地址+10位的(MAC-UPLOAD)
try{
int len = SocketUtils.bytesToHex(result,0,result.length).split(" ").length;
if(len == 16){
if(String.valueOf(len).equals("16")){
String mac = SocketUtils.bytesToHex(result,0,6);
Gateway gateway = new Gateway();
gateway.setIp(host);
gateway.setMacAddress(mac);
serverHandler.gatewayService.updateIpByMac(gateway);
SystemValue.ipMacMap.put(host, mac);
}else{
SystemValue.channelMap.put(mac,ctx.channel());
}else if(String.valueOf(len).equals("17") || String.valueOf(len).equals("14")){
String title = "";
String message = "";
String clientId = "";
......@@ -121,7 +124,25 @@ public class ServerHandler extends ChannelInboundHandlerAdapter {
public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
System.out.println("server channelReadComplete..");
// 第一种方法:写一个空的buf,并刷新写出区域。完成后关闭sock channel连接。
ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);
//ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);
}
@Override
public void channelActive(ChannelHandlerContext ctx)throws Exception{
System.out.println("channelActive"+ ctx.channel().remoteAddress());
byte[] request = new byte[23];
request[0] = 0x4d;
request[1] = 0x41;
request[2] = 0x43;
request[3] = 0x5F;
request[4] = 0x52;
request[5] = 0x45;
request[6] = 0x51;
request[7] = 0x55;
request[8] = 0x45;
request[9] = 0x53;
request[10] = 0x54;
ctx.channel().writeAndFlush(request);
}
@Override
......
......@@ -135,8 +135,8 @@
</if>
</select>
<select id="queryIpByUser" resultType="java.util.Map" parameterType="java.util.Map">
select way.ip from tb_user ur,tb_gateway way where ur.id = way.user_id
<select id="queryMacByPhone" resultType="java.util.Map" parameterType="java.util.Map">
select way.mac_address from tb_user ur,tb_gateway way where ur.id = way.user_id
and ur.temphone = #{phone}
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment