/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.DTO; using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; namespace CoreCms.Net.IServices { /// /// 订单表 服务工厂接口 /// public interface ICoreCmsOrderServices : IBaseServices { /// /// 查询团购秒杀下单数量(获取货品的秒杀团购数据) /// /// /// /// /// /// /// FindLimitOrderDto FindLimitOrder(int productId, int userId, DateTime? startTime, DateTime? endTime, int orderType = 0); /// /// 查询团购秒杀下单数量(获取商品序号的秒杀团购数据) /// /// /// /// /// /// /// public FindLimitOrderDto FindLimitOrderByGoodId(int goodId, int userId, DateTime? startTime, DateTime? endTime, int orderType = 0); /// /// 获取税号 /// /// Task GetTaxCode(string name); /// /// 创建订单 /// /// 用户序列 /// 订单类型,1是普通订单,2是拼团订单 /// 购物车货品序列 /// 收货方式,1快递物流,2同城配送,3门店自提 /// 用户地址库序列 /// 门店序列 /// 提货人姓名 /// 提货人联系方式 /// 备注 /// 积分 /// 优惠券码 /// 来源平台 /// 场景值(一般小程序才有) /// 发票信息 /// 发票抬头 /// 发票税务编码 /// 关联非普通订单营销功能的序列 /// 拼团订单分组序列 /// 微信自定义组件(是否需要推单,1:需要,0:不需要) /// 微信自定义组件(requireOrder = 1时生效,0,非二级商户号订单,1,二级商户号订单,2,两种方式皆可(后续只会存在1)) /// 微信自定义组件(跟踪ID,有效期十分钟,会影响主播归因、分享员归因等,需创建订单前调用,调用生成订单 api 时需传入该参数) /// 计划订单id /// Task ToAdd(int userId, int orderType, string cartIds, int receiptType, int ushipId, int storeId, string ladingName, string ladingMobile, string memo, int point, string couponCode, int source, int scene, int taxType, string taxName, string taxCode, int objectId, int teamId, int requireOrder, int requiredFundType, string traceId, string planorderId); /// /// 获取订单信息 /// /// Task GetOrderInfoByOrderId(string id, int userId = 0, int aftersaleLevel = 0); /// /// 把退款金额和退货商品查出来判断是否能进行售后 /// /// /// 取售后单的时候,售后单的等级,0:待审核的和审核通过的售后单,1未审核的,2审核通过的 void AfterSalesVal(CoreCmsOrder order, int afterSaleLevel = 0); /// /// 获取订单不同状态的数量 /// /// /// /// /// Task GetOrderStatusNum(int userId, int[] ids, bool isAfterSale = false); /// /// 订单数量统计 /// /// /// /// Task OrderCount(int type = 0, int userId = 0); /// /// 获取订单状态反查 /// /// 状态 /// Expression> GetReverseStatus(int status); /// /// 获取订单列表微信小程序 /// /// Task GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5); /// /// 商家获取订单列表 /// /// Task GetOrderPageByMerchant(string dateType, string[] date, int status = 0, int receiptType = 0, int storeId = 0, int page = 1, int limit = 5); /// /// 根据搜索条件商家获取订单列表 /// /// Task GetOrderPageByMerchantSearch(string keyword, int status = 0, int receiptType = 0, int storeId = 0, int page = 1, int limit = 5); /// /// 订单支付 /// /// 订单编号 /// 支付方式 /// 支付单据 /// Task Pay(string orderId, string paymentCode, CoreCmsBillPayments billPaymentInfo); /// /// 取消订单 /// /// Task CancelOrder(string[] ids, int userId = 0); /// /// 后端根据订单状态生成不同的操作按钮 /// /// 订单号 /// 订单状态 /// 支付状态 /// 发货状态 /// 收货方式 /// 是否删除 /// string GetOperating(string orderId, int orderStatus, int payStatus, int shipStatus, int receiptType, bool isDel); /// /// 构建多个需要发货的数据,和发货单密切关联 /// /// Task GetOrderShipInfo(string[] ids); /// /// 构建单个需要发货的数据,和发货单密切关联 /// /// Task GetOrderShipInfo(string orderId); /// /// 发货改状态 /// /// /// /// Task EditShipStatus(string orderId, Dictionary items); /// /// 批量订单发货 /// /// 订单标号 /// 物流公司编码 /// 物流单号 /// 发货明细 /// 收货人姓名 /// 收货人电话 /// 收货地址 /// 发货描述 /// 店铺收货地址 /// 省市区id /// 第三方对接物流编码 /// Task BatchShip(string[] ids, string logiCode, string logiNo, Dictionary items, string shipName, string shipMobile, string shipAddress, string memo, int storeId = 0, int shipAreaId = 0, string deliveryCompanyId = ""); /// /// 订单发货 /// /// 订单标号 /// 物流公司编码 /// 物流单号 /// 发货明细 /// 收货人姓名 /// 收货人电话 /// 收货地址 /// 发货描述 /// 店铺收货地址 /// 省市区id /// 第三方对接物流编码 /// Task Ship(string ids, string logiCode, string logiNo, Dictionary items, string shipName, string shipMobile, string shipAddress, string memo, int storeId = 0, int shipAreaId = 0, string deliveryCompanyId = ""); /// /// 后台完成订单 /// /// /// 有序队列积分 /// /// 来源/system(系统)/wxpost(微信消息推送) /// Task CompleteOrder(string orderId, int score = 0, string remark = "后台订单完成操作", string source = "system"); /// /// 确认签收订单 /// /// /// /// Task ConfirmOrder(string orderId, int userId = 0); /// /// 判断订单是否可以进行评论 /// /// /// /// Task IsOrderComment(string orderId, int userId); /// /// 自动取消订单(定时任务使用) /// /// Task AutoCancelOrder(); /// /// 自动完成订单(定时任务使用) /// /// Task AutoCompleteOrder(); /// /// 自动评价订单(定时任务使用) /// /// Task AutoEvaluateOrder(); /// /// 自动签收订单(定时任务使用) /// /// Task AutoSignOrder(); /// /// 催付款(定时任务使用) /// /// Task RemindOrderPay(); /// /// 重写根据条件列表数据 /// /// 判断集合 /// 排序方式 /// /// Task> QueryListAsync(Expression> predicate, Expression> orderByExpression, OrderByType orderByType); /// /// 重写根据条件查询分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// 是否使用WITH(NOLOCK) /// Task> QueryPageAsync( Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false); } }