diff --git a/ARW.Model/Dto/Api/OrderManage/OrderRefunds/OrderRefundApiDto.cs b/ARW.Model/Dto/Api/OrderManage/OrderRefunds/OrderRefundApiDto.cs
index 5c3461e..f98ce1a 100644
--- a/ARW.Model/Dto/Api/OrderManage/OrderRefunds/OrderRefundApiDto.cs
+++ b/ARW.Model/Dto/Api/OrderManage/OrderRefunds/OrderRefundApiDto.cs
@@ -12,8 +12,9 @@ namespace ARW.Model.Dto.Api.OrderManage.OrderRefunds
/// @author lwh
/// @date 2023-10-16
///
- public class OrderRefundQueryDtoApi : PagerInfo
+ public class OrderRefundQueryDtoApi : PagerInfo
{
+ public long CustomerGuid { get; set; }
public int? RefundType { get; set; }
public int? RefundReason { get; set; }
public int? GoodsReceiveStatus { get; set; }
diff --git a/ARW.Model/Dto/Api/OrderManage/Orders/AddCommentDto.cs b/ARW.Model/Dto/Api/OrderManage/Orders/AddCommentDto.cs
new file mode 100644
index 0000000..71e9657
--- /dev/null
+++ b/ARW.Model/Dto/Api/OrderManage/Orders/AddCommentDto.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using ARW.Model.Models.Business.OrderManage.Orders;
+
+namespace ARW.Model.Dto.Api.OrderManage.Orders
+{
+
+ ///
+ /// 添加评论对象Api
+ ///
+ /// @author lwh
+ /// @date 2023-10-19
+ ///
+ public class AddCommentDto
+ {
+ public long CustomerGuid { get; set; }
+
+ [Required(ErrorMessage = "订单guid不能为空")]
+ public long OrderGuid { get; set; }
+
+ [Required(ErrorMessage = "商品guid不能为空")]
+ public long GoodsGuid { get; set; }
+
+ [Required(ErrorMessage = "评分分数不能为空")]
+ public float GoodsCommentRating { get; set; }
+
+
+ [Required(ErrorMessage = "评价内容不能为空")]
+ public string GoodsCommentContent { get; set; }
+
+ public string GoodsCommentImages { get; set; }
+
+ }
+
+}
diff --git a/ARW.Model/Dto/Api/OrderManage/Orders/OrderCoupon.cs b/ARW.Model/Dto/Api/OrderManage/Orders/OrderCoupon.cs
index e1d0eeb..41880b8 100644
--- a/ARW.Model/Dto/Api/OrderManage/Orders/OrderCoupon.cs
+++ b/ARW.Model/Dto/Api/OrderManage/Orders/OrderCoupon.cs
@@ -14,6 +14,7 @@ namespace ARW.Model.Dto.Api.OrderManage.Orders
///
public class OrderQueryDtoApi : PagerInfo
{
+ public long CustomerGuid { get; set; }
public string OrderNumber { get; set; }
public int? PayType { get; set; }
public int? PayStatus { get; set; }
@@ -36,5 +37,5 @@ namespace ARW.Model.Dto.Api.OrderManage.Orders
[Required(ErrorMessage = "OrderGuid不能为空")]
public long OrderGuid { get; set; }
}
-
+
}
diff --git a/ARW.Model/Vo/Api/OrderManage/Orders/Logistics.cs b/ARW.Model/Vo/Api/OrderManage/Orders/Logistics.cs
new file mode 100644
index 0000000..f270c10
--- /dev/null
+++ b/ARW.Model/Vo/Api/OrderManage/Orders/Logistics.cs
@@ -0,0 +1,62 @@
+using Newtonsoft.Json;
+using OfficeOpenXml.Attributes;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+
+namespace ARW.Model.Vo.Api.OrderManage.Orders
+{
+ ///
+ /// 订单详情地址展示对象Api
+ ///
+ /// @author lwh
+ /// @date 2023-10-19
+ ///
+ public class Logistics
+ {
+
+ ///
+ /// 描述 : 收货地址Guid
+ ///
+ public long ReceiverAddressId { get; set; }
+
+
+ ///
+ /// 描述 : 收货人名称
+ ///
+ public string ReceiverName { get; set; }
+
+
+ ///
+ /// 描述 : 收货人电话
+ ///
+ public string ReceiverPhone { get; set; }
+
+
+ ///
+ /// 描述 : 省
+ ///
+ public string ReceiverProvince { get; set; }
+
+
+ ///
+ /// 描述 : 市
+ ///
+ public string ReceiverCity { get; set; }
+
+
+ ///
+ /// 描述 : 区
+ ///
+ public string receiverCountry { get; set; }
+
+
+ ///
+ /// 描述 : 详细地址
+ ///
+ public string ReceiverAddress { get; set; }
+
+
+ }
+
+}
diff --git a/ARW.Model/Vo/Api/OrderManage/Orders/OrderApiVo.cs b/ARW.Model/Vo/Api/OrderManage/Orders/OrderApiVo.cs
index e2ebe7c..35e2b38 100644
--- a/ARW.Model/Vo/Api/OrderManage/Orders/OrderApiVo.cs
+++ b/ARW.Model/Vo/Api/OrderManage/Orders/OrderApiVo.cs
@@ -104,79 +104,90 @@ namespace ARW.Model.Vo.Api.OrderManage.Orders
{
[EpplusIgnore]
public int OrderId { get; set; }
+
+
[JsonConverter(typeof(ValueToStringConverter))]
[EpplusIgnore]
public long OrderGuid { get; set; }
- [JsonConverter(typeof(ValueToStringConverter))]
- [EpplusTableColumn(Header = "商品guid")]
- public long GoodsGuid { get; set; }
- [JsonConverter(typeof(ValueToStringConverter))]
- [EpplusTableColumn(Header = "订单流水guid")]
- public long PaymentGuid { get; set; }
- [JsonConverter(typeof(ValueToStringConverter))]
- [EpplusTableColumn(Header = "客户guid")]
- public long CustomerGuid { get; set; }
- [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; }
- [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; }
- [EpplusTableColumn(Header = "支付方式(1微信支付 2余额支付)")]
- public int PayType { get; set; }
- [EpplusTableColumn(Header = "付款状态(1未付款 2已付款)")]
- public int PayStatus { get; set; }
- [EpplusTableColumn(Header = "付款时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
- public DateTime? PayTime { get; set; }
- [EpplusTableColumn(Header = "配送方式(1快递配送)")]
- public int DeliveryType { get; set; }
- [EpplusTableColumn(Header = "运费金额")]
- public decimal ExpressPrice { get; set; }
- [JsonConverter(typeof(ValueToStringConverter))]
- [EpplusIgnore]
- public long? LogisticsCompanyGuid { get; set; }
- [EpplusIgnore]
- public string LogisticsCompany { get; set; }
- [EpplusIgnore]
- public string LogisticsTrackingNumber { get; set; }
- [EpplusTableColumn(Header = "发货状态(1未发货 2已发货)")]
- public int DeliveryStatus { get; set; }
- [EpplusIgnore]
- public DateTime? DeliveryTime { get; set; }
- [EpplusTableColumn(Header = "收货状态(1未收货 2已收货)")]
- public int ReceiptStatus { get; set; }
- [EpplusIgnore]
- public DateTime? ReceiptTime { get; set; }
- [EpplusTableColumn(Header = "订单状态(1进行中 2取消 3待取消 4已完成)")]
+
+
+ ///
+ /// 店铺名称
+ ///
+ public string StoreName { get; set; }
+
+
+ ///
+ /// 订单号
+ ///
+ public string OrderNo { get; set; }
+
+
+ ///
+ /// 订单状态
+ ///
public int OrderStatus { get; set; }
- [EpplusIgnore]
- public decimal PointsBonus { get; set; }
- [EpplusTableColumn(Header = "订单是否已结算(1未结算 2已结算)")]
- public int IsSettled { get; set; }
- [EpplusIgnore]
- public string TransactionId { get; set; }
- [EpplusTableColumn(Header = "是否已评价(1否 2是)")]
- public int IsComment { get; set; }
- [EpplusTableColumn(Header = "订单来源(1普通订单)")]
- public int OrderSource { get; set; }
+
+
+ ///
+ /// 订单总额
+ ///
+ public decimal TotalAmount { get; set; }
+
+
+ ///
+ /// 商品总额
+ ///
+ public decimal GoodsAmount { get; set; }
+
+
+ ///
+ /// 支付金额
+ ///
+ public decimal PaymentAmount { get; set; }
+
+
+ ///
+ /// 运费
+ ///
+ public decimal FreightFee { get; set; }
+
+
+ ///
+ /// 优惠券金额
+ ///
+ public decimal CouponAmount { get; set; }
+
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
+
+ ///
+ /// 订单商品
+ ///
+ public List OrderItemVOs { get; set; }
+
+
+ ///
+ /// 地址
+ ///
+ public Logistics LogisticsVO { get; set; }
+
+
+ ///
+ /// 自动取消时间
+ ///
+ public DateTime AutoCancelTime { get; set; }
+
+
+ ///
+ /// 订单状态名称
+ ///
+ public string OrderStatusName { get; set; }
+
}
diff --git a/ARW.Model/Vo/Api/OrderManage/Orders/OrderItem.cs b/ARW.Model/Vo/Api/OrderManage/Orders/OrderItem.cs
new file mode 100644
index 0000000..d34b00b
--- /dev/null
+++ b/ARW.Model/Vo/Api/OrderManage/Orders/OrderItem.cs
@@ -0,0 +1,56 @@
+using Newtonsoft.Json;
+using OfficeOpenXml.Attributes;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+
+namespace ARW.Model.Vo.Api.OrderManage.Orders
+{
+ ///
+ /// 订单详情商品展示对象Api
+ ///
+ /// @author lwh
+ /// @date 2023-10-19
+ ///
+ public class OrderItem
+ {
+
+ ///
+ /// 描述 : 商品Id
+ ///
+ public long SpuId { get; set; }
+
+
+ ///
+ /// 描述 : 商品SkuId
+ ///
+ public int? SkuId { get; set; }
+
+
+ ///
+ /// 描述 : 商品名称
+ ///
+ public string GoodsName { get; set; }
+
+
+ ///
+ /// 描述 :商品规格
+ ///
+ public List Specifications { get; set; }
+
+
+ ///
+ /// 描述 :商品图片
+ ///
+ public string GoodsPictureUrl { get; set; }
+
+
+ ///
+ /// 描述 :购买数量
+ ///
+ public decimal BuyQuantity { get; set; }
+
+
+ }
+
+}
diff --git a/ARW.Service/Api/BusinessService/OrderManage/OrderRefunds/OrderRefundServiceApi.cs b/ARW.Service/Api/BusinessService/OrderManage/OrderRefunds/OrderRefundServiceApi.cs
index e884d47..f4d0401 100644
--- a/ARW.Service/Api/BusinessService/OrderManage/OrderRefunds/OrderRefundServiceApi.cs
+++ b/ARW.Service/Api/BusinessService/OrderManage/OrderRefunds/OrderRefundServiceApi.cs
@@ -46,6 +46,7 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
//开始拼装查询条件d
var predicate = Expressionable.Create();
+ predicate = predicate.AndIF(parm.CustomerGuid != 0, s => s.CustomerGuid == parm.CustomerGuid);
predicate = predicate.AndIF(parm.RefundType != null, s => s.RefundType == parm.RefundType);
predicate = predicate.AndIF(parm.RefundReason != null, s => s.RefundReason == parm.RefundReason);
predicate = predicate.AndIF(parm.GoodsReceiveStatus != null, s => s.GoodsReceiveStatus == parm.GoodsReceiveStatus);
diff --git a/ARW.Service/Api/BusinessService/OrderManage/Orders/OrderServiceApi.cs b/ARW.Service/Api/BusinessService/OrderManage/Orders/OrderServiceApi.cs
index e1d2019..b88b9ec 100644
--- a/ARW.Service/Api/BusinessService/OrderManage/Orders/OrderServiceApi.cs
+++ b/ARW.Service/Api/BusinessService/OrderManage/Orders/OrderServiceApi.cs
@@ -18,6 +18,17 @@ using ARW.Repository.Business.GoodsManager.GoodsSpecs.Specs;
using ARW.Repository.Business.GoodsManager.GoodsSpecs.SpecValues;
using ARW.Model.Models.Business.GoodsManager.GoodsSpecs.GoodsSkus;
using ARW.Model.Models.Business.GoodsManager.GoodsSpecs.SpecValues;
+using ARW.Model.Models.Business.GoodsManager.GoodsComments;
+using ARW.Repository.Business.GoodsManager.GoodsComments;
+using ARW.Repository.Business.ShopManager.Shops;
+using ARW.Model.Models.Business.ShopManager.Shops;
+using System.Security.Cryptography.X509Certificates;
+using ARW.Model.Vo.Api.GoodsManager.Goodss;
+using Newtonsoft.Json;
+using Senparc.CO2NET.Extensions;
+using ARW.Repository.Business.OrderManage.OrderCustomerAddreses;
+using ARW.Repository.Business.Custom.Regions;
+using ARW.Service.Business.IBusinessService.Custom.Regions;
namespace ARW.Service.Api.BusinessService.OrderManage.Orders
{
@@ -32,12 +43,16 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
{
private readonly OrderRepository _OrderRepository;
private readonly OrderGoodsRepository _OrderGoodsRepository;
+ private readonly OrderCustomerAddressRepository _OrderCustomerAddressRepository;
private readonly GoodsRepository _GoodsRepository;
private readonly GoodsSkuRepository _GoodsSkuRepository;
+ private readonly GoodsCommentRepository _GoodsCommentRepository;
private readonly SpecRepository _SpecRepository;
private readonly SpecValueRepository _SpecValueRepository;
+ private readonly ShopRepository _ShopRepository;
+ private readonly IRegionService _RegionService;
- public OrderServiceImplApi(OrderRepository OrderRepository, OrderGoodsRepository orderGoodsRepository, GoodsRepository goodsRepository, GoodsSkuRepository goodsSkuRepository, SpecRepository specRepository, SpecValueRepository specValueRepository)
+ public OrderServiceImplApi(OrderRepository OrderRepository, OrderGoodsRepository orderGoodsRepository, GoodsRepository goodsRepository, GoodsSkuRepository goodsSkuRepository, SpecRepository specRepository, SpecValueRepository specValueRepository, GoodsCommentRepository goodsCommentRepository, ShopRepository shopRepository, OrderCustomerAddressRepository orderCustomerAddressRepository, IRegionService regionService)
{
this._OrderRepository = OrderRepository;
_OrderGoodsRepository = orderGoodsRepository;
@@ -45,6 +60,10 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
_GoodsSkuRepository = goodsSkuRepository;
_SpecRepository = specRepository;
_SpecValueRepository = specValueRepository;
+ _GoodsCommentRepository = goodsCommentRepository;
+ _ShopRepository = shopRepository;
+ _OrderCustomerAddressRepository = orderCustomerAddressRepository;
+ _RegionService = regionService;
}
#region Api接口代码
@@ -60,6 +79,7 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
//开始拼装查询条件d
var predicate = Expressionable.Create();
+ predicate = predicate.AndIF(parm.CustomerGuid != 0, s => s.CustomerGuid == parm.CustomerGuid);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), s => s.OrderNumber.Contains(parm.OrderNumber));
predicate = predicate.AndIF(parm.OrderStatus != 0, s => s.OrderStatus == parm.OrderStatus);
predicate = predicate.AndIF(parm.PayType != null, s => s.PayType == parm.PayType);
@@ -130,9 +150,9 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
foreach (var item in orderGoodsList)
{
var good = await _GoodsRepository.GetFirstAsync(s => s.GoodsGuid == item.GoodsGuid);
- if(good.GoodsDeductStockType == 1)
+ if (good.GoodsDeductStockType == 1)
{
- if(item.GoodsSkuId != 0)
+ if (item.GoodsSkuId != 0)
{
var sku = await _GoodsSkuRepository.GetFirstAsync(s => s.GoodsSkuId == item.GoodsSkuId);
sku.GoodsSkuStockNum += item.GoodsTotalNum;
@@ -202,6 +222,44 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
}
+ ///
+ /// 评价
+ ///
+ ///
+ ///
+ public async Task AddComment(GoodsComment model)
+ {
+ var good = await _GoodsRepository.GetFirstAsync(s => s.GoodsGuid == model.GoodsGuid);
+ var shop = await _ShopRepository.GetFirstAsync(s => s.ShopGuid == good.ShopGuid);
+
+ model.ShopGuid = shop.ShopGuid;
+
+ if (model.GoodsCommentRating < 3)
+ {
+ model.GoodsCommentRatingType = 3;
+ }
+ if (model.GoodsCommentRating < 3.5 && model.GoodsCommentRating >= 2.5)
+ {
+ model.GoodsCommentRatingType = 2;
+ }
+ if (model.GoodsCommentRating >= 3.5)
+ {
+ model.GoodsCommentRatingType = 1;
+ }
+
+
+ model.GoodsCommentRecoverStatus = 1;
+ model.GoodsCommentSort = 100;
+ var response = await _GoodsCommentRepository.InsertReturnSnowflakeIdAsync(model);
+
+ var order = await _OrderRepository.UpdateAsync(f => new Order
+ {
+ IsComment = 2
+ }, f => f.OrderGuid == model.OrderGuid);
+
+ return "添加成功!";
+ }
+
///
/// 查询订单详情(Api)
@@ -214,44 +272,81 @@ namespace ARW.Service.Api.BusinessService.OrderManage.Orders
var query = _OrderRepository
.Queryable()
.Where(s => s.OrderGuid == parm.OrderGuid)
- .Select(s => new OrderApiDetailsVo
+ .LeftJoin((s, c) => s.ShopGuid == c.ShopGuid)
+ .Select((s, c) => new OrderApiDetailsVo
{
OrderId = s.OrderId,
OrderGuid = s.OrderGuid,
- PaymentGuid = s.PaymentGuid,
- CustomerGuid = s.CustomerGuid,
- 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,
+ StoreName = c.ShopName,
+ OrderNo = s.OrderNumber,
+ TotalAmount = s.OrderAmount,
+ GoodsAmount = s.GoodsTotalAmoun,
+ PaymentAmount = s.PayPrice,
+ FreightFee = s.OrderAmount,
+ CouponAmount = s.CouponMoney,
+ Remark = s.OrderRemark,
}).Take(1);
- return await query.ToJsonAsync();
+ var json = await query.ToJsonAsync();
+
+ if (json != "[]")
+ {
+ json = json.Remove(0, 1);
+ json = json.Substring(0, json.Length - 1);
+ var data = JsonConvert.DeserializeObject(json);
+
+ // 订单商品
+ var orderItemList = new List();
+ var orderGoodsList = await _OrderGoodsRepository.GetListAsync(s => s.OrderGuid == data.OrderGuid);
+ foreach (var item in orderGoodsList)
+ {
+ var orderItem = new OrderItem();
+
+ var good = await _GoodsRepository.GetFirstAsync(s => s.GoodsGuid == item.GoodsGuid);
+
+ orderItem.SpuId = item.GoodsGuid;
+ orderItem.SkuId = item.GoodsSkuId;
+ orderItem.GoodsName = good.GoodsName;
+ orderItem.GoodsPictureUrl = good.GoodsPicture.Split(',').First();
+ orderItem.BuyQuantity = item.GoodsTotalNum;
+
+ if (item.GoodsSkuId != 0)
+ {
+ orderItem.Specifications = await GetGoodsSpecList(orderItem.SkuId);
+ }
+
+ orderItemList.Add(orderItem);
+ }
+ data.OrderItemVOs = orderItemList;
+
+ // 用户地址
+ var customerAddress = await _OrderCustomerAddressRepository.GetFirstAsync(s => s.OrderGuid == data.OrderGuid);
+ if (customerAddress != null)
+ {
+ var logistics = new Logistics
+ {
+ ReceiverAddressId = customerAddress.CustomerAddressGuid,
+ ReceiverName = customerAddress.ConsigneeName,
+ ReceiverPhone = customerAddress.Phont,
+ ReceiverProvince = await _RegionService.GetRegionName(customerAddress.ProvinceId),
+ ReceiverCity = await _RegionService.GetRegionName(customerAddress.CityId),
+ receiverCountry = await _RegionService.GetRegionName(customerAddress.RegionId),
+ ReceiverAddress = customerAddress.Detail
+ };
+ data.LogisticsVO = logistics;
+ }
+
+ // 处理订单状态
+ //if ()
+ //{
+
+ //}
+
+ json = data.ToJson();
+ }
+
+ return json;
}
diff --git a/ARW.Service/Api/IBusinessService/OrderManage/Orders/IOrderServiceApi.cs b/ARW.Service/Api/IBusinessService/OrderManage/Orders/IOrderServiceApi.cs
index 7794cb6..0f9742b 100644
--- a/ARW.Service/Api/IBusinessService/OrderManage/Orders/IOrderServiceApi.cs
+++ b/ARW.Service/Api/IBusinessService/OrderManage/Orders/IOrderServiceApi.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using ARW.Model;
using ARW.Model.Dto.Api.OrderManage.Orders;
+using ARW.Model.Models.Business.GoodsManager.GoodsComments;
using ARW.Model.Models.Business.OrderManage.Orders;
using ARW.Model.Vo.Api.OrderManage.Orders;
@@ -50,6 +51,14 @@ namespace ARW.Service.Api.IBusinessService.OrderManage.Orders
Task ConfirmReceipt(OrderDtoApi parm);
+ ///
+ /// 评价
+ ///
+ ///
+ ///
+ Task AddComment(GoodsComment parm);
+
+
///
/// 获取订单详情(Api)
///
diff --git a/ARW.Service/Business/BusinessService/Custom/Regions/RegionService.cs b/ARW.Service/Business/BusinessService/Custom/Regions/RegionService.cs
index 6080adb..623e5e9 100644
--- a/ARW.Service/Business/BusinessService/Custom/Regions/RegionService.cs
+++ b/ARW.Service/Business/BusinessService/Custom/Regions/RegionService.cs
@@ -161,6 +161,18 @@ namespace ARW.Service.Business.BusinessService.Custom.Regions
}
+ ///
+ /// 获取省市区名称
+ ///
+ /// id
+ ///
+ public async Task GetRegionName(int id)
+ {
+ var province = await _RegionRepository.GetFirstAsync(s => s.RegionId == id);
+ return province.RegionName;
+ }
+
+
///
/// 获取省市区完整名称
diff --git a/ARW.Service/Business/IBusinessService/Custom/Regions/IRegionService.cs b/ARW.Service/Business/IBusinessService/Custom/Regions/IRegionService.cs
index 3168d0a..9e99424 100644
--- a/ARW.Service/Business/IBusinessService/Custom/Regions/IRegionService.cs
+++ b/ARW.Service/Business/IBusinessService/Custom/Regions/IRegionService.cs
@@ -56,6 +56,13 @@ namespace ARW.Service.Business.IBusinessService.Custom.Regions
///
Task GetRegionId(string RegionCode, int level);
+ ///
+ /// 获取省市区名称
+ ///
+ /// id
+ ///
+ Task GetRegionName(int id);
+
///
/// 获取省市区完整名称
///
diff --git a/ARW.WebApi/Controllers/Api/OrderManage/OrderRefunds/OrderRefundApiController.cs b/ARW.WebApi/Controllers/Api/OrderManage/OrderRefunds/OrderRefundApiController.cs
index a3f3ec6..1807dbd 100644
--- a/ARW.WebApi/Controllers/Api/OrderManage/OrderRefunds/OrderRefundApiController.cs
+++ b/ARW.WebApi/Controllers/Api/OrderManage/OrderRefunds/OrderRefundApiController.cs
@@ -19,6 +19,7 @@ using ARW.Model.Dto.Business.OrderManage.OrderRefunds;
using ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds;
using ARW.Admin.WebApi.Framework;
using ARW.Service.Business.IBusinessService.LogisticsManage.LogisticsCompanys;
+using ARW.Service.System.IService;
namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
{
@@ -34,15 +35,17 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
{
private readonly IOrderRefundServiceApi _OrderRefundServiceApi;
private readonly ILogisticsCompanyService _LogisticsCompanyService;
+ private readonly ISysDictDataService _SysDictDataService;
///
/// 依赖注入
///
/// 售后单记录表售后单记录表Api服务
- public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi, ILogisticsCompanyService logisticsCompanyService)
+ public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi, ILogisticsCompanyService logisticsCompanyService, ISysDictDataService sysDictDataService)
{
_OrderRefundServiceApi = OrderRefundServiceApi;
_LogisticsCompanyService = logisticsCompanyService;
+ _SysDictDataService = sysDictDataService;
}
@@ -54,6 +57,9 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
[HttpGet("getOrderRefundList")]
public async Task GetOrderRefundListApi([FromQuery] OrderRefundQueryDtoApi parm)
{
+ var user = JwtUtil.GetLoginUser(App.HttpContext);
+ parm.CustomerGuid = user.UserId;
+
var res = await _OrderRefundServiceApi.GetOrderRefundListApi(parm);
return SUCCESS(res);
}
@@ -97,6 +103,18 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
}
+ ///
+ /// 获取退款原因
+ ///
+ ///
+ [HttpGet("getRefundReason")]
+ public async Task GetRefundReason()
+ {
+ var res = _SysDictDataService.SelectDictDataByType("refund_reason");
+ return SUCCESS(res);
+ }
+
+
///
/// 添加售后单记录表
///
diff --git a/ARW.WebApi/Controllers/Api/OrderManage/Orders/OrderApiController.cs b/ARW.WebApi/Controllers/Api/OrderManage/Orders/OrderApiController.cs
index ddd069d..724d478 100644
--- a/ARW.WebApi/Controllers/Api/OrderManage/Orders/OrderApiController.cs
+++ b/ARW.WebApi/Controllers/Api/OrderManage/Orders/OrderApiController.cs
@@ -17,6 +17,10 @@ using Microsoft.AspNetCore.Authorization;
using Geocoding;
using ARW.Model.Dto.Api.Carts;
using ARW.Service.Api.IBusinessService.Carts;
+using ARW.Model.Models.Business.GoodsManager.GoodsComments;
+using ARW.Admin.WebApi.Framework;
+using ARW.Service.Business.IBusinessService.ShopManager.Shops;
+using ARW.Model.Vo.Api.GoodsManager.Goodss;
namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
{
@@ -50,6 +54,9 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
[HttpGet("getOrderList")]
public async Task GetOrderListApi([FromQuery] OrderQueryDtoApi parm)
{
+ var user = JwtUtil.GetLoginUser(App.HttpContext);
+ parm.CustomerGuid = user.UserId;
+
var res = await _OrderServiceApi.GetOrderListApi(parm);
return SUCCESS(res);
}
@@ -103,6 +110,25 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
}
+ ///
+ /// 评价
+ ///
+ ///
+ ///
+ [HttpPost("addComment")]
+ [Log(Title = "评价", BusinessType = BusinessType.UPDATE)]
+ public async Task AddComment([FromBody] AddCommentDto parm)
+ {
+ if (parm == null) { throw new CustomException("请求参数错误"); }
+ var user = JwtUtil.GetLoginUser(App.HttpContext);
+ parm.CustomerGuid = user.UserId;
+
+ var modal = parm.Adapt().ToCreate(HttpContext);
+ var res = await _OrderServiceApi.AddComment(modal);
+ return SUCCESS(res);
+ }
+
+
///
/// 获取Order详情(Api)
///
@@ -111,14 +137,12 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
[HttpGet("getOrderDetails")]
public async Task GetOrderDetails([FromQuery] OrderDtoApi parm)
{
- //if (parm == null) throw new CustomException("参数错误!");
+ if (parm == null) throw new CustomException("参数错误!");
var res = await _OrderServiceApi.GetOrderDetails(parm);
if (res != "[]")
- {
- res = res.Remove(0, 1);
- res = res.Substring(0, res.Length - 1);
+ {
var data = res.FromJSON();
return SUCCESS(data);
}
@@ -126,6 +150,7 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
{
return SUCCESS(res);
}
+
}
}