diff --git a/BBWYB.Server.API/Program.cs b/BBWYB.Server.API/Program.cs index 7cbd9f9..4174b6a 100644 --- a/BBWYB.Server.API/Program.cs +++ b/BBWYB.Server.API/Program.cs @@ -32,10 +32,13 @@ services.AddSingleton(typeof(IFreeSql), fsql); var fsql2 = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, configuration.GetConnectionString("MDSDB")).Build(); +var fsql_bbwyc = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, configuration.GetConnectionString("BBWYCDB")).Build(); + services.AddSingleton(new FreeSqlMultiDBManager() { - BBWYfsql = fsql, - MDSfsql = fsql2 + BBWYBfsql = fsql, + MDSfsql = fsql2, + BBWYCfsql = fsql_bbwyc, }); services.AddSingleton(); diff --git a/BBWYB.Server.API/appsettings.json b/BBWYB.Server.API/appsettings.json index 9a15df4..d071f85 100644 --- a/BBWYB.Server.API/appsettings.json +++ b/BBWYB.Server.API/appsettings.json @@ -10,6 +10,7 @@ "ConnectionStrings": { //"DB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy;charset=utf8;sslmode=none;" "DB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwyb;charset=utf8;sslmode=none;", + "BBWYCDB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;", "MDSDB": "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=mds;charset=utf8;sslmode=none;" }, "AllowedSwagger": true, diff --git a/BBWYB.Server.Business/FreeSqlMultiDBManager.cs b/BBWYB.Server.Business/FreeSqlMultiDBManager.cs index 5f970e1..a9f54b6 100644 --- a/BBWYB.Server.Business/FreeSqlMultiDBManager.cs +++ b/BBWYB.Server.Business/FreeSqlMultiDBManager.cs @@ -2,7 +2,9 @@ { public class FreeSqlMultiDBManager { - public IFreeSql BBWYfsql { get; set; } + public IFreeSql BBWYBfsql { get; set; } public IFreeSql MDSfsql { get; set; } + + public IFreeSql BBWYCfsql { get; set; } } } diff --git a/BBWYB.Server.Business/Order/Message/OrderMessageBusiness.cs b/BBWYB.Server.Business/Order/Message/OrderMessageBusiness.cs index c65a7dc..72cf597 100644 --- a/BBWYB.Server.Business/Order/Message/OrderMessageBusiness.cs +++ b/BBWYB.Server.Business/Order/Message/OrderMessageBusiness.cs @@ -1,5 +1,6 @@ using BBWYB.Common.Log; using BBWYB.Common.Models; +using BBWYB.Server.Business.Sync; using BBWYB.Server.Model.Db; using BBWYB.Server.Model.Dto; using Yitter.IdGenerator; @@ -9,10 +10,19 @@ namespace BBWYB.Server.Business public class OrderMessageBusiness : BaseBusiness, IDenpendency { private MDSBusiness mdsBusiness; + private OrderSyncBusiness orderSyncBusiness; + private FreeSqlMultiDBManager mfsql; - public OrderMessageBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, MDSBusiness mdsBusiness) : base(fsql, nLogManager, idGenerator) + public OrderMessageBusiness(IFreeSql fsql, + NLogManager nLogManager, + IIdGenerator idGenerator, + MDSBusiness mdsBusiness, + OrderSyncBusiness orderSyncBusiness, + FreeSqlMultiDBManager mfsql) : base(fsql, nLogManager, idGenerator) { this.mdsBusiness = mdsBusiness; + this.orderSyncBusiness = orderSyncBusiness; + this.mfsql = mfsql; } public void AddOrderMessage(AddOrderMessageRequest request, string token, string clientCode) @@ -23,9 +33,26 @@ namespace BBWYB.Server.Business if (string.IsNullOrEmpty(clientCode)) throw new BusinessException("缺少客户端标识"); + string orderSn = string.Empty; + long? shopId = null; var order = fsql.Select(request.OrderId).ToOne(); if (order == null) - throw new BusinessException("订单不存在"); + { + var bbwyPurchaseOrder = mfsql.BBWYCfsql.Ado.QuerySingle($"select * from purchaseorderv2 where Id='{request.OrderId}'"); + if (bbwyPurchaseOrder == null) + throw new BusinessException("订单不存在"); + else + { + orderSn = bbwyPurchaseOrder.OrderSn; + shopId = bbwyPurchaseOrder.ShopId; + } + } + else + { + orderSn = order.OrderSn; + shopId = order.ShopId; + } + var user = mdsBusiness.GetUserInfo(token); var om = new OrderMessage() @@ -36,8 +63,8 @@ namespace BBWYB.Server.Business CreatorName = user.UserName, Message = request.Message, OrderId = request.OrderId, - OrderSn = order.OrderSn, - ShopId = order.ShopId, + OrderSn = orderSn, + ShopId = shopId, From = clientCode }; fsql.Insert(om).ExecuteAffrows(); diff --git a/BBWYB.Server.Model/Db/BBWY/PurchaseOrderV2.cs b/BBWYB.Server.Model/Db/BBWY/PurchaseOrderV2.cs new file mode 100644 index 0000000..ccc561c --- /dev/null +++ b/BBWYB.Server.Model/Db/BBWY/PurchaseOrderV2.cs @@ -0,0 +1,223 @@ +using FreeSql.DataAnnotations; + +namespace BBWYB.Server.Model.Db.BBWY +{ + + /// + /// 采购单表 + /// + [Table(Name = "purchaseorderv2", DisableSyncStructure = true)] + public partial class PurchaseOrderV2 + { + + /// + /// 采购单号 + /// + [Column(StringLength = 100, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } + + /// + /// 拳探订单独有Sn号 + /// + [Column(StringLength = 50)] + public string OrderSn { get; set; } + + /// + /// 完成时间 + /// + [Column(DbType = "datetime")] + public DateTime? CompletionTime { get; set; } + + /// + /// 收货详细地址 + /// + + public string ConsigneeAddress { get; set; } + + /// + /// 收货市 + /// + [Column(StringLength = 30)] + public string ConsigneeCity { get; set; } + + /// + /// 收货联系人名称 + /// + [Column(StringLength = 50)] + public string ConsigneeContactName { get; set; } + + /// + /// 收货区 + /// + [Column(StringLength = 30)] + public string ConsigneeCounty { get; set; } + + /// + /// 收货联系人电话 + /// + [Column(StringLength = 50)] + public string ConsigneeMobile { get; set; } + + /// + /// 收货省 + /// + [Column(StringLength = 30)] + public string ConsigneeProvince { get; set; } + + /// + /// 收货镇 + /// + [Column(StringLength = 30)] + public string ConsigneeTown { get; set; } + + /// + /// 打包耗材费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? ConsumableAmount { get; set; } = 0.00M; + + /// + /// 创建时间 + /// + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + /// + /// 快递公司 + /// + [Column(StringLength = 100)] + public string ExpressName { get; set; } + + /// + /// 头程运费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? FirstFreight { get; set; } = 0.00M; + + /// + /// 入仓费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? InStorageAmount { get; set; } = 0.00M; + + /// + /// 是否转入库存 + /// + + public bool? IsConvertToStock { get; set; } = false; + + /// + /// 是否订阅快递100 + /// + + public bool? IsSubscribeKuaiDi100 { get; set; } = false; + + /// + /// 采购单状态(待付款=0,待发货=1,待收货=2,待质检=3,待打包=4,待结算=5,已完成=6) + /// + [Column(MapType = typeof(int?))] + public Enums.PurchaseOrderState? OrderState { get; set; } + + /// + /// 支付时间 + /// + [Column(DbType = "datetime")] + public DateTime? PayTime { get; set; } + + /// + /// 采购货款 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? ProductAmount { get; set; } = 0.00M; + + /// + /// 采购账号Id + /// + + public long? PurchaseAccountId { get; set; } + + /// + /// 采购金额(采购货款+采购运费) + /// + [Column(DbType = "decimal(18,2)")] + public decimal? PurchaseAmount { get; set; } = 0.00M; + + /// + /// 采购运费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? PurchaseFreight { get; set; } = 0.00M; + + /// + /// 采购平台 + /// + [Column(MapType = typeof(int?))] + public Enums.Platform? PurchasePlatform { get; set; } + + /// + /// 商家Id + /// + [Column(StringLength = 20)] + public string PurchaserId { get; set; } + + /// + /// 商家名称 + /// + [Column(StringLength = 100)] + public string PurchaserName { get; set; } + + /// + /// 质检费 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? QualityInspectionAmount { get; set; } = 0.00M; + + /// + /// 备注信息 + /// + + public string Remark { get; set; } + + /// + /// 店铺Id + /// + + public long ShopId { get; set; } + + /// + /// 签收时间 + /// + [Column(DbType = "datetime")] + public DateTime? SignTime { get; set; } + + /// + /// 快递单号 + /// + [Column(StringLength = 100)] + public string WaybillNo { get; set; } + + /// + /// 采购方式(线上=0, 线下=1) + /// + [Column(MapType = typeof(int))] + public Enums.PurchaseMethod PurchaseMethod { get; set; } + + /// + /// 采购单模式 批发 = 0,代发 = 1 + /// + [Column(MapType = typeof(int))] + public Enums.PurchaseOrderMode PurchaseOrderMode { get; set; } + ///// + ///// 打包状态 (待发布=0,打包中=1,已完成=2) + ///// + //[Column(MapType = typeof(int))] + //public Enums.PackState PackState { get; set; } + + /// + /// 入仓类型 (发回齐越 = 0, 厂商代发入仓 = 1) + /// + [Column(MapType = typeof(int?))] + public Enums.IntoStoreType? IntoStoreType { get; set; } + } + +}