/***********************************************************************
* 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.UI;
using Newtonsoft.Json.Linq;
using SqlSugar;
namespace CoreCms.Net.IServices
{
///
/// 支付单表 服务工厂接口
///
public interface ICoreCmsBillPaymentsServices : IBaseServices
{
///
/// 单个生成支付单的时候,格式化支付单明细
///
/// 订单号
///
///
///
Task FormatPaymentRel(string orderId, int type, JObject @params);
///
/// 批量生成支付单的时候,格式化支付单明细
///
///
///
///
///
Task BatchFormatPaymentRel(string[] sourceStr, int type, JObject @params);
///
/// 支付,先生成支付单,然后去支付
///
/// 来源,一般是订单号或者用户id
/// 支付方式
/// 用户序列
/// 订单/充值/服务项目
/// 支付的时候用到的参数,如果是微信支付的话,这里可以传trade_type=>'JSAPI'(小程序支付),或者'MWEB'(h5支付),当是JSPI的时候,可以不传其他参数了,默认就可以,默认的这个值就是JSAPI,如果是MWEB的话,需要传wap_url(网站url地址)参数和wap_name(网站名称)参数,其他支付方式需要传什么参数这个以后再说
///
Task Pay(string sourceStr, string paymentCode, int userId, int type, JObject @params);
///
/// 获取支付单详情
///
///
Task GetInfo(string paymentId, int userId = 0);
///
/// 支付成功后,更新支付单状态
///
///
///
///
///
///
///
Task ToUpdate(string paymentId, int status, string paymentCode, decimal money,
string payedMsg = "", string tradeNo = "");
///
/// 卖家直接支付操作
///
/// 订单编号
/// 支付类型
/// 支付类型编码
///
Task ToPay(string orderId, int type, string paymentCode);
///
/// 支付单7天统计
///
///
Task> Statistics();
///
/// 重写根据条件查询分页数据
///
/// 判断集合
/// 排序方式
/// 当前页面索引
/// 分布大小
///
/// 是否使用WITH(NOLOCK)
///
Task> QueryPageAsync(
Expression> predicate,
Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false);
}
}