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<Integer> 
 | 
     */ 
 | 
    protected List<Integer> getIdList (String ids) { 
 | 
        String [] idArray = ids.split(","); 
 | 
        List<Integer> 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; 
 | 
    } 
 | 
} 
 |