package cn.wisenergy.service.app;

import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.AntiFake;
import cn.wisenergy.model.dto.AntiFakeQuery;
import cn.wisenergy.model.dto.CreateCodeVo;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.List;


/**
 * @author 86187
 * @ Description: 二维码防伪接口定义
 * @ Author     : 86187
 * @ Date       : 2021/4/21 10:28
 */
public interface AntiFakeService {

    /**
     * 创建防伪二维码
     *
     * @param codeVo 二维码信息
     * @return true or false
     */
    R<Boolean> createCode(CreateCodeVo codeVo) throws ParseException;


    /**
     * 测试二维码图片上传到服务器
     *
     * @return 1
     * @throws Exception 异常
     */
    R<String> uploadImage() throws Exception;

    /**
     * 扫描防伪二维码
     *
     * @param produceNo 产品编号
     * @return 扫描结果
     */
    R<String> scanCode(String produceNo);

    /**
     * 获取防伪二维码列表
     *
     * @param query 条件参数
     * @return 列表
     */
    R<PageInfo<AntiFake>> getList(AntiFakeQuery query);


    /**
     * 导出生成二维码的字符串
     *
     * @param str "1,2,3,4,5,6,7,8,9,"
     * @param response 响应
     * @return
     */
    R<Boolean> report(String str, HttpServletResponse response);
}
