diff --git a/parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java b/parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java
index fc64b2d..343b22b 100644
--- a/parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java
+++ b/parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysRemoteController.java
@@ -1,7 +1,5 @@
package com.lyms.cm.controller.sys;
-import java.io.IOException;
-
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.MediaType;
@@ -22,7 +20,7 @@ public class SysRemoteController extends BaseController {
@RequestMapping(value = "/sycn", produces = { MediaType.APPLICATION_JSON_VALUE })
@ResponseBody
- public Object push(HttpServletRequest request) throws ClassNotFoundException, IOException {
+ public Object push(HttpServletRequest request) throws Exception {
ChannelData model = SyncUtils.conver(request);
Object object = SyncHandler.handler(model);
model.setData(ParamsAdpter.builder().push(object).toJsonString());
diff --git a/parent/center.manager/src/main/java/com/lyms/cm/job/SyncFixJob.java b/parent/center.manager/src/main/java/com/lyms/cm/job/SyncFixJob.java
index 6ad5e7c..039de90 100644
--- a/parent/center.manager/src/main/java/com/lyms/cm/job/SyncFixJob.java
+++ b/parent/center.manager/src/main/java/com/lyms/cm/job/SyncFixJob.java
@@ -96,18 +96,22 @@ public class SyncFixJob {
LOG.info("拉取到本地任务: " + ToStringBuilder.reflectionToString(oldData));
LOG.info("返回结果: " + result);
System.out.println("执行: " + ToStringBuilder.reflectionToString(data));
- Object handlResult = SyncHandler.handler(data);
- // 要求处理成功都必须返回true | false;
- Boolean tag = (Boolean) handlResult;
- if (tag) {
- data.setRemote(oldData.getRemote());
- data.setData(ParamsAdpter.builder().push(data.getId()).toJsonString());
- data.setAck(true);
- // 处理成功回执消息
- data.setRemoteClazz("com.lyms.hospital.service.sys.impl.SyncDataBasicServiceImpl");
- data.setRemoteMethod("updateBasic");
- work.ack(data);
- }
+ try{
+ Object handlResult = SyncHandler.handler(data);
+ // 要求处理成功都必须返回true | false;
+ Boolean tag = (Boolean) handlResult;
+ if (tag) {
+ data.setRemote(oldData.getRemote());
+ data.setData(ParamsAdpter.builder().push(data.getId()).toJsonString());
+ data.setAck(true);
+ // 处理成功回执消息
+ data.setRemoteClazz("com.lyms.hospital.service.sys.impl.SyncDataBasicServiceImpl");
+ data.setRemoteMethod("updateBasic");
+ work.ack(data);
+ }
+ }catch (Exception e) {
+ LOG.error("拉取任务执行失败:{}",e);
+ }
}
}
}
diff --git a/parent/center.manager/src/main/java/com/lyms/cm/job/SyncTableJob.java b/parent/center.manager/src/main/java/com/lyms/cm/job/SyncTableJob.java
new file mode 100644
index 0000000..684079c
--- /dev/null
+++ b/parent/center.manager/src/main/java/com/lyms/cm/job/SyncTableJob.java
@@ -0,0 +1,64 @@
+package com.lyms.cm.job;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+
+import com.alibaba.druid.support.json.JSONUtils;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.lyms.base.common.entity.sys.SyncDataBasic;
+import com.lyms.base.common.service.sys.SyncDataBasicService;
+import com.lyms.sync.ParamsAdpter;
+import com.lyms.sync.SyncCallback;
+import com.lyms.sync.SyncCenter;
+import com.lyms.sync.SyncHandler;
+import com.lyms.sync.SyncCenter.Work;
+import com.lyms.sync.channel.ChannelData;
+import com.lyms.sync.queue.SyncQueue;
+import com.lyms.util.HttpUtils;
+import com.lyms.util.JsonUtils;
+
+/**
+ *
@ClassName: SyncTableJob
+ * @Description: 同步任务执行器,获取SYNC_DATA_BASIC表格的数据进行处理
+ * @author 方承
+ * @date 2017年5月5日
+ *
+ */
+public class SyncTableJob {
+
+ private static Logger log = LoggerFactory.getLogger(SyncTableJob.class);
+
+ @Autowired
+ private SyncDataBasicService syncDataBasicService;
+
+ public void excute() {
+ List dataList = syncDataBasicService.selectList(new EntityWrapper().where("IFSUC=0"));
+ if(dataList != null ){
+ log.debug("=======开始进行 SYNC_DATA_BASIC 表格数据的同步=======");
+ for(SyncDataBasic entity : dataList){
+ try{
+ ChannelData data = JsonUtils.jsonToBean(entity.getData(), ChannelData.class);
+ Object handResult = SyncHandler.handler(data);
+ if (data.getLoop()) {
+ data = (ChannelData) handResult;
+ } else {
+ data.setData(ParamsAdpter.builder().push(handResult).toJsonString());
+ }
+ entity.setIfsuc(1);
+ syncDataBasicService.updateById(entity);
+ }catch (Exception e) {
+ log.error("【SYNC_DATA_BASIC】表格数据的同步错误:SyncDataBasic = {} {}",JSONObject.toJSON(entity),e);
+ }
+ }
+ }
+ }
+
+
+}
diff --git a/parent/center.manager/src/main/resources/xml/app-timer.xml b/parent/center.manager/src/main/resources/xml/app-timer.xml
index 3d89b7a..4bb4b22 100644
--- a/parent/center.manager/src/main/resources/xml/app-timer.xml
+++ b/parent/center.manager/src/main/resources/xml/app-timer.xml
@@ -16,9 +16,11 @@
+
+
\ No newline at end of file
diff --git a/parent/core.sdk/src/main/java/com/lyms/common/db/DBPasswordCallback.java b/parent/core.sdk/src/main/java/com/lyms/common/db/DBPasswordCallback.java
index 209a212..05ce080 100644
--- a/parent/core.sdk/src/main/java/com/lyms/common/db/DBPasswordCallback.java
+++ b/parent/core.sdk/src/main/java/com/lyms/common/db/DBPasswordCallback.java
@@ -15,10 +15,11 @@ import com.lyms.common.encrypt.DES;
import com.lyms.util.Base64Utils;
/**
- * 数据库密码回调解密
- *
- * @author ShenHuaJie
- * @version 2016年5月20日 下午3:18:25
+ * @ClassName: DBPasswordCallback
+ * @Description: 数据库密码回调解密
+ * @author 方承
+ * @date 2017年5月5日
+ *
*/
@SuppressWarnings("serial")
public class DBPasswordCallback extends DruidPasswordCallback {
@@ -39,7 +40,19 @@ public class DBPasswordCallback extends DruidPasswordCallback {
}
}
- // 请使用该方法加密后,把密文写入classpath:/config/jdbc.properties
+ /**
+ * 数据库密码回调解密
+ *
+
+
+
+
+
+
+
+
+ */
public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidKeySpecException, Exception {
String encrypt = Base64Utils.encode(DES.encrypt("root".getBytes(), key));
System.out.println(encrypt);
diff --git a/parent/core.sdk/src/main/java/com/lyms/sync/SyncHandler.java b/parent/core.sdk/src/main/java/com/lyms/sync/SyncHandler.java
index 30bb992..9cdee77 100644
--- a/parent/core.sdk/src/main/java/com/lyms/sync/SyncHandler.java
+++ b/parent/core.sdk/src/main/java/com/lyms/sync/SyncHandler.java
@@ -32,12 +32,12 @@ public class SyncHandler {
*/
private static final SyncCenter center = SyncCenter.install();
- public static Object handler(ChannelData data) {
+ public static Object handler(ChannelData data) throws Exception{
try {
return invoke(data);
} catch (Exception e) {
LOG.error("执行方法错误: {}", e);
- return false;
+ throw e;
}
}
diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java
index 9d42dcc..a5cc7cd 100644
--- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java
+++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java
@@ -117,7 +117,7 @@ public class LoginController extends BaseController {
@RequestParam(value = "password", required = false) String password,
AjaxResult ajaxResult,
HttpServletResponse response) {
- System.out.println("ShiroWebUtils.getCurrentUser()="+JSONObject.toJSONString(ShiroWebUtils.getCurrentUser()));
+ System.out.println(JSONObject.toJSON(ShiroWebUtils.getCurrentUser()));
ajaxResult.setSuccess(false);
if (StringUtils.isEmpty(account) && (StringUtils.isEmpty(code) || StringUtils.isEmpty(password))) {
ajaxResult.setMessage("登录账户或者验证码为空,请输入!");
@@ -139,6 +139,7 @@ public class LoginController extends BaseController {
return ajaxResult;
}
}
+ System.out.println(ShiroWebUtils.getCurrentUser());
Users users = ShiroWebUtils.getCurrentUser();
//Organizations organizations = organizationsService.selectById( users.getOrgId());
Map result = InstanceUtils.newHashMap();
diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java
index 20258e5..2dfdd52 100644
--- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java
+++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/RouterController.java
@@ -31,7 +31,7 @@ public class RouterController extends BaseController {
private static final Logger log = LoggerFactory.getLogger(RouterController.class);
@RequestMapping(value = "/pull", produces = { MediaType.APPLICATION_JSON_VALUE })
- public Object pull(HttpServletRequest request) throws ClassNotFoundException, IOException {
+ public Object pull(HttpServletRequest request) throws Exception {
ChannelData data = SyncUtils.conver(request);
log.debug("节点数据被中心拉取:" + ToStringBuilder.reflectionToString(data));
Object handResult = SyncHandler.handler(data);
@@ -45,10 +45,10 @@ public class RouterController extends BaseController {
}
@RequestMapping(value = "/push", produces = { MediaType.APPLICATION_JSON_VALUE })
- public Object push(HttpServletRequest request) throws ClassNotFoundException, IOException {
+ public Object push(HttpServletRequest request) throws Exception {
ChannelData data = SyncUtils.conver(request);
log.debug("中心推送数据到节点:" + ToStringBuilder.reflectionToString(data));
- Object handResult = SyncHandler.handler(data);
+ Object handResult = SyncHandler.handler(data);
if (data.getLoop()) {
data = (ChannelData) handResult;
} else {