Skip to content

Commit fddb972

Browse files
author
guangling.zgl
committed
BuildBody() refactored
1 parent d9f3da0 commit fddb972

16 files changed

+73
-91
lines changed

ams-dotnet/src/com/alipay/ams/api/DefaultAlipayClient.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public TAMSResponse Execute<TAMSResponse>(request.AMSRequest<TAMSResponse> requ
4444
requestMessage.Headers.Add(header.Key, header.Value);
4545
}
4646

47-
Console.WriteLine("Request --> " + body);
4847
requestMessage.Content = new ByteArrayContent(Encoding.UTF8.GetBytes(body));
4948
requestMessage.Content.Headers.Add("Content-Type", "application/json; charset=UTF-8");
5049

ams-dotnet/src/com/alipay/ams/api/entities/PaymentMethod.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ namespace com.alipay.ams.api.entities
77
{
88
public class PaymentMethod
99
{
10+
public PaymentMethod(String paymentMethodType)
11+
{
12+
this.PaymentMethodType = paymentMethodType;
13+
}
14+
1015
[JsonPropertyNameAttribute("paymentMethodType")]
1116
public String PaymentMethodType { get; set; }
1217
[JsonPropertyNameAttribute("paymentMethodId")]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
namespace com.alipay.ams.api.entities
2+
{
3+
public enum WalletPaymentMethodType
4+
{
5+
TRUEMONEY,
6+
7+
ALIPAY_HK,
8+
9+
TNG,
10+
11+
ALIPAY_CN,
12+
13+
GCASH,
14+
15+
DANA,
16+
17+
KAKAOPAY,
18+
19+
BKASH,
20+
21+
EASYPAISA,
22+
23+
CONNECT_WALLET
24+
}
25+
}

ams-dotnet/src/com/alipay/ams/api/request/AMSRequest.cs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,33 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Text.Json;
4+
using System.Text.Json.Serialization;
35
using com.alipay.ams.api.response;
46
using com.alipay.ams.util;
57

68
namespace com.alipay.ams.api.request
79
{
810
public abstract class AMSRequest<TAMSResponse>
9-
where TAMSResponse:AMSResponse
11+
where TAMSResponse : AMSResponse
1012
{
13+
protected JsonSerializerOptions options = new JsonSerializerOptions
14+
{
15+
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
16+
IgnoreNullValues = true,
17+
WriteIndented = true
18+
};
19+
20+
public AMSRequest() {
21+
options.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase));
22+
}
23+
1124
public abstract string GetRequestURI();
1225

13-
public abstract String BuildBody();
26+
public virtual String BuildBody()
27+
{
28+
validate();
29+
return JsonSerializer.Serialize(this, this.GetType(), options);
30+
}
1431

1532
public abstract void validate();
1633

@@ -46,6 +63,12 @@ public Dictionary<string, string> BuildRequestHeader(string clientId, string age
4663
protected Dictionary<string, string> GetExtraHeaders() {
4764
return null;
4865
}
66+
67+
68+
public override string ToString()
69+
{
70+
return JsonSerializer.Serialize(this, this.GetType(), options);
71+
}
4972
}
5073

5174

ams-dotnet/src/com/alipay/ams/api/request/CommonPaymentRequest.cs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ namespace com.alipay.ams.api.request
99
{
1010
public class CommonPaymentRequest : AMSRequest<CommonPaymentResponse>
1111
{
12-
1312
[JsonPropertyNameAttribute("productCode")]
14-
public string ProductCodeType { get; set; }
13+
public ProductCodeType ProductCodeType { get; set; }
1514

1615
[JsonPropertyNameAttribute("paymentRequestId")]
1716
public string PaymentRequestId { get; set; }
@@ -61,15 +60,6 @@ public class CommonPaymentRequest : AMSRequest<CommonPaymentResponse>
6160
[JsonPropertyNameAttribute("creditPayPlan")]
6261
public CreditPayPlan CreditPayPlan { get; set; }
6362

64-
65-
66-
public override string BuildBody()
67-
{
68-
69-
validate();
70-
return JsonSerializer.Serialize(this);
71-
}
72-
7363
public override string GetRequestURI()
7464
{
7565
return "/ams/api/v1/payments/pay";

ams-dotnet/src/com/alipay/ams/api/request/PaymentCancelRequest.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,6 @@ public class PaymentCancelRequest : AMSRequest<PaymentCancelResponse>
1313
[JsonPropertyNameAttribute("paymentRequestId")]
1414
public string PaymentRequestId { get; set; }
1515

16-
17-
public override string BuildBody()
18-
{
19-
20-
validate();
21-
22-
return JsonSerializer.Serialize(this);
23-
}
24-
2516
public override string GetRequestURI()
2617
{
2718
return "/ams/api/v1/payments/cancel";

ams-dotnet/src/com/alipay/ams/api/request/PaymentCreateRequest.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,6 @@ public class PaymentCreateRequest : AMSRequest<PaymentCreateResponse>
2828
[JsonPropertyNameAttribute("paymentNotifyUrl")]
2929
public string PaymentNotifyUrl { get; set; }
3030

31-
32-
33-
public override string BuildBody()
34-
{
35-
36-
validate();
37-
return JsonSerializer.Serialize(this);
38-
}
39-
4031
public override string GetRequestURI()
4132
{
4233
return "/ams/api/v1/payments/create";

ams-dotnet/src/com/alipay/ams/api/request/PaymentInquiryRequest.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,6 @@ public class PaymentInquiryRequest : AMSRequest<PaymentInquiryResponse>
1313
[JsonPropertyNameAttribute("paymentRequestId")]
1414
public string PaymentRequestId { get; set; }
1515

16-
17-
public override string BuildBody()
18-
{
19-
20-
validate();
21-
22-
return JsonSerializer.Serialize(this);
23-
}
24-
2516
public override string GetRequestURI()
2617
{
2718
return "/ams/api/v1/payments/inquiryPayment";

ams-dotnet/src/com/alipay/ams/api/request/PaymentRefundRequest.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,6 @@ public class PaymentRefundRequest : AMSRequest<PaymentRefundResponse>
3030
[JsonPropertyNameAttribute("isAsyncRefund")]
3131
public bool IsAsyncRefund { get; set; }
3232

33-
34-
35-
36-
public override string BuildBody()
37-
{
38-
39-
validate();
40-
41-
return JsonSerializer.Serialize(this);
42-
}
43-
4433
public override string GetRequestURI()
4534
{
4635
return "/ams/api/v1/payments/refund";

ams-dotnet/src/com/alipay/ams/api/request/auth/AlipayAuthApplyTokenRequest.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,6 @@ public class AlipayAuthApplyTokenRequest : AMSRequest<AlipayAuthApplyTokenRespon
2323
[JsonPropertyNameAttribute("refreshToken")]
2424
public String RefreshToken { get; set; }
2525

26-
public override string BuildBody()
27-
{
28-
validate();
29-
return JsonSerializer.Serialize(this);
30-
}
31-
3226
public override string GetRequestURI()
3327
{
3428
return "/ams/api/v1/authorizations/applyToken";

0 commit comments

Comments
 (0)