| 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; | 
|     } | 
| } |