From 81573d783ddd2f86d84bdef3d806bbe341c2834c Mon Sep 17 00:00:00 2001
From: lwh <2679599887@qq.com>
Date: Tue, 29 Aug 2023 18:24:11 +0800
Subject: [PATCH] =?UTF-8?q?init=20=E5=88=9D=E5=A7=8B=E5=8C=96=E8=AE=A2?=
=?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Business/OrderManage/Orders/OrderDto.cs | 141 ++++++++
.../Business/OrderManage/Orders/Order.cs | 337 ++++++++++++++++++
.../Vo/Business/OrderManage/Orders/OrderVo.cs | 263 ++++++++++++++
.../OrderManage/Orders/OrderRepository.cs | 20 ++
.../OrderManage/Orders/OrderService.cs | 137 +++++++
.../OrderManage/Orders/IOrderService.cs | 45 +++
.../OrderManage/Orders/OrderController.cs | 132 +++++++
7 files changed, 1075 insertions(+)
create mode 100644 ARW.Model/Dto/Business/OrderManage/Orders/OrderDto.cs
create mode 100644 ARW.Model/Models/Business/OrderManage/Orders/Order.cs
create mode 100644 ARW.Model/Vo/Business/OrderManage/Orders/OrderVo.cs
create mode 100644 ARW.Repository/Business/OrderManage/Orders/OrderRepository.cs
create mode 100644 ARW.Service/Business/BusinessService/OrderManage/Orders/OrderService.cs
create mode 100644 ARW.Service/Business/IBusinessService/OrderManage/Orders/IOrderService.cs
create mode 100644 ARW.WebApi/Controllers/Business/OrderManage/Orders/OrderController.cs
diff --git a/ARW.Model/Dto/Business/OrderManage/Orders/OrderDto.cs b/ARW.Model/Dto/Business/OrderManage/Orders/OrderDto.cs
new file mode 100644
index 0000000..c9ccf26
--- /dev/null
+++ b/ARW.Model/Dto/Business/OrderManage/Orders/OrderDto.cs
@@ -0,0 +1,141 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using ARW.Model.Models.Business.OrderManage.Orders;
+
+namespace ARW.Model.Dto.Business.OrderManage.Orders
+{
+ ///
+ /// 订单输入对象
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ public class OrderDto
+ {
+
+ public int OrderId { get; set; }
+
+ public long OrderGuid { get; set; }
+
+ [Required(ErrorMessage = "商品guid不能为空")]
+ public long GoodsGuid { get; set; }
+
+ [Required(ErrorMessage = "订单流水guid不能为空")]
+ public long PaymentGuid { get; set; }
+
+ [Required(ErrorMessage = "客户guid不能为空")]
+ public long CustomerGuid { get; set; }
+
+ public long? ShopGuid { get; set; }
+
+ [Required(ErrorMessage = "订单号不能为空")]
+ public string OrderNumber { get; set; }
+
+ [Required(ErrorMessage = "商品总金额不能为空")]
+ public decimal GoodsTotalAmoun { get; set; }
+
+ [Required(ErrorMessage = "订单金额不能为空")]
+ public decimal OrderAmount { get; set; }
+
+ public long? CouponGuid { get; set; }
+
+ public decimal CouponMoney { get; set; }
+
+ public decimal PointsMoney { get; set; }
+
+ public decimal PointsNum { get; set; }
+
+ [Required(ErrorMessage = "实际付款金额(包含运费)不能为空")]
+ public decimal PayPrice { get; set; }
+
+ public decimal UpdatePrice { get; set; }
+
+ public string OrderRemark { get; set; }
+
+ [Required(ErrorMessage = "支付方式(1微信支付 2余额支付)不能为空")]
+ public int PayType { get; set; }
+
+ [Required(ErrorMessage = "付款状态(1未付款 2已付款)不能为空")]
+ public int PayStatus { get; set; }
+
+ [Required(ErrorMessage = "付款时间不能为空")]
+ public DateTime? PayTime { get; set; }
+
+ [Required(ErrorMessage = "配送方式(1快递配送)不能为空")]
+ public int DeliveryType { get; set; }
+
+ [Required(ErrorMessage = "运费金额不能为空")]
+ public decimal ExpressPrice { get; set; }
+
+ public long? LogisticsCompanyGuid { get; set; }
+
+ public string LogisticsCompany { get; set; }
+
+ public string LogisticsTrackingNumber { get; set; }
+
+ [Required(ErrorMessage = "发货状态(1未发货 2已发货)不能为空")]
+ public int DeliveryStatus { get; set; }
+
+ public DateTime? DeliveryTime { get; set; }
+
+ [Required(ErrorMessage = "收货状态(1未收货 2已收货)不能为空")]
+ public int ReceiptStatus { get; set; }
+
+ public DateTime? ReceiptTime { get; set; }
+
+ [Required(ErrorMessage = "订单状态(1进行中 2取消 3待取消 4已完成)不能为空")]
+ public int OrderStatus { get; set; }
+
+ public decimal PointsBonus { get; set; }
+
+ [Required(ErrorMessage = "订单是否已结算(1未结算 2已结算)不能为空")]
+ public int IsSettled { get; set; }
+
+ public string TransactionId { get; set; }
+
+ [Required(ErrorMessage = "是否已评价(1否 2是)不能为空")]
+ public int IsComment { get; set; }
+
+ [Required(ErrorMessage = "订单来源(1普通订单)不能为空")]
+ public int OrderSource { get; set; }
+
+
+
+
+
+ }
+
+
+ ///
+ /// 订单查询对象
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ public class OrderQueryDto : PagerInfo
+ {
+
+ public string OrderNumber { get; set; }
+
+ public int? PayType { get; set; }
+
+ public int? PayStatus { get; set; }
+
+ public int? DeliveryType { get; set; }
+
+ public string LogisticsTrackingNumber { get; set; }
+
+ public int? DeliveryStatus { get; set; }
+
+ public int? ReceiptStatus { get; set; }
+
+ public int? OrderStatus { get; set; }
+
+ public string ids { get; set; }
+ }
+
+
+
+
+}
diff --git a/ARW.Model/Models/Business/OrderManage/Orders/Order.cs b/ARW.Model/Models/Business/OrderManage/Orders/Order.cs
new file mode 100644
index 0000000..79f1c7f
--- /dev/null
+++ b/ARW.Model/Models/Business/OrderManage/Orders/Order.cs
@@ -0,0 +1,337 @@
+using System;
+using System.Collections.Generic;
+using SqlSugar;
+using OfficeOpenXml.Attributes;
+using Newtonsoft.Json;
+
+namespace ARW.Model.Models.Business.OrderManage.Orders
+{
+ ///
+ /// 订单,数据实体对象
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ [SugarTable("tb_order")]
+ public class Order : BusinessBase
+ {
+
+ ///
+ /// 描述 :
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "OrderId")]
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "order_id")]
+ public int OrderId { get; set; }
+
+
+ ///
+ /// 描述 :
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "OrderGuid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "order_guid")]
+ public long OrderGuid { get; set; }
+
+
+ ///
+ /// 描述 :商品guid
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "商品guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "goods_guid")]
+ public long GoodsGuid { get; set; }
+
+
+ ///
+ /// 描述 :订单流水guid
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单流水guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "payment_guid")]
+ public long PaymentGuid { get; set; }
+
+
+ ///
+ /// 描述 :客户guid
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "客户guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "customer_guid")]
+ public long CustomerGuid { get; set; }
+
+
+ ///
+ /// 描述 :店铺guid
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "店铺guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "shop_guid")]
+ public long? ShopGuid { get; set; }
+
+
+ ///
+ /// 描述 :订单号
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单号")]
+ [SugarColumn(ColumnName = "order_number")]
+ public string OrderNumber { get; set; }
+
+
+ ///
+ /// 描述 :商品总金额
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "商品总金额")]
+ [SugarColumn(ColumnName = "goods_total_amoun")]
+ public decimal GoodsTotalAmoun { get; set; }
+
+
+ ///
+ /// 描述 :订单金额
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单金额")]
+ [SugarColumn(ColumnName = "order_amount")]
+ public decimal OrderAmount { get; set; }
+
+
+ ///
+ /// 描述 :优惠券guid
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "优惠券guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "coupon_guid")]
+ public long? CouponGuid { get; set; }
+
+
+ ///
+ /// 描述 :优惠券抵扣金额
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "优惠券抵扣金额")]
+ [SugarColumn(ColumnName = "coupon_money")]
+ public decimal CouponMoney { get; set; }
+
+
+ ///
+ /// 描述 :积分抵扣金额
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "积分抵扣金额")]
+ [SugarColumn(ColumnName = "points_money")]
+ public decimal PointsMoney { get; set; }
+
+
+ ///
+ /// 描述 :积分抵扣数量
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "积分抵扣数量")]
+ [SugarColumn(ColumnName = "points_num")]
+ public decimal PointsNum { get; set; }
+
+
+ ///
+ /// 描述 :实际付款金额(包含运费)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "实际付款金额(包含运费)")]
+ [SugarColumn(ColumnName = "pay_price")]
+ public decimal PayPrice { get; set; }
+
+
+ ///
+ /// 描述 :后台修改的订单金额(差价)
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "后台修改的订单金额(差价)")]
+ [SugarColumn(ColumnName = "update_price")]
+ public decimal UpdatePrice { get; set; }
+
+
+ ///
+ /// 描述 :买家留言
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "买家留言")]
+ [SugarColumn(ColumnName = "order_remark")]
+ public string OrderRemark { get; set; }
+
+
+ ///
+ /// 描述 :支付方式(1微信支付 2余额支付)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "支付方式(1微信支付 2余额支付)")]
+ [SugarColumn(ColumnName = "pay_type")]
+ public int PayType { get; set; }
+
+
+ ///
+ /// 描述 :付款状态(1未付款 2已付款)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "付款状态(1未付款 2已付款)")]
+ [SugarColumn(ColumnName = "pay_status")]
+ public int PayStatus { get; set; }
+
+
+ ///
+ /// 描述 :付款时间
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "付款时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
+ [SugarColumn(ColumnName = "pay_time")]
+ public DateTime? PayTime { get; set; }
+
+
+ ///
+ /// 描述 :配送方式(1快递配送)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "配送方式(1快递配送)")]
+ [SugarColumn(ColumnName = "delivery_type")]
+ public int DeliveryType { get; set; }
+
+
+ ///
+ /// 描述 :运费金额
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "运费金额")]
+ [SugarColumn(ColumnName = "express_price")]
+ public decimal ExpressPrice { get; set; }
+
+
+ ///
+ /// 描述 :物流公司guid
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "物流公司guid")]
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(ColumnName = "logistics_company_guid")]
+ public long? LogisticsCompanyGuid { get; set; }
+
+
+ ///
+ /// 描述 :物流公司
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "物流公司")]
+ [SugarColumn(ColumnName = "logistics_company")]
+ public string LogisticsCompany { get; set; }
+
+
+ ///
+ /// 描述 :物流单号
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "物流单号")]
+ [SugarColumn(ColumnName = "logistics_tracking_number")]
+ public string LogisticsTrackingNumber { get; set; }
+
+
+ ///
+ /// 描述 :发货状态(1未发货 2已发货)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "发货状态(1未发货 2已发货)")]
+ [SugarColumn(ColumnName = "delivery_status")]
+ public int DeliveryStatus { get; set; }
+
+
+ ///
+ /// 描述 :发货时间
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "发货时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
+ [SugarColumn(ColumnName = "delivery_time")]
+ public DateTime? DeliveryTime { get; set; }
+
+
+ ///
+ /// 描述 :收货状态(1未收货 2已收货)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "收货状态(1未收货 2已收货)")]
+ [SugarColumn(ColumnName = "receipt_status")]
+ public int ReceiptStatus { get; set; }
+
+
+ ///
+ /// 描述 :收货时间
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "收货时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
+ [SugarColumn(ColumnName = "receipt_time")]
+ public DateTime? ReceiptTime { get; set; }
+
+
+ ///
+ /// 描述 :订单状态(1进行中 2取消 3待取消 4已完成)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单状态(1进行中 2取消 3待取消 4已完成)")]
+ [SugarColumn(ColumnName = "order_status")]
+ public int OrderStatus { get; set; }
+
+
+ ///
+ /// 描述 :赠送的积分数量
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "赠送的积分数量")]
+ [SugarColumn(ColumnName = "points_bonus")]
+ public decimal PointsBonus { get; set; }
+
+
+ ///
+ /// 描述 :订单是否已结算(1未结算 2已结算)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单是否已结算(1未结算 2已结算)")]
+ [SugarColumn(ColumnName = "is_settled")]
+ public int IsSettled { get; set; }
+
+
+ ///
+ /// 描述 :微信支付交易号
+ /// 空值 : true
+ ///
+ [EpplusTableColumn(Header = "微信支付交易号")]
+ [SugarColumn(ColumnName = "transaction_id")]
+ public string TransactionId { get; set; }
+
+
+ ///
+ /// 描述 :是否已评价(1否 2是)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "是否已评价(1否 2是)")]
+ [SugarColumn(ColumnName = "is_comment")]
+ public int IsComment { get; set; }
+
+
+ ///
+ /// 描述 :订单来源(1普通订单)
+ /// 空值 : false
+ ///
+ [EpplusTableColumn(Header = "订单来源(1普通订单)")]
+ [SugarColumn(ColumnName = "order_source")]
+ public int OrderSource { get; set; }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ARW.Model/Vo/Business/OrderManage/Orders/OrderVo.cs b/ARW.Model/Vo/Business/OrderManage/Orders/OrderVo.cs
new file mode 100644
index 0000000..4f49230
--- /dev/null
+++ b/ARW.Model/Vo/Business/OrderManage/Orders/OrderVo.cs
@@ -0,0 +1,263 @@
+using Newtonsoft.Json;
+using OfficeOpenXml.Attributes;
+using SqlSugar;
+using System;
+
+namespace ARW.Model.Vo.Business.OrderManage.Orders
+{
+ ///
+ /// 订单展示对象
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ public class OrderVo
+ {
+
+
+ ///
+ /// 描述 :
+ ///
+ [EpplusIgnore]
+ public int OrderId { get; set; }
+
+
+ ///
+ /// 描述 :
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusIgnore]
+ public long OrderGuid { get; set; }
+
+
+ ///
+ /// 描述 :商品guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusTableColumn(Header = "商品guid")]
+ public long GoodsGuid { get; set; }
+
+
+ ///
+ /// 描述 :订单流水guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusTableColumn(Header = "订单流水guid")]
+ public long PaymentGuid { get; set; }
+
+
+ ///
+ /// 描述 :客户guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusTableColumn(Header = "客户guid")]
+ public long CustomerGuid { get; set; }
+
+
+ ///
+ /// 描述 :店铺guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusIgnore]
+ public long? ShopGuid { get; set; }
+
+
+ ///
+ /// 描述 :订单号
+ ///
+ [EpplusTableColumn(Header = "订单号")]
+ public string OrderNumber { get; set; }
+
+
+ ///
+ /// 描述 :商品总金额
+ ///
+ [EpplusTableColumn(Header = "商品总金额")]
+ public decimal GoodsTotalAmoun { get; set; }
+
+
+ ///
+ /// 描述 :订单金额
+ ///
+ [EpplusTableColumn(Header = "订单金额")]
+ public decimal OrderAmount { get; set; }
+
+
+ ///
+ /// 描述 :优惠券guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusIgnore]
+ public long? CouponGuid { get; set; }
+
+
+ ///
+ /// 描述 :优惠券抵扣金额
+ ///
+ [EpplusIgnore]
+ public decimal CouponMoney { get; set; }
+
+
+ ///
+ /// 描述 :积分抵扣金额
+ ///
+ [EpplusIgnore]
+ public decimal PointsMoney { get; set; }
+
+
+ ///
+ /// 描述 :积分抵扣数量
+ ///
+ [EpplusIgnore]
+ public decimal PointsNum { get; set; }
+
+
+ ///
+ /// 描述 :实际付款金额(包含运费)
+ ///
+ [EpplusTableColumn(Header = "实际付款金额(包含运费)")]
+ public decimal PayPrice { get; set; }
+
+
+ ///
+ /// 描述 :后台修改的订单金额(差价)
+ ///
+ [EpplusIgnore]
+ public decimal UpdatePrice { get; set; }
+
+
+ ///
+ /// 描述 :买家留言
+ ///
+ [EpplusIgnore]
+ public string OrderRemark { get; set; }
+
+
+ ///
+ /// 描述 :支付方式(1微信支付 2余额支付)
+ ///
+ [EpplusTableColumn(Header = "支付方式(1微信支付 2余额支付)")]
+ public int PayType { get; set; }
+
+
+ ///
+ /// 描述 :付款状态(1未付款 2已付款)
+ ///
+ [EpplusTableColumn(Header = "付款状态(1未付款 2已付款)")]
+ public int PayStatus { get; set; }
+
+
+ ///
+ /// 描述 :付款时间
+ ///
+ [EpplusTableColumn(Header = "付款时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
+ public DateTime? PayTime { get; set; }
+
+
+ ///
+ /// 描述 :配送方式(1快递配送)
+ ///
+ [EpplusTableColumn(Header = "配送方式(1快递配送)")]
+ public int DeliveryType { get; set; }
+
+
+ ///
+ /// 描述 :运费金额
+ ///
+ [EpplusTableColumn(Header = "运费金额")]
+ public decimal ExpressPrice { get; set; }
+
+
+ ///
+ /// 描述 :物流公司guid
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [EpplusIgnore]
+ public long? LogisticsCompanyGuid { get; set; }
+
+
+ ///
+ /// 描述 :物流公司
+ ///
+ [EpplusIgnore]
+ public string LogisticsCompany { get; set; }
+
+
+ ///
+ /// 描述 :物流单号
+ ///
+ [EpplusIgnore]
+ public string LogisticsTrackingNumber { get; set; }
+
+
+ ///
+ /// 描述 :发货状态(1未发货 2已发货)
+ ///
+ [EpplusTableColumn(Header = "发货状态(1未发货 2已发货)")]
+ public int DeliveryStatus { get; set; }
+
+
+ ///
+ /// 描述 :发货时间
+ ///
+ [EpplusIgnore]
+ public DateTime? DeliveryTime { get; set; }
+
+
+ ///
+ /// 描述 :收货状态(1未收货 2已收货)
+ ///
+ [EpplusTableColumn(Header = "收货状态(1未收货 2已收货)")]
+ public int ReceiptStatus { get; set; }
+
+
+ ///
+ /// 描述 :收货时间
+ ///
+ [EpplusIgnore]
+ public DateTime? ReceiptTime { get; set; }
+
+
+ ///
+ /// 描述 :订单状态(1进行中 2取消 3待取消 4已完成)
+ ///
+ [EpplusTableColumn(Header = "订单状态(1进行中 2取消 3待取消 4已完成)")]
+ public int OrderStatus { get; set; }
+
+
+ ///
+ /// 描述 :赠送的积分数量
+ ///
+ [EpplusIgnore]
+ public decimal PointsBonus { get; set; }
+
+
+ ///
+ /// 描述 :订单是否已结算(1未结算 2已结算)
+ ///
+ [EpplusTableColumn(Header = "订单是否已结算(1未结算 2已结算)")]
+ public int IsSettled { get; set; }
+
+
+ ///
+ /// 描述 :微信支付交易号
+ ///
+ [EpplusIgnore]
+ public string TransactionId { get; set; }
+
+
+ ///
+ /// 描述 :是否已评价(1否 2是)
+ ///
+ [EpplusTableColumn(Header = "是否已评价(1否 2是)")]
+ public int IsComment { get; set; }
+
+
+ ///
+ /// 描述 :订单来源(1普通订单)
+ ///
+ [EpplusTableColumn(Header = "订单来源(1普通订单)")]
+ public int OrderSource { get; set; }
+
+ }
+}
diff --git a/ARW.Repository/Business/OrderManage/Orders/OrderRepository.cs b/ARW.Repository/Business/OrderManage/Orders/OrderRepository.cs
new file mode 100644
index 0000000..ead0b74
--- /dev/null
+++ b/ARW.Repository/Business/OrderManage/Orders/OrderRepository.cs
@@ -0,0 +1,20 @@
+using System;
+using Infrastructure.Attribute;
+using ARW.Repository.System;
+using ARW.Model.Models.Business.OrderManage.Orders;
+
+namespace ARW.Repository.Business.OrderManage.Orders
+{
+ ///
+ /// 订单仓储
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ [AppService(ServiceLifetime = LifeTime.Transient)]
+ public class OrderRepository : BaseRepository
+ {
+ #region 业务逻辑代码
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/ARW.Service/Business/BusinessService/OrderManage/Orders/OrderService.cs b/ARW.Service/Business/BusinessService/OrderManage/Orders/OrderService.cs
new file mode 100644
index 0000000..9a08cda
--- /dev/null
+++ b/ARW.Service/Business/BusinessService/OrderManage/Orders/OrderService.cs
@@ -0,0 +1,137 @@
+using Infrastructure.Attribute;
+using Microsoft.AspNetCore.Http;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Infrastructure;
+using ARW.Model;
+using ARW.Repository;
+using ARW.Repository.Business.OrderManage.Orders;
+using ARW.Service.Business.IBusinessService.OrderManage.Orders;
+using ARW.Model.Dto.Business.OrderManage.Orders;
+using ARW.Model.Models.Business.OrderManage.Orders;
+using ARW.Model.Vo.Business.OrderManage.Orders;
+
+namespace ARW.Service.Business.BusinessService.OrderManage.Orders
+{
+ ///
+ /// 订单接口实现类
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ [AppService(ServiceType = typeof(IOrderService), ServiceLifetime = LifeTime.Transient)]
+ public class OrderServiceImpl : BaseService, IOrderService
+ {
+ private readonly OrderRepository _OrderRepository;
+
+ public OrderServiceImpl(OrderRepository OrderRepository)
+ {
+ this._OrderRepository = OrderRepository;
+ }
+
+ #region 业务逻辑代码
+
+
+ ///
+ /// 查询订单分页列表
+ ///
+ public async Task> GetOrderList(OrderQueryDto parm)
+ {
+ //开始拼装查询条件d
+ var predicate = Expressionable.Create();
+
+ predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), s => s.OrderNumber.Contains(parm.OrderNumber));
+ predicate = predicate.AndIF(parm.PayType != null, s => s.PayType == parm.PayType);
+ predicate = predicate.AndIF(parm.PayStatus != null, s => s.PayStatus == parm.PayStatus);
+ predicate = predicate.AndIF(parm.DeliveryType != null, s => s.DeliveryType == parm.DeliveryType);
+ predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LogisticsTrackingNumber), s => s.LogisticsTrackingNumber.Contains(parm.LogisticsTrackingNumber));
+ predicate = predicate.AndIF(parm.DeliveryStatus != null, s => s.DeliveryStatus == parm.DeliveryStatus);
+ predicate = predicate.AndIF(parm.ReceiptStatus != null, s => s.ReceiptStatus == parm.ReceiptStatus);
+ predicate = predicate.AndIF(parm.OrderStatus != null, s => s.OrderStatus == parm.OrderStatus);
+ var query = _OrderRepository
+ .Queryable()
+ .Where(predicate.ToExpression())
+ .OrderBy(s => s.Create_time,OrderByType.Desc)
+ .Select(s => new OrderVo
+ {
+ OrderId = s.OrderId,
+ OrderGuid = s.OrderGuid,
+ GoodsGuid = s.GoodsGuid,
+ PaymentGuid = s.PaymentGuid,
+ CustomerGuid = s.CustomerGuid,
+ ShopGuid = s.ShopGuid,
+ OrderNumber = s.OrderNumber,
+ GoodsTotalAmoun = s.GoodsTotalAmoun,
+ OrderAmount = s.OrderAmount,
+ CouponGuid = s.CouponGuid,
+ CouponMoney = s.CouponMoney,
+ PointsMoney = s.PointsMoney,
+ PointsNum = s.PointsNum,
+ PayPrice = s.PayPrice,
+ UpdatePrice = s.UpdatePrice,
+ OrderRemark = s.OrderRemark,
+ PayType = s.PayType,
+ PayStatus = s.PayStatus,
+ PayTime = s.PayTime,
+ DeliveryType = s.DeliveryType,
+ ExpressPrice = s.ExpressPrice,
+ LogisticsCompanyGuid = s.LogisticsCompanyGuid,
+ LogisticsCompany = s.LogisticsCompany,
+ LogisticsTrackingNumber = s.LogisticsTrackingNumber,
+ DeliveryStatus = s.DeliveryStatus,
+ DeliveryTime = s.DeliveryTime,
+ ReceiptStatus = s.ReceiptStatus,
+ ReceiptTime = s.ReceiptTime,
+ OrderStatus = s.OrderStatus,
+ PointsBonus = s.PointsBonus,
+ IsSettled = s.IsSettled,
+ TransactionId = s.TransactionId,
+ IsComment = s.IsComment,
+ OrderSource = s.OrderSource,
+ });
+
+
+ return await query.ToPageAsync(parm);
+ }
+
+ ///
+ /// 添加或修改订单
+ ///
+ public async Task AddOrUpdateOrder(Order model)
+ {
+ if (model.OrderId != 0)
+ {
+ var response = await _OrderRepository.UpdateAsync(model);
+ return "修改成功!";
+ }
+ else
+ {
+
+ var response = await _OrderRepository.InsertReturnSnowflakeIdAsync(model);
+ return "添加成功!";
+ }
+ }
+
+ #region Excel处理
+
+
+ ///
+ /// Excel数据导出处理
+ ///
+ public async Task> HandleExportData(List data)
+ {
+ return data;
+ }
+
+ #endregion
+
+
+
+#endregion
+
+ }
+}
diff --git a/ARW.Service/Business/IBusinessService/OrderManage/Orders/IOrderService.cs b/ARW.Service/Business/IBusinessService/OrderManage/Orders/IOrderService.cs
new file mode 100644
index 0000000..791e534
--- /dev/null
+++ b/ARW.Service/Business/IBusinessService/OrderManage/Orders/IOrderService.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ARW.Model;
+using ARW.Model.Dto.Business.OrderManage.Orders;
+using ARW.Model.Models.Business.OrderManage.Orders;
+using ARW.Model.Vo.Business.OrderManage.Orders;
+
+namespace ARW.Service.Business.IBusinessService.OrderManage.Orders
+{
+ ///
+ /// 订单接口类
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ public interface IOrderService : IBaseService
+ {
+ ///
+ /// 获取订单分页列表
+ ///
+ ///
+ ///
+ Task> GetOrderList(OrderQueryDto parm);
+
+
+ ///
+ /// 添加或修改订单
+ ///
+ ///
+ ///
+ Task AddOrUpdateOrder(Order parm);
+
+
+
+ ///
+ /// Excel导出
+ ///
+ Task> HandleExportData(List data);
+
+
+ }
+}
diff --git a/ARW.WebApi/Controllers/Business/OrderManage/Orders/OrderController.cs b/ARW.WebApi/Controllers/Business/OrderManage/Orders/OrderController.cs
new file mode 100644
index 0000000..8594067
--- /dev/null
+++ b/ARW.WebApi/Controllers/Business/OrderManage/Orders/OrderController.cs
@@ -0,0 +1,132 @@
+using Infrastructure;
+using Infrastructure.Attribute;
+using Infrastructure.Enums;
+using Infrastructure.Model;
+using Mapster;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using ARW.Admin.WebApi.Extensions;
+using ARW.Admin.WebApi.Filters;
+using ARW.Common;
+using ARW.Model.Dto.Business.OrderManage.Orders;
+using ARW.Service.Business.IBusinessService.OrderManage.Orders;
+using ARW.Admin.WebApi.Controllers;
+using ARW.Model.Models.Business.OrderManage.Orders;
+using ARW.Model.Vo.Business.OrderManage.Orders;
+using Microsoft.AspNetCore.Authorization;
+using ARW.Admin.WebApi.Framework;
+
+
+namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
+{
+ ///
+ /// 订单控制器
+ ///
+ /// @author lwh
+ /// @date 2023-08-29
+ ///
+ [Verify]
+ [Route("business/[controller]")]
+ public class OrderController : BaseController
+ {
+ private readonly IOrderService _OrderService;
+
+ ///
+ /// 依赖注入
+ ///
+ /// 订单服务
+ public OrderController(IOrderService OrderService)
+ {
+ _OrderService = OrderService;
+ }
+
+
+ ///
+ /// 获取订单列表
+ ///
+ /// 查询参数
+ ///
+ [HttpGet("getOrderList")]
+ [ActionPermissionFilter(Permission = "business:order:list")]
+ public async Task GetOrderList([FromQuery] OrderQueryDto parm)
+ {
+ var res = await _OrderService.GetOrderList(parm);
+ return SUCCESS(res);
+ }
+
+ ///
+ /// 添加或修改订单
+ ///
+ ///
+ ///
+ [HttpPost("addOrUpdateOrder")]
+ [ActionPermissionFilter(Permission = "business:order:addOrUpdate")]
+ [Log(Title = "添加或修改订单", BusinessType = BusinessType.ADDORUPDATE)]
+ public async Task AddOrUpdateOrder([FromBody] OrderDto parm)
+ {
+ if (parm == null) { throw new CustomException("请求参数错误"); }
+
+ var modal = new Order();
+ if (parm.OrderId != 0) modal = parm.Adapt().ToUpdate(HttpContext);
+ else modal = parm.Adapt().ToCreate(HttpContext);
+
+ var res = await _OrderService.AddOrUpdateOrder(modal);
+ return SUCCESS(res);
+ }
+
+ ///
+ /// 删除订单
+ ///
+ ///
+ [HttpDelete("{ids}")]
+ [ActionPermissionFilter(Permission = "business:order:delete")]
+ [Log(Title = "订单删除", BusinessType = BusinessType.DELETE)]
+ public IActionResult Delete(string ids)
+ {
+ long[] idsArr = Tools.SpitLongArrary(ids);
+ if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+ var response = _OrderService.Delete(idsArr);
+ return SUCCESS("删除成功!");
+ }
+
+
+ ///
+ /// 导出订单
+ ///
+ ///
+ [Log(Title = "订单导出", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
+ [HttpGet("exportOrder")]
+ [ActionPermissionFilter(Permission = "business:order:export")]
+ public async Task ExportExcel([FromQuery] OrderQueryDto parm)
+ {
+ parm.PageSize = 10000;
+ var list = await _OrderService.GetOrderList(parm);
+ var data = list.Result;
+
+ // 选中数据
+ if (!string.IsNullOrEmpty(parm.ids))
+ {
+ int[] idsArr = Tools.SpitIntArrary(parm.ids);
+ var selectDataList = new List();
+ foreach (var item in idsArr)
+ {
+ var select_data = data.Where(s => s.OrderId == item).First();
+ selectDataList.Add(select_data);
+ }
+ data = selectDataList;
+ }
+
+
+
+ // 导出数据处理
+ var handleData = await _OrderService.HandleExportData(data);
+
+ string sFileName = ExportExcel(handleData, "Order", "订单列表");
+ return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
+ }
+
+
+
+
+ }
+}