package com.ghy.order.service;

import com.ghy.order.domain.OrderMaster;
import com.ghy.order.request.AppOrderRequest;

import java.util.List;

/**
 * 主订单接口
 *
 * @author clunt
 */
public interface OrderMasterService {

    String createOrderCode();

    OrderMaster createMasterOrder(AppOrderRequest appOrderRequest);

    /**
     * @param orderMaster 主订单属性
     * @return 成功条数
     */
    int insertOrderMaster(OrderMaster orderMaster);

    /**
     * @param orderMaster 主订单属性
     * @return 成功条数
     */
    int updateOrderMaster(OrderMaster orderMaster);

    /**
     * @param orderMaster 主订单入参
     * @return 主订单集合
     */
    List<OrderMaster> selectOrderMasterList(OrderMaster orderMaster);


    /**
     * @param orderMasterId 主订单id
     * @return 主订单
     */
    OrderMaster selectById(Long orderMasterId);

    /**
     * 用 OrderMaster 查询主订单信息
     *
     * @param orderMasterCode 主订单code
     * @return 主订单信息
     */
    OrderMaster selectByCode(String orderMasterCode);

    /**
     * @param ids 主订单ids
     * @return 删除结果
     */
    int deleteOrderMasterByIds(String ids);

    /**
     * 校验主订单编码是否重复
     *
     * @param orderMaster 主订单属性
     * @return 校验结果 1存在 0不存在
     */
    String checkOrderMasterCodeUnique(OrderMaster orderMaster);

}
