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; } }