SyncComponent.java 2.09 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
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<String> getAllGroupIpList() {
List<String> ipList = InstanceUtils.newArrayList();
List<OrganGroup> list = organGroupService.selectList(new EntityWrapper<OrganGroup>().where("ifDel=0"));
if (CollectionUtils.isNotEmpty(list)) {
for (OrganGroup group : list) {
if (StrUtils.isNotEmpty(group.getPushaddress())) {
ipList.add(group.getPushaddress());
}
}
}
return ipList;
}

/**
* <li>@Description:添加一个推送同步操作
* <li>@param syncParamConf
* <li>@param data data和对应方法参数个数和类型一致
* <li>@return
* <li>创建人:方承
* <li>创建时间:2017年4月11日
* <li>修改人:
* <li>修改时间:
*/
public boolean addPushSyncOperation(SyncParamConf syncParamConf, Object... data) {
List<String> 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;
}

}