package com.jpsoft.shinestar.modules.base.service;

import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.base.entity.OrderInfo;
import com.jpsoft.shinestar.modules.common.dto.Sort;
import com.jpsoft.shinestar.modules.sys.entity.User;

import java.util.List;
import java.util.Map;

/**
 * @author 墨鱼_mo
 * @date 2020-10-17 12:39
 */
public interface OrderInfoService {

    OrderInfo get(String id);
    boolean exist(String id);
    int insert(OrderInfo model);
    int update(OrderInfo model);
    int updateAndPayIsOff(OrderInfo model, User user);
    int updateAndPay(OrderInfo model, Integer payStatus, User user) throws Exception;
    int delete(String id);
    List<OrderInfo> list();
    Page<OrderInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

    OrderInfo findByOutOrderNo(String outTradeNo);

    void orderNotifyLogical(OrderInfo orderInfo);
}
