package com.fs.handwrite.service;

import com.fs.common.core.domain.AjaxResult;
import com.fs.handwrite.domain.HandwriteCollection;
import com.fs.hisStore.domain.FsStoreOrderScrm;

import com.fs.his.param.CollectionOrcParam;
import com.fs.his.vo.CollectionOrcVO;

import java.util.List;

/**
 * 手写信息采集表Service接口
 * 
 * @author fs
 * @date 2024-01-01
 */
public interface IHandwriteCollectionService
{
    /**
     * 查询手写信息采集表
     * 
     * @param id 手写信息采集表主键
     * @return 手写信息采集表
     */
    public HandwriteCollection selectHandwriteCollectionById(Integer id);

    /**
     * 查询手写信息采集表列表
     * 
     * @param handwriteCollection 手写信息采集表
     * @return 手写信息采集表集合
     */
    public List<HandwriteCollection> selectHandwriteCollectionList(HandwriteCollection handwriteCollection);

    /**
     * 新增手写信息采集表
     * 
     * @param handwriteCollection 手写信息采集表
     * @return 结果
     */
    public int insertHandwriteCollection(HandwriteCollection handwriteCollection);

    /**
     * 新增手写信息采集并更新商城订单关联的手写信息采集id
     *
     * @param handwriteCollection 手写信息采集表
     * @return 结果
     */
    public int addCollectionAndUpdateOrderStatus(HandwriteCollection handwriteCollection);

    /**
     * 修改手写信息采集表
     * 
     * @param handwriteCollection 手写信息采集表
     * @return 结果
     */
    public int updateHandwriteCollection(HandwriteCollection handwriteCollection);

    /**
     * 批量删除手写信息采集表
     * 
     * @param ids 需要删除的手写信息采集表主键集合
     * @return 结果
     */
    public int deleteHandwriteCollectionByIds(Integer[] ids);

    /**
     * 删除手写信息采集表信息
     * 
     * @param id 手写信息采集表主键
     * @return 结果
     */
    public int deleteHandwriteCollectionById(Integer id);

    /**
     * 获取商城订单号信息
     * */
    public FsStoreOrderScrm getOrderCodeInfo(String orderCode);

    /**
     * 订单号校验
     * */
    public AjaxResult checkOrderCode(String orderNo);

    /**
     * 图片处理
     */
    CollectionOrcVO imageProcess(CollectionOrcParam param);
}