1中转仓订单退货功能 2中转仓订单运费根据oem或管理员设定调整 3其他一些问题修复

This commit is contained in:
wule committed 2026-07-18 18:31:29 +08:00
1 parent d6f81f9ef4
commit 2e20cbdf68
24 files changed
+834 -292

No files matched your search

+1
View File
@@ -173,6 +173,7 @@
<Compile Include="Model\DBModel\order_pdd_buyer_order.cs" />
<Compile Include="Model\DBModel\TransitWarehouseParam.cs" />
<Compile Include="Model\DBModel\WaybillHelper.cs" />
<Compile Include="Model\Division\Division.cs" />
<Compile Include="Model\Result\PddBuyerAfterSaleLiteInfo.cs" />
<Compile Include="Model\Result\PddBuyerOrderLiteInfo.cs" />
<Compile Include="Model\DBModel\ShopLoginInfo.cs" />
+18 -5
View File
@@ -18,11 +18,21 @@ namespace AllBase
{
public static class BaseClass
{
#region oem贴牌参数
public static string OemId { get; set; } = "";
public static string OemName { get; set; } = "";
public static bool IsOemOwner { get; set; } = false;
public static string AgentName { get; set; } = "";
public static string AgentCode { get; set; } = "";
public static bool IsShowRegister { get; set; } = true;
public static bool IsShowOpenAccount { get; set; } = true;
#endregion
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 160;
public static int VersionCount = 167;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
@@ -61,7 +71,6 @@ namespace AllBase
public static string ProgromLogo = "";
public static string ProgromLogoIco = "";
public static string ToolName = "29供应链-微信小店订单管理工具";
public static string AgentName = "";
//public static string MainPath = "douyin";
public static string MainPath = "29wx";
public static string ServiceQQ = "569588500";
@@ -182,7 +191,13 @@ namespace AllBase
public static int MinSales = 0;
public static int MinPercent = 0;
public static int MinLevel = 0;
public static decimal Balance = 0;
public static int Points { get; set; }
/// <summary>
/// 店铺充值月费
/// </summary>
public static int ShopPointsPerMonth { get; set; } = 30;
public static decimal Balance { get; set; } = 0;
public static decimal PostagePerOrder { get; set; } = 2.2m;
public static int AlimamaPageCount = 0;
public static bool CloudTitle = false;
public static bool CloudBrand = false;
@@ -569,8 +584,6 @@ namespace AllBase
public static int DataUpdateThread = 0;
public static string PassWordBak { get; set; }
public static int Points { get; set; }
public static int ShopPointsPerMonth { get; set; }
public static string Mobile { get; set; }
public static string ParentAuthority { get; set; }
public static string ForbiddenPage { get; set; }
+10 -6
View File
@@ -1169,6 +1169,9 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
request.ReadWriteTimeout = timeOut * 1000;
}
request.Proxy = null;
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.ContentType = "application/x-www-form-urlencoded; charset=" + codeType;
if (!string.IsNullOrEmpty(contentType))
{
@@ -1186,12 +1189,13 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.GetEncoding(codeType));
string data = readStream.ReadToEnd().Trim();
if (string.IsNullOrEmpty(data))
{
return "{\"code\": 400,\"data\": []}";
}
return data;
//string data = readStream.ReadToEnd().Trim();
//if (string.IsNullOrEmpty(data))
//{
// return "{\"code\": 400,\"data\": []}";
//}
//return data;
return ReadResponse(response);
}
catch (Exception e)
{
+3
View File
@@ -2,6 +2,7 @@
using AllBase.Model;
using AllBase.Model.Config;
using AllBase.Model.DBModel;
using AllBase.Model.Division;
using AllBase.Model.Result;
using NaiBa.Util;
using System;
@@ -40,6 +41,8 @@ namespace AllBase.Helper
/// </summary>
public static string OrderTabHeaderStr { get; set; } = "";
public static ConcurrentList<Division> Divisions { get; set; } = new ConcurrentList<Division>();
public static SystemSettings SystemSettings { get; set; }
public static System.Dynamic.ExpandoObject dicLocalStorage { get; set; }
@@ -81,6 +81,11 @@ namespace AllBase.Model.DBModel
get { return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); }
set { }
}
public bool IsRefundWithCancel
{
get { return refundItems?.Count > 0; }
set { }
}
/// <summary>
/// 紧急订单
/// </summary>
@@ -88,6 +93,10 @@ namespace AllBase.Model.DBModel
{
get
{
if (orderItems.Any(oi => oi.id == 3737775520624572928))
{
}
if (orderItems.Any(oi => oi.refund_status > 0 && oi.ItemTransitOrders.Count > 0 &&
oi.ItemTransitOrders.Any(t => !string.IsNullOrEmpty(t.refund_status) &&
!t.refund_status.Contains("退款成功") &&
+103 -73
View File
@@ -22,22 +22,106 @@ namespace AllBase.Model.DBModel
get { return this.GetValue(x => x.Shop); }
set { this.SetValue(x => x.Shop, value); }
}
public oms_wei_order_info ItemOrder
{
get { return this.GetValue(x => x.ItemOrder); }
set { this.SetValue(x => x.ItemOrder, value); }
}
public oms_wei_refund_info ItemRefund
{
get { return this.GetValue(x => x.ItemRefund); }
set { this.SetValue(x => x.ItemRefund, value); }
}
public void SetItemRefund(List<oms_wei_refund_info> itemRefunds)
public void SetItemRefund()
{
if (itemRefunds?.Count == 1)
if (ItemOrder?.refundItems?.Count == 1)
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault();
else
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault(r => r.sku_id == this.sku_id);
if (ItemRefund?.status != "MERCHANT_REFUND_SUCCESS" && ItemRefund?.status != "MERCHANT_RETURN_SUCCESS")
this.RefundResultStr = "";
else
this.RefundResultStr = "商品退款数量:" + ItemRefund.count + ",订单状态:" + ItemOrder.orderStatusStr;
this.ReturnWaybillId = ItemRefund?.return_waybill_id;
this.RefundTimeStr = BaseClass.StampToDateTime((ItemRefund?.create_time).ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss");
this.RefundTimeVisibility = ItemRefund?.create_time > 0 ? Visibility.Visible : Visibility.Collapsed;
}
public List<oms_wei_external_procurement_log_info> ItemTransitOrders { get; set; } = new List<oms_wei_external_procurement_log_info>();
/// <summary>
/// 当前仓库订单(不可以是作废单)
/// </summary>
public oms_wei_external_procurement_log_info ItemTransitOrder
{
get { return this.GetValue(x => x.ItemTransitOrder); }
set { this.SetValue(x => x.ItemTransitOrder, value); }
}
/// <summary>
/// 当前仓库订单(可以是作废单)
/// </summary>
public oms_wei_external_procurement_log_info ItemTransitOrderWithVoid
{
get { return this.GetValue(x => x.ItemTransitOrderWithVoid); }
set { this.SetValue(x => x.ItemTransitOrderWithVoid, value); }
}
public List<oms_wei_external_procurement_after_sale_info> ItemTransitOrderAfterSales { get; set; } = new List<oms_wei_external_procurement_after_sale_info>();
public oms_wei_external_procurement_after_sale_info ItemTransitOrderAfterSale
{
get { return this.GetValue(x => x.ItemTransitOrderAfterSale); }
set { this.SetValue(x => x.ItemTransitOrderAfterSale, value); }
}
public List<order_pdd_buyer_order> PddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
public order_pdd_buyer_order PddBuyerOrder
{
get { return this.GetValue(x => x.PddBuyerOrder); }
set { this.SetValue(x => x.PddBuyerOrder, value); }
}
public void SetTransitOrder()
{
this.ItemTransitOrder = ItemTransitOrders.FirstOrDefault(t => t.order_void_status != 1);
this.ItemTransitOrderWithVoid = ItemTransitOrders.FirstOrDefault();
this.PddBuyerOrder = PddBuyerOrders?.FirstOrDefault();
this.ItemTransitOrderAfterSale = ItemTransitOrderAfterSales.FirstOrDefault();
// 直接取号和更正取号显示的买手到仓库物流
if (ItemTransitOrder?.pre_allocated_order_no != 1 && ItemTransitOrder?.pre_allocated_order_no != 3)
this.TransitOrderWaybillToWareHouseStr = null;
else
this.TransitOrderWaybillToWareHouseStr = "买手物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 提前取号物流
if (ItemTransitOrder?.pre_allocated_order_no != 2)
this.TransitOrderWaybillFakeStr = null;
else
this.TransitOrderWaybillFakeStr = "取号物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 仓库下游物流
if (ItemTransitOrder == null || ItemTransitOrder.express_2_company.IsNullOrEmpty() || ItemTransitOrder.express_2_waybill.IsNullOrEmpty())
TransitOrderWaybillFromWareHouseStr = null;
else
TransitOrderWaybillFromWareHouseStr = "仓库物流:" + ItemTransitOrder.express_2_company + "-" + ItemTransitOrder.express_2_waybill;
if (this.order_id == "3737713100455836416")
{
}
// 仓库物流售后按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
if (this.ItemTransitOrder == null || !this.ItemOrder.IsRefundWithCancel)
AddEditTransitWarehouseAfterSaleStr = "";
else
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "查看";
}
public string AddEditTransitWarehouseAfterSaleStr
{
get { return this.GetValue(x => x.AddEditTransitWarehouseAfterSaleStr); }
set { this.SetValue(x => x.AddEditTransitWarehouseAfterSaleStr, value); }
}
/// <summary>
@@ -79,72 +163,29 @@ namespace AllBase.Model.DBModel
set { this.SetValue(x => x.IsBuyGoodsBtnEnabled, value); }
}
public List<oms_wei_external_procurement_log_info> ItemTransitOrders { get; set; } = new List<oms_wei_external_procurement_log_info>();
/// <summary>
/// 当前仓库订单(不可以是作废单)
/// </summary>
public oms_wei_external_procurement_log_info ItemTransitOrder
{
get { return ItemTransitOrders.FirstOrDefault(t => t.order_void_status != 1); }
set { }
}
/// <summary>
/// 当前仓库订单(可以是作废单)
/// </summary>
public oms_wei_external_procurement_log_info ItemTransitOrderWithVoid
{
get { return ItemTransitOrders.FirstOrDefault(); }
set { }
}
public List<order_pdd_buyer_order> PddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
public order_pdd_buyer_order PddBuyerOrder
{
get { return PddBuyerOrders.FirstOrDefault(); }
set { }
}
/// <summary>
/// 拍单物流
/// </summary>
public string TransitOrderWaybillToWareHouseStr
{
get
{
// 直接取号和更正取号
if (ItemTransitOrder?.pre_allocated_order_no != 1 && ItemTransitOrder?.pre_allocated_order_no != 3)
return null;
return "买手物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
}
set { }
get { return this.GetValue(x => x.TransitOrderWaybillToWareHouseStr); }
set { this.SetValue(x => x.TransitOrderWaybillToWareHouseStr, value); }
}
/// <summary>
/// 提前取号物流
/// </summary>
public string TransitOrderWaybillFakeStr
{
get
{
// 提前取号
if (ItemTransitOrder?.pre_allocated_order_no != 2)
return null;
return "取号物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
}
set { }
get { return this.GetValue(x => x.TransitOrderWaybillFakeStr); }
set { this.SetValue(x => x.TransitOrderWaybillFakeStr, value); }
}
/// <summary>
/// 仓库物流
/// </summary>
public string TransitOrderWaybillFromWareHouseStr
{
get
{
// 仓库下游物流
if (ItemTransitOrder == null || ItemTransitOrder.express_2_company.IsNullOrEmpty() || ItemTransitOrder.express_2_waybill.IsNullOrEmpty())
return null;
return "仓库物流:" + ItemTransitOrder.express_2_company + "-" + ItemTransitOrder.express_2_waybill;
}
set { }
get { return this.GetValue(x => x.TransitOrderWaybillFromWareHouseStr); }
set { this.SetValue(x => x.TransitOrderWaybillFromWareHouseStr, value); }
}
public string BuyerTransitWaybillStatusStr
{
@@ -483,44 +524,33 @@ namespace AllBase.Model.DBModel
/// <summary>
/// 退款状态文本
/// </summary>
public string refundResultStr
public string RefundResultStr
{
get
{
if (ItemRefund == null)
return "";
if (ItemRefund.status != "MERCHANT_REFUND_SUCCESS" && ItemRefund.status != "MERCHANT_RETURN_SUCCESS")
return "";
return "商品退款数量:" + ItemRefund.count + ",订单状态:" + ItemOrder.orderStatusStr;
}
set { }
get { return this.GetValue(x => x.RefundResultStr); }
set { this.SetValue(x => x.RefundResultStr, value); }
}
public string ReturnWaybillId
{
get { return ItemRefund?.return_waybill_id; }
set { }
get { return this.GetValue(x => x.ReturnWaybillId); }
set { this.SetValue(x => x.ReturnWaybillId, value); }
}
/// <summary>
/// 订单退款时间
/// </summary>
public string refund_time_str
public string RefundTimeStr
{
get { return BaseClass.StampToDateTime((ItemRefund?.create_time).ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"); }
set { }
get { return this.GetValue(x => x.RefundTimeStr); }
set { this.SetValue(x => x.RefundTimeStr, value); }
}
/// <summary>
/// 订单退款时间可见
/// </summary>
public Visibility refund_time_visibility
public Visibility RefundTimeVisibility
{
get
{
return (this.ItemRefund?.create_time) > 0 ? Visibility.Visible : Visibility.Collapsed;
}
set { }
get { return this.GetValue(x => x.RefundTimeVisibility); }
set { this.SetValue(x => x.RefundTimeVisibility, value); }
}
/// <summary>
+16
View File
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Division
{
public class Division
{
public string code { get; set; } // "110000",
public string name { get; set; } // "北京市",
public string level { get; set; } // "province",
public List<Division> children { get; set; }
}
}