using SinochemCloudClient; using SinochemCloudClient.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestSinochemCloudClient { public class TestNormalCases { private static TrxCommunicationContext context = new TrxCommunicationContext(); private const string UrlPrefix = "http://10.26.5.222:8008/1/CarFushion"; private const string BalanceInquiryApi = "/queryMemberInfo"; public static void TestBalanceInquiry() { CloudCommunicator<BalanceInquiryRequest, BalanceInquiryResponse> communicator = new CloudCommunicator<BalanceInquiryRequest, BalanceInquiryResponse>(UrlPrefix + BalanceInquiryApi); BalanceInquiryRequest request = new BalanceInquiryRequest { dept_No = "123", card_No = "2009059500000166290", password = "111111" }; Console.WriteLine("before send " + request.GetType().ToString()); communicator.SendRequest(request); Console.WriteLine("got response messasge code" + communicator.Response.code); context.token = communicator.Response.result.token; } private const string PaymentApi = "/pay"; public static void TestPayment() { CloudCommunicator<PaymentRequest, PaymentResponse> communicator = new CloudCommunicator<PaymentRequest, PaymentResponse>(UrlPrefix + PaymentApi); PaymentRequest request = new PaymentRequest { dept_No = "123", ttc = "12345", card_No = "2009059500000166290", password = "111111", code = "35", price = 5.66, lpm = 10, amount = 56.6, gas_Up_Time = DateTime.Now.ToString(), rear_Pump_Code = "", off_Line_Sign = "0", tradeDateTime = DateTime.Now.ToString(), mac = "1a2b3c", //token = context.token + CurrentTimeMillis().ToString() token = "AnM3B8LV255Ynyc" + DateTimeUtility.CurrentTimeMillis().ToString() }; Console.WriteLine("before send " + request.GetType().ToString()); communicator.SendRequest(request); Console.WriteLine("got response messasge code" + communicator.Response.code); } private const string TrxStatusInquiryApi = "/queryOrder"; public static void TestTrxStatusInquiry() { CloudCommunicator<TrxStatusInquiryRequest, TrxStatusInquiryResponse> communicator = new CloudCommunicator<TrxStatusInquiryRequest, TrxStatusInquiryResponse>(UrlPrefix + PaymentApi); TrxStatusInquiryRequest request = new TrxStatusInquiryRequest { dept_No = "123", card_No = "2009059500000166290", pre_Amount = 56.6, ori_ttc = "12345", //token = context.token + CurrentTimeMillis().ToString() token = "AnM3B8LV255Ynyc" + DateTimeUtility.CurrentTimeMillis().ToString() }; Console.WriteLine("before send " + request.GetType().ToString()); communicator.SendRequest(request); Console.WriteLine("got response messasge code" + communicator.Response.code); } private const string RefundApi = "/cancelOrder"; public static void TestRefund() { CloudCommunicator<RefundRequest, RefundResponse> communicator = new CloudCommunicator<RefundRequest, RefundResponse>(UrlPrefix + PaymentApi); RefundRequest request = new RefundRequest { dept_No = "123", card_No = "2009059500000166290", pre_Amount = 56.6, ori_ttc = "12345", //token = context.token + CurrentTimeMillis().ToString() token = "AnM3B8LV255Ynyc" + DateTimeUtility.CurrentTimeMillis().ToString() }; Console.WriteLine("before send " + request.GetType().ToString()); communicator.SendRequest(request); Console.WriteLine("got response messasge code" + communicator.Response.code); } } class TrxCommunicationContext { public string token { get; set; } } class DateTimeUtility { private static readonly DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static long CurrentTimeMillis() { return (long)(DateTime.UtcNow - Jan1st1970).TotalMilliseconds; } } }