fixed 修改优惠券店铺字段,订单添加店铺字段,支付后订单的操作

This commit is contained in:
AERWEN\26795 2023-10-18 03:18:07 +08:00
parent ca2643aa14
commit e1a6a8434a
27 changed files with 650 additions and 152 deletions

View File

@ -21,6 +21,9 @@ namespace ARW.Model.Dto.Api.OrderManage.OrderRefunds
[Required(ErrorMessage = "订单guid不能为空")] [Required(ErrorMessage = "订单guid不能为空")]
public long OrderGuid { get; set; } public long OrderGuid { get; set; }
[Required(ErrorMessage = "店铺guid不能为空")]
public long ShopGuid { get; set; }
public long CustomerGuid { get; set; } public long CustomerGuid { get; set; }
[Required(ErrorMessage = "售后类型(1退货退款 2退货(无需退款) 3换货)不能为空")] [Required(ErrorMessage = "售后类型(1退货退款 2退货(无需退款) 3换货)不能为空")]

View File

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using ARW.Model.Models.Business.OrderManage.OrderRefunds;
namespace ARW.Model.Dto.Api.OrderManage.OrderRefunds
{
/// <summary>
/// 买家发货对象Api
///
/// @author lwh
/// @date 2023-10-17
/// </summary>
public class BuyerDeliveryApiDto
{
public int OrderRefundId { get; set; }
public long OrderRefundGuid { get; set; }
/// <summary>
/// 物流公司guid
/// </summary>
[Required(ErrorMessage = "物流公司guid不能为空")]
public long LogisticsCompanyGuid { get; set; }
/// <summary>
/// 客户发货物流单号
/// </summary>
public string ExpressNo { get; set; }
/// <summary>
/// 客户发货备注
/// </summary>
public string CustomerWaybillRemark { get; set; }
}
}

View File

@ -36,5 +36,17 @@ namespace ARW.Model.Dto.Api.Pay
/// </summary> /// </summary>
public int Quantity { get; set; } public int Quantity { get; set; }
/// <summary>
/// 店铺guid
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 购物车加入时间
/// </summary>
public DateTime JoinCartTime { get; set; }
} }
} }

View File

@ -21,6 +21,9 @@ namespace ARW.Model.Dto.Business.Marketing.CouponManage.Coupons
public long CouponGuid { get; set; } public long CouponGuid { get; set; }
public long ShopGuid { get; set; }
[Required(ErrorMessage = "优惠劵名称不能为空")] [Required(ErrorMessage = "优惠劵名称不能为空")]
public string CouponName { get; set; } public string CouponName { get; set; }
@ -78,7 +81,7 @@ namespace ARW.Model.Dto.Business.Marketing.CouponManage.Coupons
/// </summary> /// </summary>
public class CouponQueryDto : PagerInfo public class CouponQueryDto : PagerInfo
{ {
public long ShopGuid { get; set; }
public string CouponName { get; set; } public string CouponName { get; set; }
public int? CouponType { get; set; } public int? CouponType { get; set; }

View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using ARW.Model.Models.Business.OrderManage.OrderRefunds;
namespace ARW.Model.Dto.Business.OrderManage.OrderRefunds
{
/// <summary>
/// 售后单记录表输入对象
///
/// @author lwh
/// @date 2023-10-17
/// </summary>
public class OrderRefundAuditDto
{
public int OrderRefundId { get; set; }
[Required(ErrorMessage = "售后单guid不能为空")]
public long OrderRefundGuid { get; set; }
public bool IsAgree { get; set; }
public string MerchantRefuseDesc { get; set; }
public long? ShopAddressGuid { get; set; }
}
}

View File

@ -74,7 +74,7 @@ namespace ARW.Model.Dto.Business.OrderManage.OrderRefunds
/// </summary> /// </summary>
public class OrderRefundQueryDto : PagerInfo public class OrderRefundQueryDto : PagerInfo
{ {
public long ShopGuid { get; set; }
public int? RefundType { get; set; } public int? RefundType { get; set; }
public int? RefundReason { get; set; } public int? RefundReason { get; set; }

View File

@ -116,6 +116,7 @@ namespace ARW.Model.Dto.Business.OrderManage.Orders
public class OrderQueryDto : PagerInfo public class OrderQueryDto : PagerInfo
{ {
public long ShopGuid { get; set; }
public string OrderNumber { get; set; } public string OrderNumber { get; set; }
public int? PayType { get; set; } public int? PayType { get; set; }

View File

@ -35,6 +35,15 @@ namespace ARW.Model.Models.Business.Marketing.CouponManage.Coupons
public long CouponGuid { get; set; } public long CouponGuid { get; set; }
/// <summary>
/// 描述 :
/// 空值 : false
/// </summary>
[JsonConverter(typeof(ValueToStringConverter))]
[SugarColumn(ColumnName = "shop_guid")]
public long ShopGuid { get; set; }
/// <summary> /// <summary>
/// 描述 :优惠劵名称 /// 描述 :优惠劵名称
/// 空值 : false /// 空值 : false

View File

@ -35,6 +35,16 @@ namespace ARW.Model.Models.Business.OrderManage.OrderRefunds
public long OrderRefundGuid { get; set; } public long OrderRefundGuid { get; set; }
/// <summary>
/// 描述 :店铺guid
/// 空值 : false
/// </summary>
[EpplusTableColumn(Header = "店铺guid")]
[JsonConverter(typeof(ValueToStringConverter))]
[SugarColumn(ColumnName = "shop_guid")]
public long ShopGuid { get; set; }
/// <summary> /// <summary>
/// 描述 :订单guid /// 描述 :订单guid
/// 空值 : false /// 空值 : false
@ -199,6 +209,15 @@ namespace ARW.Model.Models.Business.OrderManage.OrderRefunds
public string ExpressNo { get; set; } public string ExpressNo { get; set; }
/// <summary>
/// 描述 :客户发货备注
/// 空值 : true
/// </summary>
[EpplusTableColumn(Header = "客户发货备注")]
[SugarColumn(ColumnName = "customer_waybill_remark")]
public string CustomerWaybillRemark { get; set; }
/// <summary> /// <summary>
/// 描述 :售后单状态(1进行中 2已拒绝 3已完成 4已取消) /// 描述 :售后单状态(1进行中 2已拒绝 3已完成 4已取消)
/// 空值 : false /// 空值 : false

View File

@ -55,6 +55,15 @@ namespace ARW.Model.Models.Business.OrderManage.Orders
public long CustomerGuid { get; set; } public long CustomerGuid { get; set; }
/// <summary>
/// 描述 :店铺guid
/// 空值 : false
/// </summary>
[EpplusTableColumn(Header = "店铺guid")]
[JsonConverter(typeof(ValueToStringConverter))]
[SugarColumn(ColumnName = "shop_guid")]
public long ShopGuid { get; set; }
/// <summary> /// <summary>
/// 描述 :购物车Id /// 描述 :购物车Id
/// 空值 : false /// 空值 : false

View File

@ -145,6 +145,19 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
[EpplusTableColumn(Header = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)")] [EpplusTableColumn(Header = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)")]
public int OrderRefundStatus { get; set; } public int OrderRefundStatus { get; set; }
/// <summary>
/// 描述 :客户发货备注
/// 空值 : true
/// </summary>
[EpplusTableColumn(Header = "客户发货备注")]
public string CustomerWaybillRemark { get; set; }
/// <summary>
/// 商家收货时间
/// </summary>
public DateTime? MerchantReceiveTime { get; set; }
} }

View File

@ -0,0 +1,48 @@
using ARW.Model.Dto.Api.Pay;
using ARW.Model.Models.Business.OrderManage.Orders;
using ARW.Model.Vo.Api.Carts;
using Newtonsoft.Json;
using OfficeOpenXml.Attributes;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace ARW.Model.Vo.Api.OrderManage.Orders
{
/// <summary>
/// 订单店铺展示对象Api
///
/// @author lwh
/// @date 2023-10-17
/// </summary>
public class OrderShopApiVo
{
/// <summary>
/// 描述 : 店铺Id
/// </summary>
[JsonConverter(typeof(ValueToStringConverter))]
public long ShopGuid { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 该店铺待结算列表
/// </summary>
public List<GoodsRequest> OrderShopGoodsRequestList { get; set; }
/// <summary>
/// 关联购物车ids
/// </summary>
public List<int> CartIdsList { get; set; }
}
}

View File

@ -36,6 +36,19 @@ namespace ARW.Model.Vo.Business.Marketing.CouponManage.Coupons
[EpplusTableColumn(Header = "优惠劵名称")] [EpplusTableColumn(Header = "优惠劵名称")]
public string CouponName { get; set; } public string CouponName { get; set; }
/// <summary>
/// 描述 :
/// </summary>
[JsonConverter(typeof(ValueToStringConverter))]
public long ShopGuid { get; set; }
/// <summary>
/// 描述 :店铺名称
/// </summary>
[EpplusTableColumn(Header = "店铺名称")]
public string ShopName { get; set; }
/// <summary> /// <summary>
/// 描述 :优惠劵介绍 /// 描述 :优惠劵介绍
/// </summary> /// </summary>

View File

@ -39,6 +39,12 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
public long OrderGuid { get; set; } public long OrderGuid { get; set; }
/// <summary>
/// 描述 : 店铺guid
/// </summary>
[JsonConverter(typeof(ValueToStringConverter))]
public long ShopGuid { get; set; }
/// <summary> /// <summary>
/// 描述 :订单号 /// 描述 :订单号
/// </summary> /// </summary>

View File

@ -40,6 +40,14 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
public long OrderGuid { get; set; } public long OrderGuid { get; set; }
/// <summary>
/// 描述 :店铺guid
/// </summary>
[JsonConverter(typeof(ValueToStringConverter))]
[EpplusTableColumn(Header = "店铺guid")]
public long ShopGuid { get; set; }
/// <summary> /// <summary>
/// 描述 :订单号 /// 描述 :订单号
/// </summary> /// </summary>
@ -48,6 +56,20 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
public string OrderNumber { get; set; } public string OrderNumber { get; set; }
/// <summary>
/// 描述 :实际付款
/// </summary>
[EpplusTableColumn(Header = "实际付款")]
public decimal PayPrice { get; set; }
/// <summary>
/// 描述 :运费
/// </summary>
[EpplusTableColumn(Header = "运费")]
public decimal ExpressPrice { get; set; }
/// <summary> /// <summary>
/// 商品信息 /// 商品信息
/// </summary> /// </summary>

View File

@ -99,6 +99,8 @@ namespace ARW.Service.Api.BusinessService.Carts
shopCart.StoreName = shop.ShopName; shopCart.StoreName = shop.ShopName;
var promotionGoodsList = new List<PromotionGoods>(); var promotionGoodsList = new List<PromotionGoods>();
#region
// 查找当前客户可使用的优惠券 // 查找当前客户可使用的优惠券
//var couponList = await _CustomerCouponRepository.GetListAsync(s => s.CustomerGuid == parm.CustomerGuid && s.CustomerCouponIsUsed == 1 && s.CustomerCouponIsExpired == 1); //var couponList = await _CustomerCouponRepository.GetListAsync(s => s.CustomerGuid == parm.CustomerGuid && s.CustomerCouponIsUsed == 1 && s.CustomerCouponIsExpired == 1);
@ -174,6 +176,8 @@ namespace ARW.Service.Api.BusinessService.Carts
//} //}
//else // 如果没有优惠券 //else // 如果没有优惠券
//{ //{
#endregion
var promotionGoods = new PromotionGoods(); var promotionGoods = new PromotionGoods();
var goodsPromotionList = await GetGoodsPromotionList(customerCartList, shop.ShopGuid); var goodsPromotionList = await GetGoodsPromotionList(customerCartList, shop.ShopGuid);

View File

@ -13,6 +13,7 @@ using ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds;
using ARW.Model.Dto.Api.OrderManage.OrderRefunds; using ARW.Model.Dto.Api.OrderManage.OrderRefunds;
using ARW.Model.Models.Business.OrderManage.OrderRefunds; using ARW.Model.Models.Business.OrderManage.OrderRefunds;
using ARW.Model.Vo.Api.OrderManage.OrderRefunds; using ARW.Model.Vo.Api.OrderManage.OrderRefunds;
using System.Reflection.Metadata;
namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
{ {
@ -75,6 +76,8 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
LogisticsCompanyGuid = s.LogisticsCompanyGuid, LogisticsCompanyGuid = s.LogisticsCompanyGuid,
ExpressNo = s.ExpressNo, ExpressNo = s.ExpressNo,
OrderRefundStatus = s.OrderRefundStatus, OrderRefundStatus = s.OrderRefundStatus,
CustomerWaybillRemark = s.CustomerWaybillRemark,
MerchantReceiveTime = s.MerchantReceiveTime
}); });
@ -99,6 +102,36 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
} }
/// <summary>
/// 撤销申请
/// </summary>
public async Task<string> RepealOrderRefund(AddOrderRefundApiDto parm)
{
var response = await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
{
OrderRefundStatus = 4
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
return "撤销成功!";
}
/// <summary>
/// 买家发货(填写运单号)
/// </summary>
public async Task<string> BuyerDelivery(BuyerDeliveryApiDto parm)
{
var response = await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
{
LogisticsCompanyGuid = parm.LogisticsCompanyGuid,
ExpressNo = parm.ExpressNo,
CustomerWaybillRemark = parm.CustomerWaybillRemark,
IsCustomerSend = 2,
CustomerSendTime = DateTime.Now,
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
return "发货成功!";
}
/// <summary> /// <summary>
/// 查询售后单记录表详情(Api) /// 查询售后单记录表详情(Api)

View File

@ -31,6 +31,8 @@ using ARW.Model.Models.Business.Carts;
using ARW.Repository.Business.Marketing.CouponManage.CustomerCoupons; using ARW.Repository.Business.Marketing.CouponManage.CustomerCoupons;
using ARW.Model.Models.Business.Marketing.CouponManage.CustomerCoupons; using ARW.Model.Models.Business.Marketing.CouponManage.CustomerCoupons;
using ARW.Model.Vo.Business.Marketing.CouponManage.CustomerCoupons; using ARW.Model.Vo.Business.Marketing.CouponManage.CustomerCoupons;
using System.Linq;
using ARW.Model.Vo.Api.OrderManage.Orders;
namespace ARW.Service.Api.BusinessService.PaymentManage namespace ARW.Service.Api.BusinessService.PaymentManage
{ {
@ -119,6 +121,7 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
// 生成订单号 // 生成订单号
var orderNo = Common.Common.CreateNoQuery(); var orderNo = Common.Common.CreateNoQuery();
// 调用统一下单(接口) // 调用统一下单(接口)
Pay pay = new Pay(_httpClient); Pay pay = new Pay(_httpClient);
var payEntity = await pay.PrePay(parm.OpenId, orderNo, parm.PayType, price); var payEntity = await pay.PrePay(parm.OpenId, orderNo, parm.PayType, price);
@ -138,10 +141,6 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
var paymentGuid = await AddPayment(parm, orderNo, totalPrice, afterPriceRes.DiscountPrice); var paymentGuid = await AddPayment(parm, orderNo, totalPrice, afterPriceRes.DiscountPrice);
/* 添加业务订单 */ /* 添加业务订单 */
var orderGuid = await AddOrder(parm, orderNo, paymentGuid, goodsPrice, afterPriceRes, freight); var orderGuid = await AddOrder(parm, orderNo, paymentGuid, goodsPrice, afterPriceRes, freight);
/* 添加订单商品 */
await AddOrderGoods(parm, orderGuid);
/* 添加订单用户地址 */
await AddOrderCustomerAddress(parm, orderGuid);
#endregion #endregion
@ -169,10 +168,10 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
public async Task HandleNotify(OrderReturnJson res) public async Task HandleNotify(OrderReturnJson res)
{ {
/* 修改订单流水 */ /* 修改订单流水 */
await UpdatePayment(res); var paymentGuid = await UpdatePayment(res);
/* 修改业务订单 */ /* 修改业务订单 */
await UpdateOrder(res); await UpdateOrder(res, paymentGuid);
} }
@ -321,16 +320,72 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
/// <exception cref="CustomException"></exception> /// <exception cref="CustomException"></exception>
public async Task<long> AddOrder(CommitPayDtoApi parm, string orderNo, long paymentGuid, decimal beforeMoney, DiscountRes discountRes, decimal freight) public async Task<long> AddOrder(CommitPayDtoApi parm, string orderNo, long paymentGuid, decimal beforeMoney, DiscountRes discountRes, decimal freight)
{ {
// 找到店铺的Guids
var sameShopGuids = parm.GoodsRequestList
.OrderByDescending(s => s.JoinCartTime)
.Select(item => item.StoreId)
.Distinct()
.ToList();
var res = new List<OrderShopApiVo>();
// 循环每个店铺中的待结算订单商品记录
foreach (var shopGuid in sameShopGuids)
{
var orderShop = new OrderShopApiVo();
orderShop.ShopGuid = shopGuid;
orderShop.OrderNo = Common.Common.CreateNoQuery();
var orderShopGoodsRequestList = new List<GoodsRequest>();
var CartIdsList = new List<int>();
foreach (var item in parm.GoodsRequestList)
{
if (item.StoreId == shopGuid)
{
orderShopGoodsRequestList.Add(item);
// 关联购物车ids
CartIdsList.Add(item.CartId);
}
}
orderShop.OrderShopGoodsRequestList = orderShopGoodsRequestList;
orderShop.CartIdsList = CartIdsList;
res.Add(orderShop);
}
// 循环整理好的各个店铺的订单
foreach (var item in res)
{
/* 计算商品总价 */
var commitPayDtoApi = new CommitPayDtoApi()
{
UserId = parm.UserId,
GoodsRequestList = item.OrderShopGoodsRequestList,
CustomerAddressGuid = parm.CustomerAddressGuid
};
var goodsTotalMoney = await CalculateBeforePrice(commitPayDtoApi);
/* 计算运费 */
GoodsFreightDto goodsFreightDto = new()
{
GoodsRequestList = item.OrderShopGoodsRequestList,
CustomerAddressGuid = parm.CustomerAddressGuid,
};
freight = await _GoodsServiceApi.GetGoodsFreight(goodsFreightDto);
Model.Models.Business.OrderManage.Orders.Order order = new() Model.Models.Business.OrderManage.Orders.Order order = new()
{ {
PaymentGuid = paymentGuid, PaymentGuid = paymentGuid,
CustomerGuid = parm.UserId, CustomerGuid = parm.UserId,
OrderNumber = orderNo, OrderNumber = item.OrderNo,
ShopGuid = item.ShopGuid,
CouponGuid = discountRes?.CouponGuid, CouponGuid = discountRes?.CouponGuid,
CouponMoney = discountRes.CouponMoney, CouponMoney = discountRes.CouponMoney,
GoodsTotalAmoun = beforeMoney, GoodsTotalAmoun = goodsTotalMoney,
OrderAmount = discountRes.DiscountPrice, OrderAmount = discountRes.DiscountPrice,
//PayPrice = discountRes.DiscountPrice,
OrderRemark = parm?.Remark, OrderRemark = parm?.Remark,
PayType = parm.PayType, PayType = parm.PayType,
PayStatus = 1, PayStatus = 1,
@ -344,22 +399,18 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
ExpressPrice = freight, ExpressPrice = freight,
}; };
// 关联购物车ids
var idsList = new List<int>();
foreach (var item in parm.GoodsRequestList)
{
idsList.Add(item.CartId);
}
var idsArrar = idsList.ToArray();
order.CartIds = string.Join(",", idsList);
var response = await _OrderRepository.InsertReturnSnowflakeIdAsync(order); var response = await _OrderRepository.InsertReturnSnowflakeIdAsync(order);
if (response == 0) if (response == 0)
throw new CustomException("业务订单数据加入失败"); throw new CustomException("业务订单数据加入失败");
/* 添加订单商品 */
await AddOrderGoods(commitPayDtoApi, response);
/* 添加订单用户地址 */
await AddOrderCustomerAddress(commitPayDtoApi, response);
}
return 0;
return response;
} }
@ -471,7 +522,7 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
/// </summary> /// </summary>
/// <param name="res"></param> /// <param name="res"></param>
/// <returns></returns> /// <returns></returns>
public async Task UpdatePayment(OrderReturnJson res) public async Task<long> UpdatePayment(OrderReturnJson res)
{ {
await _PaymentRepository.UpdateAsync(f => new Payment await _PaymentRepository.UpdateAsync(f => new Payment
{ {
@ -480,6 +531,9 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
PaymentStatus = 2, PaymentStatus = 2,
Update_time = DateTime.Now, Update_time = DateTime.Now,
}, f => f.PaymentNumber == res.out_trade_no); }, f => f.PaymentNumber == res.out_trade_no);
var payment = await _PaymentRepository.GetFirstAsync(s => s.PaymentNumber == res.out_trade_no);
return payment.PaymentGuid;
} }
@ -488,19 +542,23 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
/// </summary> /// </summary>
/// <param name="res"></param> /// <param name="res"></param>
/// <returns></returns> /// <returns></returns>
public async Task UpdateOrder(OrderReturnJson res) public async Task UpdateOrder(OrderReturnJson res, long paymentGuid)
{ {
var orderList = await _OrderRepository.GetListAsync(s => s.PaymentGuid == paymentGuid);
foreach (var item in orderList)
{
await _OrderRepository.UpdateAsync(f => new Model.Models.Business.OrderManage.Orders.Order await _OrderRepository.UpdateAsync(f => new Model.Models.Business.OrderManage.Orders.Order
{ {
TransactionId = res.transaction_id, TransactionId = res.transaction_id,
PayPrice = res.amount.payer_total / 100, PayPrice = item.GoodsTotalAmoun,
PayStatus = 2, PayStatus = 2,
PayTime = DateTime.Now, PayTime = DateTime.Now,
Update_time = DateTime.Now, Update_time = DateTime.Now,
}, f => f.OrderNumber == res.out_trade_no); }, f => f.OrderGuid == item.OrderGuid);
var order = await _OrderRepository.GetFirstAsync(s => s.OrderNumber == res.out_trade_no);
var order = await _OrderRepository.GetFirstAsync(s => s.OrderNumber == item.OrderNumber);
/* 删除购物车中对应的商品 */ /* 删除购物车中对应的商品 */
@ -558,6 +616,7 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
/* 积分操作*/ /* 积分操作*/
}

View File

@ -26,6 +26,14 @@ namespace ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds
Task<PagedInfo<OrderRefundVoApi>> GetOrderRefundListApi(OrderRefundQueryDtoApi parm); Task<PagedInfo<OrderRefundVoApi>> GetOrderRefundListApi(OrderRefundQueryDtoApi parm);
/// <summary>
/// 获取售后单记录表详情(Api)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
Task<string> GetOrderRefundDetails(OrderRefundDtoApi parm);
/// <summary> /// <summary>
/// 添加售后单记录表 /// 添加售后单记录表
/// </summary> /// </summary>
@ -35,11 +43,22 @@ namespace ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds
/// <summary> /// <summary>
/// 获取售后单记录表详情(Api) /// 撤销申请
/// </summary> /// </summary>
/// <param name="parm"></param> /// <param name="parm"></param>
/// <returns></returns> /// <returns></returns>
Task<string> GetOrderRefundDetails(OrderRefundDtoApi parm); Task<string> RepealOrderRefund(AddOrderRefundApiDto parm);
/// <summary>
/// 买家发货(填写运单号)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
Task<string> BuyerDelivery(BuyerDeliveryApiDto parm);
} }
} }

View File

@ -14,6 +14,7 @@ using ARW.Service.Business.IBusinessService.Marketing.CouponManage.Coupons;
using ARW.Model.Dto.Business.Marketing.CouponManage.Coupons; using ARW.Model.Dto.Business.Marketing.CouponManage.Coupons;
using ARW.Model.Models.Business.Marketing.CouponManage.Coupons; using ARW.Model.Models.Business.Marketing.CouponManage.Coupons;
using ARW.Model.Vo.Business.Marketing.CouponManage.Coupons; using ARW.Model.Vo.Business.Marketing.CouponManage.Coupons;
using ARW.Model.Models.Business.ShopManager.Shops;
namespace ARW.Service.Business.BusinessService.Marketing.CouponManage.Coupons namespace ARW.Service.Business.BusinessService.Marketing.CouponManage.Coupons
{ {
@ -44,6 +45,7 @@ namespace ARW.Service.Business.BusinessService.Marketing.CouponManage.Coupons
//开始拼装查询条件d //开始拼装查询条件d
var predicate = Expressionable.Create<Coupon>(); var predicate = Expressionable.Create<Coupon>();
predicate = predicate.AndIF(parm.ShopGuid != 0, s => s.ShopGuid == parm.ShopGuid);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CouponName), s => s.CouponName.Contains(parm.CouponName)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.CouponName), s => s.CouponName.Contains(parm.CouponName));
predicate = predicate.AndIF(parm.CouponType != null, s => s.CouponType == parm.CouponType); predicate = predicate.AndIF(parm.CouponType != null, s => s.CouponType == parm.CouponType);
predicate = predicate.AndIF(parm.CouponExpireType != null, s => s.CouponExpireType == parm.CouponExpireType); predicate = predicate.AndIF(parm.CouponExpireType != null, s => s.CouponExpireType == parm.CouponExpireType);
@ -51,12 +53,15 @@ namespace ARW.Service.Business.BusinessService.Marketing.CouponManage.Coupons
predicate = predicate.AndIF(parm.CouponDisplayStatus != null, s => s.CouponDisplayStatus == parm.CouponDisplayStatus); predicate = predicate.AndIF(parm.CouponDisplayStatus != null, s => s.CouponDisplayStatus == parm.CouponDisplayStatus);
var query = _CouponRepository var query = _CouponRepository
.Queryable() .Queryable()
.LeftJoin<Shop>((s,c) => s.ShopGuid == c.ShopGuid)
.Where(predicate.ToExpression()) .Where(predicate.ToExpression())
.OrderBy(s => s.CouponSort, OrderByType.Asc) .OrderBy(s => s.CouponSort, OrderByType.Asc)
.Select(s => new CouponVo .Select((s, c) => new CouponVo
{ {
CouponId = s.CouponId, CouponId = s.CouponId,
CouponGuid = s.CouponGuid, CouponGuid = s.CouponGuid,
ShopGuid = s.ShopGuid,
ShopName = c.ShopName,
CouponName = s.CouponName, CouponName = s.CouponName,
CouponDesc = s.CouponDesc, CouponDesc = s.CouponDesc,
CouponType = s.CouponType, CouponType = s.CouponType,

View File

@ -47,12 +47,13 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
private readonly IRegionService _RegionService; private readonly IRegionService _RegionService;
public OrderRefundServiceImpl(OrderRefundRepository OrderRefundRepository, IOrderService orderService, ShopAddressRepository shopAddressRepository, IRegionService regionService) public OrderRefundServiceImpl(OrderRefundRepository OrderRefundRepository, IOrderService orderService, ShopAddressRepository shopAddressRepository, IRegionService regionService, LogisticsCompanyRepository logisticsCompanyRepository)
{ {
this._OrderRefundRepository = OrderRefundRepository; this._OrderRefundRepository = OrderRefundRepository;
_OrderService = orderService; _OrderService = orderService;
_ShopAddressRepository = shopAddressRepository; _ShopAddressRepository = shopAddressRepository;
_RegionService = regionService; _RegionService = regionService;
_LogisticsCompanyRepository = logisticsCompanyRepository;
} }
#region #region
@ -66,6 +67,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
//开始拼装查询条件d //开始拼装查询条件d
var predicate = Expressionable.Create<OrderRefund>(); var predicate = Expressionable.Create<OrderRefund>();
predicate = predicate.AndIF(parm.ShopGuid != 0, s => s.ShopGuid == parm.ShopGuid);
predicate = predicate.AndIF(parm.RefundType != null, s => s.RefundType == parm.RefundType); 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.RefundReason != null, s => s.RefundReason == parm.RefundReason);
predicate = predicate.AndIF(parm.GoodsReceiveStatus != null, s => s.GoodsReceiveStatus == parm.GoodsReceiveStatus); predicate = predicate.AndIF(parm.GoodsReceiveStatus != null, s => s.GoodsReceiveStatus == parm.GoodsReceiveStatus);
@ -85,7 +87,10 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
OrderRefundId = s.OrderRefundId, OrderRefundId = s.OrderRefundId,
OrderRefundGuid = s.OrderRefundGuid, OrderRefundGuid = s.OrderRefundGuid,
OrderGuid = s.OrderGuid, OrderGuid = s.OrderGuid,
ShopGuid = s.ShopGuid,
OrderNumber = d.OrderNumber, OrderNumber = d.OrderNumber,
PayPrice = d.PayPrice,
ExpressPrice = d.ExpressPrice,
CustomerGuid = s.CustomerGuid, CustomerGuid = s.CustomerGuid,
CustomerNickName = c.CustomerNickname, CustomerNickName = c.CustomerNickname,
CustomerMobilePhoneNumber = c.CustomerMobilePhoneNumber, CustomerMobilePhoneNumber = c.CustomerMobilePhoneNumber,
@ -105,7 +110,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
ExpressNo = s.ExpressNo, ExpressNo = s.ExpressNo,
OrderRefundStatus = s.OrderRefundStatus, OrderRefundStatus = s.OrderRefundStatus,
IsMerchantReceive = s.IsMerchantReceive, IsMerchantReceive = s.IsMerchantReceive,
CreateTime = s.Create_time.ToString("yyyy:HH:dd mm:ss") CreateTime = s.Create_time.ToString("yyyy-MM-dd hh:mm")
}); });
@ -140,6 +145,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
{ {
OrderRefundId = s.OrderRefundId, OrderRefundId = s.OrderRefundId,
OrderRefundGuid = s.OrderRefundGuid, OrderRefundGuid = s.OrderRefundGuid,
ShopGuid = s.ShopGuid,
OrderGuid = s.OrderGuid, OrderGuid = s.OrderGuid,
OrderNumber = d.OrderNumber, OrderNumber = d.OrderNumber,
CustomerPhone = c.CustomerMobilePhoneNumber, CustomerPhone = c.CustomerMobilePhoneNumber,
@ -158,7 +164,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
ExpressNo = s.ExpressNo, ExpressNo = s.ExpressNo,
OrderRefundStatus = s.OrderRefundStatus, OrderRefundStatus = s.OrderRefundStatus,
IsMerchantReceive = s.IsMerchantReceive, IsMerchantReceive = s.IsMerchantReceive,
CreateTime = s.Create_time.ToString("yyyy:HH:dd mm:ss") CreateTime = s.Create_time.ToString("yyyy-MM-dd hh:mm")
}).Take(1); }).Take(1);
@ -168,7 +174,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
var data = Tools.JsonToVo<OrderRefundDetailVo>(json); var data = Tools.JsonToVo<OrderRefundDetailVo>(json);
data.GoodsInfoList = await _OrderService.GetOrderGoodsList(data.OrderGuid); data.GoodsInfoList = await _OrderService.GetOrderGoodsList(data.OrderGuid);
data.OrderReceive = await GetOrderReceive(data.ShopRefundAddressGuid); data.OrderReceive = await GetOrderReceive(data.ShopRefundAddressGuid);
if(data.LogisticsCompanyGuid != null) if (data.LogisticsCompanyGuid != null)
{ {
var company = await _LogisticsCompanyRepository.GetFirstAsync(s => s.LogisticsCompanyGuid == data.LogisticsCompanyGuid); var company = await _LogisticsCompanyRepository.GetFirstAsync(s => s.LogisticsCompanyGuid == data.LogisticsCompanyGuid);
data.LogisticsCompany = company.LogisticsCompanyName; data.LogisticsCompany = company.LogisticsCompanyName;
@ -183,23 +189,55 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
/// <summary> /// <summary>
/// 添加或修改售后单记录表 /// 审核售后订单
/// </summary> /// </summary>
public async Task<string> AddOrUpdateOrderRefund(OrderRefund model) public async Task<string> AuditOrderRefund(OrderRefundAuditDto parm)
{ {
if (model.OrderRefundId != 0) var str = "审核成功!";
// 同意
if (parm.IsAgree == true)
{ {
var response = await _OrderRefundRepository.UpdateAsync(model); await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
return "修改成功!";
}
else
{ {
MerchantAuditStatus = 2,
ShopRefundAddressGuid = parm.ShopAddressGuid,
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
var response = await _OrderRefundRepository.InsertReturnSnowflakeIdAsync(model); str = "同意申请!";
return "添加成功!";
} }
// 拒绝
if (parm.IsAgree == false)
{
await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
{
MerchantAuditStatus = 3,
MerchantRefuseDesc = parm.MerchantRefuseDesc,
OrderRefundStatus = 2
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
str = "拒绝申请!";
} }
return str;
}
/// <summary>
/// 商家确认收货
/// </summary>
public async Task<string> ConfirmsReceipt(OrderRefundAuditDto parm)
{
await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
{
IsMerchantReceive = 2,
MerchantReceiveTime = DateTime.Now,
OrderRefundStatus = 3
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
return "确认收货成功";
}
#region Excel处理 #region Excel处理

View File

@ -69,6 +69,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.Orders
//开始拼装查询条件d //开始拼装查询条件d
var predicate = Expressionable.Create<Order>(); var predicate = Expressionable.Create<Order>();
predicate = predicate.AndIF(parm.ShopGuid != 0, s => s.ShopGuid == parm.ShopGuid);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), s => s.OrderNumber.Contains(parm.OrderNumber)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OrderNumber), s => s.OrderNumber.Contains(parm.OrderNumber));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LogisticsTrackingNumber), s => s.LogisticsTrackingNumber.Contains(parm.LogisticsTrackingNumber)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.LogisticsTrackingNumber), s => s.LogisticsTrackingNumber.Contains(parm.LogisticsTrackingNumber));
predicate = predicate.AndIF(parm.PayType != null, s => s.PayType == parm.PayType); predicate = predicate.AndIF(parm.PayType != null, s => s.PayType == parm.PayType);

View File

@ -35,13 +35,20 @@ namespace ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds
/// <summary> /// <summary>
/// 添加或修改售后单记录表 /// 审核售后订单
/// </summary> /// </summary>
/// <param name="parm"></param> /// <param name="parm"></param>
/// <returns></returns> /// <returns></returns>
Task<string> AddOrUpdateOrderRefund(OrderRefund parm); Task<string> AuditOrderRefund(OrderRefundAuditDto parm);
/// <summary>
/// 商家确认收货
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
Task<string> ConfirmsReceipt(OrderRefundAuditDto parm);
/// <summary> /// <summary>
/// Excel导出 /// Excel导出

View File

@ -18,6 +18,7 @@ using Geocoding;
using ARW.Model.Dto.Business.OrderManage.OrderRefunds; using ARW.Model.Dto.Business.OrderManage.OrderRefunds;
using ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds; using ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds;
using ARW.Admin.WebApi.Framework; using ARW.Admin.WebApi.Framework;
using ARW.Service.Business.IBusinessService.LogisticsManage.LogisticsCompanys;
namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
{ {
@ -32,14 +33,16 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
public class OrderRefundApiController : BaseController public class OrderRefundApiController : BaseController
{ {
private readonly IOrderRefundServiceApi _OrderRefundServiceApi; private readonly IOrderRefundServiceApi _OrderRefundServiceApi;
private readonly ILogisticsCompanyService _LogisticsCompanyService;
/// <summary> /// <summary>
/// 依赖注入 /// 依赖注入
/// </summary> /// </summary>
/// <param name="OrderRefundServiceApi">售后单记录表售后单记录表Api服务</param> /// <param name="OrderRefundServiceApi">售后单记录表售后单记录表Api服务</param>
public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi) public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi, ILogisticsCompanyService logisticsCompanyService)
{ {
_OrderRefundServiceApi = OrderRefundServiceApi; _OrderRefundServiceApi = OrderRefundServiceApi;
_LogisticsCompanyService = logisticsCompanyService;
} }
@ -55,24 +58,6 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
return SUCCESS(res); return SUCCESS(res);
} }
/// <summary>
/// 添加售后单记录表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("addOrderRefund")]
[Log(Title = "添加售后单记录表", BusinessType = BusinessType.ADDORUPDATE)]
public async Task<IActionResult> AddOrderRefund([FromBody] AddOrderRefundApiDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var user = JwtUtil.GetLoginUser(App.HttpContext);
parm.CustomerGuid = user.UserId;
var modal = parm.Adapt<OrderRefund>().ToCreate(HttpContext);
var res = await _OrderRefundServiceApi.AddOrderRefund(modal);
return SUCCESS(res);
}
/// <summary> /// <summary>
/// 获取OrderRefund详情(Api) /// 获取OrderRefund详情(Api)
@ -99,5 +84,69 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
} }
} }
/// <summary>
/// 获取物流公司列表
/// </summary>
/// <returns></returns>
[HttpGet("getLogisticsCompanyList")]
public async Task<IActionResult> GetLogisticsCompanyList()
{
var res = await _LogisticsCompanyService.GetListAsync();
return SUCCESS(res);
}
/// <summary>
/// 添加售后单记录表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("addOrderRefund")]
[Log(Title = "添加售后单记录表", BusinessType = BusinessType.ADDORUPDATE)]
public async Task<IActionResult> AddOrderRefund([FromBody] AddOrderRefundApiDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var user = JwtUtil.GetLoginUser(App.HttpContext);
parm.CustomerGuid = user.UserId;
var modal = parm.Adapt<OrderRefund>().ToCreate(HttpContext);
var res = await _OrderRefundServiceApi.AddOrderRefund(modal);
return SUCCESS(res);
}
/// <summary>
/// 撤销申请
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("repeal")]
[Log(Title = "撤销申请", BusinessType = BusinessType.ADDORUPDATE)]
public async Task<IActionResult> RepealOrderRefund([FromBody] AddOrderRefundApiDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderRefundServiceApi.RepealOrderRefund(parm);
return SUCCESS(res);
}
/// <summary>
/// 买家发货(填写运单号)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("buyerDelivery")]
[Log(Title = "买家发货(填写运单号)", BusinessType = BusinessType.ADDORUPDATE)]
public async Task<IActionResult> BuyerDelivery([FromBody] BuyerDeliveryApiDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderRefundServiceApi.BuyerDelivery(parm);
return SUCCESS(res);
}
} }
} }

View File

@ -15,6 +15,7 @@ using ARW.Model.Models.Business.Marketing.CouponManage.Coupons;
using ARW.Model.Vo.Business.Marketing.CouponManage.Coupons; using ARW.Model.Vo.Business.Marketing.CouponManage.Coupons;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using ARW.Admin.WebApi.Framework; using ARW.Admin.WebApi.Framework;
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
@ -30,14 +31,16 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
public class CouponController : BaseController public class CouponController : BaseController
{ {
private readonly ICouponService _CouponService; private readonly ICouponService _CouponService;
private readonly IShopService _ShopService;
/// <summary> /// <summary>
/// 依赖注入 /// 依赖注入
/// </summary> /// </summary>
/// <param name="CouponService">优惠券服务</param> /// <param name="CouponService">优惠券服务</param>
public CouponController(ICouponService CouponService) public CouponController(ICouponService CouponService, IShopService shopService)
{ {
_CouponService = CouponService; _CouponService = CouponService;
_ShopService = shopService;
} }
@ -50,6 +53,14 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
[ActionPermissionFilter(Permission = "business:coupon:list")] [ActionPermissionFilter(Permission = "business:coupon:list")]
public async Task<IActionResult> GetCouponList([FromQuery] CouponQueryDto parm) public async Task<IActionResult> GetCouponList([FromQuery] CouponQueryDto parm)
{ {
var user = JwtUtil.GetLoginUser(App.HttpContext);
if (user.UserId != 1)
{
var shop = await _ShopService.GetFirstAsync(s => s.ShopUserId == user.UserId);
if (shop == null) throw new Exception("当前用户没有店铺");
parm.ShopGuid = shop.ShopGuid;
}
var res = await _CouponService.GetCouponList(parm); var res = await _CouponService.GetCouponList(parm);
return SUCCESS(res); return SUCCESS(res);
} }
@ -66,6 +77,14 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
{ {
if (parm == null) { throw new CustomException("请求参数错误"); } if (parm == null) { throw new CustomException("请求参数错误"); }
var user = JwtUtil.GetLoginUser(App.HttpContext);
if (user.UserId != 1)
{
var shop = await _ShopService.GetFirstAsync(s => s.ShopUserId == user.UserId);
if (shop == null) throw new Exception("当前用户没有店铺");
parm.ShopGuid = shop.ShopGuid;
}
var modal = new Coupon(); var modal = new Coupon();
if (parm.CouponId != 0) modal = parm.Adapt<Coupon>().ToUpdate(HttpContext); if (parm.CouponId != 0) modal = parm.Adapt<Coupon>().ToUpdate(HttpContext);
else modal = parm.Adapt<Coupon>().ToCreate(HttpContext); else modal = parm.Adapt<Coupon>().ToCreate(HttpContext);

View File

@ -17,6 +17,7 @@ using Microsoft.AspNetCore.Authorization;
using ARW.Admin.WebApi.Framework; using ARW.Admin.WebApi.Framework;
using ARW.Service.Business.IBusinessService.OrderManage.Orders; using ARW.Service.Business.IBusinessService.OrderManage.Orders;
using Geocoding; using Geocoding;
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
{ {
@ -31,14 +32,16 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
public class OrderRefundController : BaseController public class OrderRefundController : BaseController
{ {
private readonly IOrderRefundService _OrderRefundService; private readonly IOrderRefundService _OrderRefundService;
private readonly IShopService _ShopService;
/// <summary> /// <summary>
/// 依赖注入 /// 依赖注入
/// </summary> /// </summary>
/// <param name="OrderRefundService">售后单记录表服务</param> /// <param name="OrderRefundService">售后单记录表服务</param>
public OrderRefundController(IOrderRefundService OrderRefundService) public OrderRefundController(IOrderRefundService OrderRefundService, IShopService shopService)
{ {
_OrderRefundService = OrderRefundService; _OrderRefundService = OrderRefundService;
_ShopService = shopService;
} }
@ -51,6 +54,14 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
[ActionPermissionFilter(Permission = "business:orderrefund:list")] [ActionPermissionFilter(Permission = "business:orderrefund:list")]
public async Task<IActionResult> GetOrderRefundList([FromQuery] OrderRefundQueryDto parm) public async Task<IActionResult> GetOrderRefundList([FromQuery] OrderRefundQueryDto parm)
{ {
var user = JwtUtil.GetLoginUser(App.HttpContext);
if (user.UserId != 1)
{
var shop = await _ShopService.GetFirstAsync(s => s.ShopUserId == user.UserId);
if (shop == null) throw new Exception("当前用户没有店铺");
parm.ShopGuid = shop.ShopGuid;
}
var res = await _OrderRefundService.GetOrderRefundList(parm); var res = await _OrderRefundService.GetOrderRefundList(parm);
return SUCCESS(res); return SUCCESS(res);
} }
@ -82,25 +93,37 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
/// <summary> /// <summary>
/// 添加或修改售后单记录表 /// 审核售后订单
/// </summary> /// </summary>
/// <param name="parm"></param> /// <param name="parm"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("addOrUpdateOrderRefund")] [HttpPost("auditOrderRefund")]
[ActionPermissionFilter(Permission = "business:orderrefund:addOrUpdate")] [Log(Title = "审核售后订单", BusinessType = BusinessType.ADDORUPDATE)]
[Log(Title = "添加或修改售后单记录表", BusinessType = BusinessType.ADDORUPDATE)] public async Task<IActionResult> AuditOrderRefund([FromBody] OrderRefundAuditDto parm)
public async Task<IActionResult> AddOrUpdateOrderRefund([FromBody] OrderRefundDto parm)
{ {
if (parm == null) { throw new CustomException("请求参数错误"); } if (parm == null) { throw new CustomException("请求参数错误"); }
var modal = new OrderRefund(); var res = await _OrderRefundService.AuditOrderRefund(parm);
if (parm.OrderRefundId != 0) modal = parm.Adapt<OrderRefund>().ToUpdate(HttpContext);
else modal = parm.Adapt<OrderRefund>().ToCreate(HttpContext);
var res = await _OrderRefundService.AddOrUpdateOrderRefund(modal);
return SUCCESS(res); return SUCCESS(res);
} }
/// <summary>
/// 商家确认收货
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("confirmsReceipt")]
[Log(Title = "商家确认收货", BusinessType = BusinessType.ADDORUPDATE)]
public async Task<IActionResult> ConfirmsReceipt([FromBody] OrderRefundAuditDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderRefundService.ConfirmsReceipt(parm);
return SUCCESS(res);
}
/// <summary> /// <summary>
/// 删除售后单记录表 /// 删除售后单记录表
/// </summary> /// </summary>

View File

@ -19,6 +19,7 @@ using ARW.Service.Api.IBusinessService.OrderManage.Orders;
using Geocoding; using Geocoding;
using ARW.Service.Business.IBusinessService.OrderManage.OrderGoodss; using ARW.Service.Business.IBusinessService.OrderManage.OrderGoodss;
using ARW.Service.Business.IBusinessService.OrderManage.OrderCustomerAddreses; using ARW.Service.Business.IBusinessService.OrderManage.OrderCustomerAddreses;
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
namespace ARW.WebApi.Controllers.Business.OrderManage.Orders namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
{ {
@ -32,6 +33,7 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
[Route("business/[controller]")] [Route("business/[controller]")]
public class OrderController : BaseController public class OrderController : BaseController
{ {
private readonly IShopService _ShopService;
private readonly IOrderService _OrderService; private readonly IOrderService _OrderService;
private readonly IOrderGoodsService _OrderGoodsService; private readonly IOrderGoodsService _OrderGoodsService;
private readonly IOrderCustomerAddressService _OrderCustomerAddressService; private readonly IOrderCustomerAddressService _OrderCustomerAddressService;
@ -40,11 +42,12 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
/// 依赖注入 /// 依赖注入
/// </summary> /// </summary>
/// <param name="OrderService">订单服务</param> /// <param name="OrderService">订单服务</param>
public OrderController(IOrderService OrderService, IOrderGoodsService orderGoodsService, IOrderCustomerAddressService orderCustomerAddressService) public OrderController(IOrderService OrderService, IOrderGoodsService orderGoodsService, IOrderCustomerAddressService orderCustomerAddressService, IShopService shopService)
{ {
_OrderService = OrderService; _OrderService = OrderService;
_OrderGoodsService = orderGoodsService; _OrderGoodsService = orderGoodsService;
_OrderCustomerAddressService = orderCustomerAddressService; _OrderCustomerAddressService = orderCustomerAddressService;
_ShopService = shopService;
} }
@ -57,6 +60,14 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
[ActionPermissionFilter(Permission = "business:order:list")] [ActionPermissionFilter(Permission = "business:order:list")]
public async Task<IActionResult> GetOrderList([FromQuery] OrderQueryDto parm) public async Task<IActionResult> GetOrderList([FromQuery] OrderQueryDto parm)
{ {
var user = JwtUtil.GetLoginUser(App.HttpContext);
if (user.UserId != 1)
{
var shop = await _ShopService.GetFirstAsync(s => s.ShopUserId == user.UserId);
if (shop == null) throw new Exception("当前用户没有店铺");
parm.ShopGuid = shop.ShopGuid;
}
var res = await _OrderService.GetOrderList(parm); var res = await _OrderService.GetOrderList(parm);
return SUCCESS(res); return SUCCESS(res);
} }