package com.hongqiang.shop.modules.shipping.service; import java.math.BigDecimal; import java.util.Date; import java.util.List; import com.hongqiang.shop.common.base.persistence.Page; import com.hongqiang.shop.common.utils.Filter; import com.hongqiang.shop.common.utils.Order; import com.hongqiang.shop.common.utils.Pageable; import com.hongqiang.shop.modules.entity.Admin; import com.hongqiang.shop.modules.entity.Cart; import com.hongqiang.shop.modules.entity.CouponCode; import com.hongqiang.shop.modules.entity.Member; import com.hongqiang.shop.modules.entity.Payment; import com.hongqiang.shop.modules.entity.PaymentMethod; import com.hongqiang.shop.modules.entity.Receiver; import com.hongqiang.shop.modules.entity.Refunds; import com.hongqiang.shop.modules.entity.Returns; import com.hongqiang.shop.modules.entity.Shipping; import com.hongqiang.shop.modules.entity.ShippingMethod; public interface OrderService { public com.hongqiang.shop.modules.entity.Order findBySn(String sn); public List<com.hongqiang.shop.modules.entity.Order> findList( Member member, Integer count, List<Filter> filters,List<Order> orders); public Page<com.hongqiang.shop.modules.entity.Order> findPage(Member member, Pageable pageable); public Page<com.hongqiang.shop.modules.entity.Order> findPage( com.hongqiang.shop.modules.entity.Order.OrderStatus orderStatus, com.hongqiang.shop.modules.entity.Order.PaymentStatus paymentStatus, com.hongqiang.shop.modules.entity.Order.ShippingStatus shippingStatus, Boolean hasExpired, Pageable pageable); public Long count( com.hongqiang.shop.modules.entity.Order.OrderStatus orderStatus, com.hongqiang.shop.modules.entity.Order.PaymentStatus paymentStatus, com.hongqiang.shop.modules.entity.Order.ShippingStatus shippingStatus, Boolean hasExpired); public Long waitingPaymentCount(Member member); public Long waitingShippingCount(Member member); public BigDecimal getSalesAmount(Date beginDate, Date endDate); public Integer getSalesVolume(Date beginDate, Date endDate); public void releaseStock(); public com.hongqiang.shop.modules.entity.Order build(Cart cart, Receiver receiver, PaymentMethod paymentMethod, ShippingMethod shippingMethod, CouponCode couponCode, boolean isInvoice, String invoiceTitle, boolean useBalance, String memo); public com.hongqiang.shop.modules.entity.Order create(Cart cart,Receiver receiver, PaymentMethod paymentMethod, ShippingMethod shippingMethod, CouponCode couponCode,boolean isInvoice, String invoiceTitle, boolean useBalance, String memo, Admin operator); public void update(com.hongqiang.shop.modules.entity.Order order, Admin operator); public void confirm(com.hongqiang.shop.modules.entity.Order order, Admin operator); public void complete(com.hongqiang.shop.modules.entity.Order order, Admin operator); public void cancel(com.hongqiang.shop.modules.entity.Order order, Admin operator); public void payment(com.hongqiang.shop.modules.entity.Order order, Payment payment, Admin operator); public void refunds(com.hongqiang.shop.modules.entity.Order order, Refunds refunds, Admin operator); public void shipping(com.hongqiang.shop.modules.entity.Order order, Shipping shipping, Admin operator); public void returns(com.hongqiang.shop.modules.entity.Order order, Returns returns, Admin operator); public com.hongqiang.shop.modules.entity.Order find(Long id); public void save(com.hongqiang.shop.modules.entity.Order order); public com.hongqiang.shop.modules.entity.Order update(com.hongqiang.shop.modules.entity.Order order); public com.hongqiang.shop.modules.entity.Order update( com.hongqiang.shop.modules.entity.Order order, String[] ignoreProperties); public void delete(com.hongqiang.shop.modules.entity.Order order); public void delete(Long id); public void delete(Long[] ids); }