PaymentCloudController.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. using SinochemCloudClient.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Web.Http;
  8. using System.Windows.Forms;
  9. namespace CloudSimulator.Controllers
  10. {
  11. public class PaymentCloudController : ApiController
  12. {
  13. CloudForm cloudForm = (CloudForm)Application.OpenForms["CloudForm"];
  14. double cardBalance;
  15. public PaymentCloudController()
  16. {
  17. cardBalance = cloudForm.GetCardBalanceThreadSafe();
  18. }
  19. [Route("test")]
  20. public int[] GetTestValues()
  21. {
  22. return new int[] { 1, 2, 3 };
  23. }
  24. [Route("queryMemberInfo")]
  25. [HttpPost]
  26. public BalanceInquiryResponse BalanceInquiry([FromBody] BalanceInquiryRequest request)
  27. {
  28. cloudForm.AppendTextThreadSafe(Environment.NewLine + "BalanceInquiry request:");
  29. cloudForm.AppendTextThreadSafe(request.ToString());
  30. BalanceInquiryResponse response = new BalanceInquiryResponse
  31. {
  32. code = ResponseBase.SuccessResponse,
  33. result = new BalanceInquiryResponse.Data
  34. {
  35. amount = cardBalance,
  36. user_Name = "小化",
  37. car_Number = "京A88888",
  38. gun = "1",
  39. token = "test_token",
  40. ttc = "test ttc",
  41. }
  42. };
  43. cloudForm.AppendTextThreadSafe(Environment.NewLine + "BalanceInquiry response:");
  44. cloudForm.AppendTextThreadSafe(response.ToString());
  45. return response;
  46. }
  47. [Route("pay")]
  48. [HttpPost]
  49. public PaymentResponse Payment([FromBody] PaymentRequest request)
  50. {
  51. cloudForm.AppendTextThreadSafe(Environment.NewLine + "Payment request:");
  52. cloudForm.AppendTextThreadSafe(request.ToString());
  53. PaymentResponse response = new PaymentResponse
  54. {
  55. code = ResponseBase.SuccessResponse,
  56. result = new PaymentResponse.Data
  57. {
  58. amount = cardBalance - request.amount,
  59. real_Pay_Amount = request.amount,
  60. bill_ID = "160000008689",
  61. shift_ID = "3",
  62. business_Date = DateTime.Now.ToString(),
  63. card_No = "1234567890123456789",
  64. cardNo_Hide = "123456*********6789",
  65. invoiceUrl = "http://nnfp.jss.com.cn/invoice/scan/k.action?jskpCode=5P9XB8&orderno=20180618174615501806&expiretime=1531907175512",
  66. }
  67. };
  68. cloudForm.AppendTextThreadSafe(Environment.NewLine + "Payment response:");
  69. cloudForm.AppendTextThreadSafe(response.ToString());
  70. return response;
  71. }
  72. [Route("queryOrder")]
  73. [HttpPost]
  74. public TrxStatusInquiryResponse TrxStatusInquiry([FromBody] TrxStatusInquiryRequest request)
  75. {
  76. cloudForm.AppendTextThreadSafe(Environment.NewLine + "TrxStatusInquiry request:");
  77. cloudForm.AppendTextThreadSafe(request.ToString());
  78. TrxStatusInquiryResponse response = new TrxStatusInquiryResponse
  79. {
  80. code = ResponseBase.SuccessResponse,
  81. result = new TrxStatusInquiryResponse.Data
  82. {
  83. amount = cardBalance - request.pre_Amount,
  84. real_Pay_Amount = request.pre_Amount
  85. }
  86. };
  87. cloudForm.AppendTextThreadSafe(Environment.NewLine + "TrxStatusInquiry response:");
  88. cloudForm.AppendTextThreadSafe(response.ToString());
  89. return response;
  90. }
  91. [Route("cancelOrder")]
  92. [HttpPost]
  93. public RefundResponse Refund([FromBody] RefundRequest request)
  94. {
  95. cloudForm.AppendTextThreadSafe(Environment.NewLine + "Refund request:");
  96. cloudForm.AppendTextThreadSafe(request.ToString());
  97. RefundResponse response = new RefundResponse
  98. {
  99. code = ResponseBase.SuccessResponse
  100. };
  101. cloudForm.AppendTextThreadSafe(Environment.NewLine + "Refund response:");
  102. cloudForm.AppendTextThreadSafe(response.ToString());
  103. return response;
  104. }
  105. }
  106. }