package com.fdkankan.platform.user.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.platform.user.entity.Manager;
import com.fdkankan.platform.user.request.*;
import com.fdkankan.platform.user.vo.ResponseInvoice;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 管理员表 服务类
 * </p>
 *
 * @author 
 * @since 2021-12-24
 */
public interface IManagerService extends IService<Manager> {

    List<Manager> getByFrameworkId(Long parentId);

    Manager getByUserName(String userName);

    HashMap<String,Object> getHome();

    Page<JSONObject> findAllInvoiceByCondition(RequestCamera param) throws Exception;

    Page<ResponseInvoice> findInvoiceByCondition(RequestTrade param);

    String updateInvoiceStatus(Long invoiceId, Integer type);

    Page<ResponseInvoice> findInvoiceList(RequestTrade param) throws Exception;

    String sendExpress(RequestInvoice param);

    String uploadEInvoice(MultipartFile file, String invoiceId) throws Exception;

    String sendEInvoice(Long invoiceId, String remarks, String filePath) throws Exception;

    void exportInvoiceList(RequestTrade param, HttpServletRequest request, HttpServletResponse response) throws Exception;

    void export(RequestOrder param, HttpServletRequest request, HttpServletResponse response) throws Exception;

    List<Manager> managerList();

    String companyUpdatePassword(RequestManager param, String token);

    String saveManager(RequestManager param);

    String updateManager(RequestManager param);

    String updatePassword(RequestManager param);

    String deleteManager(RequestManager param);

    String restPassword(RequestManager param);

    Page<Manager> listNew(RequestManager param);
}
