From 9e8cab609d32a5f2143a726a26437cc4d7b8c8da Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期二, 10 八月 2021 15:42:15 +0800
Subject: [PATCH] 添加角色相关的接口,用户信息添加角色信息
---
src/main/java/com/genersoft/iot/vmp/service/IRoleService.java | 18 +
src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java | 2
src/main/java/com/genersoft/iot/vmp/storager/dao/RoleMapper.java | 35 ++
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 12
src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java | 13
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java | 6
src/main/resources/banner.txt | 1
src/main/java/com/genersoft/iot/vmp/web/ApiController.java | 16
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java | 46 +-
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java | 6
sql/mysql.sql | 16 +
src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java | 28 +
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 14
src/main/resources/application-dev.yml | 8
src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java | 17 +
src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java | 58 ++++
src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java | 18
src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java | 94 ++++--
src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java | 101 +++++++
src/main/resources/wvp.sqlite | 0
src/main/resources/all-application.yml | 10
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java | 47 +++
src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java | 12
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 8
src/main/java/com/genersoft/iot/vmp/storager/dao/dto/Role.java | 50 +++
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java | 48 ++
src/main/java/com/genersoft/iot/vmp/service/impl/RoleServerImpl.java | 41 +++
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java | 2
src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java | 5
29 files changed, 598 insertions(+), 134 deletions(-)
diff --git a/sql/mysql.sql b/sql/mysql.sql
index 9a41b82..5524e32 100644
--- a/sql/mysql.sql
+++ b/sql/mysql.sql
@@ -227,12 +227,22 @@
username varchar(255) not null,
password varchar(255) not null,
roleId int not null,
- create_time varchar(50) not null,
- update_time varchar(50) not null
+ createTime varchar(50) not null,
+ updateTime varchar(50) not null
);
create unique index user_username_uindex
on user (username);
-insert into user (username, password, roleId, create_time, update_time) values ('admin', '21232f297a57a5a743894a0e4a801fc3', '0', '2021-04-13 14:14:57', '2021-04-13 14:14:57');
+insert into user (username, password, roleId, createTime, updateTime) values ('admin', '21232f297a57a5a743894a0e4a801fc3', '1', '2021-04-13 14:14:57', '2021-04-13 14:14:57');
+
+create table role (
+ id int auto_increment
+ primary key,
+ name TEXT NOT NULL,
+ authority TEXT NOT NULL,
+ createTime varchar(50) not null,
+ updateTime varchar(50) not null
+);
+insert into role (id, name, authority, createTime, updateTime) values ('1', 'admin', '0', '2021-04-13 14:14:57', '2021-04-13 14:14:57');
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
index 8fc1ba8..709fe9c 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
@@ -2,71 +2,101 @@
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
-@Configuration("sipConfig")
+@Component
+@ConfigurationProperties(prefix = "sip", ignoreInvalidFields = true)
public class SipConfig {
- @Value("${sip.ip}")
- private String sipIp;
+ private String ip;
/**
- * 榛樿浣跨敤sip.ip
+ * 榛樿浣跨敤 0.0.0.0
*/
- @Value("${sip.monitor-ip:0.0.0.0}")
- private String monitorIp;
+ private String monitorIp = "0.0.0.0";
- @Value("${sip.port}")
- private Integer sipPort;
+ private Integer port;
- @Value("${sip.domain}")
- private String sipDomain;
+ private String domain;
- @Value("${sip.id}")
- private String sipId;
+ private String id;
- @Value("${sip.password}")
- private String sipPassword;
+ private String password;
- @Value("${sip.ptz.speed:50}")
- Integer speed;
+ Integer ptzSpeed = 50;
- @Value("${sip.keepalive-timeout:180}")
- Integer keepaliveTimeOut;
+ Integer keepaliveTimeOut = 180;
- @Value("${sip.register-time-interval:60}")
- Integer registerTimeInterval;
+ Integer registerTimeInterval = 60;
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public void setMonitorIp(String monitorIp) {
+ this.monitorIp = monitorIp;
+ }
+
+ public void setPort(Integer port) {
+ this.port = port;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public void setPtzSpeed(Integer ptzSpeed) {
+ this.ptzSpeed = ptzSpeed;
+ }
+
+ public void setKeepaliveTimeOut(Integer keepaliveTimeOut) {
+ this.keepaliveTimeOut = keepaliveTimeOut;
+ }
+
+ public void setRegisterTimeInterval(Integer registerTimeInterval) {
+ this.registerTimeInterval = registerTimeInterval;
+ }
public String getMonitorIp() {
return monitorIp;
}
- public String getSipIp() {
- return sipIp;
+ public String getIp() {
+ return ip;
}
- public Integer getSipPort() {
- return sipPort;
+ public Integer getPort() {
+ return port;
}
- public String getSipDomain() {
- return sipDomain;
+ public String getDomain() {
+ return domain;
}
- public String getSipId() {
- return sipId;
+ public String getId() {
+ return id;
}
- public String getSipPassword() {
- return sipPassword;
+ public String getPassword() {
+ return password;
}
- public Integer getSpeed() {
- return speed;
+ public Integer getPtzSpeed() {
+ return ptzSpeed;
}
public Integer getKeepaliveTimeOut() {
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java b/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java
index d4e25e3..800c4cb 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java
@@ -28,8 +28,8 @@
response.setHeader("Access-Control-Allow-Headers", "token, Accept, Origin, X-Requested-With, Content-Type, Last-Modified");
response.setHeader("Content-type", "application/json;charset=UTF-8");
JSONObject jsonObject = new JSONObject();
- jsonObject.put("msg", e.getMessage());
jsonObject.put("code", "-1");
+ jsonObject.put("msg", "璇风櫥褰曞悗閲嶆柊璇锋眰");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
try {
response.getWriter().print(jsonObject.toJSONString());
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java b/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java
index 93680fd..45e03bc 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java
@@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.conf.security.dto;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
import com.genersoft.iot.vmp.storager.dao.dto.User;
import org.springframework.security.core.CredentialsContainer;
import org.springframework.security.core.GrantedAuthority;
@@ -93,8 +94,8 @@
return user.getId();
}
- public int getRoleId() {
- return user.getRoleId();
+ public Role getRole() {
+ return user.getRole();
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
index e71ac05..fb1aae2 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -93,15 +93,15 @@
ListeningPoint tcpListeningPoint = null;
SipProviderImpl tcpSipProvider = null;
try {
- tcpListeningPoint = sipStack.createListeningPoint(sipConfig.getMonitorIp(), sipConfig.getSipPort(), "TCP");
+ tcpListeningPoint = sipStack.createListeningPoint(sipConfig.getMonitorIp(), sipConfig.getPort(), "TCP");
tcpSipProvider = (SipProviderImpl)sipStack.createSipProvider(tcpListeningPoint);
tcpSipProvider.addSipListener(this);
- logger.info("Sip Server TCP 鍚姩鎴愬姛 port {" + sipConfig.getMonitorIp() + ":" + sipConfig.getSipPort() + "}");
+ logger.info("Sip Server TCP 鍚姩鎴愬姛 port {" + sipConfig.getMonitorIp() + ":" + sipConfig.getPort() + "}");
} catch (TransportNotSupportedException e) {
e.printStackTrace();
} catch (InvalidArgumentException e) {
logger.error("鏃犳硶浣跨敤 [ {}:{} ]浣滀负SIP[ TCP ]鏈嶅姟锛屽彲鎺掓煡: 1. sip.monitor-ip 鏄惁涓烘湰鏈虹綉鍗P; 2. sip.port 鏄惁宸茶鍗犵敤"
- , sipConfig.getMonitorIp(), sipConfig.getSipPort());
+ , sipConfig.getMonitorIp(), sipConfig.getPort());
} catch (TooManyListenersException e) {
e.printStackTrace();
} catch (ObjectInUseException e) {
@@ -116,7 +116,7 @@
ListeningPoint udpListeningPoint = null;
SipProviderImpl udpSipProvider = null;
try {
- udpListeningPoint = sipStack.createListeningPoint(sipConfig.getMonitorIp(), sipConfig.getSipPort(), "UDP");
+ udpListeningPoint = sipStack.createListeningPoint(sipConfig.getMonitorIp(), sipConfig.getPort(), "UDP");
udpSipProvider = (SipProviderImpl)sipStack.createSipProvider(udpListeningPoint);
udpSipProvider.addSipListener(this);
// udpSipProvider.setAutomaticDialogSupportEnabled(false);
@@ -124,13 +124,13 @@
e.printStackTrace();
} catch (InvalidArgumentException e) {
logger.error("鏃犳硶浣跨敤 [ {}:{} ]浣滀负SIP[ UDP ]鏈嶅姟锛屽彲鎺掓煡: 1. sip.monitor-ip 鏄惁涓烘湰鏈虹綉鍗P; 2. sip.port 鏄惁宸茶鍗犵敤"
- , sipConfig.getMonitorIp(), sipConfig.getSipPort());
+ , sipConfig.getMonitorIp(), sipConfig.getPort());
} catch (TooManyListenersException e) {
e.printStackTrace();
} catch (ObjectInUseException e) {
e.printStackTrace();
}
- logger.info("Sip Server UDP 鍚姩鎴愬姛 port [" + sipConfig.getMonitorIp() + ":" + sipConfig.getSipPort() + "]");
+ logger.info("Sip Server UDP 鍚姩鎴愬姛 port [" + sipConfig.getMonitorIp() + ":" + sipConfig.getPort() + "]");
return udpSipProvider;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
index de63fa9..4ed942c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
@@ -39,13 +39,13 @@
SipURI requestURI = sipFactory.createAddressFactory().createSipURI(parentPlatform.getServerGBId(), parentPlatform.getServerIP() + ":" + parentPlatform.getServerPort());
// via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(),
+ ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), sipConfig.getPort(),
parentPlatform.getTransport(), viaTag);
viaHeader.setRPort();
viaHeaders.add(viaHeader);
// from
SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(parentPlatform.getDeviceGBId(),
- sipConfig.getSipIp() + ":" + sipConfig.getSipPort());
+ sipConfig.getIp() + ":" + sipConfig.getPort());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag);
// to
@@ -75,7 +75,7 @@
public Request createRegisterRequest(@NotNull ParentPlatform platform, long CSeq, String fromTag, String viaTag, CallIdHeader callIdHeader) throws ParseException, InvalidArgumentException, PeerUnavailableException {
Request request = null;
- String sipAddress = sipConfig.getSipIp() + ":" + sipConfig.getSipPort();
+ String sipAddress = sipConfig.getIp() + ":" + sipConfig.getPort();
//璇锋眰琛�
SipURI requestLine = sipFactory.createAddressFactory().createSipURI(platform.getServerGBId(),
platform.getServerIP() + ":" + platform.getServerPort());
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
index 691bc42..160b850 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
@@ -37,16 +37,16 @@
SipURI requestURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), device.getHostAddress());
// via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
+ ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), sipConfig.getPort(), device.getTransport(), viaTag);
viaHeader.setRPort();
viaHeaders.add(viaHeader);
// from
- SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(),
- sipConfig.getSipIp() + ":" + sipConfig.getSipPort());
+ SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getId(),
+ sipConfig.getIp() + ":" + sipConfig.getPort());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag);
// to
- SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), sipConfig.getSipDomain());
+ SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), sipConfig.getDomain());
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI);
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress, toTag);
@@ -68,16 +68,16 @@
SipURI requestLine = sipFactory.createAddressFactory().createSipURI(channelId, device.getHostAddress());
//via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
+ ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), sipConfig.getPort(), device.getTransport(), viaTag);
viaHeader.setRPort();
viaHeaders.add(viaHeader);
//from
- SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(),sipConfig.getSipDomain());
+ SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getId(),sipConfig.getDomain());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag); //蹇呴』瑕佹湁鏍囪锛屽惁鍒欐棤娉曞垱寤轰細璇濓紝鏃犳硶鍥炲簲ack
//to
- SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getSipDomain());
+ SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getDomain());
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI);
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress,null);
@@ -88,11 +88,11 @@
CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(1L, Request.INVITE);
request = sipFactory.createMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
- Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
- // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), device.getHost().getIp()+":"+device.getHost().getPort()));
+ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort()));
+ // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort()));
request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
// Subject
- SubjectHeader subjectHeader = sipFactory.createHeaderFactory().createSubjectHeader(String.format("%s:%s,%s:%s", channelId, ssrc, sipConfig.getSipId(), 0));
+ SubjectHeader subjectHeader = sipFactory.createHeaderFactory().createSubjectHeader(String.format("%s:%s,%s:%s", channelId, ssrc, sipConfig.getId(), 0));
request.addHeader(subjectHeader);
ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "SDP");
request.setContent(content, contentTypeHeader);
@@ -109,11 +109,11 @@
viaHeader.setRPort();
viaHeaders.add(viaHeader);
//from
- SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(),sipConfig.getSipDomain());
+ SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getId(),sipConfig.getDomain());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag); //蹇呴』瑕佹湁鏍囪锛屽惁鍒欐棤娉曞垱寤轰細璇濓紝鏃犳硶鍥炲簲ack
//to
- SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getSipDomain());
+ SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getDomain());
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI);
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress,null);
@@ -124,8 +124,8 @@
CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(1L, Request.INVITE);
request = sipFactory.createMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
- Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
- // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), device.getHost().getIp()+":"+device.getHost().getPort()));
+ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort()));
+ // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort()));
request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "SDP");
@@ -139,14 +139,14 @@
SipURI requestLine = sipFactory.createAddressFactory().createSipURI(channelId, device.getHostAddress());
// via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
+ ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), sipConfig.getPort(), device.getTransport(), viaTag);
viaHeaders.add(viaHeader);
//from
- SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(),sipConfig.getSipDomain());
+ SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getId(),sipConfig.getDomain());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag); //蹇呴』瑕佹湁鏍囪锛屽惁鍒欐棤娉曞垱寤轰細璇濓紝鏃犳硶鍥炲簲ack
//to
- SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getSipDomain());
+ SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getDomain());
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI);
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress,toTag);
@@ -158,7 +158,7 @@
CallIdHeader callIdHeader = sipFactory.createHeaderFactory().createCallIdHeader(callId);
request = sipFactory.createMessageFactory().createRequest(requestLine, Request.BYE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
- Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
+ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort()));
return request;
}
@@ -169,17 +169,17 @@
SipURI requestURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), device.getHostAddress());
// via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(),
+ ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), sipConfig.getPort(),
device.getTransport(), viaTag);
viaHeader.setRPort();
viaHeaders.add(viaHeader);
// from
- SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(),
- sipConfig.getSipIp() + ":" + sipConfig.getSipPort());
+ SipURI fromSipURI = sipFactory.createAddressFactory().createSipURI(sipConfig.getId(),
+ sipConfig.getIp() + ":" + sipConfig.getPort());
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag);
// to
- SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), sipConfig.getSipDomain());
+ SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), sipConfig.getDomain());
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI);
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress, toTag);
@@ -192,7 +192,7 @@
toHeader, viaHeaders, maxForwards);
- Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
+ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort()));
request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
// Expires
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 7947ad9..cec64cc 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -105,7 +105,7 @@
*/
@Override
public boolean ptzdirectCmd(Device device, String channelId, int leftRight, int upDown) {
- return ptzCmd(device, channelId, leftRight, upDown, 0, sipConfig.getSpeed(), 0);
+ return ptzCmd(device, channelId, leftRight, upDown, 0, sipConfig.getPtzSpeed(), 0);
}
/**
@@ -131,7 +131,7 @@
*/
@Override
public boolean ptzZoomCmd(Device device, String channelId, int inOut) {
- return ptzCmd(device, channelId, 0, 0, inOut, 0, sipConfig.getSpeed());
+ return ptzCmd(device, channelId, 0, 0, inOut, 0, sipConfig.getPtzSpeed());
}
/**
@@ -468,7 +468,7 @@
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
- content.append("o="+sipConfig.getSipId()+" 0 0 IN IP4 "+sipConfig.getSipIp()+"\r\n");
+ content.append("o="+sipConfig.getId()+" 0 0 IN IP4 "+sipConfig.getIp()+"\r\n");
content.append("s=Playback\r\n");
content.append("u="+channelId+":0\r\n");
content.append("c=IN IP4 "+mediaServerItem.getSdpIp()+"\r\n");
@@ -575,7 +575,7 @@
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
- content.append("o="+sipConfig.getSipId()+" 0 0 IN IP4 "+sipConfig.getSipIp()+"\r\n");
+ content.append("o="+sipConfig.getId()+" 0 0 IN IP4 "+sipConfig.getIp()+"\r\n");
content.append("s=Download\r\n");
content.append("u="+channelId+":0\r\n");
content.append("c=IN IP4 "+mediaServerItem.getSdpIp()+"\r\n");
@@ -749,7 +749,7 @@
broadcastXml.append("<Notify>\r\n");
broadcastXml.append("<CmdType>Broadcast</CmdType>\r\n");
broadcastXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- broadcastXml.append("<SourceID>" + sipConfig.getSipId() + "</SourceID>\r\n");
+ broadcastXml.append("<SourceID>" + sipConfig.getId() + "</SourceID>\r\n");
broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
broadcastXml.append("</Notify>\r\n");
@@ -774,7 +774,7 @@
broadcastXml.append("<Notify>\r\n");
broadcastXml.append("<CmdType>Broadcast</CmdType>\r\n");
broadcastXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- broadcastXml.append("<SourceID>" + sipConfig.getSipId() + "</SourceID>\r\n");
+ broadcastXml.append("<SourceID>" + sipConfig.getId() + "</SourceID>\r\n");
broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
broadcastXml.append("</Notify>\r\n");
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
index bd7bfd5..db5f05b 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
@@ -550,7 +550,7 @@
deviceChannel.setStatus(gbStream.isStatus()?1:0);
// deviceChannel.setParentId(parentPlatform.getDeviceGBId());
deviceChannel.setRegisterWay(1);
- deviceChannel.setCivilCode(cmder.getSipConfig().getSipDomain());
+ deviceChannel.setCivilCode(cmder.getSipConfig().getDomain());
deviceChannel.setModel("live");
deviceChannel.setOwner("wvp-pro");
// deviceChannel.setAddress("test");
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
index e5f76ae..064d023 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -79,9 +79,9 @@
// 鏍¢獙瀵嗙爜鏄惁姝g‘
if (authorhead != null) {
passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
- sipConfig.getSipPassword());
+ sipConfig.getPassword());
}
- if (StringUtils.isEmpty(sipConfig.getSipPassword())){
+ if (StringUtils.isEmpty(sipConfig.getPassword())){
passwordCorrect = true;
}
@@ -94,7 +94,7 @@
logger.info("[{}] 瀵嗙爜閿欒 鍥炲401", requestAddress);
}
response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
- new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getSipDomain());
+ new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain());
}else {
if (!passwordCorrect){
// 娉ㄥ唽澶辫触
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IRoleService.java b/src/main/java/com/genersoft/iot/vmp/service/IRoleService.java
new file mode 100644
index 0000000..d207c6a
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/service/IRoleService.java
@@ -0,0 +1,18 @@
+package com.genersoft.iot.vmp.service;
+
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+
+import java.util.List;
+
+public interface IRoleService {
+
+ Role getRoleById(int id);
+
+ int add(Role role);
+
+ int delete(int id);
+
+ List<Role> getAll();
+
+ int update(Role role);
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index d928d87..3af007d 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -83,7 +83,7 @@
for (MediaServerItem mediaServerItem : mediaServerItemList) {
// 鏇存柊
if (mediaServerItem.getSsrcConfig() == null) {
- SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getSipDomain());
+ SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain());
mediaServerItem.setSsrcConfig(ssrcConfig);
redisUtil.set(VideoManagerConstants.MEDIA_SERVER_PREFIX + mediaServerItem.getId(), mediaServerItem);
}
@@ -145,7 +145,7 @@
*/
@Override
public void clearRTPServer(MediaServerItem mediaServerItem) {
- mediaServerItem.setSsrcConfig(new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getSipDomain()));
+ mediaServerItem.setSsrcConfig(new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain()));
redisUtil.zAdd(VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX, mediaServerItem.getId(), 0);
}
@@ -162,7 +162,7 @@
new SsrcConfig(
mediaServerItemInDataBase.getId(),
null,
- sipConfig.getSipDomain()
+ sipConfig.getDomain()
)
);
}
@@ -264,12 +264,12 @@
if (serverItemInRedis != null) {
serverItemFromConfig.setSsrcConfig(serverItemInRedis.getSsrcConfig());
}else {
- serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
+ serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getDomain()));
}
redisUtil.set(key, serverItemFromConfig);
}else {
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
- serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
+ serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getDomain()));
redisUtil.set(key, serverItemFromConfig);
mediaServerMapper.add(serverItemFromConfig);
}
@@ -279,11 +279,11 @@
String now = this.format.format(System.currentTimeMillis());
if (serverItem == null){
// 涓�涓柊鐨剒lm鎺ュ叆wvp
- serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getSipIp());
+ serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getIp());
serverItem.setCreateTime(now);
serverItem.setUpdateTime(now);
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId();
- serverItem.setSsrcConfig(new SsrcConfig(serverItem.getId(), null, sipConfig.getSipDomain()));
+ serverItem.setSsrcConfig(new SsrcConfig(serverItem.getId(), null, sipConfig.getDomain()));
redisUtil.set(key, serverItem);
// 瀛樺叆鏁版嵁搴�
mediaServerMapper.add(serverItem);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RoleServerImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RoleServerImpl.java
new file mode 100644
index 0000000..d31bbce
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RoleServerImpl.java
@@ -0,0 +1,41 @@
+package com.genersoft.iot.vmp.service.impl;
+
+import com.genersoft.iot.vmp.service.IRoleService;
+import com.genersoft.iot.vmp.storager.dao.RoleMapper;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class RoleServerImpl implements IRoleService {
+
+ @Autowired
+ private RoleMapper roleMapper;
+
+ @Override
+ public Role getRoleById(int id) {
+ return roleMapper.selectById(id);
+ }
+
+ @Override
+ public int add(Role role) {
+ return roleMapper.add(role);
+ }
+
+ @Override
+ public int delete(int id) {
+ return roleMapper.delete(id);
+ }
+
+ @Override
+ public List<Role> getAll() {
+ return roleMapper.selectAll();
+ }
+
+ @Override
+ public int update(Role role) {
+ return roleMapper.update(role);
+ }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/RoleMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/RoleMapper.java
new file mode 100644
index 0000000..be20a69
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/RoleMapper.java
@@ -0,0 +1,35 @@
+package com.genersoft.iot.vmp.storager.dao;
+
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface RoleMapper {
+
+ @Insert("INSERT INTO role (name, authority, createTime, updateTime) VALUES" +
+ "('${name}', '${authority}', '${createTime}', '${updateTime}')")
+ int add(Role role);
+
+ @Update(value = {" <script>" +
+ "UPDATE role " +
+ "SET updateTime='${updateTime}' " +
+ "<if test=\"name != null\">, name='${name}'</if>" +
+ "<if test=\"authority != null\">, authority='${authority}'</if>" +
+ "WHERE id != 1 and id=#{id}" +
+ " </script>"})
+ int update(Role role);
+
+ @Delete("DELETE FROM role WHERE id != 1 and id=#{id}")
+ int delete(int id);
+
+ @Select("select * FROM role WHERE id=#{id}")
+ Role selectById(int id);
+
+ @Select("select * FROM role")
+ List<Role> selectAll();
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java
index e217632..7eb71e6 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java
@@ -10,32 +10,42 @@
@Repository
public interface UserMapper {
- @Insert("INSERT INTO user (username, password, roleId, create_time, update_time) VALUES" +
- "('${username}', '${password}', '${roleId}', '${createTime}', '${updateTime}')")
+ @Insert("INSERT INTO user (username, password, roleId, createTime, updateTime) VALUES" +
+ "('${username}', '${password}', '${role.id}', '${createTime}', '${updateTime}')")
int add(User user);
@Update(value = {" <script>" +
"UPDATE user " +
- "SET update_time='${updateTime}' " +
- "<if test=\"roleId != null\">, roleId='${roleId}'</if>" +
+ "SET updateTime='${updateTime}' " +
+ "<if test=\"role != null\">, roleId='${role.id}'</if>" +
"<if test=\"password != null\">, password='${password}'</if>" +
"<if test=\"username != null\">, username='${username}'</if>" +
"WHERE id=#{id}" +
" </script>"})
int update(User user);
- @Delete("DELETE FROM user WHERE id=#{id}")
+ @Delete("DELETE FROM user WHERE id != 1 and id=#{id}")
int delete(int id);
- @Select("select * FROM user WHERE username=#{username} AND password=#{password}")
+ @Select("select user.*, role.id roleID, role.name roleName, role.authority roleAuthority , role.createTime roleCreateTime , role.updateTime roleUpdateTime FROM user, role WHERE user.roleId=role.id and user.username=#{username} AND user.password=#{password}")
+ @Results(id = "roleMap", value = {
+ @Result(column = "roleID", property = "role.id"),
+ @Result(column = "roleName", property = "role.name"),
+ @Result(column = "roleAuthority", property = "role.authority"),
+ @Result(column = "roleCreateTime", property = "role.createTime"),
+ @Result(column = "roleUpdateTime", property = "role.updateTime")
+ })
User select(String username, String password);
- @Select("select * FROM user WHERE id=#{id}")
+ @Select("select user.*, role.id roleID, role.name roleName, role.authority roleAuthority, role.createTime roleCreateTime , role.updateTime roleUpdateTime FROM user, role WHERE user.roleId=role.id and user.id=#{id}")
+ @ResultMap(value="roleMap")
User selectById(int id);
- @Select("select * FROM user WHERE username=#{username}")
+ @Select("select user.*, role.id roleID, role.name roleName, role.authority roleAuthority, role.createTime roleCreateTime , role.updateTime roleUpdateTime FROM user, role WHERE user.roleId=role.id and username=#{username}")
+ @ResultMap(value="roleMap")
User getUserByUsername(String username);
- @Select("select * FROM user")
+ @Select("select user.*, role.id roleID, role.name roleName, role.authority roleAuthority, role.createTime roleCreateTime , role.updateTime roleUpdateTime FROM user, role WHERE user.roleId=role.id")
+ @ResultMap(value="roleMap")
List<User> selectAll();
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/Role.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/Role.java
new file mode 100644
index 0000000..44631f8
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/Role.java
@@ -0,0 +1,50 @@
+package com.genersoft.iot.vmp.storager.dao.dto;
+
+public class Role {
+
+ private int id;
+ private String name;
+ private String authority;
+ private String createTime;
+ private String updateTime;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAuthority() {
+ return authority;
+ }
+
+ public void setAuthority(String authority) {
+ this.authority = authority;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java
index b4a0289..950a8ca 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java
@@ -7,7 +7,7 @@
private String password;
private String createTime;
private String updateTime;
- private int roleId;
+ private Role role;
public int getId() {
return id;
@@ -41,14 +41,6 @@
this.createTime = createTime;
}
- public int getRoleId() {
- return roleId;
- }
-
- public void setRoleId(int roleId) {
- this.roleId = roleId;
- }
-
public String getUpdateTime() {
return updateTime;
}
@@ -56,4 +48,12 @@
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
+
+ public Role getRole() {
+ return role;
+ }
+
+ public void setRole(Role role) {
+ this.role = role;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
index 84431dd..1a0a9b7 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -52,10 +52,10 @@
@GetMapping("/server_config")
public ResponseEntity<JSONObject> serverConfig() {
JSONObject result = new JSONObject();
- result.put("deviceIp", sipConfig.getSipIp());
- result.put("devicePort", sipConfig.getSipPort());
- result.put("username", sipConfig.getSipId());
- result.put("password", sipConfig.getSipPassword());
+ result.put("deviceIp", sipConfig.getIp());
+ result.put("devicePort", sipConfig.getPort());
+ result.put("username", sipConfig.getId());
+ result.put("password", sipConfig.getPassword());
return new ResponseEntity<>(result, HttpStatus.OK);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java
index 6dfb569..650dbe0 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java
@@ -1,5 +1,7 @@
package com.genersoft.iot.vmp.vmanager.log;
+import com.genersoft.iot.vmp.conf.UserSetup;
+import com.genersoft.iot.vmp.media.zlm.ZLMRunner;
import com.genersoft.iot.vmp.service.ILogService;
import com.genersoft.iot.vmp.storager.dao.dto.LogDto;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
@@ -8,6 +10,8 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -23,8 +27,13 @@
@RequestMapping("/api/log")
public class LogController {
+ private final static Logger logger = LoggerFactory.getLogger(LogController.class);
+
@Autowired
private ILogService logService;
+
+ @Autowired
+ private UserSetup userSetup;
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -60,7 +69,9 @@
if (StringUtils.isEmpty(query)) query = null;
if (StringUtils.isEmpty(startTime)) startTime = null;
if (StringUtils.isEmpty(endTime)) endTime = null;
-
+ if (!userSetup.getLogInDatebase()) {
+ logger.warn("鑷姩璁板綍鏃ュ織鍔熻兘宸插叧闂紝鏌ヨ缁撴灉鍙兘涓嶅畬鏁淬��");
+ }
try {
if (startTime != null) format.parse(startTime);
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
index 4b7adc6..3bfa595 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
@@ -1,7 +1,11 @@
package com.genersoft.iot.vmp.vmanager.server;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.VManageBootstrap;
import com.genersoft.iot.vmp.common.VersionPo;
+import com.genersoft.iot.vmp.conf.SipConfig;
+import com.genersoft.iot.vmp.conf.UserSetup;
import com.genersoft.iot.vmp.conf.VersionInfo;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.service.IMediaServerService;
@@ -9,9 +13,13 @@
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import gov.nist.javax.sip.SipStackImpl;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.sip.ListeningPoint;
@@ -35,6 +43,15 @@
@Autowired
VersionInfo versionInfo;
+
+ @Autowired
+ SipConfig sipConfig;
+
+ @Autowired
+ UserSetup userSetup;
+
+ @Value("${server.port}")
+ private int serverPort;
@ApiOperation("娴佸獟浣撴湇鍔″垪琛�")
@@ -113,4 +130,34 @@
result.setData(versionInfo.getVersion());
return result;
}
+
+ @ApiOperation("閰嶇疆淇℃伅")
+ @GetMapping(value = "/config")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name="type", value = "閰嶇疆绫诲瀷锛坰ip, base锛�", dataTypeClass = String.class),
+ })
+ @ResponseBody
+ public WVPResult<JSONObject> getVersion(String type){
+ WVPResult<JSONObject> result = new WVPResult<>();
+ result.setCode(0);
+ result.setMsg("success");
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("server.port", serverPort);
+ if (StringUtils.isEmpty(type)) {
+ jsonObject.put("sip", JSON.toJSON(sipConfig));
+ jsonObject.put("base", JSON.toJSON(userSetup));
+ }else {
+ switch (type){
+ case "sip":
+ jsonObject.put("sip", sipConfig);
+ break;
+ case "base":
+ jsonObject.put("base", userSetup);
+ break;
+ }
+ }
+ result.setData(jsonObject);
+ return result;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java
new file mode 100644
index 0000000..6a75e1d
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java
@@ -0,0 +1,101 @@
+package com.genersoft.iot.vmp.vmanager.user;
+
+import com.genersoft.iot.vmp.conf.security.SecurityUtils;
+import com.genersoft.iot.vmp.service.IRoleService;
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.util.DigestUtils;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+@Api(tags = "瑙掕壊绠$悊")
+@CrossOrigin
+@RestController
+@RequestMapping("/api/role")
+public class RoleController {
+
+ @Autowired
+ private IRoleService roleService;
+
+ private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ @ApiOperation("娣诲姞瑙掕壊")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "name", required = true, value = "瑙掕壊鍚�", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "authority", required = true, value = "鏉冮檺锛堣嚜琛屽畾涔夊唴瀹癸紝鐩墠鏈娇鐢級", dataTypeClass = String.class),
+ })
+ @PostMapping("/add")
+ public ResponseEntity<WVPResult<Integer>> add(@RequestParam String name,
+ @RequestParam(required = false) String authority){
+ WVPResult<Integer> result = new WVPResult<>();
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
+ int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+ if (currenRoleId != 1) {
+ // 鍙敤瑙掕壊id涓�1鎵嶅彲浠ュ垹闄ゅ拰娣诲姞鐢ㄦ埛
+ result.setCode(-1);
+ result.setMsg("鐢ㄦ埛鏃犳潈闄�");
+ return new ResponseEntity<>(result, HttpStatus.FORBIDDEN);
+ }
+
+ Role role = new Role();
+ role.setName(name);
+ role.setAuthority(authority);
+ role.setCreateTime(format.format(System.currentTimeMillis()));
+ role.setUpdateTime(format.format(System.currentTimeMillis()));
+
+ int addResult = roleService.add(role);
+
+ result.setCode(addResult > 0 ? 0 : -1);
+ result.setMsg(addResult > 0 ? "success" : "fail");
+ result.setData(addResult);
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ }
+
+ @ApiOperation("鍒犻櫎瑙掕壊")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", required = true, value = "鐢ㄦ埛Id", dataTypeClass = Integer.class),
+ })
+ @DeleteMapping("/delete")
+ public ResponseEntity<WVPResult<String>> delete(@RequestParam Integer id){
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
+ int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+ WVPResult<String> result = new WVPResult<>();
+ if (currenRoleId != 1) {
+ // 鍙敤瑙掕壊id涓�0鎵嶅彲浠ュ垹闄ゅ拰娣诲姞鐢ㄦ埛
+ result.setCode(-1);
+ result.setMsg("鐢ㄦ埛鏃犳潈闄�");
+ return new ResponseEntity<>(result, HttpStatus.FORBIDDEN);
+ }
+ int deleteResult = roleService.delete(id);
+
+ result.setCode(deleteResult>0? 0 : -1);
+ result.setMsg(deleteResult>0? "success" : "fail");
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ }
+
+ @ApiOperation("鏌ヨ瑙掕壊")
+ @ApiImplicitParams({})
+ @GetMapping("/all")
+ public ResponseEntity<WVPResult<List<Role>>> all(){
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
+ List<Role> allRoles = roleService.getAll();
+ WVPResult<List<Role>> result = new WVPResult<>();
+ result.setCode(0);
+ result.setMsg("success");
+ result.setData(allRoles);
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ }
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
index 6e4c416..756fecd 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
@@ -2,7 +2,9 @@
import com.genersoft.iot.vmp.conf.security.SecurityUtils;
import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
+import com.genersoft.iot.vmp.service.IRoleService;
import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
import com.genersoft.iot.vmp.storager.dao.dto.User;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import io.swagger.annotations.Api;
@@ -14,6 +16,7 @@
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.util.DigestUtils;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.security.sasl.AuthenticationException;
@@ -31,6 +34,9 @@
@Autowired
private IUserService userService;
+
+ @Autowired
+ private IRoleService roleService;
private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -97,21 +103,38 @@
@PostMapping("/add")
public ResponseEntity<WVPResult<Integer>> add(@RequestParam String username,
@RequestParam String password,
- @RequestParam int roleId){
+ @RequestParam Integer roleId){
+ WVPResult<Integer> result = new WVPResult<>();
+ if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password) || roleId == null) {
+ result.setCode(-1);
+ result.setMsg("鍙傛暟涓嶅彲涓虹┖");
+ return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
+ }
// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
- int currenRoleId = SecurityUtils.getUserInfo().getRoleId();
- if (currenRoleId != 0) {
- // 鍙敤瑙掕壊id涓�0鎵嶅彲浠ュ垹闄ゅ拰娣诲姞鐢ㄦ埛
- return new ResponseEntity<>(null, HttpStatus.FORBIDDEN);
+ int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+ if (currenRoleId != 1) {
+ // 鍙敤瑙掕壊id涓�1鎵嶅彲浠ュ垹闄ゅ拰娣诲姞鐢ㄦ埛
+ result.setCode(-1);
+ result.setMsg("鐢ㄦ埛鏃犳潈闄�");
+ return new ResponseEntity<>(result, HttpStatus.FORBIDDEN);
}
User user = new User();
user.setUsername(username);
user.setPassword(DigestUtils.md5DigestAsHex(password.getBytes()));
- user.setRoleId(roleId);
+
+ Role role = roleService.getRoleById(roleId);
+
+ if (role == null) {
+ result.setCode(-1);
+ result.setMsg("roleId is not found");
+ // 瑙掕壊涓嶅瓨鍦�
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ }
+ user.setRole(role);
user.setCreateTime(format.format(System.currentTimeMillis()));
user.setUpdateTime(format.format(System.currentTimeMillis()));
int addResult = userService.addUser(user);
- WVPResult<Integer> result = new WVPResult<>();
+
result.setCode(addResult > 0 ? 0 : -1);
result.setMsg(addResult > 0 ? "success" : "fail");
result.setData(addResult);
@@ -125,13 +148,16 @@
@DeleteMapping("/delete")
public ResponseEntity<WVPResult<String>> delete(@RequestParam Integer id){
// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
- int currenRoleId = SecurityUtils.getUserInfo().getRoleId();
- if (currenRoleId != 0) {
+ int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
+ WVPResult<String> result = new WVPResult<>();
+ if (currenRoleId != 1) {
// 鍙敤瑙掕壊id涓�0鎵嶅彲浠ュ垹闄ゅ拰娣诲姞鐢ㄦ埛
- return new ResponseEntity<>(null, HttpStatus.FORBIDDEN);
+ result.setCode(-1);
+ result.setMsg("鐢ㄦ埛鏃犳潈闄�");
+ return new ResponseEntity<>(result, HttpStatus.FORBIDDEN);
}
int deleteResult = userService.deleteUser(id);
- WVPResult<String> result = new WVPResult<>();
+
result.setCode(deleteResult>0? 0 : -1);
result.setMsg(deleteResult>0? "success" : "fail");
return new ResponseEntity<>(result, HttpStatus.OK);
diff --git a/src/main/java/com/genersoft/iot/vmp/web/ApiController.java b/src/main/java/com/genersoft/iot/vmp/web/ApiController.java
index 8035810..cafa40c 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/ApiController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/ApiController.java
@@ -38,10 +38,10 @@
result.put("ServerTime","2020-09-02 17锛�11");
result.put("StartUpTime","2020-09-02 17锛�11");
result.put("Server","");
- result.put("SIPSerial", sipConfig.getSipId());
- result.put("SIPRealm", sipConfig.getSipDomain());
- result.put("SIPHost", sipConfig.getSipIp());
- result.put("SIPPort", sipConfig.getSipPort());
+ result.put("SIPSerial", sipConfig.getId());
+ result.put("SIPRealm", sipConfig.getDomain());
+ result.put("SIPHost", sipConfig.getIp());
+ result.put("SIPPort", sipConfig.getPort());
result.put("ChannelCount","1000");
result.put("VersionType","");
result.put("LogoMiniText","");
@@ -65,10 +65,10 @@
// result.put("ServerTime","2020-09-02 17锛�11");
// result.put("StartUpTime","2020-09-02 17锛�11");
// result.put("Server","");
-// result.put("SIPSerial", sipConfig.getSipId());
-// result.put("SIPRealm", sipConfig.getSipDomain());
-// result.put("SIPHost", sipConfig.getSipIp());
-// result.put("SIPPort", sipConfig.getSipPort());
+// result.put("SIPSerial", sipConfig.getId());
+// result.put("SIPRealm", sipConfig.getDomain());
+// result.put("SIPHost", sipConfig.getIp());
+// result.put("SIPPort", sipConfig.getPort());
// result.put("ChannelCount","1000");
// result.put("VersionType","");
// result.put("LogoMiniText","");
diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml
index 140ef0a..856d6c5 100644
--- a/src/main/resources/all-application.yml
+++ b/src/main/resources/all-application.yml
@@ -76,6 +76,8 @@
keepalive-timeout: 180
# [鍙�塢 鍥芥爣绾ц仈娉ㄥ唽澶辫触锛屽啀娆″彂璧锋敞鍐岀殑鏃堕棿闂撮殧銆� 榛樿60绉�
register-time-interval: 60
+ # [鍙�塢 浜戝彴鎺у埗閫熷害
+ ptz-speed: 50
# TODO [鍙�塢 鏀跺埌蹇冭烦鍚庤嚜鍔ㄤ笂绾匡紝 閲嶅惎鏈嶅姟鍚庝細灏嗘墍鏈夎澶囩疆涓虹绾匡紝榛樿false锛岀瓑寰呮敞鍐屽悗涓婄嚎銆傝缃负true鍒欐敹鍒板績璺宠缃负涓婄嚎銆�
# keepalliveToOnline: false
@@ -155,4 +157,10 @@
# 鍦ㄧ嚎鏂囨。锛� swagger-ui锛堢敓浜х幆澧冨缓璁叧闂級
swagger-ui:
- enabled: true
\ No newline at end of file
+ enabled: true
+
+# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼
+version:
+ version: "@project.version@"
+ description: "@project.description@"
+ artifact-id: "@project.artifactId@"
\ No newline at end of file
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index f0cb8f8..3d25098 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -85,4 +85,10 @@
# 鍦ㄧ嚎鏂囨。锛� swagger-ui锛堢敓浜х幆澧冨缓璁叧闂級
swagger-ui:
- enabled: true
\ No newline at end of file
+ enabled: true
+
+# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼
+version:
+ version: "@project.version@"
+ description: "@project.description@"
+ artifact-id: "@project.artifactId@"
\ No newline at end of file
diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt
index 5cf57a5..0c7250d 100644
--- a/src/main/resources/banner.txt
+++ b/src/main/resources/banner.txt
@@ -6,3 +6,4 @@
\ \____________\ \__/ / \ \__\ \ \__\ \ \__\\ _\\ \_______\
\|____________|\|__|/ \|__| \|__| \|__|\|__|\|_______|
+鐗堟湰锛�${version.version}
\ No newline at end of file
diff --git a/src/main/resources/wvp.sqlite b/src/main/resources/wvp.sqlite
index 908d585..228a96a 100644
--- a/src/main/resources/wvp.sqlite
+++ b/src/main/resources/wvp.sqlite
Binary files differ
diff --git a/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java b/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java
new file mode 100644
index 0000000..20209f2
--- /dev/null
+++ b/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java
@@ -0,0 +1,58 @@
+package com.genersoft.iot.vmp.service.impl;
+
+import com.genersoft.iot.vmp.service.IRoleService;
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+class RoleServiceImplTest {
+
+ @Resource
+ private IRoleService roleService;
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ @org.junit.jupiter.api.Test
+ void getAllUser() {
+ List<Role> all = roleService.getAll();
+ Role roleById = roleService.getRoleById(1);
+ System.out.println();
+
+ }
+
+
+ @org.junit.jupiter.api.Test
+ void add() {
+ for (int i = 0; i < 10; i++) {
+ Role role = new Role();
+ role.setName("test+" + i);
+ role.setAuthority("adadadda");
+ role.setCreateTime(format.format(System.currentTimeMillis()));
+ role.setUpdateTime(format.format(System.currentTimeMillis()));
+ roleService.add(role);
+ }
+ }
+
+ @org.junit.jupiter.api.Test
+ void delete() {
+ roleService.delete(20);
+ }
+
+ @org.junit.jupiter.api.Test
+ void update() {
+ Role role = new Role();
+ role.setId(21);
+ role.setName("TTTTTT");
+ role.setAuthority("adadadda");
+ roleService.update(role);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java b/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java
index eea7f04..9e3c672 100644
--- a/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java
+++ b/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java
@@ -3,6 +3,7 @@
import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.Role;
import com.genersoft.iot.vmp.storager.dao.dto.User;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
@@ -11,6 +12,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.List;
@SpringBootTest
@@ -24,7 +26,11 @@
@org.junit.jupiter.api.Test
void getAllUser() {
+ List<User> allUsers = userService.getAllUsers();
System.out.println(userService.getAllUsers().size());
+ User admin = userService.getUser("admin", "21232f297a57a5a743894a0e4a801fc3");
+ User admin1 = userService.getUserByUsername("admin");
+ System.out.println(12);
}
@@ -34,7 +40,10 @@
User user = new User();
user.setUsername("admin_" + i);
user.setPassword("admin_password_" + i);
- user.setRoleId((int)(Math.random()*4 + 1));
+
+ Role role = new Role();
+ role.setId(1);
+ user.setRole(role);
user.setCreateTime(format.format(System.currentTimeMillis()));
user.setUpdateTime(format.format(System.currentTimeMillis()));
userService.addUser(user);
@@ -49,10 +58,12 @@
@org.junit.jupiter.api.Test
void update() {
User user = new User();
- user.setId(1003);
+ user.setId(11);
user.setUsername("update" );
user.setPassword("update");
- user.setRoleId((int)(Math.random()*4 + 1));
+ Role role = new Role();
+ role.setId(2);
+ user.setRole(role);
user.setUpdateTime(format.format(System.currentTimeMillis()));
userService.updateUsers(user);
}
--
Gitblit v1.8.0