using Edge.Core.Domain.FccOrderInfo;
using HengshanPaymentTerminal.Http.Response;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace HengshanPaymentTerminal.Mqtt.Request
{
///
/// 云端 MQTT 数据对象
///
public class MqttRequest
{
///
/// 类型
///
public MQTT_TYPE type { get; set; }
///
/// 数据
///
public string data { get; set; }
}
///
/// 标识 MQTT 数据类型
///
public enum MQTT_TYPE
{
///
/// 授权
///
AUTHORIZATION = 1,
///
/// 取消授权
///
UNAUTHORIZATION = 2,
///
/// 已支付发送订单信息
///
PAID = 3,
///
/// 退款发送订单信息
///
REFUND = 4
}
///
/// 云端 Mqtt 发送授权请求数据对象
///
public class MqttAuthorizationRequest
{
///
/// 订单唯一标识符
///
public long Id { get; set; }
///
/// 油站唯一标识符
///
public Guid Buid { get; set; }
///
/// 用户ID
///
public long MiniProgramID { get; set; }
///
/// 枪号
///
public long NozzleId { get; set; }
///
/// 油品ID
///
public long ProductId { get; set; }
///
/// 实际支付金额
///
public decimal? ActualPaymentAmount { get; set; }
///
/// 授权时间
///
public DateTime? AuthorizationTime { get; set; }
///
/// 创建人
///
public string? CreateBy { get; set; }
///
/// 订单创建时间
///
public DateTime? CreateTime { get; set; }
///
/// 挂枪时间
///
public DateTime? FuelItemTransactionEndTime { get; set; }
///
/// 是否删除
///
public sbyte? IsDeleted { get; set; } = 0;
///
/// 订单状态
///
public transactionsORDERSTATUS OrderStatus { get; set; }
///
/// 订单类型
///
public transactionsORDERTYPE OrderType { get; set; }
///
/// 原金额
///
public decimal OriginalAmount { get; set; }
///
/// 支付方式
///
public long? PaymentMethod { get; set; }
///
/// 油品名称
///
public string ProductName { get; set; }
///
/// 原升数
///
public decimal Qty { get; set; }
///
/// 实际加油升数
///
public decimal? OriginalQty { get; set; }
///
/// 退款金额
///
public decimal? RefundAmount { get; set; }
///
/// 订单流水号
///
public string TransactionNumber { get; set; }
///
/// 交易时间
///
public DateTime? TransactionTime { get; set; }
///
/// 加密字符串,用于验证金额是否篡改
///
public string secret { get; set; }
///
/// 支付返回结果
///
public string RawResult { get; set; }
///
/// 错误信息
///
public string ErrorDetail { get; set; }
///
/// 支付结果代码
///
public string ResultCode { get; set; }
///
/// 是否授权
///
public AuthorizationStatus authorizationStatus { get; set; }
///
/// 单价
///
public decimal Price { get; set; }
public FccOrderInfo ToComponent(DateTime authorizationTime)
{
return new FccOrderInfo()
{
AuthorizationTime = authorizationTime,
PaymentTime = TransactionTime,
NozzleNum = (int)NozzleId,
OilName = ProductName,
PaymentStatus = 1,
PayType = (int?)PaymentMethod,
CloundOrderId = Id,
Amount = OriginalAmount,
Volume = Qty,
AmountPayable = ActualPaymentAmount,
UploadState = 1,
IsDelete = 0,
Price = this.Price
};
}
}
///
/// 云端发送取消授权数据对象
///
public class MqttUnAhorizationRequest
{
///
/// 订单唯一标识符
///
public long Id { get; set; }
///
/// 油站唯一标识符
///
public Guid Buid { get; set; }
///
/// 用户ID
///
public long MiniProgramID { get; set; }
///
/// 枪号
///
public long NozzleId { get; set; }
///
/// 油品ID
///
public long ProductId { get; set; }
///
/// 实际支付金额
///
public decimal? ActualPaymentAmount { get; set; }
///
/// 授权时间
///
public DateTime? AuthorizationTime { get; set; }
///
/// 创建人
///
public string? CreateBy { get; set; }
///
/// 订单创建时间
///
public DateTime? CreateTime { get; set; }
///
/// 挂枪时间
///
public DateTime? FuelItemTransactionEndTime { get; set; }
///
/// 是否删除
///
public sbyte? IsDeleted { get; set; } = 0;
///
/// 订单状态
///
public transactionsORDERSTATUS OrderStatus { get; set; }
///
/// 订单类型
///
public transactionsORDERTYPE OrderType { get; set; }
///
/// 原金额
///
public decimal OriginalAmount { get; set; }
///
/// 支付方式
///
public long? PaymentMethod { get; set; }
///
/// 油品名称
///
public string ProductName { get; set; }
///
/// 原升数
///
public decimal Qty { get; set; }
///
/// 实际加油升数
///
public decimal? OriginalQty { get; set; }
///
/// 退款金额
///
public decimal? RefundAmount { get; set; }
///
/// 订单流水号
///
public string TransactionNumber { get; set; }
///
/// 交易时间
///
public DateTime? TransactionTime { get; set; }
///
/// 加密字符串,用于验证金额是否篡改
///
public string secret { get; set; }
///
/// 支付返回结果
///
public string RawResult { get; set; }
///
/// 错误信息
///
public string ErrorDetail { get; set; }
///
/// 支付结果代码
///
public string ResultCode { get; set; }
///
/// 是否授权
///
public AuthorizationStatus authorizationStatus { get; set; }
///
/// 单价
///
public decimal? Price { get; set; }
}
///
/// 云端发送订单已支付数据对象
///
public class MqttPaidRequest : MqttRequest
{
///
/// 订单唯一标识符
///
public long Id { get; set; }
///
/// 油站唯一标识符
///
public Guid Buid { get; set; }
///
/// 用户ID
///
public long MiniProgramID { get; set; }
///
/// 枪号
///
public long NozzleId { get; set; }
///
/// 油品ID
///
public long ProductId { get; set; }
///
/// 实际支付金额
///
public decimal? ActualPaymentAmount { get; set; }
///
/// 授权时间
///
public DateTime? AuthorizationTime { get; set; }
///
/// 创建人
///
public string? CreateBy { get; set; }
///
/// 订单创建时间
///
public DateTime? CreateTime { get; set; }
///
/// 挂枪时间
///
public DateTime? FuelItemTransactionEndTime { get; set; }
///
/// 是否删除
///
public sbyte? IsDeleted { get; set; } = 0;
///
/// 订单状态
///
public transactionsORDERSTATUS OrderStatus { get; set; }
///
/// 订单类型
///
public transactionsORDERTYPE OrderType { get; set; }
///
/// 原金额
///
public decimal OriginalAmount { get; set; }
///
/// 支付方式
///
public long? PaymentMethod { get; set; }
///
/// 油品名称
///
public string ProductName { get; set; }
///
/// 原升数
///
public decimal Qty { get; set; }
///
/// 实际加油升数
///
public decimal? OriginalQty { get; set; }
///
/// 退款金额
///
public decimal? RefundAmount { get; set; }
///
/// 订单流水号
///
public string TransactionNumber { get; set; }
///
/// 交易时间
///
public DateTime? TransactionTime { get; set; }
///
/// 加密字符串,用于验证金额是否篡改
///
public string secret { get; set; }
///
/// 支付返回结果
///
public string RawResult { get; set; }
///
/// 错误信息
///
public string ErrorDetail { get; set; }
///
/// 支付结果代码
///
public string ResultCode { get; set; }
///
/// 是否授权
///
public AuthorizationStatus authorizationStatus { get; set; }
///
/// 单价
///
public decimal? Price { get; set; }
}
///
/// 云端发送订单退款数据对象
///
public class MqttRefundRequest : MqttRequest
{
///
/// 订单唯一标识符
///
public long Id { get; set; }
///
/// 油站唯一标识符
///
public Guid Buid { get; set; }
///
/// 用户ID
///
public long MiniProgramID { get; set; }
///
/// 枪号
///
public long NozzleId { get; set; }
///
/// 油品ID
///
public long ProductId { get; set; }
///
/// 实际支付金额
///
public decimal? ActualPaymentAmount { get; set; }
///
/// 授权时间
///
public DateTime? AuthorizationTime { get; set; }
///
/// 创建人
///
public string? CreateBy { get; set; }
///
/// 订单创建时间
///
public DateTime? CreateTime { get; set; }
///
/// 挂枪时间
///
public DateTime? FuelItemTransactionEndTime { get; set; }
///
/// 是否删除
///
public sbyte? IsDeleted { get; set; } = 0;
///
/// 订单状态
///
public transactionsORDERSTATUS OrderStatus { get; set; }
///
/// 订单类型
///
public transactionsORDERTYPE OrderType { get; set; }
///
/// 原金额
///
public decimal OriginalAmount { get; set; }
///
/// 支付方式
///
public long? PaymentMethod { get; set; }
///
/// 油品名称
///
public string ProductName { get; set; }
///
/// 原升数
///
public decimal Qty { get; set; }
///
/// 实际加油升数
///
public decimal? OriginalQty { get; set; }
///
/// 退款金额
///
public decimal? RefundAmount { get; set; }
///
/// 订单流水号
///
public string TransactionNumber { get; set; }
///
/// 交易时间
///
public DateTime? TransactionTime { get; set; }
///
/// 加密字符串,用于验证金额是否篡改
///
public string secret { get; set; }
///
/// 支付返回结果
///
public string RawResult { get; set; }
///
/// 错误信息
///
public string ErrorDetail { get; set; }
///
/// 支付结果代码
///
public string ResultCode { get; set; }
///
/// 是否授权
///
public AuthorizationStatus authorizationStatus { get; set; }
///
/// 单价
///
public decimal? Price { get; set; }
}
}