From 6180e648d99294176535c2e8561ab286766343ff Mon Sep 17 00:00:00 2001 From: jianghaiqing Date: Wed, 12 Jul 2023 10:20:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BE=80=E6=9D=A5=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E5=A2=9E=E5=8A=A0=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Myshipping.Core/Entity/DJY/DjyCustomerAddr.cs | 34 +++++++++++ Myshipping.Core/Myshipping.Core.xml | 60 +++++++++++++++++++ .../Service/DjyCustomer/DjyCustomerService.cs | 37 +++++++++++- .../DjyCustomer/Dto/DjyCustomerAddrInput.cs | 32 ++++++++++ .../DjyCustomer/Dto/DjyCustomerInput.cs | 7 +++ .../DjyCustomer/Dto/DjyCustomerOutput.cs | 4 ++ 6 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 Myshipping.Core/Entity/DJY/DjyCustomerAddr.cs create mode 100644 Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerAddrInput.cs diff --git a/Myshipping.Core/Entity/DJY/DjyCustomerAddr.cs b/Myshipping.Core/Entity/DJY/DjyCustomerAddr.cs new file mode 100644 index 00000000..2bc638f8 --- /dev/null +++ b/Myshipping.Core/Entity/DJY/DjyCustomerAddr.cs @@ -0,0 +1,34 @@ +using System; +using SqlSugar; +using System.ComponentModel; +using Myshipping.Core.Entity; +namespace Myshipping.Core.Entity +{ + /// + /// 客户地址 + /// + [SugarTable("djy_customer_addr")] + [Description("客户地址")] + public class DjyCustomerAddr + { + /// + /// 客户Id + /// + public long CustomerId { get; set; } + + /// + /// 地址简称 + /// + public string AddrName { get; set; } + + /// + /// 地址详情 + /// + public string Addr { get; set; } + + /// + /// 地址类型 factory-工厂地址 + /// + public string AddrType { get; set; } + } +} diff --git a/Myshipping.Core/Myshipping.Core.xml b/Myshipping.Core/Myshipping.Core.xml index ddf86d8d..6ef58e4b 100644 --- a/Myshipping.Core/Myshipping.Core.xml +++ b/Myshipping.Core/Myshipping.Core.xml @@ -1949,6 +1949,31 @@ 等级 + + + 客户地址 + + + + + 客户Id + + + + + 地址简称 + + + + + 地址详情 + + + + + 地址类型 factory-工厂地址 + + @@ -10186,6 +10211,31 @@ 默认最大行数 返回回执 + + + 往来单位地址 + + + + + 客户Id + + + + + 地址简称 + + + + + 地址详情 + + + + + 地址类型 factory-工厂地址 + + 订舱客户联系人输出参数 @@ -10726,6 +10776,11 @@ 服务项目 + + + 地址列表 + + 订舱客户新增输入参数 @@ -11041,6 +11096,11 @@ 服务项目 + + + 地址列表 + + 检索车队参数 diff --git a/Myshipping.Core/Service/DjyCustomer/DjyCustomerService.cs b/Myshipping.Core/Service/DjyCustomer/DjyCustomerService.cs index 68762503..7f521ebb 100644 --- a/Myshipping.Core/Service/DjyCustomer/DjyCustomerService.cs +++ b/Myshipping.Core/Service/DjyCustomer/DjyCustomerService.cs @@ -26,15 +26,18 @@ namespace Myshipping.Core.Service { private readonly SqlSugarRepository _rep; private readonly SqlSugarRepository _repContact; + private readonly SqlSugarRepository _repAddr; + private readonly ILogger _logger; - public DjyCustomerService(SqlSugarRepository rep, SqlSugarRepository repContact, ILogger logger) + public DjyCustomerService(SqlSugarRepository rep, SqlSugarRepository repContact, ILogger logger, SqlSugarRepository addrRepContact) { _rep = rep; _repContact = repContact; _logger = logger; + _repAddr = addrRepContact; } /// @@ -106,6 +109,12 @@ namespace Myshipping.Core.Service var contactList = input.Contacts.Adapt>(); contactList.ForEach(x => x.CustomerId = entity.Id); await _repContact.InsertAsync(contactList); + + //地址 + var addrList = input.Contacts.Adapt>(); + addrList.ForEach(x => x.CustomerId = entity.Id); + await _repAddr.InsertAsync(addrList); + return entity.Id; } @@ -148,6 +157,11 @@ namespace Myshipping.Core.Service var contactList = input.Contacts.Adapt>(); contactList.ForEach(x => x.CustomerId = entity.Id); await _repContact.InsertAsync(contactList); + //地址 + await _repAddr.DeleteAsync(x => x.CustomerId == input.Id); + var addrList = input.Contacts.Adapt>(); + addrList.ForEach(x => x.CustomerId = entity.Id); + await _repAddr.InsertAsync(addrList); return entity.Id; } @@ -167,6 +181,7 @@ namespace Myshipping.Core.Service else { await _repContact.DeleteAsync(x => x.CustomerId == input.Id); + await _repAddr.DeleteAsync(x => x.CustomerId == input.Id); await _rep.DeleteAsync(entity); } } @@ -188,6 +203,8 @@ namespace Myshipping.Core.Service } var custOut = cust.Adapt(); custOut.Contacts = _repContact.Where(x => x.CustomerId == input.Id).OrderBy(x => x.Sort).ToList().Adapt>(); + custOut.Addrs = _repAddr.Where(x => x.CustomerId == input.Id).ToList().Adapt>(); + return custOut; } @@ -263,6 +280,9 @@ namespace Myshipping.Core.Service var contactList = _repContact.AsQueryable() .Where(a => custsArg.Contains(a.CustomerId.Value)).ToList(); + var addrList = _repAddr.AsQueryable() + .Where(a => custsArg.Contains(a.CustomerId)).ToList(); + list = list.GroupJoin(contactList, l => l.Id, r => r.CustomerId.Value, (l, r) => { var curList = r.ToList(); @@ -273,6 +293,21 @@ namespace Myshipping.Core.Service return l; }).ToList(); + + if(addrList.Count > 0) + { + list = list.GroupJoin(addrList, l => l.Id, r => r.CustomerId, (l, r) => + { + var curList = r.ToList(); + + if (curList.Count > 0) + l.Addrs = curList.Adapt>(); + + return l; + + }).ToList(); + } + } } diff --git a/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerAddrInput.cs b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerAddrInput.cs new file mode 100644 index 00000000..2f2cd893 --- /dev/null +++ b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerAddrInput.cs @@ -0,0 +1,32 @@ +using Myshipping.Core; +using System; +using System.ComponentModel.DataAnnotations; + +namespace Myshipping.Core.Service +{ + /// + /// 往来单位地址 + /// + public class DjyCustomerAddrInput + { + /// + /// 客户Id + /// + public long CustomerId { get; set; } + + /// + /// 地址简称 + /// + public string AddrName { get; set; } + + /// + /// 地址详情 + /// + public string Addr { get; set; } + + /// + /// 地址类型 factory-工厂地址 + /// + public string AddrType { get; set; } + } +} diff --git a/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerInput.cs b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerInput.cs index 74bef481..4cd85f6e 100644 --- a/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerInput.cs +++ b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerInput.cs @@ -13,6 +13,8 @@ namespace Myshipping.Core.Service public DjyCustomerInput() { this.Contacts = new List(); + this.Addrs = new List(); + } /// @@ -167,6 +169,11 @@ namespace Myshipping.Core.Service /// public string ServiceItem { get; set; } public List Contacts { get; set; } + + /// + /// 地址列表 + /// + public List Addrs { get; set; } } /// diff --git a/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerOutput.cs b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerOutput.cs index 25335602..459cfa14 100644 --- a/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerOutput.cs +++ b/Myshipping.Core/Service/DjyCustomer/Dto/DjyCustomerOutput.cs @@ -160,5 +160,9 @@ namespace Myshipping.Core.Service /// public string ServiceItem { get; set; } public List Contacts { get; set; } + /// + /// 地址列表 + /// + public List Addrs { get; set; } } }