package com.doumee.api; import com.doumee.core.model.LoginUserInfo; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import com.doumee.core.model.ApiResponse; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * Controller基类 * @author Eva.Caesar Liu * @date 2023/02/14 11:14 */ @Slf4j public class BaseController { /** * 获取当前登录用户 * @author Eva.Caesar Liu * @date 2023/02/14 11:14 */ protected LoginUserInfo getLoginUser () { return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); } /** * 获取ID集合 * * @param ids 使用","隔开的多个ID * @return List */ protected List getIdList (String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } return idList; } /** * 获取文件字节流 * * @param is 输入流 * @return ByteArrayOutputStream */ protected ByteArrayOutputStream getOutputStream (InputStream is) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] bs = new byte[is.available()]; int len; while ((len = is.read(bs)) != -1) { baos.write(bs, 0, len); } return baos; } }