UploadTransactions.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using FuelServer.Core.Entity;
  7. using Newtonsoft.Json;
  8. namespace Fuel.Core.Transactions.Dto
  9. {
  10. public class UploadTransactions
  11. {
  12. /// <summary>
  13. /// 油枪
  14. /// </summary>
  15. public int? ExternalGunNumber { get; set; }
  16. /// <summary>
  17. /// 原金额
  18. /// </summary>
  19. public decimal? OriginalAmount { get; set; }
  20. /// <summary>
  21. /// 实际支付金额
  22. /// </summary>
  23. public decimal? ActualPaymentAmount { get; set; }
  24. /// <summary>
  25. /// 升数
  26. /// </summary>
  27. public decimal? Qty { get; set; }
  28. /// <summary>
  29. /// 挂枪时间
  30. /// </summary>
  31. public DateTime? FuelItemTransactionEndTime { get; set; }
  32. /// <summary>
  33. /// 交易时间
  34. /// </summary>
  35. public DateTime? TransactionTime { get; set; }
  36. /// <summary>
  37. /// 油品
  38. /// </summary>
  39. public string Product { get; set; }
  40. /// <summary>
  41. /// 用户id
  42. /// </summary>
  43. public long? MiniProgramID { get; set; }
  44. /// <summary>
  45. /// 订单流水号
  46. /// </summary>
  47. public string TransactionNumber { get; set; }
  48. /// <summary>
  49. /// 支付方式
  50. /// </summary>
  51. public int? PaymentMethod { get; set; }
  52. /// <summary>
  53. /// 单价
  54. /// </summary>
  55. public decimal? Price { get; set; }
  56. /// <summary>
  57. /// 泵码
  58. /// </summary>
  59. public decimal? FuelItemPumpTotalizerVolume { get; set; }
  60. public transactions ToTransactions(UploadTransactions upload, Guid Buid, product product, nozzle nozzle,int _OrderType)
  61. {
  62. return new transactions()
  63. {
  64. Buid = Buid,
  65. NozzleId = nozzle.ExternalGunNumber,
  66. ProductId = product.Id,
  67. ActualPaymentAmount = upload.OriginalAmount,
  68. FuelItemTransactionEndTime = upload.FuelItemTransactionEndTime,
  69. OrderStatus = transactionsORDERSTATUS.Unpaid,
  70. OrderType = ToTransactionsOrderType(_OrderType),
  71. OriginalAmount = upload.OriginalAmount,
  72. PaymentMethod = upload.PaymentMethod,
  73. ProductName = product.ProductName,
  74. Qty = upload.Qty,
  75. TransactionNumber = upload.TransactionNumber,
  76. TransactionTime = DateTime.Now,
  77. Price = upload.Price,
  78. CreateTime = DateTime.Now,
  79. OriginalQty = _OrderType == 1 ?0.00M: upload.Qty,
  80. FuelItemPumpTotalizerVolume = upload.FuelItemPumpTotalizerVolume,
  81. MiniProgramID = upload.MiniProgramID
  82. };
  83. }
  84. public static transactionsORDERTYPE ToTransactionsOrderType(int value)
  85. {
  86. if (Enum.IsDefined(typeof(transactionsORDERTYPE), value))
  87. {
  88. return (transactionsORDERTYPE)value;
  89. }
  90. else
  91. {
  92. throw new ArgumentException("Invalid order type value.", nameof(value));
  93. }
  94. }
  95. public static transactionsORDERSTATUS ToTransactionsORDERSTATUS(int value)
  96. {
  97. if (Enum.IsDefined(typeof(transactionsORDERSTATUS), value))
  98. {
  99. return (transactionsORDERSTATUS)value;
  100. }
  101. else
  102. {
  103. throw new ArgumentException("Invalid order type value.", nameof(value));
  104. }
  105. }
  106. }
  107. }