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> queryList(Map map) { return sysGeneratorDao.queryList(map); } @Override public int queryTotal(Map map) { return sysGeneratorDao.queryTotal(map); } @Override public Map queryTable(String tableName) { return sysGeneratorDao.queryTable(tableName); } @Override public List> 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 table = queryTable(tableName); //查询列信息 List> columns = queryColumns(tableName); //生成代码 GeneratorUtils.generatorCode(table, columns, zip); } IOUtils.closeQuietly(zip); return outputStream.toByteArray(); } }