package com.sohu.cache.client.service.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sohu.cache.client.service.AppInstanceClientRelationService;
import com.sohu.cache.dao.AppInstanceClientRelationDao;
import com.sohu.cache.entity.AppClientCostTimeStat;
import com.sohu.cache.entity.AppInstanceClientRelation;
/**
* 应用下节点和客户端关系服务
*
* @author leifu
* @Date 2016年5月3日
* @Time 下午6:48:40
*/
public class AppInstanceClientRelationServiceImpl implements AppInstanceClientRelationService {
private Logger logger = LoggerFactory.getLogger(AppInstanceClientRelationServiceImpl.class);
private AppInstanceClientRelationDao appInstanceClientRelationDao;
@Override
public void batchSave(List<AppClientCostTimeStat> appClientCostTimeStatList) {
if (CollectionUtils.isEmpty(appClientCostTimeStatList)) {
return;
}
try {
List<AppInstanceClientRelation> appInstanceClientRelationList = new ArrayList<AppInstanceClientRelation>();
for (AppClientCostTimeStat appClientCostTimeStat : appClientCostTimeStatList) {
AppInstanceClientRelation appInstanceClientRelation = AppInstanceClientRelation.generateFromAppClientCostTimeStat(appClientCostTimeStat);
if (appInstanceClientRelation != null) {
appInstanceClientRelationList.add(appInstanceClientRelation);
}
}
if (CollectionUtils.isNotEmpty(appInstanceClientRelationList)) {
appInstanceClientRelationDao.batchSave(appInstanceClientRelationList);
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
@Override
public List<AppInstanceClientRelation> getAppInstanceClientRelationList(Long appId, Date date) {
try {
return appInstanceClientRelationDao.getAppInstanceClientRelationList(appId, date);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Collections.emptyList();
}
}
public void setAppInstanceClientRelationDao(AppInstanceClientRelationDao appInstanceClientRelationDao) {
this.appInstanceClientRelationDao = appInstanceClientRelationDao;
}
}