164 lines
5.3 KiB
Java
164 lines
5.3 KiB
Java
|
|
/**
|
|||
|
|
*@Title: DnsFakeIpService.java
|
|||
|
|
*@Package com.nis.web.service.restful
|
|||
|
|
*@Description TODO
|
|||
|
|
*@author wx
|
|||
|
|
*@date 2016年9月7日 下午3:28:44
|
|||
|
|
*@version 版本号
|
|||
|
|
*/
|
|||
|
|
package com.nis.web.service.restful;
|
|||
|
|
|
|||
|
|
import java.util.ArrayList;
|
|||
|
|
import java.util.Date;
|
|||
|
|
import java.util.List;
|
|||
|
|
|
|||
|
|
import org.apache.ibatis.session.ExecutorType;
|
|||
|
|
import org.apache.ibatis.session.SqlSession;
|
|||
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
|
import org.springframework.stereotype.Service;
|
|||
|
|
|
|||
|
|
import com.nis.domain.Page;
|
|||
|
|
import com.nis.domain.restful.DnsFakeIp;
|
|||
|
|
import com.nis.domain.restful.FakeIpConfigCompile;
|
|||
|
|
import com.nis.domain.restful.FakeIpConfigGroup;
|
|||
|
|
import com.nis.util.Constants;
|
|||
|
|
import com.nis.web.dao.CrudDao;
|
|||
|
|
import com.nis.web.dao.DnsFakeIpDao;
|
|||
|
|
import com.nis.web.dao.FakeIpConfigCompileDao;
|
|||
|
|
import com.nis.web.dao.FakeIpConfigGroupDao;
|
|||
|
|
import com.nis.web.service.CrudService;
|
|||
|
|
import com.nis.web.service.SpringContextHolder;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @ClassName: DnsFakeIpService.java
|
|||
|
|
* @Description: TODO
|
|||
|
|
* @author (wx)
|
|||
|
|
* @date 2016年9月7日 下午3:28:44
|
|||
|
|
* @version V1.0
|
|||
|
|
*/
|
|||
|
|
@Service
|
|||
|
|
public class DnsFakeIpService extends CrudService<DnsFakeIpDao, DnsFakeIp> {
|
|||
|
|
@Autowired
|
|||
|
|
public DnsFakeIpDao dnsFakeIpDao;
|
|||
|
|
@Autowired
|
|||
|
|
public FakeIpConfigCompileDao fakeIpConfigCompileDao;
|
|||
|
|
@Autowired
|
|||
|
|
public FakeIpConfigGroupDao fakeIpConfigGroupDao;
|
|||
|
|
public Page<DnsFakeIp> getDnsFakeIp(Page<DnsFakeIp> page, DnsFakeIp entity) {
|
|||
|
|
return findPage(page, entity);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public DnsFakeIp findById(long id) {
|
|||
|
|
return get(id);
|
|||
|
|
}
|
|||
|
|
public void saveDnsFakeIpBatch(List<DnsFakeIp> entity) {
|
|||
|
|
// TODO Auto-generated method stub
|
|||
|
|
this.saveBatch(entity,DnsFakeIpDao.class);
|
|||
|
|
}
|
|||
|
|
public void updateDnsFakeIpBatch(List<DnsFakeIp> entity) {
|
|||
|
|
// TODO Auto-generated method stub
|
|||
|
|
super.updateBatch(entity, DnsFakeIpDao.class);
|
|||
|
|
}
|
|||
|
|
public void removeDnsFakeIp(long id) {
|
|||
|
|
dnsFakeIpDao.delete(id);
|
|||
|
|
}
|
|||
|
|
public void removeDnsFakeIpBatch(List<DnsFakeIp> entity) {
|
|||
|
|
super.deleteBatch(entity, DnsFakeIpDao.class);
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
*
|
|||
|
|
* isValid(单条有效验证)
|
|||
|
|
* (这里描述这个方法适用条件 – 可选)
|
|||
|
|
* @param id
|
|||
|
|
* @return
|
|||
|
|
*boolean
|
|||
|
|
* @exception
|
|||
|
|
* @since 1.0.0
|
|||
|
|
*/
|
|||
|
|
public boolean isValid(long id){
|
|||
|
|
return dnsFakeIpDao.isValid(id)==Integer.parseInt(Constants.YES);
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
*
|
|||
|
|
* isValid(多条有效验证)
|
|||
|
|
* (这里描述这个方法适用条件 – 可选)
|
|||
|
|
* @param entity
|
|||
|
|
* @return
|
|||
|
|
*boolean
|
|||
|
|
* @exception
|
|||
|
|
* @since 1.0.0
|
|||
|
|
*/
|
|||
|
|
public boolean isValid(List<DnsFakeIp> entity){
|
|||
|
|
boolean vaild=false;
|
|||
|
|
List<Long> idsList=new ArrayList<Long>();
|
|||
|
|
for(DnsFakeIp DnsFakeIp : entity){
|
|||
|
|
idsList.add(DnsFakeIp.getId());
|
|||
|
|
if(idsList.size()%1000==0&&idsList.size()!=0){
|
|||
|
|
int count=dnsFakeIpDao.isValidBatch(idsList,Integer.parseInt(Constants.YES));
|
|||
|
|
idsList.clear();
|
|||
|
|
if(count>0){
|
|||
|
|
vaild=true;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if(idsList.size()>0){
|
|||
|
|
int count=dnsFakeIpDao.isValidBatch(idsList,Integer.parseInt(Constants.YES));
|
|||
|
|
idsList.clear();
|
|||
|
|
if(count>0)vaild=true;
|
|||
|
|
}
|
|||
|
|
return vaild;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* (non-Javadoc)
|
|||
|
|
* @see com.nis.web.service.CrudService#saveBatch(java.util.List, java.lang.Class)
|
|||
|
|
*/
|
|||
|
|
@SuppressWarnings("unchecked")
|
|||
|
|
@Override
|
|||
|
|
public void saveBatch(List<DnsFakeIp> data, @SuppressWarnings("rawtypes") Class mClass) {
|
|||
|
|
Date now=new Date();
|
|||
|
|
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
|||
|
|
SqlSession batchSqlSession = null;
|
|||
|
|
try{
|
|||
|
|
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
|||
|
|
for(int index = 0; index < data.size();index++){
|
|||
|
|
DnsFakeIp t = data.get(index);
|
|||
|
|
((DnsFakeIpDao) batchSqlSession.getMapper(mClass)).insert(t);
|
|||
|
|
if(t.getGroupId()==0||t.getGroupId()==1){
|
|||
|
|
//先生成编译,获得编译号
|
|||
|
|
FakeIpConfigCompile fakeIpConfigCompile=new FakeIpConfigCompile();
|
|||
|
|
long compileId=fakeIpConfigCompileDao.getCompileId();
|
|||
|
|
fakeIpConfigCompile.setLastUpdate(now);
|
|||
|
|
System.out.println(compileId);
|
|||
|
|
fakeIpConfigCompile.setCompileId(compileId);
|
|||
|
|
if(t.getGroupId()==0){
|
|||
|
|
fakeIpConfigCompile.setAction(2);
|
|||
|
|
}else if(t.getGroupId()==1)
|
|||
|
|
fakeIpConfigCompile.setAction(1);
|
|||
|
|
fakeIpConfigCompile.setOpTime(t.getOpTime());
|
|||
|
|
fakeIpConfigCompile.setActiveSys(3);
|
|||
|
|
((FakeIpConfigCompileDao) batchSqlSession.getMapper(FakeIpConfigCompileDao.class)).insert(fakeIpConfigCompile);
|
|||
|
|
//生成分组
|
|||
|
|
FakeIpConfigGroup fakeIpConfigGroup=new FakeIpConfigGroup();
|
|||
|
|
fakeIpConfigGroup.setLastUpdate(now);
|
|||
|
|
fakeIpConfigGroup.setGroupId(t.getGroupId());
|
|||
|
|
fakeIpConfigGroup.setCompileId(compileId);
|
|||
|
|
fakeIpConfigGroup.setOpTime(t.getOpTime());
|
|||
|
|
((FakeIpConfigGroupDao) batchSqlSession.getMapper(FakeIpConfigGroupDao.class)).insert(fakeIpConfigGroup);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
batchSqlSession.commit();
|
|||
|
|
// }catch (Exception e){
|
|||
|
|
// batchSqlSession.rollback();
|
|||
|
|
// throw e;
|
|||
|
|
}finally {
|
|||
|
|
if(batchSqlSession != null){
|
|||
|
|
batchSqlSession.close();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|