This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-k18-galaxy-service/src/main/java/com/nis/web/service/restful/DnsFakeIpService.java
zhangdongxu 13acafd43d 上传代码
2017-12-19 14:55:52 +08:00

164 lines
5.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
*@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();
}
}
}
}