石广澎
2023-12-12 fa3a13b43cdcd3bcc42abae4d9c0a67e48ebea41
consum-base/src/main/java/com/consum/base/BaseController.java
@@ -1,10 +1,20 @@
package com.consum.base;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Workbook;
import com.consum.model.po.FinSysTenantUser;
import com.iplatform.base.PlatformAdapterController;
import com.iplatform.base.util.UserUtils;
import com.iplatform.core.BeanContextAware;
import com.iplatform.model.po.S_user_core;
import com.walker.file.FileInfo;
public abstract class BaseController extends PlatformAdapterController {
@@ -38,4 +48,22 @@
        // 从缓存中取出用户,如果没有则新增
        return this.getFinSysTenantUserCache().get(String.valueOf(userInfo.getId()));
    }
    protected String downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) throws Exception {
        response.setCharacterEncoding("UTF-8");
        response.setHeader("content-Type", "application/vnd.ms-excel");
        response.setHeader("Content-Disposition",
            "attachment;filename=" + URLEncoder.encode(fileName + ".xls", "UTF-8"));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        workbook.write(byteArrayOutputStream);
        response.setHeader("Content-Length", String.valueOf(byteArrayOutputStream.size()));
        InputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
        FileInfo fileInfo = this.uploadFileToLocal(byteArrayInputStream, fileName + ".xls", "-1",
            byteArrayOutputStream.size(), 0, "-1");
        String fileUrl = fileInfo.getUrl();
        workbook.close();
        return "/file/" + fileUrl;
    }
}