From 4ce15058e033d956e29408a77fb9e1521ddfeb60 Mon Sep 17 00:00:00 2001 From: Feynman Loo Date: Tue, 12 Apr 2022 00:23:38 +0800 Subject: [PATCH 1/2] save. --- src/Request/Order/BillGetDto.cs | 32 +++++++++++++++++++ src/Response/Order/BillGetResult.cs | 16 ++++++++++ .../{ => Order}/OrderDeliveryResult.cs | 0 src/Response/{ => Order}/OrderGetRespData.cs | 0 .../{ => Order}/OrderPartRefundGetResult.cs | 0 5 files changed, 48 insertions(+) create mode 100644 src/Request/Order/BillGetDto.cs create mode 100644 src/Response/Order/BillGetResult.cs rename src/Response/{ => Order}/OrderDeliveryResult.cs (100%) rename src/Response/{ => Order}/OrderGetRespData.cs (100%) rename src/Response/{ => Order}/OrderPartRefundGetResult.cs (100%) diff --git a/src/Request/Order/BillGetDto.cs b/src/Request/Order/BillGetDto.cs new file mode 100644 index 0000000..73a28b1 --- /dev/null +++ b/src/Request/Order/BillGetDto.cs @@ -0,0 +1,32 @@ +using System.ComponentModel.DataAnnotations; +using Acme.ELeMe.SDK.Api; + +namespace Acme.ELeMe.SDK.Request.Order; + +public class BillGetDto: ElmSign +{ + public BillGetDto() : base("bill.get") + { + } + + /// + /// 商户Id + /// + [Required] + public string baidu_shop_id { get; set; } + /// + /// 日期,查询传入日期当日账单。格式:10位时间戳。如传入为1632473565,查询为 2021-09-24 00:00:00 ~ 2021-09-24 23:59:59的账单。 + /// + [Required] + public long date { get; set; } + /// + /// 页码 + /// + [Required] + public int page { get; set; } + /// + /// 第三方商户ID(商户自定义id) + /// + [Required] + public string shop_id { get; set; } +} \ No newline at end of file diff --git a/src/Response/Order/BillGetResult.cs b/src/Response/Order/BillGetResult.cs new file mode 100644 index 0000000..7647c94 --- /dev/null +++ b/src/Response/Order/BillGetResult.cs @@ -0,0 +1,16 @@ +namespace Acme.ELeMe.SDK.Response; + +public class BillGetResult +{ + public string baidu_shop_id { get; set; } + public long date { get; set; } + public int expend_fee { get; set; } + public int order_count { get; set; } + +} + +public class OrderDetailFee +{ + public long agent_rate { get; set; } + public long cold_box_fee { get; set; } +} \ No newline at end of file diff --git a/src/Response/OrderDeliveryResult.cs b/src/Response/Order/OrderDeliveryResult.cs similarity index 100% rename from src/Response/OrderDeliveryResult.cs rename to src/Response/Order/OrderDeliveryResult.cs diff --git a/src/Response/OrderGetRespData.cs b/src/Response/Order/OrderGetRespData.cs similarity index 100% rename from src/Response/OrderGetRespData.cs rename to src/Response/Order/OrderGetRespData.cs diff --git a/src/Response/OrderPartRefundGetResult.cs b/src/Response/Order/OrderPartRefundGetResult.cs similarity index 100% rename from src/Response/OrderPartRefundGetResult.cs rename to src/Response/Order/OrderPartRefundGetResult.cs -- Gitee From 9baf7dc0d2ccc33f1da306dfda16fc14ab97d336 Mon Sep 17 00:00:00 2001 From: "Mingor(100757)" Date: Tue, 12 Apr 2022 19:52:45 +0800 Subject: [PATCH 2/2] done. --- src/Api/IElmApi.cs | 6 + src/Request/Order/BillGetDto.cs | 4 +- src/Request/Order/BillOrderDetailGetDto.cs | 32 +++ src/Response/Order/BillGetResult.cs | 103 +++++++- .../Order/BillOrderDetailGetResult.cs | 220 ++++++++++++++++++ test/Acme.ELeMe.SDK.Tests/ELeMeApiTest.cs | 40 +++- 6 files changed, 399 insertions(+), 6 deletions(-) create mode 100644 src/Request/Order/BillOrderDetailGetDto.cs create mode 100644 src/Response/Order/BillOrderDetailGetResult.cs diff --git a/src/Api/IElmApi.cs b/src/Api/IElmApi.cs index cf3e786..abfb073 100644 --- a/src/Api/IElmApi.cs +++ b/src/Api/IElmApi.cs @@ -30,6 +30,12 @@ public interface IElmApi : IHttpApi #region 订单 + [HttpPost] + ITask> BillGet([JsonContent] BillGetDto input); + + [HttpPost] + ITask> BillOrderDetailGet([JsonContent] BillOrderDetailGetDto input); + [HttpPost] ITask> OrderConfirm([JsonContent] OrderConfirmDto orderConfirmDto); diff --git a/src/Request/Order/BillGetDto.cs b/src/Request/Order/BillGetDto.cs index 73a28b1..4b53f67 100644 --- a/src/Request/Order/BillGetDto.cs +++ b/src/Request/Order/BillGetDto.cs @@ -12,7 +12,7 @@ public class BillGetDto: ElmSign /// /// 商户Id /// - [Required] + // [Required] public string baidu_shop_id { get; set; } /// /// 日期,查询传入日期当日账单。格式:10位时间戳。如传入为1632473565,查询为 2021-09-24 00:00:00 ~ 2021-09-24 23:59:59的账单。 @@ -27,6 +27,6 @@ public class BillGetDto: ElmSign /// /// 第三方商户ID(商户自定义id) /// - [Required] + // [Required] public string shop_id { get; set; } } \ No newline at end of file diff --git a/src/Request/Order/BillOrderDetailGetDto.cs b/src/Request/Order/BillOrderDetailGetDto.cs new file mode 100644 index 0000000..1b362a8 --- /dev/null +++ b/src/Request/Order/BillOrderDetailGetDto.cs @@ -0,0 +1,32 @@ +using System.ComponentModel.DataAnnotations; +using Acme.ELeMe.SDK.Api; + +namespace Acme.ELeMe.SDK.Request.Order; + +public class BillOrderDetailGetDto: ElmSign +{ + public BillOrderDetailGetDto() : base("bill.orderdetail") + { + } + + /// + /// 商户Id + /// + // [Required] + public string baidu_shop_id { get; set; } + /// + /// 日期,查询传入日期当日账单。格式:10位时间戳。如传入为1632473565,查询为 2021-09-24 00:00:00 ~ 2021-09-24 23:59:59的账单。 + /// + [Required] + public long date { get; set; } + /// + /// 页码 + /// + [Required] + public int page { get; set; } + /// + /// 第三方商户ID(商户自定义id) + /// + // [Required] + public string shop_id { get; set; } +} \ No newline at end of file diff --git a/src/Response/Order/BillGetResult.cs b/src/Response/Order/BillGetResult.cs index 7647c94..dbd5ea4 100644 --- a/src/Response/Order/BillGetResult.cs +++ b/src/Response/Order/BillGetResult.cs @@ -2,15 +2,116 @@ namespace Acme.ELeMe.SDK.Response; public class BillGetResult { + /// + /// 平台门店id + /// public string baidu_shop_id { get; set; } + /// + /// 账单日期,格式:10位时间戳 + /// public long date { get; set; } + /// + /// 应付金额,单位:分 + /// public int expend_fee { get; set; } + /// + /// 订单数量 + /// public int order_count { get; set; } - + /// + /// 订单明细详情 + /// + public OrderDetailFee order_detail_fee { get; set; } + /// + /// 实际付款主体名称 + /// + public string pay_entity { get; set; } + /// + /// 未结算金额,单位:分 + /// + public long pay_fee { get; set; } + /// + /// 应收金额,单位:分 + /// + public long shop_fee { get; set; } + /// + /// 第三方门店id + /// + public string shop_id { get; set; } + /// + /// 入账时间,格式:10位时间戳 + /// + public long payment_date { get; set; } } public class OrderDetailFee { + /// + /// 代理商补贴,单位:分 + /// public long agent_rate { get; set; } + /// + /// 冷链加工费,单位:分 + /// public long cold_box_fee { get; set; } + /// + /// 实收佣金,单位:分 + /// + public long commission { get; set; } + /// + /// 包装费,单位:分 + /// + public long package_fee { get; set; } + /// + /// 平台补贴,单位:分 + /// + public long platform_rate { get; set; } + /// + /// 商品总金额,单位:分 + /// + public long product_fee { get; set; } + /// + /// 配送费,单位:分 + /// + public long send_fee { get; set; } + /// + /// 商户补贴,单位:分 + /// + public long shop_rate { get; set; } + /// + /// 用户实付金额,单位:分 + /// + public long user_fee { get; set; } + /// + /// 众包呼单费,单位:分 + /// + public long zhongbao_call_fee { get; set; } + /// + /// 履约服务费(基础物流费),单位:分 + /// + public long actual_base_logistics_amount { get; set; } + /// + /// 距离加价费,单位:分 + /// + public long actual_base_distance_amount { get; set; } + /// + /// 时间加价费,单位:分 + /// + public long actual_base_time_amount { get; set; } + /// + /// 基础物流费总额,单位:分。基础物流费总额=履约服务费(基础物流费)+距离加价费+时间加价费 + /// + public long base_logistics_amount { get; set; } + /// + /// 订单呼单小费,单位:分 + /// + public long delivery_tip_amount { get; set; } + /// + /// 增值服务费总额,单位:分 + /// + public long addition_service_price { get; set; } + /// + /// 渠道费 + /// + public long pay_channel_fee { get; set; } } \ No newline at end of file diff --git a/src/Response/Order/BillOrderDetailGetResult.cs b/src/Response/Order/BillOrderDetailGetResult.cs new file mode 100644 index 0000000..23f419a --- /dev/null +++ b/src/Response/Order/BillOrderDetailGetResult.cs @@ -0,0 +1,220 @@ +namespace Acme.ELeMe.SDK.Response; + +public class BillOrderDetailGetResult +{ + public string baidu_shop_id { get; set; } + public long date { get; set; } + public string shop_id { get; set; } + public List order_list { get; set; } +} + +public class BillOrder +{ + public long amount { get; set; } + public BillOrderDetailFee order_detail_fee { get; set; } + public string ele_order_id { get; set; } + public long order_create_time { get; set; } + public string order_from { get; set; } + public string order_id { get; set; } + public int order_index { get; set; } + public string pay_entity { get; set; } + public string responsible_party { get; set; } + public long trade_create_time { get; set; } + public long payment_date { get; set; } +} + +public class BillOrderDetailFee +{ + /// + /// 调账金额,单位:分 + /// + public long adjust_fee { get; set; } + /// + /// 代理商补贴,单位:分 + /// + public long agent_rate { get; set; } + /// + /// 冷链加工费,单位:分 + /// + public long cold_box_fee { get; set; } + /// + /// 实收佣金,单位:分 + /// + public long commission { get; set; } + /// + /// 抽佣比例 + /// + public long discount_value { get; set; } + /// + /// 保底抽佣金额,单位:分 + /// + public long guarantee_fee { get; set; } + /// + /// 包装费,单位:分 + /// + public long package_fee { get; set; } + /// + /// 平台补贴,单位:分 + /// + public long platform_rate { get; set; } + /// + /// 商品总金额,单位:分 + /// + public long product_fee { get; set; } + /// + /// 配送费,单位:分 + /// + public long send_fee { get; set; } + /// + /// 商户补贴,单位:分 + /// + public long shop_rate { get; set; } + /// + /// 用户实付金额,单位:分 + /// + public long user_fee { get; set; } + /// + /// 众包呼单费,单位:分 + /// + public long zhongbao_call_fee { get; set; } + /// + /// 履约服务费(基础物流费),单位:分 + /// + public long actual_base_logistics_amount { get; set; } + /// + /// 增值服务费,单位:分 + /// + public long shop_in_amount { get; set; } + /// + /// 距离加价费,单位:分 + /// + public long actualBaseDistanceAmount { get; set; } + /// + /// 时间加价费,单位:分 + /// + public long actualBaseTimeAmount { get; set; } + /// + /// 基础物流费总额,单位:分。基础物流费总额=履约服务费(基础物流费)+距离加价费+时间加价费 + /// + public long baseLogisticsAmount { get; set; } + /// + /// 订单类型,枚举值:(0, "外卖服务";1, "到店自取";2, "到店买单") + /// + public int orderBusinessType { get; set; } + /// + /// 业务类型,枚举值:(正向单/全部退单/部分退单/赔偿单/部分退赔偿单/赔付单/正向调整/负向调整/生鲜自提/生鲜自提退单/新零售代运营/新零售代运营退单/新零售代运营商户扣款/新零售代运营商户扣款退单) + /// + public string businessTypeDesc { get; set; } + /// + /// 商户补贴-商家券,单位:分 + /// + public long merchantCouponAmount { get; set; } + /// + /// 商户补贴-配送费,单位:分 + /// + public long merchantDeliveryCouponAmount { get; set; } + /// + /// 商户补贴-配送费活动,单位:分 + /// + public long merchantDeliverySubsidyAmount { get; set; } + /// + /// 商户补贴-礼金,单位:分 + /// + public long merchantCashGiftAmount { get; set; } + /// + /// 商户补贴-活动,单位:分 + /// + public long merchantSubsidyAmount { get; set; } + /// + /// 商户补贴-单品券,单位:分 + /// + public long merchantItemCouponAmount { get; set; } + /// + /// 配送费,单位:分 + /// + public long originDeliverFee { get; set; } + /// + /// 配送方式,枚举值:(自配送/饿了么-众包/代理商物流配送/平台物流配送/未知) + /// + public string deliveryType { get; set; } + /// + /// 呼单小费,单位:分 + /// + public long deliveryTipAmount { get; set; } + /// + /// 饿了么平台补贴-商家券,单位:分 + /// + public long elemeCouponAmount { get; set; } + /// + /// 饿了么平台补贴-配送费券,单位:分 + /// + public long elemeDeliveryCouponAmount { get; set; } + /// + /// 饿了么平台补贴-配送费活动,单位:分 + /// + public long elemeDeliverySubsidyAmount { get; set; } + /// + /// 饿了么平台补贴-礼金,单位:分 + /// + public long elemeCashGiftAmount { get; set; } + /// + /// 饿了么平台补贴-活动,单位:分 + /// + public long elemeSubsidyAmount { get; set; } + /// + /// 饿了么平台补贴-红包,单位:分 + /// + public long elemeRedPacket { get; set; } + /// + /// 是否搭售单,枚举值:0:否,1:是 + /// + public int isTyingOrder { get; set; } + /// + /// 搭售单类型,枚举值:0:主单,1:搭售单 + /// + public int tyingOrderType { get; set; } + /// + /// 是否搭售单,枚举值:0:否,1:是 + /// + public string isTyingOrderDesc { get; set; } + /// + /// 搭售单类型,单位:分 + /// + public string tyingOrderTypeDesc { get; set; } + /// + /// 商户补贴-红包,单位:分 + /// + public long merchantRedPacket { get; set; } + /// + /// 订单类型,枚举值:(0 即时单;1 预定单) + /// + public string bookTypeDesc { get; set; } + /// + /// 是否降级自配送,枚举值:(是 否) + /// + public string isSelfDelivery { get; set; } + /// + /// 增值服务费总额,单位:分 + /// + public long addition_service_price { get; set; } + /// + /// 慢必赔服务费,单位:分 + /// + public long slow_will_pay_amount { get; set; } + /// + /// 医保卡支付,单位:分 + /// + public long medical_card_pay { get; set; } + /// + /// 渠道费 + /// + public long pay_channel_fee { get; set; } + /// + /// 渠道费率 + /// + public long pay_channel_rate { get; set; } + /// + /// 逆向退款单号 + /// + public string refundOrderId { get; set; } +} \ No newline at end of file diff --git a/test/Acme.ELeMe.SDK.Tests/ELeMeApiTest.cs b/test/Acme.ELeMe.SDK.Tests/ELeMeApiTest.cs index effa4a2..e37a205 100644 --- a/test/Acme.ELeMe.SDK.Tests/ELeMeApiTest.cs +++ b/test/Acme.ELeMe.SDK.Tests/ELeMeApiTest.cs @@ -1,6 +1,8 @@ +using System; using System.Collections.Generic; using System.Threading.Tasks; using Acme.ELeMe.SDK.Api; +using Acme.ELeMe.SDK.Request.Order; using Shouldly; using Volo.Abp; using Volo.Abp.Json; @@ -13,15 +15,15 @@ namespace Acme.ELeMe.SDK.Tests; public class ELeMeApiTest: AbpIntegratedTest { private readonly ITestOutputHelper _testOutputHelper; - // private const string AppId = ""; - // private const string AppSecret = ""; + private const string AppId = "32644762"; + private const string AppSecret = "2uk0plUZ1avO"; public ELeMeApiTest(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; } - protected IElmApi MeiTuanApi => GetRequiredService(); + protected IElmApi ELeMeApi => GetRequiredService(); protected IJsonSerializer JsonSerializer => GetRequiredService(); protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) @@ -65,4 +67,36 @@ public class ELeMeApiTest: AbpIntegratedTest // } // }); } + + [Fact] + public async Task BillGet() + { + var resp = await ELeMeApi.BillGet(new BillGetDto() + { + AppId = AppId, + AppSecret = AppSecret, + // baidu_shop_id = "32267394812", + shop_id = "32267394812", + date = DateTimeOffset.Now.ToUnixTimeSeconds() + }); + resp.IsSuccess().ShouldBeTrue(); + resp.body.ShouldNotBeNull().IsSuccess().ShouldBeTrue(); + _testOutputHelper.WriteLine(JsonSerializer.Serialize(resp.body.data)); + } + + [Fact] + public async Task BillOrderDetailGet() + { + var resp = await ELeMeApi.BillOrderDetailGet(new BillOrderDetailGetDto() + { + AppId = AppId, + AppSecret = AppSecret, + // baidu_shop_id = "32267394812", + shop_id = "32267394812", + date = DateTimeOffset.Now.ToUnixTimeSeconds() + }); + resp.IsSuccess().ShouldBeTrue(); + resp.body.ShouldNotBeNull().IsSuccess().ShouldBeTrue(); + _testOutputHelper.WriteLine(JsonSerializer.Serialize(resp.body.data)); + } } \ No newline at end of file -- Gitee