java 数据生成 图片

package cn.luxin.托尔斯泰;



import java.util.List;

/**
 * @ClassName: ChildrenInfo
 * @Description:
 * @Author
 * @Date 2019/5/16 15:37
 * @Version V1.0
 **/
public class ChildrenInfo {
    //人或公司id
    private String id;
    //名称
    private String name;
    //H 人 C公司
    private String type;
    //金额
    private String amount;
    //占比
    private String percent;
    //股东类型
    private String sh_type;
    //子节点
    private List <ChildrenInfo> children;
    //
    private String regCapital;
    //父节点名称
    private String parentName;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getPercent() {
        return percent;
    }

    public void setPercent(String percent) {
        this.percent = percent;
    }

    public String getSh_type() {
        return sh_type;
    }

    public void setSh_type(String sh_type) {
        this.sh_type = sh_type;
    }

    public List <ChildrenInfo> getChildren() {
        return children;
    }

    public void setChildren(List <ChildrenInfo> children) {
        this.children = children;
    }

    public String getRegCapital() {
        return regCapital;
    }

    public void setRegCapital(String regCapital) {
        this.regCapital = regCapital;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }
}

 

package cn.luxin.托尔斯泰;



import java.util.List;

/**
 * 结构体信息
 * @ClassName: StructureInfo
 * @Description:
 * @Author
 * @Date 2019/5/16 15:24
 * @Version V1.0
 **/
public class StructureInfo {
    //公司id
    private String id;
    //公司名
    private String name;
    //H 人 C公司
    private String type;
    //金额
    private String amount;
    //占比
    private String percent;
    //股东类型
    private String sh_type;
    //子节点
    private List <ChildrenInfo> children;
    //X轴
    private int X;
    //X轴
    private int Y;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getPercent() {
        return percent;
    }

    public void setPercent(String percent) {
        this.percent = percent;
    }

    public String getSh_type() {
        return sh_type;
    }

    public void setSh_type(String sh_type) {
        this.sh_type = sh_type;
    }

    public List <ChildrenInfo> getChildren() {
        return children;
    }

    public void setChildren(List <ChildrenInfo> children) {
        this.children = children;
    }

    public int getX() {
        return X;
    }

    public void setX(int x) {
        X = x;
    }

    public int getY() {
        return Y;
    }

    public void setY(int y) {
        Y = y;
    }
}
package cn.luxin;


import club.newepoch.utils.JsonUtils;
import cn.luxin.托尔斯泰.StructureInfo;
import com.alibaba.fastjson.JSONObject;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 数据转换图片
 *
 * @ClassName: PictureGeneration
 * @Description:
 * @Author
 * @Date 2019/5/16 21:01
 * @Version V1.0
 **/
public class PictureGeneration  {
    //用于接受最大的Y轴数值
    int YTotal = 0;

    /**
     * 生成图片
     *
     * @param cellsValue 表格里面的值
     */
    public String myGraphicsGeneration(String cellsValue) {
        //初始化
        List <StructureInfo> allChildNodes = new ArrayList <>();
        // 字体大小
        int fontTitileSize = 15;
        // 图片宽度
        int imageWidth = 900;
        // 图片高度
        int imageHeight = cellsValue.length() / 15 + 300;
        //生成空图片
        BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
        //初始化绘画工具到空图片上
        Graphics graphics = image.getGraphics();
        //绘制背景颜色
        graphics.setColor(Color.WHITE);
        //填充矩形
        graphics.fillRect(0, 0, imageWidth, imageHeight);
        graphics.setColor(new Color(0, 0, 0));
        //设置字体
        Font font = new Font("微软雅黑", Font.BOLD, fontTitileSize);
        graphics.setFont(font);
        //写入内容
        int x = 30;
        int y = 60;
        List <Object> object = null;
        List <String> structureList = new ArrayList <>();
        List <String> pathLst = new ArrayList <>();
        //获取整个json数据并且将json数据转为Map类型
        Map <String, Object> stringObjectMap = JsonUtils.parseJson2Map(cellsValue);
        for (String key : stringObjectMap.keySet()) {
            //获取key为result的所有Data
            if ("result".equals(key)) {
                //将result的数据全部转为Map类型
                Map <String, Object> stringObjectMap1 = JsonUtils.parseJson2Map(JsonUtils.toJSONString(stringObjectMap.get(key)));
                for (String key1 : stringObjectMap1.keySet()) {
                    //获取主要控股的公司或者人
                    if ("path".equals(key1)) {
                        //获取path的所有子节点
                        List <Object> pathAllChildNodes = JsonUtils.parseJson2List(JsonUtils.toJSONString(stringObjectMap1.get(key1)));
                        for (Object pathAllChildNodesInfo : pathAllChildNodes) {
                            //将path的子节点转换成JSONObject
                            JSONObject str1 = (JSONObject) pathAllChildNodesInfo;
                            Object cellsValueinfo111 = str1.get("value");
                            font = new Font("微软雅黑", Font.PLAIN, fontTitileSize);
                            pathLst.add(cellsValueinfo111.toString());
                            graphics.setFont(font);
                            graphics.setColor(Color.blue);
                        }
                        graphics.drawString(pathLst.toString(), x, y);
                    }
                    //获取股权结构
                    if ("structure".equals(key1)) {
                        //将股权结构的数据全部转为Map类型
                        Map <String, Object> equityStructure = JsonUtils.parseJson2Map(JsonUtils.toJSONString(stringObjectMap1.get(key1)));
                        //公司名
                        structureList.add(equityStructure.get("name").toString());
                        //金额
                        structureList.add(equityStructure.get("amount").toString());
                        //占比
                        structureList.add(equityStructure.get("percent").toString());
                        //设置字体以及颜色
                        graphics.setFont(font);
                        graphics.setColor(Color.MAGENTA);
                        //将X和Y轴增加30
                        x = 30 + x;
                        y = 30 + y;
                        graphics.drawString(structureList.toString(), x, y);
                        //若股权结构子节点不为空时
                        if (!equityStructure.get("children").toString().equals("[]")) {
                            //获取全部children子节点
                            object = JsonUtils.parseJson2List(JsonUtils.toJSONString(equityStructure.get("children")));
                            //将当前的Y轴数值赋值给最大的Y轴变量
                            YTotal = y;
                            //将全部股权结构子节点和XY轴数据传到递归方法
                            // 这里是提前x 方向 偏移30 ,然后在递归方法里面如果有子节点,在往 y 方向偏移 30  ,这里的偏移 的只是距离 ,没有正负轴之说。
                            Recursive(allChildNodes, object, x + 30, y );
//                            int r = 0;
                            for (StructureInfo i : allChildNodes) {
                                List <String> asdaASDsd = new ArrayList <>();
                                String naem = i.getName();
                                String amount = i.getAmount();
                                String percent = i.getPercent();
                                int X = i.getX();
                                int Y = i.getY();
                                asdaASDsd.add(naem);
                                asdaASDsd.add(amount);
                                asdaASDsd.add(percent);
                                font = new Font("微软雅黑", Font.PLAIN, fontTitileSize);
                                graphics.setFont(font);
                                graphics.setColor(Color.red);
                                graphics.drawString(asdaASDsd.toString(), X, Y);
//                                r++;
                            }
                        }
                    }
                }
            }
        }
        String savePath = "D:\\uploadTest" ;
        String companyName = structureList.get(0);
        //写标题
        String title = companyName + "股权结构图";
        graphics.drawString(title, 30, 30);
        // 保存图片
        String savePicture = createImage(image, savePath + "\\" + companyName + ".jpg", companyName);
        return savePicture;
    }

    /**
     * 将图片保存到指定位置
     *
     * @param image        缓冲文件类
     * @param fileLocation 文件位置
     * @param fileName     文件名称
     */
    public String createImage(BufferedImage image, String fileLocation, String fileName) {
//        try {
//            FileOutputStream fos = new FileOutputStream(fileLocation);
//            BufferedOutputStream bos = new BufferedOutputStream(fos);
//            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
//            encoder.encode(image);
//            bos.close();
//            // 保存文件信息到文件表
//            String fileUuid = StringUtils.randomUuid();
//            File file = new File(fileLocation);
//            FileInfo fileInfo = new FileInfo();
//            fileInfo.setFile(file);
//
//            fileInfo.setOriginalFileName(fileName);
//            SysFile saveFile = SysFileUtils.fileInfo2SysFile(fileInfo, null);
//            saveFile.set("uuid", fileUuid);
//            boolean isTrue = saveFile.save();
//            if (isTrue) {
//                // 保存成功
//                // 文件上传云端
//                FileInfo UpFileInfo = this.getFileInfoByUuid(fileUuid);
//                this.upload2cloud(UpFileInfo, false);
//            }
//            return fileUuid;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return null;

        try {
            FileOutputStream fos = new FileOutputStream(fileLocation);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
            encoder.encode(image);
            bos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 判断当前children节点是否有子节点
     * 主要目的是获取 所有的 children 的个数
     *
     * @param list      空的List对象
     * @param Structure List对象
     * @param x         X轴
     * @param y         Y轴
     */

    /**
     * 总的思路:提前把: x的偏移量 30 ,偏移, 然后在 获取 “children” 的子节点的时候,在偏移 y  30
     *  如果有“ children” 有子节点 ,就设置当前的children 的x,y 到list  中去 ,在去找 “children”  的字节点的个数,也就是 调用自己本身的方法
     *  如果“children”  没有字节点 ,就设置当前 children 的x,y 到list  中去
     * @param list
     * @param Structure
     * @param x
     * @param y
     */
    public void Recursive(List <StructureInfo> list, List <Object> Structure, int x, int y) {
        for (Object Structure1 : Structure) {
            //获取当前子节点的数据
            JSONObject str = (JSONObject) Structure1;
            //初始化结构体信息
            StructureInfo structureInfo = new StructureInfo();
            //公司名字
            structureInfo.setName(str.get("name").toString());
            //金额
            structureInfo.setAmount(str.get("amount").toString());
            //占比
            structureInfo.setPercent(str.get("percent").toString());
            //获取当前节点的子节点
            List <Object> list1 = JsonUtils.parseJson2List(str.get("children").toString());
            //将Y轴加30
            y = YTotal + 30;
            //将最大的Y轴数值也增加30
            YTotal = YTotal + 30;
            //当前股权结构是否有子节点
            if (list1.size() != 0) {
                structureInfo.setX(x);
                structureInfo.setY(y);
                list.add(structureInfo);
                //如果当前循环的子节点中,“children”的不为空的话 ,就再次调用自己,并且在调用的同时,还是要提前把 ,x偏移 30
                Recursive(list, list1, x + 30, y);
            } else {
                structureInfo.setX(x);
                structureInfo.setY(y);
                list.add(structureInfo);
            }
        }
    }
}
package cn.luxin;


import club.newepoch.persistent.db.exception.ActiveRecordException;
import org.eclipse.jdt.internal.compiler.batch.Main;

import java.io.IOException;


public class TYCInterfaceController  {

   public static void main(String[] args) {
      try {
         new TYCInterfaceService().enterpriseInformationFile();
      } catch (IOException e) {
         e.printStackTrace();
      } catch (ActiveRecordException e) {
         e.printStackTrace();
      }
   }


}
package cn.luxin;

import club.newepoch.persistent.db.exception.ActiveRecordException;
import club.newepoch.utils.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.xssf.usermodel.*;
import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;




/**
 * 天眼查接口Service
 *
 * @ClassName: TYCInterfaceService
 * @Description:
 * @Author 李宏凯
 * @Date 2019/5/15 14:15
 * @Version V1.0
 **/
public class TYCInterfaceService   {

    /**
     * 获取企业基本信息并且生成文件
     *
     * @param ctl
     * @return
     */
//    public boolean getBusinessInfo(QhyfController ctl) throws IOException {
//        String result = "";
//        boolean basicFileInfo = false;
//        try {
//            List <NameValuePair> params = new ArrayList <NameValuePair>();
//            String id = ctl.getPara("id");
//            if (StringUtils.notBlank(id)) {
//                params.add(new BasicNameValuePair("id", id));
//            }
//            String name = ctl.getPara("name");
//            if (StringUtils.notBlank(name)) {
//                params.add(new BasicNameValuePair("name", name));
//            }
//            Date startTime = new Date();
//            String str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
//            String token = "21416d43-62b5-4522-9d6b-1072ff89bc54";
//            String url = "http://open.api.tianyancha.com/services/v4/open/";
//            String interfaceName = "baseinfo";
//            // 根据地址获取请求
//            HttpGet request = new HttpGet(url + interfaceName + "?" + str);//这里发送get请求
//            // 获取当前客户端对象
//            request.setHeader("Authorization", token);
//            HttpClient httpClient = new DefaultHttpClient();
//            // 通过请求对象获取响应对象
//            HttpResponse response = httpClient.execute(request);
//            // 判断网络连接状态码是否正常(0--200都数正常)
//            if (response.getStatusLine().getStatusCode() >= 0 && response.getStatusLine().getStatusCode() <= HttpStatus.SC_OK) {
//                result = EntityUtils.toString(response.getEntity(), "utf-8");
//            }
//            updateTycHistory(response, startTime, interfaceName, url);
//            JSONObject results = JSONObject.fromObject(result);
//            if (!results.get("error_code").equals("0")) {
//                //AssertUtils.isTrue(false, results.get("reason").toString());
//            }
//            // 企业基本信息文件生成
//            //basicFileInfo = enterpriseInformationFile(ctl, results, id, token);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return basicFileInfo;
//    }

    /**
     * 企业基本信息文件生成
     */
    public void enterpriseInformationFile(/*, JSONObject flieInfo, String id, String token*/) throws IOException, ActiveRecordException {
        /*//公司名称
        Object name = flieInfo.getJSONObject("result").get("name");
        //统一社会信用代码
        Object creditCode = flieInfo.getJSONObject("result").get("creditCode");
        //核准日期
        Object approvedTime = flieInfo.getJSONObject("result").get("approvedTime");*/
        Object name = "某某供应商";
        Object creditCode = "TYSHXYDM";
        Object approvedTime = "2019-05-05";

        //数据抓取时间
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dataCaptureTime = sdf.format(date);
        //股权结构图
        //String structureChartJosnInfo = getMessageByUrlToken(ctl, id, token);
        String jsonStr = "{\"error_code\":0, " +
                "\"reason\":\"ok\"," +
                "\"result\":{" +
                "     \"path\":[" +
                "           {" +
                "           \"type\":\"name\"," +
                "           \"value\":\"李彦宏\"," +
                "           \"id\":\"1984012283\"," +
                "           \"cid\":\"22822\" " +
                "            }," +
                "           {" +
                "           \"type\":\"percent\"," +
                "           \"value\":\"99.50%\"" +
                "            }," +
                "           {" +
                "           \"type\":\"name\"," +
                "           \"value\":\"北京百度网讯科技有限公司\"" +
                "            }" +
                "              ]," +
                "     \"structure\":{" +
                "          \"id\":\"22822\"," +
                "          \"name\":\"北京百度网讯科技有限公司\"," +
                "          \"type\":\"C\"," +
                "          \"amount\":\"216042.36\"," +
                "          \"percent\":\"99.50%\"," +
                "          \"sh_type\":null," +
                "          \"children\":[" +
                "                  {" +
                "                      \"id\":\"1984012283\"," +
                "                      \"name\":\"李彦宏1\"," +
                "                      \"type\":\"H\"," +
                "                      \"amount\":\"216042.36\"," +
                "                      \"percent\":\"99.50%\"," +
                "                      \"sh_type\":\"工商股东\"," +
                "                      \"children\":[ " +
                "                                  {" +
                "                                 \"id\":\"1984012283\"," +
                "                                 \"name\":\"李彦宏2\"," +
                "                                 \"type\":\"H\"," +
                "                                 \"amount\":\"216042.36\"," +
                "                                 \"percent\":\"99.50%\"," +
                "                                 \"sh_type\":\"工商股东\"," +
                "                                 \"children\":["+
                "                                               {" +
                "                                              \"id\":\"1984012283\"," +
                "                                              \"name\":\"李彦宏3\"," +
                "                                              \"type\":\"H\"," +
                "                                              \"amount\":\"216042.36\"," +
                "                                              \"percent\":\"99.50%\"," +
                "                                              \"sh_type\":\"工商股东\"," +
                "                                              \"children\":[ ]," +
                "                                              \"regCapital\":null," +
                "                                              \"parentName\":\"children\"," +
                "                                              \"actualHolding\":true" +
                "                                               }," +
                "                                               {" +
                "                                              \"id\":\"1839080315\"," +
                "                                              \"name\":\"向海龙1\"," +
                "                                              \"type\":\"H\"," +
                "                                              \"amount\":\"1085.64\"," +
                "                                              \"percent\":\"0.50%\"," +
                "                                              \"sh_type\":\"工商股东\"," +
                "                                              \"children\":[" +
                "                                                            {" +
                "                                                           \"id\":\"1839080315\"," +
                "                                                           \"name\":\"向海龙1\"," +
                "                                                           \"type\":\"H\"," +
                "                                                           \"amount\":\"1085.64\"," +
                "                                                           \"percent\":\"0.50%\"," +
                "                                                           \"sh_type\":\"工商股东\"," +
                "                                                           \"children\":[]," +
                "                                                           \"regCapital\":null," +
                "                                                           \"parentName\":\"children\"," +
                "                                                           \"actualHolding\":false" +
                "                                                             }" +
                "                                                           ]," +
                "                                              \"regCapital\":null," +
                "                                              \"parentName\":\"children\"," +
                "                                              \"actualHolding\":false" +
                "                                               }," +
                "                                               {" +
                "                                              \"id\":\"1984012283\"," +
                "                                              \"name\":\"李彦宏4\"," +
                "                                              \"type\":\"H\"," +
                "                                              \"amount\":\"216042.36\"," +
                "                                              \"percent\":\"99.50%\"," +
                "                                              \"sh_type\":\"工商股东\"," +
                "                                              \"children\":[ ]," +
                "                                              \"regCapital\":null," +
                "                                              \"parentName\":\"children\"," +
                "                                              \"actualHolding\":true" +
                "                                               }" +
                "                                                ]," +
                "                                 \"regCapital\":null," +
                "                                 \"parentName\":\"children\"," +
                "                                 \"actualHolding\":true" +
                "                                   }" +
                "                                  ]," +
                "                      \"regCapital\":null," +
                "                      \"parentName\":\"children\"," +
                "                      \"actualHolding\":true" +
                "                  }," +
                "                  {" +
                "                       \"id\":\"1984012283\"," +
                "                       \"name\":\"李彦宏5\"," +
                "                       \"type\":\"H\"," +
                "                       \"amount\":\"216042.36\"," +
                "                       \"percent\":\"99.50%\"," +
                "                       \"sh_type\":\"工商股东\"," +
                "                       \"children\":[ ]," +
                "                       \"regCapital\":null," +
                "                       \"parentName\":\"children\"," +
                "                       \"actualHolding\":true" +
                "                   }," +
                "         ]," +
                "      \"regCapital\":\"217128\"," +
                "      \"parentName\":\"structure\"," +
                "      \"actualHolding\":true" +
                "     }"+
                "   }" +
                "}";


        //图片生成
        PictureGeneration pictureGeneration = new PictureGeneration();
        pictureGeneration.myGraphicsGeneration(jsonStr);

        // 设置导出时间
        SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String exportTime = sd.format(new Date());

        // 创建表头
        XSSFWorkbook workbook = new XSSFWorkbook();
        String savePath =  "D:\\uploadTest\\";
        File save = new File(savePath);
        if (!save.exists() && !save.isDirectory()) {
            save.mkdirs();
        }
        String fileName = "某某供应商信息.xlsx";
        savePath = savePath + File.separator + fileName;
        FileOutputStream fout = new FileOutputStream(savePath);
        // 创建检测结果sheet
        XSSFSheet sheetPay = workbook.createSheet("供应商信息");
        sheetPay.createFreezePane(0, 1, 0, 1);
        // 设置付款单信息筛选
//        CellRangeAddress payChoose = CellRangeAddress.valueOf("B1:V1");
//        sheetPay.setAutoFilter(payChoose);
        XSSFRow headPayRow = sheetPay.createRow(0);
        // 设置付款单sheet行高
        sheetPay.setDefaultRowHeightInPoints(3 * 10);
        // 定义付款单sheet表头
        String[] headPayArr = {"公司名称", "统一社会信用代码", "核准日期", "数据抓取时间", "股权结构图"};
        // 单元格
        XSSFCell headPayCell = null;
        XSSFCellStyle style = workbook.createCellStyle();
        // 表头样式设置
        style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
        style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
        style.setBorderTop(XSSFCellStyle.BORDER_THIN);
        style.setBorderRight(XSSFCellStyle.BORDER_THIN);
        // 设置背景色
        style.setFillForegroundColor(new XSSFColor(new Color(216, 216, 216)));
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
        style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
        style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
        // 设置表头字体
        XSSFFont headFont = workbook.createFont();
        // 字体样式
        headFont.setFontName("宋体");
        // 字体大小
        headFont.setFontHeightInPoints((short) 9);
        // 加粗
        headFont.setBold(true);
        style.setFont(headFont);
        // 列宽设置
        sheetPay.setColumnWidth(0, 2 * 256);// 公司名称
        sheetPay.setColumnWidth(1, 10 * 256);// 统一社会信用代码
        sheetPay.setColumnWidth(2, 15 * 256);// 核准日期
        sheetPay.setColumnWidth(3, 10 * 256);// 数据抓取时间
        sheetPay.setColumnWidth(4, 40 * 256);// 股权结构图
        // 写入付款通知书表头
        for (int i = 0; i < headPayArr.length; i++) {
            sheetPay.autoSizeColumn(i + 1);
            headPayCell = headPayRow.createCell(i + 1);
            headPayCell.setCellValue(headPayArr[i]);
            headPayCell.setCellStyle(style);
        }
        // 设置单元格样式
        XSSFCellStyle cellStyle = workbook.createCellStyle();
        // 边框
        cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
        cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
        cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
        cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
        // 内容换行
        cellStyle.setWrapText(true);
        // 垂直居中
        cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
        // 设置单元格字体
        XSSFFont font = workbook.createFont();
        // 字体样式
        font.setFontName("微软雅黑");
        // 字体大小
        font.setFontHeightInPoints((short) 9);
        cellStyle.setFont(font);
        // 加粗
        XSSFCell cellPay = null;
        XSSFRow rowPay = null;
        // 对各元素设值
        rowPay = sheetPay.createRow( 1);
        cellPay = rowPay.createCell(1);
        cellPay.setCellValue(name.toString());
        cellPay.setCellStyle(cellStyle);
        cellPay = rowPay.createCell(2);
        cellPay.setCellValue(creditCode.toString());
        cellPay.setCellStyle(cellStyle);
        cellPay = rowPay.createCell(3);
        cellPay.setCellValue(approvedTime.toString());
        cellPay.setCellStyle(cellStyle);
        cellPay = rowPay.createCell(4);
        cellPay.setCellValue(dataCaptureTime);
        cellPay.setCellStyle(cellStyle);
        cellPay = rowPay.createCell(5);
        cellPay.setCellStyle(cellStyle);
        // 保存到文件
        workbook.write(fout);
        fout.close();
        // 保存文件信息到文件表
        String fileUuid = StringUtils.randomUuid();
        File file = new File(savePath);
//        FileInfo UpFileInfo = this.getFileInfoByUuid(fileUuid);
//        this.upload2cloud(UpFileInfo, true);
//        FileInfo fileInfo = new FileInfo();
//        fileInfo.setFile(file);
//        fileInfo.setOriginalFileName(fileName);
//        SysFile saveFile = SysFileUtils.fileInfo2SysFile(fileInfo, null);
//        saveFile.set("uuid", fileUuid);
//        boolean isTrue = saveFile.save();
//        if (isTrue) {
//            // 保存成功
//            // 文件上传云端
//            FileInfo UpFileInfo = this.getFileInfoByUuid(fileUuid);
//            this.upload2cloud(UpFileInfo, true);
//            // 更新绿城付款单数据表对应导出状态为已导出
//            return fileUuid;
//        } else {
//            return null;
//        }
    }

    /**
     * 获取股权结构图数据
     *
     * @param
     * @return
     */
//    public String getMessageByUrlToken(  String id, String token) {
//        String result = "";
//        JSONObject results = null;
//        try {
//            List <NameValuePair> params = new ArrayList <NameValuePair>();
//            if (StringUtils.notBlank(id)) {
//                params.add(new BasicNameValuePair("id", id));
//            }
//            Date startTime = new Date();
//            String str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8));
//            String url = "http://open.api.tianyancha.com/services/v4/open/";
//            String interfaceName = "equityRatio";
//            // 根据地址获取请求
//            HttpGet request = new HttpGet(url + interfaceName + "?" + str);
//            // 获取当前客户端对象
//            request.setHeader("Authorization", token);
//            HttpClient httpClient = new DefaultHttpClient();
//            // 通过请求对象获取响应对象
//            HttpResponse response = httpClient.execute(request);
//            // 判断网络连接状态码是否正常(0--200都数正常)
//            if (response.getStatusLine().getStatusCode() >= 0 && response.getStatusLine().getStatusCode() <= HttpStatus.SC_OK) {
//                result = EntityUtils.toString(response.getEntity(), "utf-8");
//            }
//            updateTycHistory(response, startTime, interfaceName, url);
//
//            if (!results.get("error_code").equals("0")) {
//                //AssertUtils.isTrue(false, results.get("reason").toString());
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return result;
//    }


    /**
     * 保存天眼查接口履历
     *
     * @throws Exception
     */
//    public void updateTycHistory(HttpResponse response, Date startTime, String interfaceName, String url) throws Exception {
//        // 设置接口信息
//        ApiCallInfo apiCallInfo = new ApiCallInfo(Thread.currentThread().getStackTrace()[2].getMethodName());
//        if (response.getStatusLine().getStatusCode() >= 0 && response.getStatusLine().getStatusCode() <= HttpStatus.SC_OK) {
//            // 是否调用成功
//            apiCallInfo.setCalled(true);
//            apiCallInfo.setResult(response);
//        } else {
//            // 是否调用成功
//            apiCallInfo.setCalled(false);
//            // 设置返回信息
//            apiCallInfo.setError(response.toString());
//        }
//        // 接口名称
//        apiCallInfo.setApi(interfaceName);
//        // 接口名称
//        apiCallInfo.setSendApi(url + interfaceName);
//        // 履历接口调用类名
//        apiCallInfo.setLocation(Thread.currentThread().getStackTrace()[2].getClassName());
//        // 调用开始时间
//
//        apiCallInfo.setStartTime(startTime);
//        // 调用结束时间
//        apiCallInfo.setEndTime(new Date());
//        // 调用者
//        apiCallInfo.setCallUser(BlConstant.FIELD_DB_CURRENT_SYSTEM_USER_ID);
//        // 保存风报接口调用履历
//        IApiCallResultHandle callResult = new ApiCallResult2DbHandleImpl();
//        callResult.handle(apiCallInfo, "biz_tyc_api_history");
//    }

}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.qhyf</groupId>
    <artifactId>qhyf</artifactId>
    <version>1.0.80-beta</version>
    <name>Qhyf-WEB</name>
    <url>http://ISCWX.newepoch.club</url>

    <properties>
        <slf4j.version>1.7.7</slf4j.version>
        <logback.version>1.1.3</logback.version>
        <nebase.version>1.5.13-release</nebase.version>
        <nedb.version>1.0.63-qhyf</nedb.version>
        <ijfinal-version>1.3.46-release</ijfinal-version>
        <!-- <jf-wx.version>1.5.3-SNAPSHOT</jf-wx.version> -->
        <iwx.version>1.2.41-release</iwx.version>
        <!-- <jf-ext.version>3.1.4</jf-ext.version> -->
        <iweb.version>1.0.71</iweb.version>
        <codeGenerator.version>0.0.3</codeGenerator.version>
        <druid.version>1.0.19</druid.version>
        <nenio.version>0.0.122</nenio.version>
        <cordysclient.version>0.0.70-SNAPSHOT</cordysclient.version>
        <aliyun-version>2.2.1</aliyun-version>
    </properties>
    <developers>
        <developer>
            <email>tommylee@leebing.com</email>
            <name>leebing</name>
            <organization>NewEpoch@intasect</organization>
            <organizationUrl>newepoch@intasect.com.cn</organizationUrl>
        </developer>
    </developers>
    <dependencies>

        <!-- http://mvnrepository.com/artifact/org.apache.xmlgraphics/fop -->
        <!-- <dependency> -->
        <!-- <groupId>org.apache.xmlgraphics</groupId> -->
        <!-- <artifactId>fop</artifactId> -->
        <!-- <version>2.1</version> -->
        <!-- </dependency> -->
        <dependency>
            <groupId>com.github.junrar</groupId>
            <artifactId>junrar</artifactId>
            <version>0.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.4.2</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.2</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>${aliyun-version}</version>
        </dependency>
        <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j</artifactId>
            <version>3.2.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-scratchpad</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- http://mvnrepository.com/artifact/com.hynnet/jacob -->
        <dependency>
            <groupId>com.hynnet</groupId>
            <artifactId>jacob</artifactId>
            <version>1.18</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.9</version>
        </dependency>

        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>BaseProject</artifactId>
            <version>${nebase.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j</artifactId>
            <version>3.2.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.9</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>


        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>iwx</artifactId>
            <version>${iwx.version}</version>
        </dependency>
        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>iweb</artifactId>
            <version>${iweb.version}</version>
        </dependency>
        <dependency>
            <groupId>club.newepoch.cordys</groupId>
            <artifactId>CordysClient</artifactId>
            <version>${cordysclient.version}</version>
        </dependency>

        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>NeNio</artifactId>
            <version>${nenio.version}</version>
        </dependency>

        <dependency>
            <groupId>com.jfinal</groupId>
            <artifactId>jetty-server</artifactId>
            <version>8.1.8</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-jsp</artifactId>
            <version>8.1.8.v20121106</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.github.jknack</groupId>
            <artifactId>handlebars</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>com.jfinal</groupId>
            <artifactId>cos</artifactId>
            <version>26Dec2008</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <!--SpringAmqpImpl间接依赖-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>

        <!--NewEpoch通用MQ框架依赖-->
        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>NewEpochMQ</artifactId>
            <version>1.0.9-release</version>
        </dependency>

        <!--基于NEMQ的消息通知框架-->
        <dependency>
            <groupId>club.newepoch.Notify</groupId>
            <artifactId>Notify-impl-nemq</artifactId>
            <version>0.0.3</version>
        </dependency>

        <!--NEMQ的SpringAmpq实现→针对Rabbitmq-->
        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>SpringAmqpImpl</artifactId>
            <version>1.0.4-release</version>
        </dependency>
        <!-- <dependency> -->
        <!-- <groupId>com.jfinal</groupId> -->
        <!-- <artifactId>jfinal-ext</artifactId> -->
        <!-- <version>${jf-ext.version}</version> -->
        <!-- <exclusions> -->
        <!-- 不依赖官方jfinal框架,而通过IJfinal替代 -->
        <!-- <exclusion> -->
        <!-- <groupId>com.jfinal</groupId> -->
        <!-- <artifactId>jfinal</artifactId> -->
        <!-- </exclusion> -->
        <!-- </exclusions> -->
        <!-- </dependency> -->

        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>IJfinal</artifactId>
            <version>${ijfinal-version}</version>
            <exclusions>
                <!-- 不再从IJfinal中继承依赖NEDB,避免每次NEDB升级都必须对IJfinal进行升级 -->
                <exclusion>
                    <groupId>club.newepoch</groupId>
                    <artifactId>NewEpochDB</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>net.sf.ehcache</groupId>
                    <artifactId>ehcache-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>NewEpochDB</artifactId>
            <version>${nedb.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>club.newepoch</groupId>
                    <artifactId>NeNio</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- <dependency> <groupId>club.newepoch</groupId> <artifactId>NewEpochCodeGenerator</artifactId>
            <version>${necg.version}</version> </dependency> -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.14</version>
        </dependency>
        <dependency>
            <groupId>org.beetl</groupId>
            <artifactId>beetl-core</artifactId>
            <version>2.2.3</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Logging with SLF4J & LogBack -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
            <!-- <scope>test</scope> -->
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
            <!-- <scope>test</scope> -->
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.6.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.9.6</version>
        </dependency>
        <dependency>
            <groupId>com.sun.media</groupId>
            <artifactId>jai_codec</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.0.7</version>
        </dependency>
        <dependency>
            <groupId>javax.media</groupId>
            <artifactId>jai_core</artifactId>
            <version>1.1.3</version>
        </dependency>
        <!-- <dependency> -->
        <!-- <groupId>commons-logging</groupId> -->
        <!-- <artifactId>commons-logging</artifactId> -->
        <!-- <version>1.2</version> -->
        <!-- </dependency> -->

        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>NewEpochCodeGenerator</artifactId>
            <version>${codeGenerator.version}</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>${aliyun-version}</version>
        </dependency>
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.1.6</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>3.2.8</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>club.newepoch</groupId>
            <artifactId>ijfinal-ext</artifactId>
            <version>0.0.3</version>
        </dependency>

        <!-- pdf解析支持 -->
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.13</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.rpc</groupId>
            <artifactId>javax.xml.rpc-api</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.5.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.soap</groupId>
            <artifactId>saaj-api</artifactId>
            <version>1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.activation</groupId>
                    <artifactId>activation</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 电子发票三方依赖 -->
        <dependency>
            <groupId>com.qhyf</groupId>
            <artifactId>axis</artifactId>
            <version>0.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.qhyf</groupId>
            <artifactId>myencrypt</artifactId>
            <version>0.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.qhyf</groupId>
            <artifactId>xfire</artifactId>
            <version>0.0.1</version>
        </dependency>
        <!-- 电子发票三方依赖 -->
        <!-- 百望 -->
        <dependency>
            <groupId>club.newepoch.finance</groupId>
            <artifactId>FinanceHttpApi</artifactId>
            <version>2.6-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <build>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>

        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>${project.basedir}/src/test/java</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
        </testResources>
        <directory>${project.basedir}/target</directory>
        <!-- <directory>${project.basedir}/src/main/webapp/WEB-INF/target</directory>vi -->

        <plugins>

            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webappDirectory>${basedir}/src/main/webapp</webappDirectory>
                    <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <!-- 生成javadoc -->
            <!-- <plugin> -->
            <!-- <groupId>org.apache.maven.plugins</groupId> -->
            <!-- <artifactId>maven-javadoc-plugin</artifactId> -->
            <!-- <version>2.10.3</version> -->
            <!-- <inherited>true</inherited> -->
            <!-- <executions> -->
            <!-- <execution> -->
            <!-- <id>attach-javadocs</id> -->
            <!-- <goals> -->
            <!-- <goal>jar</goal> -->
            <!-- </goals> -->
            <!-- </execution> -->
            <!-- </executions> -->
            <!-- <configuration> -->
            <!-- <aggregate>true</aggregate> -->
            <!-- <show>private</show> -->
            <!-- <nohelp>true</nohelp> -->
            <!-- <docencoding>UTF8</docencoding> -->
            <!-- <charset>UTF8</charset> -->
            <!-- <excludes>**/test/*.java</excludes> -->
            <!-- <outputDirectory>${project.basedir}/doc/</outputDirectory> -->
            <!-- <reportOutputDirectory>${project.basedir}/doc-report/</reportOutputDirectory> -->
            <!-- <destDir>doc</destDir> -->
            <!-- <doctitle>${project.artifactId}(${project.version})API文档</doctitle> -->
            <!-- <windowtitle>${project.artifactId}(${project.version})API文档</windowtitle> -->
            <!-- <tags> -->
            <!-- <tag> -->
            <!-- <name>todo</name> -->
            <!-- <placement>a</placement> -->
            <!-- <head>待完成:</head> -->
            <!-- </tag> -->
            <!-- <tag> -->
            <!-- <name>urlpara</name> -->
            <!-- <placement>m</placement> -->
            <!-- <head>url参数格式:</head> -->
            <!-- </tag> -->
            <!-- </tags> -->
            <!-- </configuration> -->
            <!-- </plugin> -->

            <!-- <plugin> -->
            <!-- <groupId>org.apache.maven.plugins</groupId> -->
            <!-- <artifactId>maven-gpg-plugin</artifactId> -->
            <!-- <version>1.1</version> -->
            <!-- <executions> -->
            <!-- <execution> -->
            <!-- <id>sign-artifacts</id> -->
            <!-- <phase>verify</phase> -->
            <!-- <goals> -->
            <!-- <goal>sign</goal> -->
            <!-- </goals> -->
            <!-- </execution> -->
            <!-- </executions> -->
            <!-- <configuration> -->
            <!-- <skip>false</skip> -->
            <!-- </configuration> -->
            <!-- </plugin> -->

        </plugins>
    </build>

    <repositories>
        <repository>
            <id>intasect</id>
            <name>intasect</name>
            <url>http://nemq.newepoch.club:7001/content/groups/intasect/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>intasect</id>
            <name>intasect</name>
            <url>http://nemq.newepoch.club:7001/content/groups/intasect/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>


</project>

 

posted on 2019-05-27 16:31  小白菜好吃  阅读(4352)  评论(0编辑  收藏  举报

导航