订单仓库状态优化,调整文件位置

This commit is contained in:
wule committed 2026-07-15 10:00:44 +08:00
1 parent ed3545e376
commit d6f81f9ef4
47 files changed
+251 -84

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace AllBase.Model.DBModel
{
public class BuyerLoginInfo : PropertyNotifyObject
{
public int id { get; set; }
public string user_name { get; set; }
public string buyer_id { get; set; }
public string buyer_name { get; set; }
public string buyer_nick { get; set; }
public string cookie { get; set; }
public string status
{
get { return this.GetValue(x => x.status); }
set { this.SetValue(x => x.status, value); }
}
public string verify_auth_token { get; set; }
public string notes { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
public CefSharp.Wpf.ChromiumWebBrowser wpf_browser { get; set; }
public CefSharp.WinForms.ChromiumWebBrowser browser { get; set; }
}
}
+68
View File
@@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
/// <summary>
/// erp 账户信息
/// </summary>
public class ErpMerchantInfo
{
public long id { get; set; }
/// <summary>
/// 唯一用户标识
/// </summary>
public long user_id { get; set; }
/// <summary>
/// 账户类型,1:分销商账户,2:供应商账户
/// </summary>
public int? account_type { get; set; }
/// <summary>
/// 账户名称
/// </summary>
public string account_name { get; set; }
/// <summary>
/// 账户状态(1-正常 2-冻结 3-注销)
/// </summary>
public int account_status { get; set; }
/// <summary>
/// 账户累计充值金额
/// </summary>
public decimal recharge_amount_total { get; set; }
/// <summary>
/// 可用余额
/// </summary>
public decimal balance { get; set; }
/// <summary>
/// 冻结金额
/// </summary>
public decimal frozen_amount { get; set; }
/// <summary>
/// 提现账户收款图片
/// </summary>
public string withdraw_account_image_url { get; set; }
/// <summary>
/// 已提现金额
/// </summary>
public decimal? withdrawn_amount { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime create_time { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime update_time { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long? create_by { get; set; }
/// <summary>
/// 修改人
/// </summary>
public long? update_by { get; set; }
}
}
+118
View File
@@ -0,0 +1,118 @@
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace AllBase.Model.DBModel
{
/// <summary>
/// 是否已绑定代发仓库
/// </summary>
public class ShopLoginInfo : PropertyNotifyObject
{
public bool? Is29Supplier
{
get { return this.GetValue(x => x.Is29Supplier); }
set { this.SetValue(x => x.Is29Supplier, value); }
}
/// <summary>
/// 是否被选中
/// </summary>
public bool IsSelect
{
get { return this.GetValue(x => x.IsSelect); }
set { this.SetValue(x => x.IsSelect, value); }
}
/// <summary>
/// 是否被过滤掉
/// </summary>
public bool IsFilter
{
get { return this.GetValue(x => x.IsFilter); }
set { this.SetValue(x => x.IsFilter, value); }
}
public string DbId { get; set; }
public string CompanyName { get; set; }
public string LoginName { get; set; }
public string Password { get; set; }
public string ShopId { get; set; }
public string ShopAccount { get; set; }
public string Mobile { get; set; }
public string ErpShopId { get; set; }
public string ErpCorporateAccountUserId { get; set; }
public string ErpManageUserId { get; set; }
public string SubUserName { get; set; }
public string ShopToken { get; set; }
public string Signature { get; set; }
public string TouTiaoId { get; set; }
public string Cookies { get; set; }
/// <summary>
/// 在线、掉线
/// </summary>
public string LoginStatusStr
{
get { return this.GetValue(x => x.LoginStatusStr); }
set { this.SetValue(x => x.LoginStatusStr, value); }
}
public string LoginStatus
{
get { return this.GetValue(x => x.LoginStatus); }
set
{
this.SetValue(x => x.LoginStatus, value);
LoginStatusStr = value == "登录成功" ? "在线" : "掉线";
}
}
public string ApiAuthStatus { get; set; }
/// <summary>
/// 上货账户
/// </summary>
public string UploadAccount { get; set; }
/// <summary>
/// 拍单(采购)用户账户
/// </summary>
public string BuyAccount { get; set; }
public string GroupName { get; set; }
public string Notes { get; set; }
public string LastRefreshDate { get; set; }
public string AccessToken { get; set; }
public string RefreshToken { get; set; }
public string AppKey { get; set; }
public DateTime AddTime { get; set; }
public DateTime ExpiresTime { get; set; }
public DateTime TokenExpiresTime { get; set; }
public bool is_point_shop_expire { get; set; }
public int expire_time { get; set; }
public string openid { get; set; }
}
public class ShopCompany
{
public string UserName { get; set; }
public string LoginName { get; set; }
public string AccountId { get; set; }
public string AccountName { get; set; }
public string LoginStatus { get; set; }
/// <summary>
/// 拼多多校验数据列表
/// </summary>
public string AntiContent { get; set; }
/// <summary>
/// 拼多多店铺信息
/// </summary>
public string MallId { get; set; }
/// <summary>
/// 微信小店开放Id信息
/// </summary>
public string openid { get; set; }
}
}
@@ -0,0 +1,99 @@
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class TransitWarehouseParam
{
/// <summary>
/// 中转仓编码 XDYYWC XDYJJC...
/// </summary>
public string TransId { get; set; }
/// <summary>
/// 仓位
/// </summary>
public string TransName { get; set; }
/// <summary>
/// 收件人
/// </summary>
public string TransUserName { get; set; }
/// <summary>
/// 电话
/// </summary>
public string TransMobile { get; set; }
/// <summary>
/// 详细地址
/// </summary>
public string TransDetailAddress { get; set; }
public int province_id { get; set; }
public int city_id { get; set; }
public int district_id { get; set; }
public string province_name { get;set; }
public string city_name { get; set; }
}
public class TransitWarehouseData
{
public static string TransitWarehouseDataStr = @"
XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸6号库3楼中库走到底鸿鹄云仓(康诚楼上) ;31 ;386 ;3409 ;浙江省 ;金华市
XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569 ;福建省 ;泉州市
XDYBJC ;北京仓 ;胡萍 ;18565773752 ;北京市顺义区光明街道滨河小区七区1号楼 ;2 ;52 ;511 ;北京市 ;北京市
XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898 ;四川省 ;资阳市
XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市从化区太平镇高埔细埔街99号东门4栋3楼 ;6 ;76 ;692 ;广东省 ;广州市
XDYWHC ;武汉2仓 ;杨先生 ;13044121071 ;湖北省武汉市汉阳区洲头街道汉新大道2号鲲鹏公司 ;13 ;180 ;1548 ;湖北省 ;武汉市
XDYSHANDC ;山东2仓 ;鸿鹄小申 ;13044121239 ;山东省临沂市费县南外环东转盘往东200米顺通快递有限公司(仓库二楼) ;22 ;292 ;2415 ;山东省 ;临沂市
XDYSHC ;上海新仓 ;纪先生 ;13044121150 ;上海市上海市普陀区真如镇街道真北路2653弄G区 ;25 ;321 ;2709 ;上海市 ;上海市
XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市东莞市凤岗镇 浸校塘东良巷兔喜生活(云仓);6 ;79 ;732 ;广东省 ;东莞市";
//XDYCHONGQC ;重庆2仓 ;翁桂柱 ;18923911055 ;重庆市九龙坡区中梁山街道云飞九龙香山(二纵线东50米)重庆九龙坡区渝州公司 ;32 ;394 ;3339
//XDYHEBC ;哈尔滨仓 ;韩健 ;13044121250 ;黑龙江省哈尔滨市双城区新兴镇钱江路南侧韵达快递分拨中心发出库房84号装车口旁边电梯 ;12 ;167 ;1426
//XDYXA ;西安仓 ;方先生 ;15813526665 ;陕西省西安市雁塔区田马路厨具市场内韵达超市(田马路店);24 ;311 ;2599
//XDYGYC ;贵阳仓 ;潘小娘 ;19218546304 ;贵州省黔南州龙里县谷脚镇韵达分拨中心 综合楼一楼 食堂隔壁(不要放驿站,送到仓库) ;8 ;116 ;1017
//XDYKMC ;昆明仓 ;杨源炜 ;19533700289 ;云南省昆明市宜良县北古城镇红枫路一号韵达分拨(不要放驿站,送到仓库) ;30 ;367 ;3109
//XDYSSC ;河北仓 ;田女士 ;13382898026 ;河北省衡水市安平县兴安大道灿达创业基地韵达库房A-1 ;10 ;143 ;1180
//XDYZZC ;郑州仓 ;朱红艳 ;13044121247 ;河南省郑州市经济开发区祥云办公处润之新物流园韵达速递 ;11 ;149 ;1259
static List<TransitWarehouseParam> transitWarehouseList = null;
public static List<TransitWarehouseParam> TransitWarehouseList
{
get
{
if (transitWarehouseList == null)
{
transitWarehouseList = new List<TransitWarehouseParam>();
var strArr = TransitWarehouseDataStr.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var str in strArr)
{
var arr = str.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
if (arr.Length > 7)
{
TransitWarehouseParam tw = new TransitWarehouseParam()
{
TransId = arr[0].Trim(),
TransName = arr[1].Trim(),
TransUserName = arr[2].Trim(),
TransMobile = arr[3].Trim(),
TransDetailAddress = arr[4].Trim(),
province_id = arr[5].Trim().ParseToInt(),
city_id = arr[6].Trim().ParseToInt(),
district_id = arr[7].Trim().ParseToInt(),
province_name = arr[8].Trim(),
city_name = arr[9].Trim(),
};
transitWarehouseList.Add(tw);
}
}
}
return transitWarehouseList;
}
set
{
}
}
}
}
+31
View File
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class WXBuyMapInfo
{
public long id { get; set; }
public string user_name { get; set; }
public string spu_code { get; set; }
public string sku_code { get; set; }
public string map_url { get; set; }
public string map_goods_name { get; set; }
/// <summary>
/// sku规格名称
/// </summary>
public string map_spec_name { get; set; }
public string map_goods_id { get; set; }
public string map_sku_id { get; set; }
/// <summary>
/// 发货地(省,市)
/// </summary>
public string map_send_address { get; set; }
public string transit_warehouse_id { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
+27
View File
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class WaybillHelper
{
//中国移动‌:134、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、195、197、198。
//中国联通‌:130、131、132、145、155、156、166、175、176、185、186、196。其中‌145号段‌主要用于上网卡。
//中国电信‌:133、149、153、173、177、180、181、189、190、191、193、199。
//中国广电‌:192。作为第四大运营商,其号段于2022年开始放号。
public static List<int> MobileHead { get; set; } = new List<int>()
{
134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 172, 178, 182, 183, 184, 187, 188, 195, 197, 198,
130, 131, 132, 155, 156, 166, 175, 176, 185, 186, 196,
133, 149, 153, 173, 177, 180, 181, 189, 190, 191, 193, 199,
};
public static List<string> LastName { get; set; } = new List<string>()
{
"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "沈", "杨", "朱", "许", "何", "张",
};
}
}
@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class oms_wei_external_procurement_after_sale_info
{
public long id { get; set; }
public string order_no { get; set; }
/// <summary>
/// 订单唯一值:OrderCode (外采单号)
/// </summary>
public string order_code { get; set; }
/// <summary>
/// 中转仓售后订单号
/// </summary>
public string external_order_no { get; set; }
/// <summary>
/// 售后订单号
/// </summary>
public string after_sale_no { get; set; }
/// <summary>
/// 1=转寄,2=换货, 3=退货
/// </summary>
public int? return_or_exchange { get; set; }
/// <summary>
/// 退款地址-省
/// </summary>
public string refund_province { get; set; }
/// <summary>
/// 退款地址-市
/// </summary>
public string refund_city { get; set; }
/// <summary>
/// 退款地址-县/区
/// </summary>
public string refund_county { get; set; }
public string refund_detail_address { get; set; }
/// <summary>
/// 退款的快递单号
/// </summary>
public string refund_waybill { get; set; }
/// <summary>
/// 退货的快递公司
/// </summary>
public string return_express_company { get; set; }
/// <summary>
/// 收货人姓名
/// </summary>
public string recipient_name { get; set; }
/// <summary>
/// 收货人电话
/// </summary>
public string recipient_phone { get; set; }
/// <summary>
/// 原始消息/扩展信息(JSON)
/// </summary>
public string raw_message { get; set; }
/// <summary>
/// 售后处理状态,0未处理,1处理中,2已完成,9异常
/// </summary>
public int? status { get; set; }
public DateTime? created_time { get; set; }
public DateTime? updated_time { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string create_user { get; set; }
/// <summary>
/// 更新人
/// </summary>
public string update_user { get; set; }
/// <summary>
/// 账户名
/// </summary>
public string account_user { get; set; }
/// <summary>
/// 1=入库 2=出库
/// </summary>
public int? warehouse_status { get; set; }
/// <summary>
/// 入库时间
/// </summary>
public DateTime? inbound_time { get; set; }
/// <summary>
/// 出库时间
/// </summary>
public DateTime? outbound_time { get; set; }
/// <summary>
/// 下游快递单号
/// </summary>
public string downstream_waybill { get; set; }
/// <summary>
/// 下游快递公司编码
/// </summary>
public string downstream_express_code { get; set; }
}
}
@@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class oms_wei_external_procurement_log_info
{
public string OutOrderNumStr
{
get { return "采购单号:" + out_order_no; }
set { }
}
public string OutOrderBuyerStr
{
get { return "采购账户:" + buyer_account; }
set { }
}
public long id { get; set; }
public string out_order_no { get; set; }
public string order_no { get; set; }
public string order_sku_id { get; set; }
public string buyer_account { get; set; }
public int? out_amount { get; set; }
public string purchaser_note { get; set; }
public string express_1_company { get; set; }
public string express_1_waybill { get; set; }
public string express_2_company { get; set; }
public string express_2_waybill { get; set; }
public string refund_status { get; set; }
public DateTime pickup_time { get; set; }
/// <summary>
/// 中转仓状态:0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程)
/// 使用此字段判断中转仓库是否已取号
/// </summary>
public int? transfer_warehouse_status { get; set; }
public string raw_message { get; set; }
public DateTime created_time { get; set; }
public DateTime updated_time { get; set; }
public string platform { get; set; }
public string order_platform_code { get; set; }
/// <summary>
/// 唯一值编码,一般为外采单号
/// </summary>
public string order_code { get; set; }
/// <summary>
/// 取号状态 1 正常取号 2提前取号 3已更正 (已修改提前取号为正常取号)
/// 使用此字段判断取号状态,如果是提前取号,需要修改新的物流单号,此时服务端状态将替换为已更正
/// </summary>
public int? pre_allocated_order_no { get; set; }
public int? is_transfer_ship { get; set; }
/// <summary>
/// 溯源码
/// </summary>
public string random_code { get; set; }
/// <summary>
/// 1, "拒收" 2, "拦截" 3, "取消" 4, "订单作废"
/// </summary>
public int? transfer_refund_status { get; set; }
/// <summary>
/// 订单作废状态:0=正常,1=已作废,2=作废失败
/// </summary>
public int? order_void_status { get; set; }
/// <summary>
/// 中转仓入库状态 0: 未使用, 1: 已入库, 2: 已出库
/// </summary>
public int? warehouse_status { get; set; }
/// <summary>
/// 中转入库时间
/// </summary>
public DateTime? inbound_time { get; set; }
/// <summary>
/// 中转出库时间
/// </summary>
public DateTime? outbound_time { get; set; }
}
}
+504
View File
@@ -0,0 +1,504 @@
using AllBase.Helper;
using AllBase.Model.MvvmBaseClasses;
using NaiBa.Util.Extension;
using NPOI.OpenXmlFormats.Spreadsheet;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
namespace AllBase.Model.DBModel
{
public class oms_wei_order_info : PropertyNotifyObject
{
public ObservableCollection<oms_wei_order_item_info> orderItems { get; set; } = new ObservableCollection<oms_wei_order_item_info>();
public oms_wei_order_item_info order_item1 { get { return orderItems?.Count > 0 ? orderItems[0] : null; } }
public oms_wei_order_item_info order_item2 { get { return orderItems?.Count > 1 ? orderItems[1] : null; } }
public oms_wei_order_item_info order_item3 { get { return orderItems?.Count > 2 ? orderItems[2] : null; } }
public oms_wei_order_item_info order_item4 { get { return orderItems?.Count > 3 ? orderItems[3] : null; } }
public oms_wei_order_item_info order_item5 { get { return orderItems?.Count > 4 ? orderItems[4] : null; } }
public Visibility order_item1_visibility { get { return order_item1 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item2_visibility { get { return order_item2 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item3_visibility { get { return order_item3 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item4_visibility { get { return order_item4 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item5_visibility { get { return order_item5 == null ? Visibility.Collapsed : Visibility.Visible; } }
public ObservableCollection<oms_wei_refund_info> refundItems { get; set; } = new ObservableCollection<oms_wei_refund_info>();
/// <summary>
/// 待采购
/// </summary>
public bool IsWaitBuy
{
get
{
if (order_id == "3737644875536802048")
{
}
if (orderItems.All(oi => oi.ItemTransitOrder != null)) return false;
if (purchase_status != 0) return false;
if (!out_order_no.IsNullOrEmpty()) return false;
if (status != 20 && status != 21) return false;
if (gift_order_status == 1 || gift_order_status == 2) return false;
return true;
}
set { }
}
/// <summary>
/// 待发货
/// </summary>
public bool IsWaitSend
{
//get { return (purchase_status == 1 || !string.IsNullOrEmpty(out_order_no)) && (status == 20 || status == 21); }
get
{
if (purchase_status != 1 && string.IsNullOrEmpty(out_order_no) && !orderItems.All(oi => oi.ItemTransitOrder != null)) return false;
if (status != 20 && status != 21) return false;
return true;
}
set { }
}
/// <summary>
/// 待收货
/// </summary>
public bool IsWaitReceive
{
get { return status == 30 || status == 100 || gift_order_status == 1 || gift_order_status == 2; }
set { }
}
/// <summary>
/// 售后订单(含售后关闭)
/// </summary>
public bool IsRefund
{
get { return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); }
set { }
}
/// <summary>
/// 紧急订单
/// </summary>
public bool IsEmergency
{
get
{
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("退款成功") &&
!t.refund_status.Contains("关闭") &&
!t.refund_status.Contains("撤销"))))
{
return true;
}
else if (orderItems.Any(oi => (oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("取号异常")))
return true;
return false;
}
set { }
}
public string orderStatusStr
{
get
{
//状态10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消;
if (status == 10)
return "待付款";
if (status == 21)
return "部分发货";
if (status == 30)
return "待收货";
if (status == 100)
return "完成";
if (status == 200)
return "已取消";
if (status == 250)
return "未付款已取消";
return "未知状态";
}
set { }
}
public DateTime? createDateTime = null;
/// <summary>
/// 订单生成时间
/// </summary>
public string create_time_str
{
get
{
if (createDateTime == null)
createDateTime = BaseClass.StampToDateTime(create_time);
return createDateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
}
set { }
}
/// <summary>
/// 订单发货完成时间
/// </summary>
public string ship_done_time_str
{
get { return BaseClass.StampToDateTime(this.ship_done_time.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"); }
set { }
}
/// <summary>
/// 订单发货完成时间可见
/// </summary>
public Visibility ship_done_time_visibility
{
get { return this.ship_done_time.ParseToInt() > 0 ? Visibility.Visible : Visibility.Collapsed; }
set { }
}
/// <summary>
/// 订单总状态文本
/// </summary>
public string delivery_deadline_status_str
{
get
{
if (this.refundItems.Any(r => "商家受理中,待买家退货,待商家收货,平台退款中,待用户确认,待用户处理商家协商,待用户处理商家代发起的售后申请,物流拦截中".Contains(r.RefundStatusStr)))
return "退款中";
else if (this.refundItems.Any(r => r.RefundStatusStr == "退款完成" || r.RefundStatusStr == "退货退款完成"))
return "退款完成";
// 用户取消申请
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("退款单") && this.refundItems.Any(r => !r.RefundStatusStr.IsNullOrEmpty()))
return this.refundItems.FirstOrDefault(r => !r.RefundStatusStr.IsNullOrEmpty()).RefundStatusStr;
if (this.status == 20 || this.status == 21)
{
return "剩余";
}
return "剩余";
}
set { /*delivery_deadline_status_str = value;*/ }
}
/// <summary>
/// 延迟发货时间(微信小店:商品发货时效,超时此时间未发货即为发货超时)文本
/// </summary>
public string delivery_deadline_str
{
get
{
if (this.status == 20 || this.status == 21)
{
var deadlineTime = BaseClass.StampToDateTime(delivery_deadline.ParseToInt());
var nowTime = DateTime.Now;
if (deadlineTime < nowTime)
return "已超时";
var timeSpan = BaseClass.StampToDateTime(delivery_deadline.ParseToInt()) - nowTime;
var durationStr = Math.Floor(timeSpan.TotalHours).ParseToInt() + "时" + timeSpan.Minutes + "分" + timeSpan.Seconds + "秒";
return durationStr;
}
if (/*this.out_shipped == 1 */this.ship_done_time.ParseToInt() > 0)
return "已发货";
else
return "未发货";
}
set {}
}
public SolidColorBrush StatusBoxForeColor
{
get
{
if (delivery_deadline_status_str == "退款中" || delivery_deadline_str == "已超时")
return new SolidColorBrush(Color.FromRgb(250, 71, 51)); // #fa4733
else if (delivery_deadline_status_str == "退款完成" || delivery_deadline_str == "已发货")
return new SolidColorBrush(Color.FromRgb(103, 194, 58)); // #67c23a
else
return new SolidColorBrush(Color.FromRgb(3, 151, 181)); // #0397b5
}
set { }
}
public SolidColorBrush StatusBoxBackColor
{
get
{
if (delivery_deadline_status_str == "退款中" || delivery_deadline_str == "已超时")
return new SolidColorBrush(Color.FromArgb(26, 250, 71, 51)); // #fa4733 0.2
else if (delivery_deadline_status_str == "退款完成" || delivery_deadline_str == "已发货")
return new SolidColorBrush(Color.FromArgb(26, 103, 194, 58)); // #67c23a 0.2
else
return new SolidColorBrush(Color.FromArgb(26, 3, 151, 181)); // #0397b5 0.2
}
set { }
}
public SolidColorBrush StatusBoxBorderColor
{
get
{
if (delivery_deadline_status_str == "退款中" || delivery_deadline_str == "已超时")
return new SolidColorBrush(Color.FromArgb(50, 250, 71, 51)); // #fa4733 0.2
else if (delivery_deadline_status_str == "退款完成" || delivery_deadline_str == "已发货")
return new SolidColorBrush(Color.FromArgb(50, 103, 194, 58)); // #67c23a 0.2
else
return new SolidColorBrush(Color.FromArgb(50, 3, 151, 181)); // #0397b5 0.2
}
set { }
}
public string address_str
{
get { return user_name + " " + tel_number + " " + province_name + " " + city_name + " " + county_name + " " + detail_info; }
set { }
}
/// <summary>
/// 是否被选中
/// </summary>
public bool IsSelect
{
get { return this.GetValue(x => x.IsSelect); }
set { this.SetValue(x => x.IsSelect, value); }
}
public bool is_visible { get; set; } = true;
public long id { get; set; }
public long shop_id { get; set; }
public string shop_name { get; set; }
/// <summary>
/// 商户ID
/// </summary>
public string merchant_id { get; set; }
public string order_id { get; set; }
/// <summary>
/// 买家身份标识
/// </summary>
public string openid { get; set; }
public int create_time { get; set; }
public int update_time { get; set; }
public string unionid { get; set; }
/// <summary>
/// 状态10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消;
/// </summary>
public int? status { get; set; }
/// <summary>
/// 售后信息json
/// </summary>
public string aftersale_detail { get; set; }
/// <summary>
/// 支付信息
/// </summary>
public string pay_info { get; set; }
/// <summary>
/// 额外信息
/// </summary>
public string ext_info { get; set; }
/// <summary>
/// 商品总价
/// </summary>
public int? product_price { get; set; }
/// <summary>
/// 订单金额,单位为分,order_price=original_order_price-discounted_price-deduction_price-change_down_price
/// </summary>
public int? order_price { get; set; }
/// <summary>
/// 采购价,单位为分
/// </summary>
public int? purchase_price { get; set; }
/// <summary>
/// 采购时间
/// </summary>
public int? purchase_time { get; set; }
/// <summary>
/// 运费,单位为分
/// </summary>
public int? freight { get; set; }
/// <summary>
/// 平台服务费(微信小店:预计技术服务费),单位为分
/// </summary>
public int? predict_commission_fee { get; set; }
/// <summary>
/// 达人佣金(微信小店:分账金额),单位为分
/// </summary>
public int? commission_amount { get; set; }
/// <summary>
/// 优惠券优惠金额,单位为分
/// </summary>
public int? discounted_price { get; set; }
/// <summary>
/// 利润(实付金额-采购价-平台服务费-达人佣金,达人佣金、采购价为空值则为0)
/// </summary>
public int? profit { get; set; }
/// <summary>
/// 采购状态,默认值为:0未采购,推送仓库时修改为1采购
/// </summary>
public int? purchase_status { get; set; }
/// <summary>
/// 延迟发货时间(微信小店:商品发货时效,超时此时间未发货即为发货超时)
/// </summary>
public int? delivery_deadline { get; set; }
/// <summary>
/// 发货时间
/// </summary>
public int? delivery_time { get; set; }
/// <summary>
/// 收货人姓名
/// </summary>
public string user_name { get; set; }
/// <summary>
/// 邮编
/// </summary>
public string postal_code { get; set; }
public string province_name { get; set; }
public string city_name { get; set; }
/// <summary>
/// 区
/// </summary>
public string county_name { get; set; }
/// <summary>
/// 详细地址
/// </summary>
public string detail_info { get; set; }
public string tel_number { get; set; }
/// <summary>
/// 门牌号码
/// </summary>
public string house_number { get; set; }
/// <summary>
/// 虚拟发货订单联系方式(deliver_method=1时返回)
/// </summary>
public string virtual_order_tel_number { get; set; }
/// <summary>
/// 额外的联系方式信息(虚拟号码相关)
/// </summary>
public string tel_number_ext_info { get; set; }
/// <summary>
/// 0:不使用虚拟号码,1:使用虚拟号码
/// </summary>
public int? use_tel_number { get; set; }
/// <summary>
/// 标识当前店铺下一个唯一的用户收货地址
/// </summary>
public string hash_code { get; set; }
/// <summary>
/// 发货物流信息JSON
/// </summary>
public string delivery_product_info { get; set; }
/// <summary>
/// 发货完成时间,秒级时间戳
/// </summary>
public int? ship_done_time { get; set; }
/// <summary>
/// 电子面单代发时的订单密文
/// </summary>
public string ewaybill_order_code { get; set; }
/// <summary>
/// 结算信息json
/// </summary>
public string settle_info { get; set; }
/// <summary>
/// 订单审核状态(0待审核1已审核)
/// </summary>
public int? audit_status { get; set; }
/// <summary>
/// 订单审核时间
/// </summary>
public DateTime audit_time { get; set; }
/// <summary>
/// erp发货快递公司
/// </summary>
public string erp_send_company { get; set; }
/// <summary>
/// erp发货快递单号
/// </summary>
public string erp_send_code { get; set; }
/// <summary>
/// erp发货状态
/// </summary>
public int? erp_send_status { get; set; }
/// <summary>
/// erp发货时间
/// </summary>
public DateTime erp_send_time { get; set; }
/// <summary>
/// 旗帜颜色备注,1:灰旗,2:红旗,3:橙旗,4:绿旗,5:天蓝旗,6:紫旗
/// </summary>
public int? colour_flag { get; set; }
/// <summary>
/// 旗帜备注时间
/// </summary>
public DateTime colour_flag_update_time { get; set; }
/// <summary>
/// 供应商备注异常单
/// </summary>
public string supplier_remark_exception { get; set; }
/// <summary>
/// 礼物单状态,默认值0:不存在礼物单,1:礼物单已发货,2:礼物单信息已更正
/// </summary>
public int? gift_order_status { get; set; }
/// <summary>
/// 店铺备注:取微信ext_info.merchant_notes
/// </summary>
public string shop_remark { get; set; }
/// <summary>
/// 软件备注
/// </summary>
public string soft_remark { get; set; }
/// <summary>
/// 外采金额(单位:分,整数存储)
/// </summary>
public int? out_amount { get; set; }
/// <summary>
/// 外采账户
/// </summary>
public string out_account { get; set; }
/// <summary>
/// 外采订单号
/// </summary>
public string out_order_no { get; set; }
/// <summary>
/// 外采快递公司
/// </summary>
public string out_express_company { get; set; }
/// <summary>
/// 外采快递单号
/// </summary>
public string out_express_no { get; set; }
/// <summary>
/// 外采是否发货(0 未发货,1 已发货)
/// </summary>
public int? out_shipped { get; set; }
/// <summary>
/// 判断是否优化过发货0 未优化, 1已优化
/// </summary>
public int? is_shipment_optimized { get; set; }
/// <summary>
/// 判断是否优随机使用快递单号0 未使用, 1已使用
/// </summary>
public int? is_express_no_used { get; set; }
/// <summary>
/// 外采订单售后状态
/// </summary>
public string out_after_sale_status { get; set; }
/// <summary>
/// 是否支持运费险:0-不支持,1-支持
/// </summary>
public int? has_freight_insurance { get; set; }
/// <summary>
/// 运费险金额(单位:元)
/// </summary>
public decimal? freight_insurance_amount { get; set; }
/// <summary>
/// 是否外采礼物单:0-否,1-是(外采订单)
/// </summary>
public int? external_gift { get; set; }
/// <summary>
/// 中转仓的状态 0未使用,1已创建,2创建失败(购买失败),3已创建未有上游快递单号,4已创建有上游快递单号
/// </summary>
public decimal? transfer_warehouse_status { get; set; }
}
}
@@ -0,0 +1,870 @@
using AllBase.Helper;
using AllBase.Model.MvvmBaseClasses;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using Org.BouncyCastle.Asn1.Mozilla;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
namespace AllBase.Model.DBModel
{
public class oms_wei_order_item_info : PropertyNotifyObject
{
public ShopLoginInfo Shop
{
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)
{
if (itemRefunds?.Count == 1)
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault();
else
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault(r => r.sku_id == this.sku_id);
}
/// <summary>
/// 采购关联
/// </summary>
public WXBuyMapInfo BuyMap
{
get { return this.GetValue(x => x.BuyMap); }
set { this.SetValue(x => x.BuyMap, value); }
}
/// <summary>
/// 采购按钮文字
/// </summary>
public string BuyGoodsBtnTxt
{
get { return this.GetValue(x => x.BuyGoodsBtnTxt); }
set { this.SetValue(x => x.BuyGoodsBtnTxt, value); }
}
/// <summary>
/// 采购按钮颜色
/// </summary>
public SolidColorBrush BuyGoodsBtnColor
{
get { return this.GetValue(x => x.BuyGoodsBtnColor); }
set { this.SetValue(x => x.BuyGoodsBtnColor, value); }
}
/// <summary>
/// 采购按钮背景颜色
/// </summary>
public SolidColorBrush BuyGoodsBtnBackColor
{
get { return this.GetValue(x => x.BuyGoodsBtnBackColor); }
set { this.SetValue(x => x.BuyGoodsBtnBackColor, value); }
}
public bool IsBuyGoodsBtnEnabled
{
get { return this.GetValue(x => x.IsBuyGoodsBtnEnabled); }
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 { }
}
/// <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 { }
}
/// <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 { }
}
public string BuyerTransitWaybillStatusStr
{
get
{
if (PddBuyerOrder?.wx_order_id == "3737683253753151488")
{
}
string refund_status = (ItemTransitOrderWithVoid?.refund_status).ParseToString();
//if ((PddBuyerOrder?.order_status_prompt).ParseToString().Contains("退款成功"))
//{
// return "买手已退款";
//}
//else if (refund_status.Contains("退款成功"))
//{
// return "买手已退款";
//}
// 已到中转仓的或者中转仓已正式发出的,买手(仓上游)状态显示为已到中转仓
if (ItemTransitOrderWithVoid?.warehouse_status == 1 || ItemTransitOrderWithVoid?.warehouse_status == 2)
{
return "已到中转仓";
}
// 拼多多买手状态为已签收的,为已到中转仓
else if ((PddBuyerOrder?.order_status_prompt).ParseToString().Contains("已签收"))
{
return "已到中转仓";
}
// 售后待用户退回商品的,至少为买手已发货
else if ((PddBuyerOrder?.order_status_prompt).ParseToString().Contains("待用户退回商品"))
{
return "买手已发货";
}
else if ((PddBuyerOrder?.order_status_prompt).ParseToString().Contains("待收货"))
{
return "买手已发货";
}
// 有退款还没完成的,至少为买手已发货
if (!refund_status.Contains("退款成功") && refund_status.Length > 0)
{
return "买手已发货";
}
// 正式取号或者取号更正的,可认定买手已发货
if (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3)
return "买手已发货";
if (ItemTransitOrderWithVoid != null)
return "买手未发货";
return "";
}
set { }
}
public SolidColorBrush BuyerTransitWaybillStatusStrColor
{
get
{
if (BuyerTransitWaybillStatusStr.StartsWith("买手已退款"))
return new SolidColorBrush(Color.FromRgb(152, 96, 143));
if (BuyerTransitWaybillStatusStr.StartsWith("已到中转仓"))
return new SolidColorBrush(Color.FromRgb(19, 206, 102));
if (BuyerTransitWaybillStatusStr.StartsWith("买手已发货"))
return new SolidColorBrush(Color.FromRgb(255, 186, 0));
if (BuyerTransitWaybillStatusStr.StartsWith("买手未发货"))
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
}
set { }
}
public SolidColorBrush BuyerTransitWaybillStatusBorderColor
{
get
{
if (BuyerTransitWaybillStatusStr.StartsWith("买手已退款"))
return new SolidColorBrush(Color.FromArgb(75, 152, 96, 143));
if (BuyerTransitWaybillStatusStr.StartsWith("已到中转仓"))
return new SolidColorBrush(Color.FromRgb(208, 245, 224));
if (BuyerTransitWaybillStatusStr.StartsWith("买手已发货"))
return new SolidColorBrush(Color.FromRgb(255, 241, 204));
if (BuyerTransitWaybillStatusStr.StartsWith("买手未发货"))
return new SolidColorBrush(Color.FromRgb(255, 219, 219));
return new SolidColorBrush(Color.FromRgb(255, 219, 219));
}
set { }
}
public SolidColorBrush BuyerTransitWaybillStatusBackColor
{
get
{
if (BuyerTransitWaybillStatusStr.StartsWith("买手已退款"))
return new SolidColorBrush(Color.FromArgb(35, 152, 96, 143));
if (BuyerTransitWaybillStatusStr.StartsWith("已到中转仓"))
return new SolidColorBrush(Color.FromRgb(231, 250, 240));
if (BuyerTransitWaybillStatusStr.StartsWith("买手已发货"))
return new SolidColorBrush(Color.FromRgb(255, 248, 230));
if (BuyerTransitWaybillStatusStr.StartsWith("买手未发货"))
return new SolidColorBrush(Color.FromRgb(255, 237, 237));
return new SolidColorBrush(Color.FromRgb(255, 237, 237));
}
set { }
}
public string WarehouseWaybillStatusStr
{
get
{
if (ItemTransitOrderWithVoid == null)
return "";
if (ItemTransitOrderWithVoid.raw_message.ParseToString().Contains("取号异常"))
{
if (ItemTransitOrderWithVoid.raw_message.Contains("超出派送范围"))
return "取号异常-超出派送范围";
else
return "取号异常";
}
if (ItemTransitOrderWithVoid?.warehouse_status == 2)
return "中转已出库";
// 老订单还用之前的逻辑判断
if (ItemTransitOrderWithVoid?.created_time < new DateTime(2026, 7, 14) && (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3) && !ItemTransitOrderWithVoid.express_2_company.IsNullOrEmpty() && !ItemTransitOrderWithVoid.express_2_waybill.IsNullOrEmpty())
//return "中转已出库*";
return "中转已出库";
if (ItemTransitOrderWithVoid?.warehouse_status == 1)
return "中转已入库";
//if ((ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3) && !ItemTransitOrderWithVoid.express_2_company.IsNullOrEmpty() && !ItemTransitOrderWithVoid.express_2_waybill.IsNullOrEmpty())
// return "中转已发货";
//if (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3)
// return "中转待发货";
if (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3)
return "中转已取号";
if (ItemTransitOrderWithVoid?.pre_allocated_order_no == 2)
return "中转提前取号";
//if (ItemTransitOrderWithVoid?.order_void_status == 2)
// return "中转作废失败";
//if (ItemTransitOrderWithVoid?.order_void_status == 1)
// return "中转已作废";
if (ItemTransitOrderWithVoid?.pre_allocated_order_no == 0)
return "中转待取号";
return "";
}
set { }
}
public SolidColorBrush WarehouseWaybillStatusStrColor
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
// return new SolidColorBrush(Color.FromRgb(152, 96, 143));
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
return new SolidColorBrush(Color.FromRgb(19, 206, 102));
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
return new SolidColorBrush(Color.FromRgb(255, 186, 0));
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
}
set { }
}
public SolidColorBrush WarehouseWaybillStatusBorderColor
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
// return new SolidColorBrush(Color.FromArgb(75, 152, 96, 143));
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
return new SolidColorBrush(Color.FromRgb(208, 245, 224));
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
return new SolidColorBrush(Color.FromRgb(255, 241, 204));
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
return new SolidColorBrush(Color.FromRgb(255, 219, 219));
return new SolidColorBrush(Color.FromRgb(255, 219, 219));
}
set { }
}
public SolidColorBrush WarehouseWaybillStatusBackColor
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
// return new SolidColorBrush(Color.FromArgb(35, 152, 96, 143));
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
return new SolidColorBrush(Color.FromRgb(231, 250, 240));
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
return new SolidColorBrush(Color.FromRgb(255, 248, 230));
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
return new SolidColorBrush(Color.FromRgb(255, 237, 237));
return new SolidColorBrush(Color.FromRgb(255, 237, 237));
}
set { }
}
/// <summary>
/// 中转仓表买手售后字段文字显示
/// </summary>
public string TransitRefundStatusStr
{
get
{
if (!string.IsNullOrEmpty(ItemTransitOrderWithVoid?.refund_status))
{
if (!ItemTransitOrderWithVoid.refund_status.Contains("需手动申请售后"))
return "已申请售后 " + ItemTransitOrderWithVoid.refund_status.Replace("申请收到,", "");
return ItemTransitOrderWithVoid.refund_status;
}
return "";
}
set { }
}
/// <summary>
/// 中转仓表买手售后字段文字显示背景颜色
/// </summary>
public SolidColorBrush TransitRefundStatusBackColor
{
get
{
if (TransitRefundStatusStr.Contains("退款成功"))
return new SolidColorBrush(Color.FromRgb(19, 206, 102));
if (TransitRefundStatusStr.Contains("需手动申请售后"))
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
//return new SolidColorBrush(Color.FromRgb(255, 186, 0));
return new SolidColorBrush(Color.FromRgb(255, 155, 0));
}
set { }
}
public string TransitRefundVoidStatusStr
{
get
{
//if (ItemTransitOrderWithVoid?.order_void_status == 2)
// return "中转作废失败";
if (ItemTransitOrderWithVoid?.order_void_status == 1)
return "中转已作废";
return "";
}
set { }
}
// 仓库采购时间是否达标字段
public string OutOrderTimeQualifiedStr
{
get
{
if (ItemTransitOrderWithVoid == null)
return "";
if (ItemOrder.createDateTime == null)
ItemOrder.createDateTime = BaseClass.StampToDateTime(ItemOrder.create_time);
string timeStr = "采购时间:" + ItemTransitOrderWithVoid.created_time.ToString("yyyy-MM-dd HH:mm:ss");
if (ItemOrder.createDateTime.Value.Date != ItemTransitOrderWithVoid.created_time.Date && ItemTransitOrderWithVoid.created_time > ItemTransitOrderWithVoid.created_time.Date.AddHours(1.5))
return timeStr + " ×";
return timeStr + " √";
}
set { }
}
/// <summary>
/// 仓库采购时间是否达标字段
/// </summary>
public SolidColorBrush OutOrderTimeQualifiedBrush
{
get
{
return OutOrderTimeQualifiedStr.EndsWith("√") ? new SolidColorBrush(Color.FromRgb(103, 194, 58)) : new SolidColorBrush(Color.FromRgb(250, 71, 51));
}
}
public string OrderItemStatusStr
{
get
{
if (ItemOrder?.status == 10)
return "待付款";
if (ItemOrder?.status == 20)
return "待店铺发货";
if (ItemOrder?.status == 21)
return "店铺部分发货";
if (ItemOrder?.status == 30)
return "待买家收货";
if (ItemOrder?.status == 100)
return "订单完成";
if (ItemOrder?.status == 200)
return "售后完成订单取消";
if (ItemOrder?.status == 250)
return "未付款已取消";
return "未知状态";
}
set { }
}
public SolidColorBrush OrderItemStatusStrColor
{
get
{
if ("未知状态,未付款已取消,售后完成订单取消".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 73, 73));
if ("订单完成".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(19, 206, 102));
if ("待买家收货,店铺部分发货,待店铺发货,待付款".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 186, 0));
return new SolidColorBrush(Color.FromRgb(255, 186, 0));
}
set { }
}
public SolidColorBrush OrderItemStatusBorderColor
{
get
{
if ("未知状态,未付款已取消,售后完成订单取消".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 219, 219));
if ("订单完成".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(208, 245, 224));
if ("待买家收货,店铺部分发货,待店铺发货,待付款".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 241, 204));
return new SolidColorBrush(Color.FromRgb(255, 241, 204));
}
set { }
}
public SolidColorBrush OrderItemStatusBackColor
{
get
{
if ("未知状态,未付款已取消,售后完成订单取消".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 237, 237));
if ("订单完成".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(231, 250, 240));
if ("待买家收货,店铺部分发货,待店铺发货,待付款".Contains(OrderItemStatusStr))
return new SolidColorBrush(Color.FromRgb(255, 248, 230));
return new SolidColorBrush(Color.FromRgb(255, 248, 230));
}
set { }
}
/// <summary>
/// 退款状态文本
/// </summary>
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 { }
}
public string ReturnWaybillId
{
get { return ItemRefund?.return_waybill_id; }
set { }
}
/// <summary>
/// 订单退款时间
/// </summary>
public string refund_time_str
{
get { return BaseClass.StampToDateTime((ItemRefund?.create_time).ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"); }
set { }
}
/// <summary>
/// 订单退款时间可见
/// </summary>
public Visibility refund_time_visibility
{
get
{
return (this.ItemRefund?.create_time) > 0 ? Visibility.Visible : Visibility.Collapsed;
}
set { }
}
/// <summary>
/// 订单中所有商品加起来的总售价文本
/// </summary>
public string realPriceStr
{
//get { return "¥" + (order_items.Sum(oi => oi.real_price) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (real_price * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 订单内商品维度平台券优惠金额(利润需要计算这个金额在内)文本
/// </summary>
public string cash_coupon_discounted_price_str
{
//get { return "¥" + (order_items.Sum(oi => oi.cash_coupon_discounted_price.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (cash_coupon_discounted_price.ParseToInt() * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 采购价文本
/// </summary>
public string purchase_price_str
{
//get { return "¥" + (order_items.Sum(oi => oi.purchase_price.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (purchase_price * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 采购价文本是否可见
/// </summary>
public Visibility purchase_price_visibility
{
get { if (ItemOrder.out_amount > 0 || ItemTransitOrder?.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
set { }
}
/// <summary>
/// 运费文本
/// </summary>
public string freight_str
{
//get { return "¥" + (order_items.Sum(oi => oi.freight.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (freight * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 运费文本是否可见
/// </summary>
public Visibility freight_visibility
{
get { if (ItemOrder.out_amount > 0 || ItemTransitOrder?.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
set { }
}
/// <summary>
/// 平台服务费
/// </summary>
public string predict_commission_fee_str
{
//get { return "¥" + (order_items.Sum(oi => oi.predict_commission_fee.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (predict_commission_fee * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 达人佣金
/// </summary>
public string commission_amount_str
{
//get { return "¥" + (order_items.Sum(oi => oi.commission_amount.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (commission_amount.ParseToInt() * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
}
/// <summary>
/// 外采金额文本
/// </summary>
public string out_amount_str
{
//get { return "¥" + (ItemOrder.out_amount * 0.01m).ParseToDecimal().ToString("0.00"); }
get
{
if (ItemTransitOrder?.out_amount > 0)
return "¥" + (ItemTransitOrder.out_amount * 0.01m).ParseToDecimal().ToString("0.00");
else
return "¥" + (commission_amount.ParseToInt() * 0.01m).ParseToDecimal().ToString("0.00");
}
set { }
}
decimal profitCount = decimal.MinValue;
/// <summary>
/// 通过计算的利润
/// </summary>
public decimal ProfitCount
{
get
{
if (profitCount == decimal.MinValue)
{
//ItemOrder.out_amount ItemTransitOrder.out_amount 只有一个有值
var out_amount = ItemTransitOrder?.out_amount ?? ItemOrder.out_amount / ItemOrder.orderItems.Count;
profitCount = ((real_price.ParseToInt() + cash_coupon_discounted_price.ParseToInt() - purchase_price.ParseToInt() - freight.ParseToInt() - predict_commission_fee.ParseToInt() -
commission_amount.ParseToInt() - out_amount.ParseToInt()) * 0.01m).ParseToDecimal();
}
return profitCount;
}
set
{
profitCount = decimal.MinValue;
}
}
/// <summary>
/// 通过计算的利润文本
/// </summary>
public string ProfitCountStr
{
//get { return "¥" + (profit * 0.01m).ParseToDecimal().ToString("0.00"); }
//get { return "¥" + ((ItemOrder.profit - ItemOrder.out_amount) * 0.01m).ParseToDecimal().ToString("0.00"); }
get
{
if (refund_status == 2 || refund_status == 3 || refund_status == 4 || refund_status == 11)
return "--";
return "¥" + ProfitCount.ToString("0.00");
}
set { }
}
public SolidColorBrush ProfitStrColor
{
get
{
if (refund_status == 2 || refund_status == 3 || refund_status == 4 || refund_status == 11)
return new SolidColorBrush(Color.FromRgb(127, 127, 127));
return ProfitCount > 0 ? new SolidColorBrush(Color.FromRgb(103, 194, 58)) : new SolidColorBrush(Color.FromRgb(250, 71, 51));
}
set { }
}
/// <summary>
/// sku规格名称文本
/// </summary>
public string sku_attr_str
{
get
{
try
{
var jObj = JArray.Parse(sku_attrs);
var str = string.Join(",", jObj.Select(j => j["attr_value"].ParseToString()));
return str;
}
catch { return "获取失败"; }
}
set { }
}
/// <summary>
/// 订单商品表数据库id
/// </summary>
public long id { get; set; }
public long shop_id { get; set; }
/// <summary>
/// 商户ID
/// </summary>
public long merchant_id { get; set; }
/// <summary>
/// 订单id(平台订单id)
/// </summary>
public string order_id { get; set; }
/// <summary>
/// 商品spuid
/// </summary>
public string product_id { get; set; }
public string sku_id { get; set; }
/// <summary>
/// sku小图
/// </summary>
public string thumb_img { get; set; }
/// <summary>
/// sku数量
/// </summary>
public int? sku_cnt { get; set; }
/// <summary>
/// 售卖单价(单位:分)
/// </summary>
public int? sale_price { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string title { get; set; }
/// <summary>
/// 正在售后/退款流程中的 sku 数量
/// </summary>
public int? on_aftersale_sku_cnt { get; set; }
/// <summary>
/// 完成售后/退款的 sku 数量
/// </summary>
public int? finish_aftersale_sku_cnt { get; set; }
/// <summary>
/// 商品编码
/// </summary>
public string sku_code { get; set; }
/// <summary>
/// 市场单价(单位:分)
/// </summary>
public int? market_price { get; set; }
/// <summary>
/// sku属性JSON
/// </summary>
public string sku_attrs { get; set; }
/// <summary>
/// sku实付总价,取estimate_price和change_price中较小值
/// </summary>
public int? real_price { get; set; }
/// <summary>
/// 商品外部spuid
/// </summary>
public string out_product_id { get; set; }
/// <summary>
/// 采购价
/// </summary>
public int? purchase_price { get; set; }
/// <summary>
/// 运费
/// </summary>
public int? freight { get; set; }
/// <summary>
/// 商品外部skuid
/// </summary>
public string out_sku_id { get; set; }
/// <summary>
/// 是否有优惠金额,非必填,默认为false
/// </summary>
public string is_discounted { get; set; }
/// <summary>
/// 优惠后sku总价,非必填,is_discounted为true时有值
/// </summary>
public int? estimate_price { get; set; }
/// <summary>
/// 是否修改过价格,非必填,默认为false
/// </summary>
public string is_change_price { get; set; }
/// <summary>
/// 改价后sku总价,非必填,is_change_price为true时有值
/// </summary>
public int? change_price { get; set; }
/// <summary>
/// 订单内商品维度平台券优惠金额(利润需要计算这个金额在内)
/// </summary>
public int? cash_coupon_discounted_price { get; set; }
/// <summary>
/// 区域库存id
/// </summary>
public string out_warehouse_id { get; set; }
/// <summary>
/// 退货地址
/// </summary>
public string return_address { get; set; }
/// <summary>
/// 商品发货信息JSON
/// </summary>
public string sku_deliver_info { get; set; }
/// <summary>
/// 商品额外服务信息JSON
/// </summary>
public string extra_service { get; set; }
/// <summary>
/// 是否使用了会员积分抵扣
/// </summary>
public string use_deduction { get; set; }
/// <summary>
/// 会员积分抵扣金额,单位为分
/// </summary>
public int? deduction_price { get; set; }
/// <summary>
/// 平台服务费(微信小店:预计技术服务费),单位为分
/// </summary>
public int? predict_commission_fee { get; set; }
/// <summary>
/// 达人佣金(微信小店:分账金额),单位为分
/// </summary>
public int? commission_amount { get; set; }
/// <summary>
/// 商品优惠券信息,逐步替换 order.order_detail.coupon_info
/// </summary>
public string order_product_coupon_info_list { get; set; }
/// <summary>
/// 商品id(o_goods外键)
/// </summary>
public long? erp_goods_id { get; set; }
/// <summary>
/// 商品skuid(o_goods_sku外键)
/// </summary>
public long? erp_goods_sku_id { get; set; }
/// <summary>
/// 售后状态 1:无售后或售后关闭,2:售后处理中,3:退款中,4:退款成功,11:已取消(售后完成订单取消)
/// </summary>
public int? refund_status { get; set; }
public void UpdateOrderItemBuyButton()
{
var order_item = this;
order_item.Shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == order_item.shop_id.ParseToString());
if (GlobalConfig.lstDangerItemWord.Any(d => order_item.title.Contains(d)))
{
order_item.IsBuyGoodsBtnEnabled = false;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "危险品不支持中转拍单";
}
else if (Shop == null || (Shop?.LoginStatus != "登录成功" /*&& Shop?.Is29Supplier == null*/))
{
order_item.IsBuyGoodsBtnEnabled = false;
//order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "请登录店铺";
}
else if (Shop?.LoginStatus == "登录成功" && Shop?.Is29Supplier == null)
{
order_item.IsBuyGoodsBtnEnabled = false;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 127, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 127, 51));
order_item.BuyGoodsBtnTxt = "代发状态读取中请稍候";
}
else if (Shop?.Is29Supplier == false)
{
//order_item.IsBuyGoodsBtnEnabled = false;
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "去店铺后台绑定代发";
}
else
{
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnTxt = order_item.BuyMap == null ? "关联拍单" : "拍单";
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 152, 99, 143));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 152, 99, 143));
}
}
}
}
@@ -0,0 +1,203 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace AllBase.Model.DBModel
{
public class oms_wei_refund_info
{
public string RefundStatusStr
{
get
{
if (status == "USER_CANCELD") return "用户取消申请";
if (status == "MERCHANT_PROCESSING") return "商家受理中";
if (status == "MERCHANT_REJECT_REFUND") return "商家拒绝退款";
if (status == "MERCHANT_REJECT_RETURN") return "商家拒绝退货退款";
if (status == "USER_WAIT_RETURN") return "待买家退货";
if (status == "RETURN_CLOSED") return "退货退款关闭";
if (status == "MERCHANT_WAIT_RECEIPT") return "待商家收货";
if (status == "MERCHANT_OVERDUE_REFUND") return "商家逾期未退款";
if (status == "MERCHANT_REFUND_SUCCESS") return "退款完成";
if (status == "MERCHANT_RETURN_SUCCESS") return "退货退款完成";
if (status == "PLATFORM_REFUNDING") return "平台退款中";
if (status == "PLATFORM_REFUND_FAIL") return "平台退款失败";
if (status == "USER_WAIT_CONFIRM") return "待用户确认";
if (status == "MERCHANT_REFUND_RETRY_FAIL") return "商家打款失败,客服关闭售后";
if (status == "MERCHANT_FAIL") return "售后关闭";
if (status == "USER_WAIT_CONFIRM_UPDATE") return "待用户处理商家协商";
if (status == "USER_WAIT_HANDLE_MERCHANT_AFTER_SALE") return "待用户处理商家代发起的售后申请";
if (status == "WAIT_PACKAGE_INTERCEPT") return "物流拦截中";
return "售后状态读取失败";
}
set { }
}
/// <summary>
/// 退款状态颜色
/// </summary>
public SolidColorBrush RefundStatusColor
{
get
{
if (status == "MERCHANT_PROCESSING" || status == "PLATFORM_REFUNDING" || status == "USER_WAIT_RETURN" || status == "MERCHANT_WAIT_RECEIPT" ||
status == "USER_WAIT_CONFIRM" || status == "USER_WAIT_CONFIRM_UPDATE" || status == "USER_WAIT_HANDLE_MERCHANT_AFTER_SALE" ||
status == "WAIT_PACKAGE_INTERCEPT")
return new SolidColorBrush(Color.FromRgb(230, 162, 60));
if (status == "MERCHANT_REFUND_SUCCESS" || status == "MERCHANT_RETURN_SUCCESS" ||
status == "USER_CANCELD" /*|| status == "MERCHANT_REJECT_REFUND" || status == "MERCHANT_REJECT_RETURN" || status == "RETURN_CLOSED" || status == "PLATFORM_REFUND_FAIL" || status == "MERCHANT_FAIL"*/)
return new SolidColorBrush(Color.FromRgb(103, 194, 58));
return new SolidColorBrush(Color.FromRgb(245, 108, 108));
}
set { }
}
/// <summary>
/// 售后原因文字
/// </summary>
public string reasonTextStr
{
get
{
return string.IsNullOrEmpty(reason_text) ? string.Empty : "售后原因:" + reason_text;
}
set { }
}
public long id { get; set; }
public long? shop_id { get; set; }
public string after_sale_order_id { get; set; }
/// <summary>
/// 售后单当前状态,参考:
/// USER_CANCELD 用户取消申请
/// MERCHANT_PROCESSING 商家受理中
/// MERCHANT_REJECT_REFUND 商家拒绝退款
/// MERCHANT_REJECT_RETURN 商家拒绝退货退款
/// USER_WAIT_RETURN 待买家退货
/// RETURN_CLOSED 退货退款关闭
/// MERCHANT_WAIT_RECEIPT 待商家收货
/// MERCHANT_OVERDUE_REFUND 商家逾期未退款
/// MERCHANT_REFUND_SUCCESS 退款完成
/// MERCHANT_RETURN_SUCCESS 退货退款完成
/// PLATFORM_REFUNDING 平台退款中
/// PLATFORM_REFUND_FAIL 平台退款失败
/// USER_WAIT_CONFIRM 待用户确认
/// MERCHANT_REFUND_RETRY_FAIL 商家打款失败,客服关闭售后
/// MERCHANT_FAIL 售后关闭
/// USER_WAIT_CONFIRM_UPDATE 待用户处理商家协商
/// USER_WAIT_HANDLE_MERCHANT_AFTER_SALE 待用户处理商家代发起的售后申请
/// WAIT_PACKAGE_INTERCEPT 物流拦截中;
/// </summary>
public string status { get; set; }
/// <summary>
/// 买家身份标识
/// </summary>
public string openid { get; set; }
/// <summary>
/// 买家在开放平台的唯一标识符,若当前视频号小店已绑定到微信开放平台账号下会返回
/// </summary>
public string unionid { get; set; }
/// <summary>
/// 商品spuid
/// </summary>
public string product_id { get; set; }
/// <summary>
/// 商品skuid
/// </summary>
public string sku_id { get; set; }
/// <summary>
/// 售后数量
/// </summary>
public int? count { get; set; }
/// <summary>
/// 是否极速退款RefundInfo
/// </summary>
public string fast_refund { get; set; }
/// <summary>
/// 标明售后单退款直接原因, 枚举值参考 RefundReason
/// </summary>
public int? refund_reason { get; set; }
/// <summary>
/// 退款金额(分)
/// </summary>
public int? refund_amount { get; set; }
/// <summary>
/// 退款快递单号
/// </summary>
public string return_waybill_id { get; set; }
/// <summary>
/// 物流公司id
/// </summary>
public string return_delivery_id { get; set; }
/// <summary>
/// 物流公司名称
/// </summary>
public string return_delivery_name { get; set; }
/// <summary>
/// 售后相关商品信息JSON
/// </summary>
public string merchant_upload_info { get; set; }
/// <summary>
/// 售后单创建时间戳
/// </summary>
public int? create_time { get; set; }
/// <summary>
/// 售后单更新时间戳
/// </summary>
public int? update_time { get; set; }
/// <summary>
/// 退款原因
/// </summary>
public string reason { get; set; }
/// <summary>
/// 退款原因解释
/// </summary>
public string reason_text { get; set; }
/// <summary>
/// 售后类型。REFUND:退款;RETURN:退货退款。
/// </summary>
public string type { get; set; }
/// <summary>
/// 订单号,该字段可用于获取订单
/// </summary>
public string order_id { get; set; }
/// <summary>
/// detail json
/// </summary>
public string details { get; set; }
/// <summary>
/// 纠纷id,该字段可用于获取纠纷信息
/// </summary>
public string complaint_id { get; set; }
/// <summary>
/// 微信支付退款的响应
/// </summary>
public string refund_resp { get; set; }
/// <summary>
/// 推送状态(0未推送;1推送成功;2推送失败)
/// </summary>
public int? pull_status { get; set; }
/// <summary>
/// 订单审核时间
/// </summary>
public DateTime pull_time { get; set; }
/// <summary>
/// 商品id(o_goods外键)
/// </summary>
public long? erp_goods_id { get; set; }
/// <summary>
/// 商品skuid(o_goods_sku外键)
/// </summary>
public long? erp_goods_sku_id { get; set; }
/// <summary>
/// 商户id
/// </summary>
public long merchant_id { get; set; }
/// <summary>
/// 仓库受理状态
/// </summary>
public int? warehouse_status { get; set; }
}
}
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class order_pdd_buyer_order
{
public long? id { get; set; }
public string wx_order_id { get; set; }
public string wx_sku_id { get; set; }
public DateTime TransitCreateTime { get; set; }
public DateTime TransitPickupTime { get; set; }
public int? pre_allocated_order_no { get; set; }
public string buyerId { get; set; }
public string buyerName { get; set; }
public string order_sn { get; set; }
public int? order_amount { get; set; }
public long? order_time { get; set; }
public string outExpressCompanyCode { get; set; }
public string tracking_number { get; set; }
/// <summary>
/// 订单状态
/// </summary>
public string order_status_prompt { get; set; }
public int? after_sales_status { get; set; }
public string order_detail { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}