fixed 修改优惠券店铺字段,订单添加店铺字段,支付后订单的操作
This commit is contained in:
parent
ca2643aa14
commit
e1a6a8434a
@ -21,6 +21,9 @@ namespace ARW.Model.Dto.Api.OrderManage.OrderRefunds
|
||||
[Required(ErrorMessage = "订单guid不能为空")]
|
||||
public long OrderGuid { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "店铺guid不能为空")]
|
||||
public long ShopGuid { get; set; }
|
||||
|
||||
public long CustomerGuid { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "售后类型(1退货退款 2退货(无需退款) 3换货)不能为空")]
|
||||
|
@ -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; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -36,5 +36,17 @@ namespace ARW.Model.Dto.Api.Pay
|
||||
/// </summary>
|
||||
public int Quantity { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 店铺guid
|
||||
/// </summary>
|
||||
public long StoreId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 购物车加入时间
|
||||
/// </summary>
|
||||
public DateTime JoinCartTime { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,9 @@ namespace ARW.Model.Dto.Business.Marketing.CouponManage.Coupons
|
||||
|
||||
public long CouponGuid { get; set; }
|
||||
|
||||
public long ShopGuid { get; set; }
|
||||
|
||||
|
||||
[Required(ErrorMessage = "优惠劵名称不能为空")]
|
||||
public string CouponName { get; set; }
|
||||
|
||||
@ -78,7 +81,7 @@ namespace ARW.Model.Dto.Business.Marketing.CouponManage.Coupons
|
||||
/// </summary>
|
||||
public class CouponQueryDto : PagerInfo
|
||||
{
|
||||
|
||||
public long ShopGuid { get; set; }
|
||||
public string CouponName { get; set; }
|
||||
|
||||
public int? CouponType { get; set; }
|
||||
|
@ -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; }
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -74,7 +74,7 @@ namespace ARW.Model.Dto.Business.OrderManage.OrderRefunds
|
||||
/// </summary>
|
||||
public class OrderRefundQueryDto : PagerInfo
|
||||
{
|
||||
|
||||
public long ShopGuid { get; set; }
|
||||
public int? RefundType { get; set; }
|
||||
|
||||
public int? RefundReason { get; set; }
|
||||
|
@ -116,6 +116,7 @@ namespace ARW.Model.Dto.Business.OrderManage.Orders
|
||||
public class OrderQueryDto : PagerInfo
|
||||
{
|
||||
|
||||
public long ShopGuid { get; set; }
|
||||
public string OrderNumber { get; set; }
|
||||
|
||||
public int? PayType { get; set; }
|
||||
|
@ -35,6 +35,15 @@ namespace ARW.Model.Models.Business.Marketing.CouponManage.Coupons
|
||||
public long CouponGuid { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :
|
||||
/// 空值 : false
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(ValueToStringConverter))]
|
||||
[SugarColumn(ColumnName = "shop_guid")]
|
||||
public long ShopGuid { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :优惠劵名称
|
||||
/// 空值 : false
|
||||
|
@ -35,6 +35,16 @@ namespace ARW.Model.Models.Business.OrderManage.OrderRefunds
|
||||
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>
|
||||
/// 描述 :订单guid
|
||||
/// 空值 : false
|
||||
@ -199,6 +209,15 @@ namespace ARW.Model.Models.Business.OrderManage.OrderRefunds
|
||||
public string ExpressNo { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :客户发货备注
|
||||
/// 空值 : true
|
||||
/// </summary>
|
||||
[EpplusTableColumn(Header = "客户发货备注")]
|
||||
[SugarColumn(ColumnName = "customer_waybill_remark")]
|
||||
public string CustomerWaybillRemark { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :售后单状态(1进行中 2已拒绝 3已完成 4已取消)
|
||||
/// 空值 : false
|
||||
|
@ -55,6 +55,15 @@ namespace ARW.Model.Models.Business.OrderManage.Orders
|
||||
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>
|
||||
/// 描述 :购物车Id
|
||||
/// 空值 : false
|
||||
|
@ -145,6 +145,19 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
|
||||
[EpplusTableColumn(Header = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)")]
|
||||
public int OrderRefundStatus { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :客户发货备注
|
||||
/// 空值 : true
|
||||
/// </summary>
|
||||
[EpplusTableColumn(Header = "客户发货备注")]
|
||||
public string CustomerWaybillRemark { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 商家收货时间
|
||||
/// </summary>
|
||||
public DateTime? MerchantReceiveTime { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
48
ARW.Model/Vo/Api/OrderManage/Orders/OrderShopApiVo.cs
Normal file
48
ARW.Model/Vo/Api/OrderManage/Orders/OrderShopApiVo.cs
Normal 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; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -36,6 +36,19 @@ namespace ARW.Model.Vo.Business.Marketing.CouponManage.Coupons
|
||||
[EpplusTableColumn(Header = "优惠劵名称")]
|
||||
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>
|
||||
|
@ -39,6 +39,12 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
|
||||
public long OrderGuid { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 : 店铺guid
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(ValueToStringConverter))]
|
||||
public long ShopGuid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :订单号
|
||||
/// </summary>
|
||||
|
@ -40,6 +40,14 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
|
||||
public long OrderGuid { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :店铺guid
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(ValueToStringConverter))]
|
||||
[EpplusTableColumn(Header = "店铺guid")]
|
||||
public long ShopGuid { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 描述 :订单号
|
||||
/// </summary>
|
||||
@ -48,6 +56,20 @@ namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds
|
||||
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>
|
||||
|
@ -99,6 +99,8 @@ namespace ARW.Service.Api.BusinessService.Carts
|
||||
shopCart.StoreName = shop.ShopName;
|
||||
|
||||
var promotionGoodsList = new List<PromotionGoods>();
|
||||
|
||||
#region 购物车优惠券算法
|
||||
// 查找当前客户可使用的优惠券
|
||||
//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 // 如果没有优惠券
|
||||
//{
|
||||
#endregion
|
||||
|
||||
var promotionGoods = new PromotionGoods();
|
||||
|
||||
var goodsPromotionList = await GetGoodsPromotionList(customerCartList, shop.ShopGuid);
|
||||
|
@ -13,6 +13,7 @@ using ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds;
|
||||
using ARW.Model.Dto.Api.OrderManage.OrderRefunds;
|
||||
using ARW.Model.Models.Business.OrderManage.OrderRefunds;
|
||||
using ARW.Model.Vo.Api.OrderManage.OrderRefunds;
|
||||
using System.Reflection.Metadata;
|
||||
|
||||
namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
|
||||
{
|
||||
@ -75,6 +76,8 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
|
||||
LogisticsCompanyGuid = s.LogisticsCompanyGuid,
|
||||
ExpressNo = s.ExpressNo,
|
||||
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>
|
||||
/// 查询售后单记录表详情(Api)
|
||||
|
@ -31,6 +31,8 @@ using ARW.Model.Models.Business.Carts;
|
||||
using ARW.Repository.Business.Marketing.CouponManage.CustomerCoupons;
|
||||
using ARW.Model.Models.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
|
||||
{
|
||||
@ -119,6 +121,7 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
|
||||
// 生成订单号
|
||||
var orderNo = Common.Common.CreateNoQuery();
|
||||
|
||||
// 调用统一下单(接口)
|
||||
Pay pay = new Pay(_httpClient);
|
||||
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 orderGuid = await AddOrder(parm, orderNo, paymentGuid, goodsPrice, afterPriceRes, freight);
|
||||
/* 添加订单商品 */
|
||||
await AddOrderGoods(parm, orderGuid);
|
||||
/* 添加订单用户地址 */
|
||||
await AddOrderCustomerAddress(parm, orderGuid);
|
||||
|
||||
|
||||
#endregion
|
||||
@ -169,10 +168,10 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
public async Task HandleNotify(OrderReturnJson res)
|
||||
{
|
||||
/* 修改订单流水 */
|
||||
await UpdatePayment(res);
|
||||
var paymentGuid = await UpdatePayment(res);
|
||||
|
||||
/* 修改业务订单 */
|
||||
await UpdateOrder(res);
|
||||
await UpdateOrder(res, paymentGuid);
|
||||
}
|
||||
|
||||
|
||||
@ -321,45 +320,97 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
/// <exception cref="CustomException"></exception>
|
||||
public async Task<long> AddOrder(CommitPayDtoApi parm, string orderNo, long paymentGuid, decimal beforeMoney, DiscountRes discountRes, decimal freight)
|
||||
{
|
||||
Model.Models.Business.OrderManage.Orders.Order order = new()
|
||||
{
|
||||
PaymentGuid = paymentGuid,
|
||||
CustomerGuid = parm.UserId,
|
||||
OrderNumber = orderNo,
|
||||
CouponGuid = discountRes?.CouponGuid,
|
||||
CouponMoney = discountRes.CouponMoney,
|
||||
GoodsTotalAmoun = beforeMoney,
|
||||
OrderAmount = discountRes.DiscountPrice,
|
||||
//PayPrice = discountRes.DiscountPrice,
|
||||
OrderRemark = parm?.Remark,
|
||||
PayType = parm.PayType,
|
||||
PayStatus = 1,
|
||||
DeliveryStatus = 1,
|
||||
ReceiptStatus = 1,
|
||||
IsComment = 1,
|
||||
IsSettled = 1,
|
||||
OrderSource = 1,
|
||||
OrderStatus = 1,
|
||||
DeliveryType = 1,
|
||||
ExpressPrice = freight,
|
||||
};
|
||||
|
||||
// 关联购物车ids
|
||||
var idsList = new List<int>();
|
||||
foreach (var item in parm.GoodsRequestList)
|
||||
// 找到店铺的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)
|
||||
{
|
||||
idsList.Add(item.CartId);
|
||||
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);
|
||||
}
|
||||
var idsArrar = idsList.ToArray();
|
||||
order.CartIds = string.Join(",", idsList);
|
||||
|
||||
var response = await _OrderRepository.InsertReturnSnowflakeIdAsync(order);
|
||||
if (response == 0)
|
||||
throw new CustomException("业务订单数据加入失败");
|
||||
|
||||
|
||||
// 循环整理好的各个店铺的订单
|
||||
foreach (var item in res)
|
||||
{
|
||||
/* 计算商品总价 */
|
||||
var commitPayDtoApi = new CommitPayDtoApi()
|
||||
{
|
||||
UserId = parm.UserId,
|
||||
GoodsRequestList = item.OrderShopGoodsRequestList,
|
||||
CustomerAddressGuid = parm.CustomerAddressGuid
|
||||
};
|
||||
var goodsTotalMoney = await CalculateBeforePrice(commitPayDtoApi);
|
||||
|
||||
return response;
|
||||
/* 计算运费 */
|
||||
GoodsFreightDto goodsFreightDto = new()
|
||||
{
|
||||
GoodsRequestList = item.OrderShopGoodsRequestList,
|
||||
CustomerAddressGuid = parm.CustomerAddressGuid,
|
||||
};
|
||||
freight = await _GoodsServiceApi.GetGoodsFreight(goodsFreightDto);
|
||||
|
||||
Model.Models.Business.OrderManage.Orders.Order order = new()
|
||||
{
|
||||
PaymentGuid = paymentGuid,
|
||||
CustomerGuid = parm.UserId,
|
||||
OrderNumber = item.OrderNo,
|
||||
ShopGuid = item.ShopGuid,
|
||||
CouponGuid = discountRes?.CouponGuid,
|
||||
CouponMoney = discountRes.CouponMoney,
|
||||
GoodsTotalAmoun = goodsTotalMoney,
|
||||
OrderAmount = discountRes.DiscountPrice,
|
||||
OrderRemark = parm?.Remark,
|
||||
PayType = parm.PayType,
|
||||
PayStatus = 1,
|
||||
DeliveryStatus = 1,
|
||||
ReceiptStatus = 1,
|
||||
IsComment = 1,
|
||||
IsSettled = 1,
|
||||
OrderSource = 1,
|
||||
OrderStatus = 1,
|
||||
DeliveryType = 1,
|
||||
ExpressPrice = freight,
|
||||
};
|
||||
|
||||
|
||||
var response = await _OrderRepository.InsertReturnSnowflakeIdAsync(order);
|
||||
if (response == 0)
|
||||
throw new CustomException("业务订单数据加入失败");
|
||||
|
||||
/* 添加订单商品 */
|
||||
await AddOrderGoods(commitPayDtoApi, response);
|
||||
/* 添加订单用户地址 */
|
||||
await AddOrderCustomerAddress(commitPayDtoApi, response);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -471,7 +522,7 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
/// </summary>
|
||||
/// <param name="res"></param>
|
||||
/// <returns></returns>
|
||||
public async Task UpdatePayment(OrderReturnJson res)
|
||||
public async Task<long> UpdatePayment(OrderReturnJson res)
|
||||
{
|
||||
await _PaymentRepository.UpdateAsync(f => new Payment
|
||||
{
|
||||
@ -480,6 +531,9 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
PaymentStatus = 2,
|
||||
Update_time = DateTime.Now,
|
||||
}, f => f.PaymentNumber == res.out_trade_no);
|
||||
|
||||
var payment = await _PaymentRepository.GetFirstAsync(s => s.PaymentNumber == res.out_trade_no);
|
||||
return payment.PaymentGuid;
|
||||
}
|
||||
|
||||
|
||||
@ -488,78 +542,83 @@ namespace ARW.Service.Api.BusinessService.PaymentManage
|
||||
/// </summary>
|
||||
/// <param name="res"></param>
|
||||
/// <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);
|
||||
|
||||
await _OrderRepository.UpdateAsync(f => new Model.Models.Business.OrderManage.Orders.Order
|
||||
foreach (var item in orderList)
|
||||
{
|
||||
TransactionId = res.transaction_id,
|
||||
PayPrice = res.amount.payer_total / 100,
|
||||
PayStatus = 2,
|
||||
PayTime = DateTime.Now,
|
||||
Update_time = DateTime.Now,
|
||||
}, f => f.OrderNumber == res.out_trade_no);
|
||||
|
||||
var order = await _OrderRepository.GetFirstAsync(s => s.OrderNumber == res.out_trade_no);
|
||||
|
||||
|
||||
/* 删除购物车中对应的商品 */
|
||||
var cartIds = Tools.SpitIntArrary(order.CartIds);
|
||||
foreach (var cartId in cartIds)
|
||||
{
|
||||
await _CartRepository.UpdateAsync(s => new Cart
|
||||
await _OrderRepository.UpdateAsync(f => new Model.Models.Business.OrderManage.Orders.Order
|
||||
{
|
||||
IsDelete = true,
|
||||
}, s => s.CartId == cartId);
|
||||
}
|
||||
TransactionId = res.transaction_id,
|
||||
PayPrice = item.GoodsTotalAmoun,
|
||||
PayStatus = 2,
|
||||
PayTime = DateTime.Now,
|
||||
Update_time = DateTime.Now,
|
||||
}, f => f.OrderGuid == item.OrderGuid);
|
||||
|
||||
/* 对应优惠券修改为已使用 */
|
||||
if (order.CouponGuid != 0)
|
||||
{
|
||||
var customer = await _CustomerRepository.GetFirstAsync(s => s.CustomerXcxOpenid == res.payer.openid);
|
||||
var customerCoupon = await _CustomerCouponRepository.GetFirstAsync(s => s.CouponGuid == order.CouponGuid && s.CustomerGuid == customer.CustomerGuid);
|
||||
await _CustomerCouponRepository.UpdateAsync(s => new CustomerCoupon
|
||||
|
||||
var order = await _OrderRepository.GetFirstAsync(s => s.OrderNumber == item.OrderNumber);
|
||||
|
||||
|
||||
/* 删除购物车中对应的商品 */
|
||||
var cartIds = Tools.SpitIntArrary(order.CartIds);
|
||||
foreach (var cartId in cartIds)
|
||||
{
|
||||
CustomerCouponIsUsed = 2,
|
||||
}, s => s.CustomerCouponId == customerCoupon.CustomerCouponId);
|
||||
}
|
||||
|
||||
|
||||
/* 店铺和商品的销售数量增加 对应库存减少*/
|
||||
var orderGoodsList = await _OrderGoodsRepository.GetListAsync(s => s.OrderGuid == order.OrderGuid);
|
||||
foreach (var orderGood in orderGoodsList)
|
||||
{
|
||||
var goods = await _GoodsRepository.GetFirstAsync(s => s.GoodsGuid == orderGood.GoodsGuid);
|
||||
var shop = await _ShopRepository.GetFirstAsync(s => s.ShopGuid == goods.ShopGuid);
|
||||
|
||||
goods.GoodsSalesActual += orderGood.GoodsTotalNum;
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
shop.ShopSalesOrderCount += orderGood.GoodsTotalNum;
|
||||
await _ShopRepository.UpdateAsync(shop);
|
||||
|
||||
if (goods.GoodsDeductStockType == 2)
|
||||
{
|
||||
if (orderGood.GoodsSkuId != 0)
|
||||
await _CartRepository.UpdateAsync(s => new Cart
|
||||
{
|
||||
var sku = await _GoodsSkuRepository.GetFirstAsync(s => s.GoodsSkuId == orderGood.GoodsSkuId);
|
||||
sku.GoodsSkuStockNum -= orderGood.GoodsTotalNum;
|
||||
goods.GoodsTotalInventory -= orderGood.GoodsTotalNum;
|
||||
await _GoodsSkuRepository.UpdateAsync(sku);
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
}
|
||||
else
|
||||
IsDelete = true,
|
||||
}, s => s.CartId == cartId);
|
||||
}
|
||||
|
||||
/* 对应优惠券修改为已使用 */
|
||||
if (order.CouponGuid != 0)
|
||||
{
|
||||
var customer = await _CustomerRepository.GetFirstAsync(s => s.CustomerXcxOpenid == res.payer.openid);
|
||||
var customerCoupon = await _CustomerCouponRepository.GetFirstAsync(s => s.CouponGuid == order.CouponGuid && s.CustomerGuid == customer.CustomerGuid);
|
||||
await _CustomerCouponRepository.UpdateAsync(s => new CustomerCoupon
|
||||
{
|
||||
goods.GoodsTotalInventory -= orderGood.GoodsTotalNum;
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
CustomerCouponIsUsed = 2,
|
||||
}, s => s.CustomerCouponId == customerCoupon.CustomerCouponId);
|
||||
}
|
||||
|
||||
|
||||
/* 店铺和商品的销售数量增加 对应库存减少*/
|
||||
var orderGoodsList = await _OrderGoodsRepository.GetListAsync(s => s.OrderGuid == order.OrderGuid);
|
||||
foreach (var orderGood in orderGoodsList)
|
||||
{
|
||||
var goods = await _GoodsRepository.GetFirstAsync(s => s.GoodsGuid == orderGood.GoodsGuid);
|
||||
var shop = await _ShopRepository.GetFirstAsync(s => s.ShopGuid == goods.ShopGuid);
|
||||
|
||||
goods.GoodsSalesActual += orderGood.GoodsTotalNum;
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
shop.ShopSalesOrderCount += orderGood.GoodsTotalNum;
|
||||
await _ShopRepository.UpdateAsync(shop);
|
||||
|
||||
if (goods.GoodsDeductStockType == 2)
|
||||
{
|
||||
if (orderGood.GoodsSkuId != 0)
|
||||
{
|
||||
var sku = await _GoodsSkuRepository.GetFirstAsync(s => s.GoodsSkuId == orderGood.GoodsSkuId);
|
||||
sku.GoodsSkuStockNum -= orderGood.GoodsTotalNum;
|
||||
goods.GoodsTotalInventory -= orderGood.GoodsTotalNum;
|
||||
await _GoodsSkuRepository.UpdateAsync(sku);
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
}
|
||||
else
|
||||
{
|
||||
goods.GoodsTotalInventory -= orderGood.GoodsTotalNum;
|
||||
await _GoodsRepository.UpdateAsync(goods);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 积分操作*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* 积分操作*/
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,14 @@ namespace ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds
|
||||
Task<PagedInfo<OrderRefundVoApi>> GetOrderRefundListApi(OrderRefundQueryDtoApi parm);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取售后单记录表详情(Api)
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> GetOrderRefundDetails(OrderRefundDtoApi parm);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加售后单记录表
|
||||
/// </summary>
|
||||
@ -35,11 +43,22 @@ namespace ARW.Service.Api.IBusinessService.OrderManage.OrderRefunds
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取售后单记录表详情(Api)
|
||||
/// 撤销申请
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <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);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ using ARW.Service.Business.IBusinessService.Marketing.CouponManage.Coupons;
|
||||
using ARW.Model.Dto.Business.Marketing.CouponManage.Coupons;
|
||||
using ARW.Model.Models.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
|
||||
{
|
||||
@ -44,6 +45,7 @@ namespace ARW.Service.Business.BusinessService.Marketing.CouponManage.Coupons
|
||||
//开始拼装查询条件d
|
||||
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(parm.CouponType != null, s => s.CouponType == parm.CouponType);
|
||||
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);
|
||||
var query = _CouponRepository
|
||||
.Queryable()
|
||||
.LeftJoin<Shop>((s,c) => s.ShopGuid == c.ShopGuid)
|
||||
.Where(predicate.ToExpression())
|
||||
.OrderBy(s => s.CouponSort, OrderByType.Asc)
|
||||
.Select(s => new CouponVo
|
||||
.Select((s, c) => new CouponVo
|
||||
{
|
||||
CouponId = s.CouponId,
|
||||
CouponGuid = s.CouponGuid,
|
||||
ShopGuid = s.ShopGuid,
|
||||
ShopName = c.ShopName,
|
||||
CouponName = s.CouponName,
|
||||
CouponDesc = s.CouponDesc,
|
||||
CouponType = s.CouponType,
|
||||
|
@ -47,12 +47,13 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
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;
|
||||
_OrderService = orderService;
|
||||
_ShopAddressRepository = shopAddressRepository;
|
||||
_RegionService = regionService;
|
||||
_LogisticsCompanyRepository = logisticsCompanyRepository;
|
||||
}
|
||||
|
||||
#region 业务逻辑代码
|
||||
@ -66,6 +67,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
//开始拼装查询条件d
|
||||
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.RefundReason != null, s => s.RefundReason == parm.RefundReason);
|
||||
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,
|
||||
OrderRefundGuid = s.OrderRefundGuid,
|
||||
OrderGuid = s.OrderGuid,
|
||||
ShopGuid = s.ShopGuid,
|
||||
OrderNumber = d.OrderNumber,
|
||||
PayPrice = d.PayPrice,
|
||||
ExpressPrice = d.ExpressPrice,
|
||||
CustomerGuid = s.CustomerGuid,
|
||||
CustomerNickName = c.CustomerNickname,
|
||||
CustomerMobilePhoneNumber = c.CustomerMobilePhoneNumber,
|
||||
@ -105,7 +110,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
ExpressNo = s.ExpressNo,
|
||||
OrderRefundStatus = s.OrderRefundStatus,
|
||||
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,
|
||||
OrderRefundGuid = s.OrderRefundGuid,
|
||||
ShopGuid = s.ShopGuid,
|
||||
OrderGuid = s.OrderGuid,
|
||||
OrderNumber = d.OrderNumber,
|
||||
CustomerPhone = c.CustomerMobilePhoneNumber,
|
||||
@ -158,7 +164,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
ExpressNo = s.ExpressNo,
|
||||
OrderRefundStatus = s.OrderRefundStatus,
|
||||
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);
|
||||
|
||||
|
||||
@ -168,7 +174,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
var data = Tools.JsonToVo<OrderRefundDetailVo>(json);
|
||||
data.GoodsInfoList = await _OrderService.GetOrderGoodsList(data.OrderGuid);
|
||||
data.OrderReceive = await GetOrderReceive(data.ShopRefundAddressGuid);
|
||||
if(data.LogisticsCompanyGuid != null)
|
||||
if (data.LogisticsCompanyGuid != null)
|
||||
{
|
||||
var company = await _LogisticsCompanyRepository.GetFirstAsync(s => s.LogisticsCompanyGuid == data.LogisticsCompanyGuid);
|
||||
data.LogisticsCompany = company.LogisticsCompanyName;
|
||||
@ -183,23 +189,55 @@ namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加或修改售后单记录表
|
||||
/// 审核售后订单
|
||||
/// </summary>
|
||||
public async Task<string> AddOrUpdateOrderRefund(OrderRefund model)
|
||||
public async Task<string> AuditOrderRefund(OrderRefundAuditDto parm)
|
||||
{
|
||||
if (model.OrderRefundId != 0)
|
||||
{
|
||||
var response = await _OrderRefundRepository.UpdateAsync(model);
|
||||
return "修改成功!";
|
||||
}
|
||||
else
|
||||
var str = "审核成功!";
|
||||
// 同意
|
||||
if (parm.IsAgree == true)
|
||||
{
|
||||
await _OrderRefundRepository.UpdateAsync(f => new OrderRefund
|
||||
{
|
||||
MerchantAuditStatus = 2,
|
||||
ShopRefundAddressGuid = parm.ShopAddressGuid,
|
||||
}, s => s.OrderRefundGuid == parm.OrderRefundGuid);
|
||||
|
||||
var response = await _OrderRefundRepository.InsertReturnSnowflakeIdAsync(model);
|
||||
return "添加成功!";
|
||||
str = "同意申请!";
|
||||
}
|
||||
// 拒绝
|
||||
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处理
|
||||
|
||||
|
||||
|
@ -69,6 +69,7 @@ namespace ARW.Service.Business.BusinessService.OrderManage.Orders
|
||||
//开始拼装查询条件d
|
||||
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.LogisticsTrackingNumber), s => s.LogisticsTrackingNumber.Contains(parm.LogisticsTrackingNumber));
|
||||
predicate = predicate.AndIF(parm.PayType != null, s => s.PayType == parm.PayType);
|
||||
|
@ -35,13 +35,20 @@ namespace ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加或修改售后单记录表
|
||||
/// 审核售后订单
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <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>
|
||||
/// Excel导出
|
||||
|
@ -18,6 +18,7 @@ using Geocoding;
|
||||
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;
|
||||
|
||||
namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
|
||||
{
|
||||
@ -32,14 +33,16 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
|
||||
public class OrderRefundApiController : BaseController
|
||||
{
|
||||
private readonly IOrderRefundServiceApi _OrderRefundServiceApi;
|
||||
private readonly ILogisticsCompanyService _LogisticsCompanyService;
|
||||
|
||||
/// <summary>
|
||||
/// 依赖注入
|
||||
/// </summary>
|
||||
/// <param name="OrderRefundServiceApi">售后单记录表售后单记录表Api服务</param>
|
||||
public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi)
|
||||
public OrderRefundApiController(IOrderRefundServiceApi OrderRefundServiceApi, ILogisticsCompanyService logisticsCompanyService)
|
||||
{
|
||||
_OrderRefundServiceApi = OrderRefundServiceApi;
|
||||
_LogisticsCompanyService = logisticsCompanyService;
|
||||
}
|
||||
|
||||
|
||||
@ -55,6 +58,45 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
|
||||
return SUCCESS(res);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取OrderRefund详情(Api)
|
||||
/// </summary>
|
||||
/// <param name="parm">查询参数</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("getOrderRefundDetails")]
|
||||
public async Task<IActionResult> GetOrderRefundDetails([FromQuery] OrderRefundDtoApi parm)
|
||||
{
|
||||
//if (parm == null) throw new CustomException("参数错误!");
|
||||
|
||||
var res = await _OrderRefundServiceApi.GetOrderRefundDetails(parm);
|
||||
|
||||
if (res != "[]")
|
||||
{
|
||||
res = res.Remove(0, 1);
|
||||
res = res.Substring(0, res.Length - 1);
|
||||
var data = res.FromJSON<OrderRefundApiDetailsVo>();
|
||||
return SUCCESS(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SUCCESS(res);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取物流公司列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("getLogisticsCompanyList")]
|
||||
public async Task<IActionResult> GetLogisticsCompanyList()
|
||||
{
|
||||
var res = await _LogisticsCompanyService.GetListAsync();
|
||||
return SUCCESS(res);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加售后单记录表
|
||||
/// </summary>
|
||||
@ -75,29 +117,36 @@ namespace ARW.WebApi.Controllers.Api.OrderManage.OrderRefunds
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取OrderRefund详情(Api)
|
||||
/// 撤销申请
|
||||
/// </summary>
|
||||
/// <param name="parm">查询参数</param>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("getOrderRefundDetails")]
|
||||
public async Task<IActionResult> GetOrderRefundDetails([FromQuery] OrderRefundDtoApi parm)
|
||||
[HttpPost("repeal")]
|
||||
[Log(Title = "撤销申请", BusinessType = BusinessType.ADDORUPDATE)]
|
||||
public async Task<IActionResult> RepealOrderRefund([FromBody] AddOrderRefundApiDto parm)
|
||||
{
|
||||
//if (parm == null) throw new CustomException("参数错误!");
|
||||
if (parm == null) { throw new CustomException("请求参数错误"); }
|
||||
|
||||
var res = await _OrderRefundServiceApi.GetOrderRefundDetails(parm);
|
||||
|
||||
if (res != "[]")
|
||||
{
|
||||
res = res.Remove(0, 1);
|
||||
res = res.Substring(0, res.Length - 1);
|
||||
var data = res.FromJSON<OrderRefundApiDetailsVo>();
|
||||
return SUCCESS(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SUCCESS(res);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ using ARW.Model.Models.Business.Marketing.CouponManage.Coupons;
|
||||
using ARW.Model.Vo.Business.Marketing.CouponManage.Coupons;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using ARW.Admin.WebApi.Framework;
|
||||
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
|
||||
|
||||
|
||||
namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
|
||||
@ -30,14 +31,16 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
|
||||
public class CouponController : BaseController
|
||||
{
|
||||
private readonly ICouponService _CouponService;
|
||||
private readonly IShopService _ShopService;
|
||||
|
||||
/// <summary>
|
||||
/// 依赖注入
|
||||
/// </summary>
|
||||
/// <param name="CouponService">优惠券服务</param>
|
||||
public CouponController(ICouponService CouponService)
|
||||
public CouponController(ICouponService CouponService, IShopService shopService)
|
||||
{
|
||||
_CouponService = CouponService;
|
||||
_ShopService = shopService;
|
||||
}
|
||||
|
||||
|
||||
@ -50,6 +53,14 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
|
||||
[ActionPermissionFilter(Permission = "business:coupon:list")]
|
||||
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);
|
||||
return SUCCESS(res);
|
||||
}
|
||||
@ -66,6 +77,14 @@ namespace ARW.WebApi.Controllers.Business.Marketing.CouponManage.Coupons
|
||||
{
|
||||
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();
|
||||
if (parm.CouponId != 0) modal = parm.Adapt<Coupon>().ToUpdate(HttpContext);
|
||||
else modal = parm.Adapt<Coupon>().ToCreate(HttpContext);
|
||||
|
@ -17,6 +17,7 @@ using Microsoft.AspNetCore.Authorization;
|
||||
using ARW.Admin.WebApi.Framework;
|
||||
using ARW.Service.Business.IBusinessService.OrderManage.Orders;
|
||||
using Geocoding;
|
||||
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
|
||||
|
||||
namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
|
||||
{
|
||||
@ -31,14 +32,16 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
|
||||
public class OrderRefundController : BaseController
|
||||
{
|
||||
private readonly IOrderRefundService _OrderRefundService;
|
||||
private readonly IShopService _ShopService;
|
||||
|
||||
/// <summary>
|
||||
/// 依赖注入
|
||||
/// </summary>
|
||||
/// <param name="OrderRefundService">售后单记录表服务</param>
|
||||
public OrderRefundController(IOrderRefundService OrderRefundService)
|
||||
public OrderRefundController(IOrderRefundService OrderRefundService, IShopService shopService)
|
||||
{
|
||||
_OrderRefundService = OrderRefundService;
|
||||
_ShopService = shopService;
|
||||
}
|
||||
|
||||
|
||||
@ -51,6 +54,14 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
|
||||
[ActionPermissionFilter(Permission = "business:orderrefund:list")]
|
||||
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);
|
||||
return SUCCESS(res);
|
||||
}
|
||||
@ -82,25 +93,37 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加或修改售后单记录表
|
||||
/// 审核售后订单
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("addOrUpdateOrderRefund")]
|
||||
[ActionPermissionFilter(Permission = "business:orderrefund:addOrUpdate")]
|
||||
[Log(Title = "添加或修改售后单记录表", BusinessType = BusinessType.ADDORUPDATE)]
|
||||
public async Task<IActionResult> AddOrUpdateOrderRefund([FromBody] OrderRefundDto parm)
|
||||
[HttpPost("auditOrderRefund")]
|
||||
[Log(Title = "审核售后订单", BusinessType = BusinessType.ADDORUPDATE)]
|
||||
public async Task<IActionResult> AuditOrderRefund([FromBody] OrderRefundAuditDto parm)
|
||||
{
|
||||
if (parm == null) { throw new CustomException("请求参数错误"); }
|
||||
|
||||
var modal = new OrderRefund();
|
||||
if (parm.OrderRefundId != 0) modal = parm.Adapt<OrderRefund>().ToUpdate(HttpContext);
|
||||
else modal = parm.Adapt<OrderRefund>().ToCreate(HttpContext);
|
||||
|
||||
var res = await _OrderRefundService.AddOrUpdateOrderRefund(modal);
|
||||
var res = await _OrderRefundService.AuditOrderRefund(parm);
|
||||
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>
|
||||
|
@ -19,6 +19,7 @@ using ARW.Service.Api.IBusinessService.OrderManage.Orders;
|
||||
using Geocoding;
|
||||
using ARW.Service.Business.IBusinessService.OrderManage.OrderGoodss;
|
||||
using ARW.Service.Business.IBusinessService.OrderManage.OrderCustomerAddreses;
|
||||
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
|
||||
|
||||
namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
|
||||
{
|
||||
@ -32,6 +33,7 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
|
||||
[Route("business/[controller]")]
|
||||
public class OrderController : BaseController
|
||||
{
|
||||
private readonly IShopService _ShopService;
|
||||
private readonly IOrderService _OrderService;
|
||||
private readonly IOrderGoodsService _OrderGoodsService;
|
||||
private readonly IOrderCustomerAddressService _OrderCustomerAddressService;
|
||||
@ -40,11 +42,12 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
|
||||
/// 依赖注入
|
||||
/// </summary>
|
||||
/// <param name="OrderService">订单服务</param>
|
||||
public OrderController(IOrderService OrderService, IOrderGoodsService orderGoodsService, IOrderCustomerAddressService orderCustomerAddressService)
|
||||
public OrderController(IOrderService OrderService, IOrderGoodsService orderGoodsService, IOrderCustomerAddressService orderCustomerAddressService, IShopService shopService)
|
||||
{
|
||||
_OrderService = OrderService;
|
||||
_OrderGoodsService = orderGoodsService;
|
||||
_OrderCustomerAddressService = orderCustomerAddressService;
|
||||
_ShopService = shopService;
|
||||
}
|
||||
|
||||
|
||||
@ -57,6 +60,14 @@ namespace ARW.WebApi.Controllers.Business.OrderManage.Orders
|
||||
[ActionPermissionFilter(Permission = "business:order:list")]
|
||||
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);
|
||||
return SUCCESS(res);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user