package com.dxhy.erp.service;

import com.dxhy.common.service.MpBaseService;
import com.dxhy.common.util.pojo.Authorize;
import com.dxhy.common.util.pojo.GlobalInfo;
import com.dxhy.api.model.custom.TdxCustomsRecord;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * @author dxhy
 */
public interface CustomspcService extends MpBaseService<TdxCustomsRecord> {

    /**
     * 海关缴款书采集
     *
     * @param globalInfo
     *            请求信息
     * @param map
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String getCustoms(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书状态采集
     *
     * @param globalInfo
     *            请求信息* @param map 请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String getCustomsState(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书申请认证
     *
     * @param globalInfo
     *            请求信息
     * @param map
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String applyCustomsAuth(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书认证结果获取
     *
     * @param globalInfo
     *            请求信息
     * @param map
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String getCustomsAuthResult(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书申请录入
     *
     * @param globalInfo
     *            请求信息
     * @param map
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String applyCustomsUpload(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书认证结果获取
     *
     * @param globalInfo
     *            请求信息
     * @param map
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String getCustomsUploadResult(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书入账
     *
     * @param globalInfo
     *            请求信息
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String customspcInAccount(GlobalInfo globalInfo, Map<String, String> requestParam, HttpServletRequest request, HttpServletResponse response, Authorize authorize);

    /**
     * 海关缴款书查询
     *
     * @param globalInfo
     *            请求信息
     *            请求信息
     * @param request
     *            请求信息
     * @param response
     *            请求信息
     * @param authorize
     *            请求信息
     * @return 返回结果
     */
    String getSingle(GlobalInfo globalInfo, Map<String, String> requestParam, HttpServletRequest request, HttpServletResponse response, Authorize authorize);

}
