diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
index 615211f..94ae947 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 相机树
@@ -57,6 +58,7 @@
@Override
public void setChildrenNodes(List childrenNodes) {
children.addAll(childrenNodes);
+ children = children.stream().distinct().collect(Collectors.toList());
}
}
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
index 615211f..94ae947 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 相机树
@@ -57,6 +58,7 @@
@Override
public void setChildrenNodes(List childrenNodes) {
children.addAll(childrenNodes);
+ children = children.stream().distinct().collect(Collectors.toList());
}
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
index 848eaae..b87a553 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-public class DeptDefaultTreeBuildFactory extends DefaultTreeBuildFactory {
+public class DeptDefaultTreeBuildFactory extends StayDefaultTreeBuildFactory {
private String rootId;
@Override
protected List afterBuild(List nodes) {
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
index 615211f..94ae947 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 相机树
@@ -57,6 +58,7 @@
@Override
public void setChildrenNodes(List childrenNodes) {
children.addAll(childrenNodes);
+ children = children.stream().distinct().collect(Collectors.toList());
}
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
index 848eaae..b87a553 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-public class DeptDefaultTreeBuildFactory extends DefaultTreeBuildFactory {
+public class DeptDefaultTreeBuildFactory extends StayDefaultTreeBuildFactory {
private String rootId;
@Override
protected List afterBuild(List nodes) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
new file mode 100644
index 0000000..fbd0c37
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
@@ -0,0 +1,87 @@
+package com.casic.missiles.modular.device.tree;
+
+import com.casic.missiles.core.treebuild.abst.AbstractTreeBuildFactory;
+import com.casic.missiles.model.tree.Tree;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Data
+public class StayDefaultTreeBuildFactory extends AbstractTreeBuildFactory {
+
+ /**
+ * 顶级节点的父节点id(默认-1)
+ */
+ private String rootParentId = "-1";
+
+ /**
+ * 查询子节点的集合
+ *
+ * @param totalNodes 所有节点的集合
+ * @param node 被查询节点的id
+ * @param childNodeLists 被查询节点的子节点集合
+ */
+ private void buildChildNodes(List totalNodes, T node, List childNodeLists) {
+ if (totalNodes == null || node == null) {
+ return;
+ }
+
+ List nodeSubLists = getSubChildsLevelOne(totalNodes, node);
+
+ if (nodeSubLists.size() == 0) {
+
+ } else {
+ for (T nodeSubList : nodeSubLists) {
+ buildChildNodes(totalNodes, nodeSubList, new ArrayList<>());
+ }
+ }
+
+ childNodeLists.addAll(nodeSubLists);
+ node.setChildrenNodes(childNodeLists);
+ }
+
+ /**
+ * 获取子一级节点的集合
+ *
+ * @param list 所有节点的集合
+ * @param node 被查询节点的model
+ * @author fengshuonan
+ */
+ private List getSubChildsLevelOne(List list, T node) {
+ List nodeList = new ArrayList<>();
+ for (T nodeItem : list) {
+ if (nodeItem.getNodeParentId().equals(node.getNodeId())) {
+ nodeList.add(nodeItem);
+ }
+ }
+ return nodeList;
+ }
+
+ @Override
+ protected List beforeBuild(List nodes) {
+ //默认不进行前置处理,直接返回
+ return nodes;
+ }
+
+ @Override
+ protected List executeBuilding(List nodes) {
+ for (T treeNode : nodes) {
+ this.buildChildNodes(nodes, treeNode, new ArrayList<>());
+ }
+ return nodes;
+ }
+
+ @Override
+ protected List afterBuild(List nodes) {
+ //去掉所有的二级节点
+ ArrayList results = new ArrayList<>();
+ for (T node : nodes) {
+ if (node.getNodeParentId().equals(rootParentId)) {
+ results.add(node);
+ }
+ }
+ return results;
+ }
+}
\ No newline at end of file
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
index 615211f..94ae947 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 相机树
@@ -57,6 +58,7 @@
@Override
public void setChildrenNodes(List childrenNodes) {
children.addAll(childrenNodes);
+ children = children.stream().distinct().collect(Collectors.toList());
}
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
index 848eaae..b87a553 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-public class DeptDefaultTreeBuildFactory extends DefaultTreeBuildFactory {
+public class DeptDefaultTreeBuildFactory extends StayDefaultTreeBuildFactory {
private String rootId;
@Override
protected List afterBuild(List nodes) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
new file mode 100644
index 0000000..fbd0c37
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
@@ -0,0 +1,87 @@
+package com.casic.missiles.modular.device.tree;
+
+import com.casic.missiles.core.treebuild.abst.AbstractTreeBuildFactory;
+import com.casic.missiles.model.tree.Tree;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Data
+public class StayDefaultTreeBuildFactory extends AbstractTreeBuildFactory {
+
+ /**
+ * 顶级节点的父节点id(默认-1)
+ */
+ private String rootParentId = "-1";
+
+ /**
+ * 查询子节点的集合
+ *
+ * @param totalNodes 所有节点的集合
+ * @param node 被查询节点的id
+ * @param childNodeLists 被查询节点的子节点集合
+ */
+ private void buildChildNodes(List totalNodes, T node, List childNodeLists) {
+ if (totalNodes == null || node == null) {
+ return;
+ }
+
+ List nodeSubLists = getSubChildsLevelOne(totalNodes, node);
+
+ if (nodeSubLists.size() == 0) {
+
+ } else {
+ for (T nodeSubList : nodeSubLists) {
+ buildChildNodes(totalNodes, nodeSubList, new ArrayList<>());
+ }
+ }
+
+ childNodeLists.addAll(nodeSubLists);
+ node.setChildrenNodes(childNodeLists);
+ }
+
+ /**
+ * 获取子一级节点的集合
+ *
+ * @param list 所有节点的集合
+ * @param node 被查询节点的model
+ * @author fengshuonan
+ */
+ private List getSubChildsLevelOne(List list, T node) {
+ List nodeList = new ArrayList<>();
+ for (T nodeItem : list) {
+ if (nodeItem.getNodeParentId().equals(node.getNodeId())) {
+ nodeList.add(nodeItem);
+ }
+ }
+ return nodeList;
+ }
+
+ @Override
+ protected List beforeBuild(List nodes) {
+ //默认不进行前置处理,直接返回
+ return nodes;
+ }
+
+ @Override
+ protected List executeBuilding(List nodes) {
+ for (T treeNode : nodes) {
+ this.buildChildNodes(nodes, treeNode, new ArrayList<>());
+ }
+ return nodes;
+ }
+
+ @Override
+ protected List afterBuild(List nodes) {
+ //去掉所有的二级节点
+ ArrayList results = new ArrayList<>();
+ for (T node : nodes) {
+ if (node.getNodeParentId().equals(rootParentId)) {
+ results.add(node);
+ }
+ }
+ return results;
+ }
+}
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application-test42.yml b/casic-web/src/main/resources/config/application-test42.yml
new file mode 100644
index 0000000..e688bdf
--- /dev/null
+++ b/casic-web/src/main/resources/config/application-test42.yml
@@ -0,0 +1,46 @@
+server:
+ port: 6909
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.83.42:3306/casic-production-safety?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+# url: mysql
+ username: root
+ password: casic203
+ druid:
+ max-active: 50
+ min-idle: 20
+ web:
+ resources:
+ static-locations: /opt/stay/data/tmp/
+jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+# redis:
+# host: 111.198.10.15
+# port: 11412
+# password: ew5T4K3#203lwh
+# serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+casic:
+ #kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/websocket/*,/webjars/**,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/ws/*,/gate/login
+ db:
+ init:
+ enable: false
+ hikSdk: /casic/hiklib/HCNetSDK.dll
+ hikPlay: /casic/hiklib/PlayCtrl.dll
+ file:
+ uploadPath: /opt/stay/data/tmp/
+ stay:
+ picPath: /opt/stay/data/stay/
+ log: #百万日志存储量
+ total: 1000000
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.com.casic.missiles.netty: error
+ level.com.casic.missiles.modular.neutron: error
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
index 312d6ab..b2be068 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmService_Service.java
@@ -27,7 +27,7 @@
static {
URL url = null;
try {
- url = new URL("file:/D:/casic/cxf/wsdl.wsdl");
+ url = new URL("http://localhost:6909/safe-server/ws/mdmService?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(MdmService_Service.class.getName())
.log(java.util.logging.Level.INFO,
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
index e18cd4e..a1d636e 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/client/huss/MdmWebServiceImplPortImpl.java
@@ -28,7 +28,7 @@
@WebService( serviceName = "MdmService",
portName = "MdmWebServiceImplPort",
targetNamespace = MdmConst.namespace,
- wsdlLocation = "file:/D:/casic/cxf/wsdl.wsdl",
+// wsdlLocation = "http://localhost:6909/safe-server/ws/mdmService?wsdl",
endpointInterface = "com.casic.missiles.modular.client.huss.MdmService")
public class MdmWebServiceImplPortImpl implements MdmService {
@@ -56,7 +56,6 @@
*/
public String getMq(String mqID) {
LOG.info("Executing operation getMq");
- System.out.println(mqID);
try {
String xml = "" +
"\t\n" +
@@ -98,7 +97,10 @@
"\t1\n" +
"\t\n" +
"\t\n";
- String _return =xml;
+
+ String data = "" +
+ "\t\n"+ "\t\n";
+ String _return =data;
return _return;
} catch (java.lang.Exception ex) {
ex.printStackTrace();
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
index 224b143..3bef152 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/device/service/impl/SyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.device.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.casic.missiles.core.application.service.AbstractDeptService;
@@ -22,6 +23,7 @@
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -33,12 +35,14 @@
public class SyncServiceImpl implements ISyncService {
private final AbstractDeptService deptService;
private final AbstractUserService userService;
+ private final JdbcTemplate jdbcTemplate;
@Value("${casic.defaultDeptType:03}")
private String defaultDept;
- public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService) {
+ public SyncServiceImpl(AbstractDeptService deptService, AbstractUserService userService, JdbcTemplate jdbcTemplate) {
this.deptService = deptService;
this.userService = userService;
+ this.jdbcTemplate = jdbcTemplate;
}
@Transactional
@@ -58,7 +62,7 @@
}
if ("2".equals(orgDTO.getSyncType())) {
dept.setDelFlag("1");
- }else{
+ } else {
dept.setDelFlag("0");
}
dept.setSyncPid(orgDTO.getInternalPOrgCode());
@@ -95,7 +99,6 @@
for (UumOperatorDTO mdmPerson : uumOperatorDisps) {
String account = mdmPerson.getHID();
User user = null;
-
if (userMap.containsKey(mdmPerson.getHID())) {
user = userMap.get(mdmPerson.getHID());
} else {
@@ -130,7 +133,7 @@
if ("2".equals(mdmPerson.getSyncType())) {
user.setDelFlag("1");
user.setStatus("3");
- }else{
+ } else {
user.setStatus("1");
user.setDelFlag("0");
}
@@ -138,8 +141,11 @@
//用户数据修改
userService.saveOrUpdate(user);
}
+ //TODO 更新组织数据
+ jdbcTemplate.update("update sys_user a set dept_id = (select id from sys_dept b where b.SYNC_ID = a.SYNC_DEPTID ) where a.IS_SYS = 1");
log.info("sync user end.....");
}
+
private static final XmlMapper xmlMapper = new XmlMapper();
@Override
@@ -161,9 +167,13 @@
@Override
public void saveBaseList(UumBaseList baseList) {
//更新组织数据
- saveDeptList(baseList.getUumOrganizationDisp());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOrganizationDisp())) {
+ saveDeptList(baseList.getUumOrganizationDisp());
+ }
//更新用户数据
- saveUserList(baseList.getUumOperatorDisps());
+ if (CollectionUtil.isNotEmpty(baseList.getUumOperatorDisps())) {
+ saveUserList(baseList.getUumOperatorDisps());
+ }
}
/**
diff --git a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
index 77ed3ed..b1fa819 100644
--- a/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
+++ b/casic-server-sync/src/main/java/com/casic/missiles/modular/task/MdmSyncTask.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.task;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.client.huss.Exception_Exception;
import com.casic.missiles.modular.client.huss.MdmService;
@@ -36,7 +37,7 @@
@Resource
private ISyncService syncService;
- @Scheduled(cron = "0 */2 * * * *")
+ @Scheduled(cron = "${casic.mdm.corn:0 */2 * * * *}")
public void sync() {
String disid = null;
MdmService port = null;
@@ -44,18 +45,27 @@
MdmService_Service ss = new MdmService_Service(getWsdlURL(wsdl), getServiceName(MdmConst.namespace));
port = ss.getMdmWebServiceImplPort();
- log.info("Invoking getMq...");
- String xml = port.getMq(mqId);
- log.info("getMq.result={}", xml);
- UumBaseList uumBaseList = syncService.getUumBaseList(xml);
- disid = uumBaseList.getDisid();
- syncService.saveBaseList(uumBaseList);
+ boolean isEnd = false;
- log.info("data sync success");
- if (StrUtil.isNotEmpty(disid)) {
- port.updateDistributeState(getSuccess(disid));
+ //返回结果为空时则结束该任务
+ while (!isEnd) {
+ log.info("Invoking getMq...");
+ String xml = port.getMq(mqId);
+ log.info("getMq.result={}", xml);
+ UumBaseList uumBaseList = syncService.getUumBaseList(xml);
+ disid = uumBaseList.getDisid();
+ log.info("data sync success");
+ if(CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())&&CollectionUtil.isEmpty(uumBaseList.getUumOperatorDisps())){
+ isEnd = true;
+ }else{
+ syncService.saveBaseList(uumBaseList);
+ }
+ if (StrUtil.isNotEmpty(disid)) {
+ port.updateDistributeState(getSuccess(disid));
+ }
}
+
} catch (Exception exception) {
log.error(exception.getMessage(), exception);
if (StrUtil.isNotEmpty(disid) && port != null) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
index 615211f..94ae947 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/dto/DeptDTO.java
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 相机树
@@ -57,6 +58,7 @@
@Override
public void setChildrenNodes(List childrenNodes) {
children.addAll(childrenNodes);
+ children = children.stream().distinct().collect(Collectors.toList());
}
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
index 848eaae..b87a553 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/DeptDefaultTreeBuildFactory.java
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-public class DeptDefaultTreeBuildFactory extends DefaultTreeBuildFactory {
+public class DeptDefaultTreeBuildFactory extends StayDefaultTreeBuildFactory {
private String rootId;
@Override
protected List afterBuild(List nodes) {
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
new file mode 100644
index 0000000..fbd0c37
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/device/tree/StayDefaultTreeBuildFactory.java
@@ -0,0 +1,87 @@
+package com.casic.missiles.modular.device.tree;
+
+import com.casic.missiles.core.treebuild.abst.AbstractTreeBuildFactory;
+import com.casic.missiles.model.tree.Tree;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Data
+public class StayDefaultTreeBuildFactory extends AbstractTreeBuildFactory {
+
+ /**
+ * 顶级节点的父节点id(默认-1)
+ */
+ private String rootParentId = "-1";
+
+ /**
+ * 查询子节点的集合
+ *
+ * @param totalNodes 所有节点的集合
+ * @param node 被查询节点的id
+ * @param childNodeLists 被查询节点的子节点集合
+ */
+ private void buildChildNodes(List totalNodes, T node, List childNodeLists) {
+ if (totalNodes == null || node == null) {
+ return;
+ }
+
+ List nodeSubLists = getSubChildsLevelOne(totalNodes, node);
+
+ if (nodeSubLists.size() == 0) {
+
+ } else {
+ for (T nodeSubList : nodeSubLists) {
+ buildChildNodes(totalNodes, nodeSubList, new ArrayList<>());
+ }
+ }
+
+ childNodeLists.addAll(nodeSubLists);
+ node.setChildrenNodes(childNodeLists);
+ }
+
+ /**
+ * 获取子一级节点的集合
+ *
+ * @param list 所有节点的集合
+ * @param node 被查询节点的model
+ * @author fengshuonan
+ */
+ private List getSubChildsLevelOne(List list, T node) {
+ List nodeList = new ArrayList<>();
+ for (T nodeItem : list) {
+ if (nodeItem.getNodeParentId().equals(node.getNodeId())) {
+ nodeList.add(nodeItem);
+ }
+ }
+ return nodeList;
+ }
+
+ @Override
+ protected List beforeBuild(List nodes) {
+ //默认不进行前置处理,直接返回
+ return nodes;
+ }
+
+ @Override
+ protected List executeBuilding(List nodes) {
+ for (T treeNode : nodes) {
+ this.buildChildNodes(nodes, treeNode, new ArrayList<>());
+ }
+ return nodes;
+ }
+
+ @Override
+ protected List afterBuild(List nodes) {
+ //去掉所有的二级节点
+ ArrayList results = new ArrayList<>();
+ for (T node : nodes) {
+ if (node.getNodeParentId().equals(rootParentId)) {
+ results.add(node);
+ }
+ }
+ return results;
+ }
+}
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application-test42.yml b/casic-web/src/main/resources/config/application-test42.yml
new file mode 100644
index 0000000..e688bdf
--- /dev/null
+++ b/casic-web/src/main/resources/config/application-test42.yml
@@ -0,0 +1,46 @@
+server:
+ port: 6909
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.83.42:3306/casic-production-safety?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+# url: mysql
+ username: root
+ password: casic203
+ druid:
+ max-active: 50
+ min-idle: 20
+ web:
+ resources:
+ static-locations: /opt/stay/data/tmp/
+jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+# redis:
+# host: 111.198.10.15
+# port: 11412
+# password: ew5T4K3#203lwh
+# serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+# redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+casic:
+ #kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/websocket/*,/webjars/**,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/ws/*,/gate/login
+ db:
+ init:
+ enable: false
+ hikSdk: /casic/hiklib/HCNetSDK.dll
+ hikPlay: /casic/hiklib/PlayCtrl.dll
+ file:
+ uploadPath: /opt/stay/data/tmp/
+ stay:
+ picPath: /opt/stay/data/stay/
+ log: #百万日志存储量
+ total: 1000000
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.com.casic.missiles.netty: error
+ level.com.casic.missiles.modular.neutron: error
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 26faa63..45190f5 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: test
+ active: test42
servlet:
multipart:
max-file-size: 50MB
@@ -44,8 +44,9 @@
uploadPath: C:\casic\tmp\
mdm:
wsdl: http://localhost:6909/safe-server/ws/mdmService?wsdl
- mqId: 123456
+ mqId: 123456 #h后缀需添加 -UUM
open: true
+ corn: 0 */2 * * * *
video:
admin:
role: administrator #安全管理员角色标识 安全管理员可看未定密数据