fixed 修改售后按钮展示

This commit is contained in:
AERWEN\26795 2023-10-22 09:55:39 +08:00
parent 826b1068c0
commit d8d6bb744a
4 changed files with 87 additions and 9 deletions

View File

@ -66,10 +66,10 @@ namespace ARW.Model.Models.Business.OrderManage.OrderRefunds
/// <summary>
/// 描述 :售后类型(1退货退款 2退货(无需退款) 3换货)
/// 描述 :售后类型(1退货退款 2退款(无需退货) 3换货)
/// 空值 : false
/// </summary>
[EpplusTableColumn(Header = "售后类型(1退货退款 2退货(无需退款) 3换货)")]
[EpplusTableColumn(Header = "售后类型(1退货退款 2退款(无需退货) 3换货)")]
[SugarColumn(ColumnName = "refund_type")]
public int RefundType { get; set; }

View File

@ -0,0 +1,38 @@
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-21
/// </summary>
public class ButtonVO
{
/// <summary>
/// 描述 :名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 描述 :
/// </summary>
public bool Primary { get; set; }
/// <summary>
/// 类型 (2撤销 3填写运单号 4修改运单号 5查看物流 )
/// </summary>
public int Type { get; set; }
}
}

View File

@ -34,6 +34,11 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
public long OrderGuid { get; set; }
/// <summary>
/// 店铺guid
/// </summary>
public long ShopGuid { get; set; }
/// <summary>
/// 店铺名称
/// </summary>
@ -44,7 +49,7 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
/// <summary>
/// 描述 :售后类型(1退货退款 2退货(无需退款) 3换货)
/// 描述 :售后类型(1退货退款 2退款(无需退货) 3换货)
/// </summary>
public int RefundType { get; set; }
@ -74,7 +79,7 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
/// <summary>
/// 状态1待审核 2已审核 3已发货 4已完成
/// 状态1待审核 2已审核 3已发货 4已完成 5已取消
/// </summary>
public int Status { get; set; }
@ -98,6 +103,11 @@ namespace ARW.Model.Vo.Api.OrderManage.OrderRefunds
public int IsMerchantReceive { get; set; }
/// <summary>
/// 按钮
/// </summary>
public List<ButtonVO> ButtonVOs { get; set; }
}
}

View File

@ -101,6 +101,7 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
{
OrderRefundId = s.OrderRefundId,
OrderRefundGuid = s.OrderRefundGuid,
ShopGuid = s.ShopGuid,
StoreName = c.ShopName,
OrderGuid = s.OrderGuid,
RefundType = s.RefundType,
@ -120,28 +121,57 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
/* 处理售后订单状态描述 */
// 待审核
if (item.MerchantAuditStatus == 1)
if (item.MerchantAuditStatus == 1 && item.OrderRefundStatus == 1)
{
item.Status = 1;
item.EserRightsStatusDesc = "商家将尽快确认您的退款申请";
var buttonVoList = new List<ButtonVO>();
var buttonVo = new ButtonVO()
{
Name = "撤销申请",
Type = 2
};
buttonVoList.Add(buttonVo);
item.ButtonVOs = buttonVoList;
}
// 已审核
if (item.MerchantAuditStatus == 2)
if (item.MerchantAuditStatus == 2 && item.OrderRefundStatus == 1 && item.RefundType == 1 && item.IsCustomerSend == 1)
{
item.Status = 2;
item.EserRightsStatusDesc = "商家已审核确认预计1小时内发起退款";
var buttonVoList = new List<ButtonVO>();
var buttonVo = new ButtonVO()
{
Name = "填写运单号",
Type = 3
};
buttonVoList.Add(buttonVo);
item.ButtonVOs = buttonVoList;
}
// 已发货
if (item.IsCustomerSend == 2)
if (item.IsCustomerSend == 2 && item.OrderRefundStatus == 1)
{
item.Status = 3;
item.EserRightsStatusDesc = "商家已退款,退回资金将原路三个工作日内返回您的账户";
//var buttonVoList = new List<ButtonVO>();
//var buttonVo = new ButtonVO()
//{
// Name = "查看物流",
// Type = 5
//};
//buttonVoList.Add(buttonVo);
//item.ButtonVOs = buttonVoList;
}
if (item.OrderRefundStatus == 3)
{
item.Status = 4;
item.EserRightsStatusDesc = "退款/售后己完成";
}
if (item.OrderRefundStatus == 4)
{
item.Status = 5;
item.EserRightsStatusDesc = "退款/售后己取消";
}
}
@ -247,7 +277,7 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
var dictList = _SysDictDataService.SelectDictDataByType("refund_reason");
foreach (var item in dictList)
{
if(Convert.ToInt32(item.DictValue) == data.RefundReason)
if (Convert.ToInt32(item.DictValue) == data.RefundReason)
{
data.Reason = item.DictLabel;
}
@ -255,7 +285,7 @@ namespace ARW.Service.Api.BusinessService.OrderManage.OrderRefunds
// 处理快递状态
if(data.LogisticsCompanyGuid != null)
if (data.LogisticsCompanyGuid != null)
{
data.TrajectoryVos = new TrajectoryVo();
var company = await _LogisticsCompanyRepository.GetFirstAsync(s => s.LogisticsCompanyGuid == data.LogisticsCompanyGuid);