package cn.wisenergy.service.app;

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


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

    /**
     * 创建防伪二维码
     *
     * @param number 二维码数量
     * @return true or false
     * @throws Exception 异常
     */
    R<Boolean> createCode(Integer number) throws Exception;

    /**
     * 解析二维码
     *
     * @param file 二维码
     * @return 结果
     * @throws Exception 异常
     */
    R<String> decode(MultipartFile file) throws Exception;

    /**
     * 测试二维码图片上传到服务器
     *
     * @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);
}
