package com.zhongdao.jlr.business.service;


import com.util.Vo;
import com.zhongdao.jlr.business.vo.CouponRechargeJlr;
import com.zhongdao.jlr.pojo.CouponRechargeJlrPO;
import org.json.JSONObject;

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

/***
 *  接口
 */

public interface CouponService {

    /**
     * 代金券模糊搜索
     */
    public Vo searchConsume(String vinCode, String electronicAccounts,String userPhone, int page, int raws);

    /**
     * 代金券消费记录
     */
    public Vo getCouponConsume(String vin, int page, int raws);

    /**
     * 代金券充值记录
     */
    public Vo getCouponRecharge(String vin, int page, int raws);

    /**
     * 代金券消费记录(整体)
     */
    public Vo queryCouponConsume(String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2, int page, int raws);

    /*
    * 导出报表
	*/
    JSONObject exportData(HttpServletRequest request, String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2) throws Exception;

    /**
     * 代金券消费修改 撤回、同意付款
     */
    public boolean updateConsumeState(String cId, String state);

    /**
     * 代金券充值记录撤销
     */
    public List<CouponRechargeJlrPO> revokeRecharge(String vinCode, double revokeRechargeCount);

    /**
     * 代金卷账户密码短信发送
     */
    boolean sendMsg(String phoneNum, String msgContent);

    /**
     * 充值记录
     */
    public Vo queryCouponRecharge(String vin, String account, String orderCode, String license, String phone, String qureyDate1, String queryDate2, int page, int raws);


    /***
     * 充值记录导出报表
     * @param request
     * @param vin
     * @param account
     * @param orderCode
     * @param phone
     * @param qureyDate1
     * @param queryDate2
     * @return
     * @throws Exception
     */
    JSONObject rechangeExportData(HttpServletRequest request, String vin, String account, String orderCode, String phone, String qureyDate1, String queryDate2) throws Exception;

    /**
     * 代金券
     */
    public Vo getCoupon(String vin, String electronicAccounts, int page, int raws);

    /**
     * 代金券消费
     */
    public Map consume(String createTime, String vinCode, Double consumeCount, Integer resccueCompanyCode, String reparieInfo, String hitchInfo, String remark, String epassword);
}
