package com.landtool.lanbase.modules.sys.service.impl;
|
|
import org.apache.commons.io.IOUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.landtool.lanbase.common.utils.GeneratorUtils;
|
import com.landtool.lanbase.modules.sys.dao.SysGeneratorDao;
|
import com.landtool.lanbase.modules.sys.service.SysGeneratorService;
|
|
import java.io.ByteArrayOutputStream;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.zip.ZipOutputStream;
|
|
/**
|
* @author lanbase
|
* @Description: TODO()
|
* @date 2017-6-23 15:07
|
*/
|
@Service("sysGeneratorService")
|
public class SysGeneratorServiceImpl implements SysGeneratorService {
|
|
@Autowired
|
private SysGeneratorDao sysGeneratorDao;
|
|
@Override
|
public List<Map<String, Object>> queryList(Map<String, Object> map) {
|
return sysGeneratorDao.queryList(map);
|
}
|
|
@Override
|
public int queryTotal(Map<String, Object> map) {
|
return sysGeneratorDao.queryTotal(map);
|
}
|
|
@Override
|
public Map<String, String> queryTable(String tableName) {
|
return sysGeneratorDao.queryTable(tableName);
|
}
|
|
@Override
|
public List<Map<String, String>> queryColumns(String tableName) {
|
return sysGeneratorDao.queryColumns(tableName);
|
}
|
|
@Override
|
public byte[] generatorCode(String[] tableNames) {
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
ZipOutputStream zip = new ZipOutputStream(outputStream);
|
|
for(String tableName : tableNames){
|
//查询表信息
|
Map<String, String> table = queryTable(tableName);
|
//查询列信息
|
List<Map<String, String>> columns = queryColumns(tableName);
|
//生成代码
|
GeneratorUtils.generatorCode(table, columns, zip);
|
}
|
IOUtils.closeQuietly(zip);
|
return outputStream.toByteArray();
|
}
|
}
|