package cn.wisenergy.service.app;


import cn.wisenergy.common.utils.PageRequest;
import cn.wisenergy.common.utils.PageResult;
import cn.wisenergy.model.app.shopZx;
import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * Created by m1991 on 2021/2/24 13:49
 * TODO 资讯Service
 * @author 86187
 */
public interface UploadService {
    /**
     * TODO 视频文件上传   zxUrl, userId,zxName,zxField,imgUrl
     * @param request
     * @return
     */
     Map<String, Object> uploadVideo(MultipartFile file,HttpServletRequest request,String userId,String zxField,String zxAddress) throws Exception;

    /**
     * TODO 图片文件上传
     * @param request
     * @return
     */
     Map<String, Object> uploadImage(MultipartFile file, HttpServletRequest request,String userId,String zxField,String zxAddress) throws Exception;

    /**
     * TODO 项目目录下的图片文件上传
     * @param request
     * @return
     */
     Map<String, Object> getImageUrl(HttpServletRequest request) throws Exception;

    /**
     * TODO 多文件上传
     * @param file
     * @return
     */
     List imageUpload( MultipartFile[] file,String userId, String zxField, String zxAddress);
     String storeFile(MultipartFile file);
     Resource loadFileAsResource(String fileName);

    /**
     * 查询资讯所有信息（分页——10条信息一页）
     * @param
     * @return
     */
      Map getList(int beginPos, int pageSize);

//      public Page<shopZx> find();


    /**
     * 分页查询接口
     * 这里统一封装了分页请求和结果，避免直接引入具体框架的分页对象, 如MyBatis或JPA的分页对象
     * 从而避免因为替换ORM框架而导致服务层、控制层的分页接口也需要变动的情况，替换ORM框架也不会
     * 影响服务层以上的分页接口，起到了解耦的作用
     * @param pageRequest 自定义，统一分页查询请求
     * @return PageResult 自定义，统一分页查询结果
     */
//    PageResult findPage(PageRequest pageRequest);

}
