From 3328ba2c5e2c8a030e7dbe7716c310a179ec8a0b Mon Sep 17 00:00:00 2001 From: fangcheng Date: Tue, 2 May 2017 19:30:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E6=8B=89=E5=8F=96=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lyms/base/common/conf/SyncConf.java | 13 + .../com/lyms/base/common/enums/SyncParamConf.java | 39 --- .../com/lyms/base/common/enums/SyncParamEnum.java | 39 +++ .../common/service/user/impl/UsersServiceImpl.java | 364 +++++++++++---------- .../com/lyms/base/common/utils/SyncComponent.java | 70 ++++ .../src/main/java/com/lyms/cm/job/SyncFixJob.java | 38 ++- .../main/java/com/lyms/cm/util/SyncComponent.java | 66 ---- .../java/center/manager/test/user/SyncTest.java | 6 +- .../main/java/com/lyms/sync/queue/SyncQueue.java | 4 +- .../hospital/service/sys/SyncDataBasicService.java | 4 +- .../service/sys/impl/SyncDataBasicServiceImpl.java | 4 +- .../src/test/java/test/hospital/sync/SyncTest.java | 4 +- 12 files changed, 353 insertions(+), 298 deletions(-) create mode 100644 parent/base.common/src/main/java/com/lyms/base/common/conf/SyncConf.java delete mode 100644 parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamConf.java create mode 100644 parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamEnum.java create mode 100644 parent/base.common/src/main/java/com/lyms/base/common/utils/SyncComponent.java delete mode 100644 parent/center.manager/src/main/java/com/lyms/cm/util/SyncComponent.java diff --git a/parent/base.common/src/main/java/com/lyms/base/common/conf/SyncConf.java b/parent/base.common/src/main/java/com/lyms/base/common/conf/SyncConf.java new file mode 100644 index 0000000..b5121fe --- /dev/null +++ b/parent/base.common/src/main/java/com/lyms/base/common/conf/SyncConf.java @@ -0,0 +1,13 @@ +package com.lyms.base.common.conf; + +import com.lyms.spring.PropertiesUtil; + +public interface SyncConf { + + /** + * 中心的操作需要同步数据到节点 + */ + public static final boolean isCenterOperateSyncToNode = PropertiesUtil.getString("isCenterOperateSyncToNode") == null ? false + : Boolean.valueOf(PropertiesUtil.getString("isCenterOperateSyncToNode").trim()); + +} diff --git a/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamConf.java b/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamConf.java deleted file mode 100644 index f8aa5a5..0000000 --- a/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamConf.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.lyms.base.common.enums; - -public enum SyncParamConf { - - - - - USER_INSERT(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"addUser"), - USER_UPDATE(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"updateUser"), - USER_DELETE(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"delete"); - - - private String remoteClazz; - - public String getRemoteClazz() { - return remoteClazz; - } - - public void setRemoteClazz(String remoteClazz) { - this.remoteClazz = remoteClazz; - } - - public String getRemoteMethod() { - return remoteMethod; - } - - public void setRemoteMethod(String remoteMethod) { - this.remoteMethod = remoteMethod; - } - - private String remoteMethod; - - private SyncParamConf(String remoteClazz,String remoteMethod) { - this.remoteClazz = remoteClazz; - this.remoteMethod = remoteMethod; - } - - -} diff --git a/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamEnum.java b/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamEnum.java new file mode 100644 index 0000000..1a41908 --- /dev/null +++ b/parent/base.common/src/main/java/com/lyms/base/common/enums/SyncParamEnum.java @@ -0,0 +1,39 @@ +package com.lyms.base.common.enums; + +public enum SyncParamEnum { + + + + + USER_INSERT(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"addUser"), + USER_UPDATE(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"updateUser"), + USER_DELETE(com.lyms.base.common.service.user.impl.UsersServiceImpl.class.getName(),"delete"); + + + private String remoteClazz; + + public String getRemoteClazz() { + return remoteClazz; + } + + public void setRemoteClazz(String remoteClazz) { + this.remoteClazz = remoteClazz; + } + + public String getRemoteMethod() { + return remoteMethod; + } + + public void setRemoteMethod(String remoteMethod) { + this.remoteMethod = remoteMethod; + } + + private String remoteMethod; + + private SyncParamEnum(String remoteClazz,String remoteMethod) { + this.remoteClazz = remoteClazz; + this.remoteMethod = remoteMethod; + } + + +} diff --git a/parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java b/parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java index fbd9687..786aac1 100644 --- a/parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java +++ b/parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java @@ -6,20 +6,20 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.lyms.annotation.DataSourceChange; import com.lyms.base.common.dao.user.SysUserDataPermissionsMapper; import com.lyms.base.common.dao.user.UsersMapper; import com.lyms.base.common.entity.role.UserRoleMaps; import com.lyms.base.common.entity.user.SysUserDataPermissions; import com.lyms.base.common.entity.user.Users; +import com.lyms.base.common.enums.SyncParamEnum; import com.lyms.base.common.enums.ValidityEnum; import com.lyms.base.common.service.role.UserRoleMapsService; import com.lyms.base.common.service.user.UsersService; +import com.lyms.base.common.utils.SyncComponent; import com.lyms.exception.SystemException; import com.lyms.util.InstanceUtils; import com.lyms.util.MD5Utils; @@ -36,94 +36,98 @@ import com.lyms.util.StrUtils; @Service public class UsersServiceImpl extends ServiceImpl implements UsersService { - @Autowired - private UsersMapper userMapper; - @Autowired - private SysUserDataPermissionsMapper sysUserDataPermissionsMapper; - - @Autowired - private UserRoleMapsService sysUserRoleMapsService; - - /** - * 系统默认密码 - */ - private static final String DEFAULT_PWD = "123456"; - - // 模块基础操作信息 - private boolean empty(Users user) { - return user == null; - } - - /** - * 初始密码设置 - */ - private void initPwd(Users user) { - if (empty(user)) - return; - String pwd = user.getPwd(); - if (StringUtils.isBlank(pwd)) { - pwd = DEFAULT_PWD; - } - String encode = MD5Utils.md5(pwd); - user.setPwd(encode); - } - - @Override - @Transactional - public boolean addUser(Users user, List userRoleMapsList) throws SystemException { - if (empty(user)) - return false; - // 设置user ID - user.setIfdel(0); - if (null == user.getType()) {// 没有勾选管理,就是用户 - user.setType(1); - } - if (null == user.getEnable()) { - user.setEnable(1); - } - // 设置用户密码 - this.initPwd(user); - - Integer tag = userMapper.insert(user); - - String[] dataPermissionArray = user.getDataOrgIds().split(","); - if(dataPermissionArray != null && dataPermissionArray.length > 0){ - for(String orgid : dataPermissionArray ){ - SysUserDataPermissions dataEntity = new SysUserDataPermissions(); - dataEntity.setId(StrUtils.uuid()); - dataEntity.setOrgId(orgid); - dataEntity.setUserId(user.getId()); - sysUserDataPermissionsMapper.insert(dataEntity); - } - } - if (userRoleMapsList != null && !userRoleMapsList.isEmpty()) { - sysUserRoleMapsService.insertBatch(userRoleMapsList); - } - return tag != null && tag >= 1; - } - - @Override - @Transactional - public boolean updateUser(Users user, List userRoleMapsList) throws SystemException { - if (empty(user)) - return false; - if (null == user.getType()) {// 没有勾选管理,就是用户 - user.setType(1); - } - if (null == user.getEnable()) { - user.setEnable(1); - } - if (StrUtils.isNotEmpty(user.getPwd())) { - // 初始密码 - this.initPwd(user); - } - - Integer tag = userMapper.updateById(user); - - sysUserDataPermissionsMapper.delete(new EntityWrapper().where("USER_ID={0}", user.getId())); - String[] dataPermissionArray = user.getDataOrgIds().split(","); - if(dataPermissionArray != null && dataPermissionArray.length > 0){ - for(String orgid : dataPermissionArray ){ + @Autowired + private UsersMapper userMapper; + @Autowired + private SysUserDataPermissionsMapper sysUserDataPermissionsMapper; + + @Autowired + private UserRoleMapsService sysUserRoleMapsService; + @Autowired + private SyncComponent syncComponent; + + /** + * 系统默认密码 + */ + private static final String DEFAULT_PWD = "123456"; + + // 模块基础操作信息 + private boolean empty(Users user) { + return user == null; + } + + /** + * 初始密码设置 + */ + private void initPwd(Users user) { + if (empty(user)) + return; + String pwd = user.getPwd(); + if (StringUtils.isBlank(pwd)) { + pwd = DEFAULT_PWD; + } + String encode = MD5Utils.md5(pwd); + user.setPwd(encode); + } + + @Override + @Transactional + public boolean addUser(Users user, List userRoleMapsList) throws SystemException { + if (empty(user)) + return false; + // 设置user ID + user.setIfdel(0); + if (null == user.getType()) {// 没有勾选管理,就是用户 + user.setType(1); + } + if (null == user.getEnable()) { + user.setEnable(1); + } + // 设置用户密码 + this.initPwd(user); + + Integer tag = userMapper.insert(user); + + String[] dataPermissionArray = user.getDataOrgIds().split(","); + if (dataPermissionArray != null && dataPermissionArray.length > 0) { + for (String orgid : dataPermissionArray) { + SysUserDataPermissions dataEntity = new SysUserDataPermissions(); + dataEntity.setId(StrUtils.uuid()); + dataEntity.setOrgId(orgid); + dataEntity.setUserId(user.getId()); + sysUserDataPermissionsMapper.insert(dataEntity); + } + } + if (userRoleMapsList != null && !userRoleMapsList.isEmpty()) { + sysUserRoleMapsService.insertBatch(userRoleMapsList); + } + syncComponent.addPushSyncOperation(SyncParamEnum.USER_INSERT, user,userRoleMapsList); + return tag != null && tag >= 1; + } + + @Override + @Transactional + public boolean updateUser(Users user, List userRoleMapsList) throws SystemException { + if (empty(user)) + return false; + if (null == user.getType()) {// 没有勾选管理,就是用户 + user.setType(1); + } + if (null == user.getEnable()) { + user.setEnable(1); + } + if (StrUtils.isNotEmpty(user.getPwd())) { + // 初始密码 + this.initPwd(user); + } + + Integer tag = userMapper.updateById(user); + + sysUserDataPermissionsMapper + .delete(new EntityWrapper().where("USER_ID={0}", user.getId())); + String[] dataPermissionArray = user.getDataOrgIds().split(","); + if (dataPermissionArray != null && dataPermissionArray.length > 0) { + for (String orgid : dataPermissionArray) { SysUserDataPermissions dataEntity = new SysUserDataPermissions(); dataEntity.setId(StrUtils.uuid()); dataEntity.setOrgId(orgid); @@ -131,96 +135,96 @@ public class UsersServiceImpl extends ServiceImpl implements sysUserDataPermissionsMapper.insert(dataEntity); } } - - EntityWrapper ew = new EntityWrapper(); - ew.where("user_id={0}", user.getId()); - sysUserRoleMapsService.delete(ew); - if (!userRoleMapsList.isEmpty()) { - sysUserRoleMapsService.insertBatch(userRoleMapsList); - } - return tag != null && tag >= 1; - } - - /* - * @Override public SysUsers getUserById(String userId) throws - * SystemException { if (StringUtils.isBlank(userId)) return null; return - * userMapper.selectById(userId); } - */ - - @Override - @Transactional - public boolean delete(String userId) throws SystemException { - - if (StringUtils.isBlank(userId)) - return false; - // TODO 通过sql 修改 - Users user = userMapper.selectById(userId); - if (user != null) { - Integer ifDel = user.getIfdel(); - if (ifDel == null || ifDel == ValidityEnum.VALIDITY.getValidity()) { - ifDel = ValidityEnum.UNVALIDITY.getValidity(); - } else { - ifDel = ValidityEnum.VALIDITY.getValidity(); - } - user.setIfdel(ifDel); - Integer tag = userMapper.updateById(user); - return tag != null && tag >= 1; - } - return false; - } - - @Override - public Integer deleteLogicById(Serializable id) { - return baseMapper.deleteLogicById(id); - } - - @Override - public boolean isAllowUpdate(String account, String userid) { - boolean flag = true; - if (StrUtils.isNotEmpty(userid)) {// 修改用户 - Users oldDbUser = selectById(userid); - if (!oldDbUser.getAccount().equalsIgnoreCase(account)) {// 登录账号改变 - flag = !isExistAccount(account); - } - } else {// 新增 - flag = !isExistAccount(account); - } - return flag; - } - - /** - *
  • @Description:是否存在登录名 - *
  • @param account - *
  • @return - *
  • 创建人:方承 - *
  • 创建时间:2017年3月9日 - *
  • 修改人: - *
  • 修改时间: - */ - private boolean isExistAccount(String account) { - Users entity = selectOne(new EntityWrapper().where("account={0}", account).and("ifDel=0")); - if (null == entity) { - return false; - } - return true; - } - - @Override - public Users getUserByUsername(String name) { - Users user = selectOne(new EntityWrapper().where("account={0}", name).and("ifDel=0")); - return user; - } - - @Override - public List getRoleIdListByUserid(String uid) { - List urList = sysUserRoleMapsService - .selectList(new EntityWrapper().where("user_id={0}", uid)); - List roleIdList = InstanceUtils.newArrayList(); - for (UserRoleMaps ur : urList) { - roleIdList.add(ur.getRoleId()); - } - return roleIdList; - } + + EntityWrapper ew = new EntityWrapper(); + ew.where("user_id={0}", user.getId()); + sysUserRoleMapsService.delete(ew); + if (!userRoleMapsList.isEmpty()) { + sysUserRoleMapsService.insertBatch(userRoleMapsList); + } + return tag != null && tag >= 1; + } + + /* + * @Override public SysUsers getUserById(String userId) throws + * SystemException { if (StringUtils.isBlank(userId)) return null; return + * userMapper.selectById(userId); } + */ + + @Override + @Transactional + public boolean delete(String userId) throws SystemException { + + if (StringUtils.isBlank(userId)) + return false; + // TODO 通过sql 修改 + Users user = userMapper.selectById(userId); + if (user != null) { + Integer ifDel = user.getIfdel(); + if (ifDel == null || ifDel == ValidityEnum.VALIDITY.getValidity()) { + ifDel = ValidityEnum.UNVALIDITY.getValidity(); + } else { + ifDel = ValidityEnum.VALIDITY.getValidity(); + } + user.setIfdel(ifDel); + Integer tag = userMapper.updateById(user); + return tag != null && tag >= 1; + } + return false; + } + + @Override + public Integer deleteLogicById(Serializable id) { + return baseMapper.deleteLogicById(id); + } + + @Override + public boolean isAllowUpdate(String account, String userid) { + boolean flag = true; + if (StrUtils.isNotEmpty(userid)) {// 修改用户 + Users oldDbUser = selectById(userid); + if (!oldDbUser.getAccount().equalsIgnoreCase(account)) {// 登录账号改变 + flag = !isExistAccount(account); + } + } else {// 新增 + flag = !isExistAccount(account); + } + return flag; + } + + /** + *
  • @Description:是否存在登录名 + *
  • @param account + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + private boolean isExistAccount(String account) { + Users entity = selectOne(new EntityWrapper().where("account={0}", account).and("ifDel=0")); + if (null == entity) { + return false; + } + return true; + } + + @Override + public Users getUserByUsername(String name) { + Users user = selectOne(new EntityWrapper().where("account={0}", name).and("ifDel=0")); + return user; + } + + @Override + public List getRoleIdListByUserid(String uid) { + List urList = sysUserRoleMapsService + .selectList(new EntityWrapper().where("user_id={0}", uid)); + List roleIdList = InstanceUtils.newArrayList(); + for (UserRoleMaps ur : urList) { + roleIdList.add(ur.getRoleId()); + } + return roleIdList; + } @Override public List getUsersByOrgId(Serializable orgid) { diff --git a/parent/base.common/src/main/java/com/lyms/base/common/utils/SyncComponent.java b/parent/base.common/src/main/java/com/lyms/base/common/utils/SyncComponent.java new file mode 100644 index 0000000..1bdb4a5 --- /dev/null +++ b/parent/base.common/src/main/java/com/lyms/base/common/utils/SyncComponent.java @@ -0,0 +1,70 @@ +package com.lyms.base.common.utils; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.lyms.base.common.conf.SyncConf; +import com.lyms.base.common.entity.organ.OrganGroup; +import com.lyms.base.common.enums.SyncParamEnum; +import com.lyms.base.common.service.organ.OrganGroupService; +import com.lyms.sync.ParamsAdpter; +import com.lyms.sync.SyncCenter; +import com.lyms.util.CollectionUtils; +import com.lyms.util.InstanceUtils; +import com.lyms.util.StrUtils; + +@Component +public class SyncComponent { + + @Autowired + public SyncCenter center; + + @Autowired + private OrganGroupService organGroupService; + + private List getAllGroupIpList() { + List ipList = InstanceUtils.newArrayList(); + List list = organGroupService.selectList(new EntityWrapper().where("ifDel=0")); + if (CollectionUtils.isNotEmpty(list)) { + for (OrganGroup group : list) { + if (StrUtils.isNotEmpty(group.getPushaddress())) { + ipList.add(group.getPushaddress()); + } + } + } + return ipList; + } + + /** + *
  • @Description:添加一个推送同步操作 + *
  • @param syncParamConf + *
  • @param data data和对应方法参数个数和类型一致 + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年4月11日 + *
  • 修改人: + *
  • 修改时间: + */ + public boolean addPushSyncOperation(SyncParamEnum syncParamConf, Object... data) { + if(SyncConf.isCenterOperateSyncToNode){ + List ipList = getAllGroupIpList(); + ParamsAdpter adpter = null; + if (data != null && data.length > 0) { + adpter = ParamsAdpter.builder(); + for (int i = 0; i < data.length; i++) { + adpter.push(data[i]); + } + } + for (String ip : ipList) { + String id = StrUtils.uuid(); + center.pushTmp(id, ip, syncParamConf.getRemoteClazz(), syncParamConf.getRemoteMethod(), adpter); + } + return true; + } + return false; + } + +} 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 fa2238c..f085127 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 @@ -1,5 +1,7 @@ package com.lyms.cm.job; +import java.io.Serializable; +import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.commons.lang3.StringUtils; @@ -7,14 +9,20 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.lyms.base.common.entity.organ.OrganGroup; +import com.lyms.base.common.service.organ.OrganGroupService; import com.lyms.sync.ParamsAdpter; import com.lyms.sync.SyncCallback; import com.lyms.sync.SyncCenter; import com.lyms.sync.SyncCenter.Work; import com.lyms.sync.SyncHandler; import com.lyms.sync.channel.ChannelData; +import com.lyms.sync.queue.SyncQueue; import com.lyms.util.HttpUtils; +import com.lyms.util.InstanceUtils; import com.lyms.util.JsonUtils; import com.lyms.util.StrUtils; @@ -30,10 +38,36 @@ public class SyncFixJob { @Autowired public SyncCenter center; + + @Autowired + public OrganGroupService organGroupService; + @Autowired + public RedisTemplate template; + + private static List pullUrlList = null; + + private static String remoteClazz = "com.lyms.hospital.service.sys.impl.SyncDataBasicServiceImpl"; + private static String remoteMethod = "selectOne"; private final AtomicBoolean reset = new AtomicBoolean(false); public void excute() { + if( pullUrlList == null ){ + LOG.info("初始化固定拉取远程任务"); + template.delete(SyncQueue.FIXATION_WORK); + LOG.info("清空固定拉取远程任务"); + List groupList = organGroupService.selectList(new EntityWrapper().where("IFDEL=0")); + pullUrlList = InstanceUtils.newArrayList(); + for(OrganGroup entity : groupList){ + if(StrUtils.isNotEmpty(entity.getPulladdress()) && entity.getPulladdress().startsWith("http")){ + LOG.info("添加固定拉取远程任务:pullAddress={}",entity.getPulladdress()); + if( !pullUrlList.contains(entity.getPulladdress().trim()) ){ + pullUrlList.add(entity.getPulladdress().trim()); + center.pushFix(StrUtils.uuid(), entity.getPulladdress().trim(), remoteClazz, remoteMethod, null); + } + } + } + } if (reset.get()) { return; } @@ -49,9 +83,9 @@ public class SyncFixJob { ChannelData oldData = (ChannelData) object; if (oldData != null && StringUtils.isNotBlank(oldData.getId())) { // 任务发送执行 - System.out.println("拉取到本地任务: " + ToStringBuilder.reflectionToString(oldData)); + LOG.info("拉取到本地任务: " + ToStringBuilder.reflectionToString(oldData)); String result = HttpUtils.REMOTE.post(oldData); - System.out.println("返回结果: " + result); + LOG.info("返回结果: " + result); if (StringUtils.isBlank(result)) return; ChannelData data = JsonUtils.jsonToBean(result, ChannelData.class); diff --git a/parent/center.manager/src/main/java/com/lyms/cm/util/SyncComponent.java b/parent/center.manager/src/main/java/com/lyms/cm/util/SyncComponent.java deleted file mode 100644 index 57ecde4..0000000 --- a/parent/center.manager/src/main/java/com/lyms/cm/util/SyncComponent.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.lyms.cm.util; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.lyms.base.common.entity.organ.OrganGroup; -import com.lyms.base.common.enums.SyncParamConf; -import com.lyms.base.common.service.organ.OrganGroupService; -import com.lyms.sync.ParamsAdpter; -import com.lyms.sync.SyncCenter; -import com.lyms.util.CollectionUtils; -import com.lyms.util.InstanceUtils; -import com.lyms.util.StrUtils; - -@Component -public class SyncComponent { - - @Autowired - public SyncCenter center; - - @Autowired - private OrganGroupService organGroupService; - - private List getAllGroupIpList() { - List ipList = InstanceUtils.newArrayList(); - List list = organGroupService.selectList(new EntityWrapper().where("ifDel=0")); - if (CollectionUtils.isNotEmpty(list)) { - for (OrganGroup group : list) { - if (StrUtils.isNotEmpty(group.getPushaddress())) { - ipList.add(group.getPushaddress()); - } - } - } - return ipList; - } - - /** - *
  • @Description:添加一个推送同步操作 - *
  • @param syncParamConf - *
  • @param data data和对应方法参数个数和类型一致 - *
  • @return - *
  • 创建人:方承 - *
  • 创建时间:2017年4月11日 - *
  • 修改人: - *
  • 修改时间: - */ - public boolean addPushSyncOperation(SyncParamConf syncParamConf, Object... data) { - List ipList = getAllGroupIpList(); - ParamsAdpter adpter = null; - if (data != null && data.length > 0) { - adpter = ParamsAdpter.builder(); - for (int i = 0; i < data.length; i++) { - adpter.push(data[i]); - } - } - for (String ip : ipList) { - String id = StrUtils.uuid(); - center.pushTmp(id, ip, syncParamConf.getRemoteClazz(), syncParamConf.getRemoteMethod(), adpter); - } - return true; - } - -} diff --git a/parent/center.manager/src/test/java/center/manager/test/user/SyncTest.java b/parent/center.manager/src/test/java/center/manager/test/user/SyncTest.java index 707e7fb..944da6b 100644 --- a/parent/center.manager/src/test/java/center/manager/test/user/SyncTest.java +++ b/parent/center.manager/src/test/java/center/manager/test/user/SyncTest.java @@ -4,8 +4,8 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import com.lyms.base.common.entity.user.Users; -import com.lyms.base.common.enums.SyncParamConf; -import com.lyms.cm.util.SyncComponent; +import com.lyms.base.common.enums.SyncParamEnum; +import com.lyms.base.common.utils.SyncComponent; public class SyncTest extends BaseTest { @@ -19,7 +19,7 @@ public class SyncTest extends BaseTest { entity.setId(name); entity.setAccount(name); entity.setName(name); - syncComponent.addPushSyncOperation(SyncParamConf.USER_INSERT, entity,null); + syncComponent.addPushSyncOperation(SyncParamEnum.USER_INSERT, entity,null); } } diff --git a/parent/core.sdk/src/main/java/com/lyms/sync/queue/SyncQueue.java b/parent/core.sdk/src/main/java/com/lyms/sync/queue/SyncQueue.java index 1e82d3a..f635cbb 100644 --- a/parent/core.sdk/src/main/java/com/lyms/sync/queue/SyncQueue.java +++ b/parent/core.sdk/src/main/java/com/lyms/sync/queue/SyncQueue.java @@ -42,12 +42,12 @@ public class SyncQueue { /** * 固定任务 */ - private static final String FIXATION_WORK = "FIXATION_WORK"; + public static final String FIXATION_WORK = "FIXATION_WORK"; /** * 临时任务 */ - private static final String TMP_WORK = "TMP_WORK"; + public static final String TMP_WORK = "TMP_WORK"; /** * 回执消息任务 diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/SyncDataBasicService.java b/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/SyncDataBasicService.java index a9d64c4..58df261 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/SyncDataBasicService.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/SyncDataBasicService.java @@ -3,7 +3,7 @@ package com.lyms.hospital.service.sys; import java.io.Serializable; import java.util.List; -import com.lyms.base.common.enums.SyncParamConf; +import com.lyms.base.common.enums.SyncParamEnum; import com.lyms.hospital.entity.sys.SyncDataBasic; import com.lyms.sync.channel.ChannelData; import com.lyms.web.service.BaseService; @@ -58,6 +58,6 @@ public interface SyncDataBasicService extends BaseService { *
  • 修改人: *
  • 修改时间: */ - public boolean addSyncData(SyncParamConf syncParamConf,Object ...dataObjects); + public boolean addSyncData(SyncParamEnum syncParamConf,Object ...dataObjects); } diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/impl/SyncDataBasicServiceImpl.java b/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/impl/SyncDataBasicServiceImpl.java index ce6013b..eb4d061 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/impl/SyncDataBasicServiceImpl.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/service/sys/impl/SyncDataBasicServiceImpl.java @@ -10,7 +10,7 @@ import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.lyms.base.common.enums.SyncParamConf; +import com.lyms.base.common.enums.SyncParamEnum; import com.lyms.hospital.dao.sys.SyncDataBasicMapper; import com.lyms.hospital.entity.sys.SyncDataBasic; import com.lyms.hospital.service.sys.SyncDataBasicService; @@ -69,7 +69,7 @@ public class SyncDataBasicServiceImpl extends ServiceImpl