From 0d96ff4e0833d6a2813a969e1ae0a48f27eee497 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 27 三月 2023 14:24:05 +0800 Subject: [PATCH] 会员发送app后台消息 --- zhengcaioa/Services/CooperatecustomCustomerService.cs | 514 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 415 insertions(+), 99 deletions(-) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index c4bee87..d4ba3a4 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -5,6 +5,7 @@ using AutoMapper; using CommonToolsCore; using DTO; +using DTO.zcUserInfoN_db; using IServices; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.EntityFrameworkCore; @@ -69,6 +70,7 @@ } cooperatecustomCustomer.Id = Guid.NewGuid().ToString(); + cooperatecustomCustomerDTO.Id = cooperatecustomCustomer.Id; _context.CooperatecustomCustomers.Add(cooperatecustomCustomer); } else @@ -710,54 +712,45 @@ var query = (from a in _context.CooperatecustomCustomers - join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly") - on a.Khly equals b.CodeSn - into bsss - from bbb in bsss.DefaultIfEmpty() + // join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly") + // on a.Khly equals b.CodeSn + // into bsss + // from bbb in bsss.DefaultIfEmpty() - join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") - on a.Hyfl equals c.CodeSn - into csss - from ccc in csss.DefaultIfEmpty() + // join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") + // on a.Hyfl equals c.CodeSn + // into csss + // from ccc in csss.DefaultIfEmpty() - join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") - on a.Khlx equals d.CodeSn - into dsss - from ddd in dsss.DefaultIfEmpty() + // join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") + //on a.Khlx equals d.CodeSn + // into dsss + // from ddd in dsss.DefaultIfEmpty() - join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A") - on a.Ywjl equals e.Id - into esss - from abi in esss.DefaultIfEmpty() + // join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A") + // on a.Ywjl equals e.Id + // into esss + // from abi in esss.DefaultIfEmpty() - join i in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ChedanStatus != "A").GroupBy(q => new { q.Khdw }).Select(q => new - { - Khdw = q.Key.Khdw, - Moneycount = q.Sum(i => i.Money), - Ordercount = q.Count(), - } - ) - on a.Id equals i.Khdw - into isss - from iii in isss.DefaultIfEmpty() + - join f in _context.Areas on a.Sheng equals f.CodeId - into fsss - from fff in fsss.DefaultIfEmpty() + // join f in _context.Areas on a.Sheng equals f.CodeId + // into fsss + // from fff in fsss.DefaultIfEmpty() - join g in _context.Areas on a.City equals g.CodeId - into gsss - from ggg in gsss.DefaultIfEmpty() + // join g in _context.Areas on a.City equals g.CodeId + // into gsss + // from ggg in gsss.DefaultIfEmpty() - join h in _context.Areas on a.AreaId equals h.CodeId - into hsss - from hhh in hsss.DefaultIfEmpty() + // join h in _context.Areas on a.AreaId equals h.CodeId + // into hsss + // from hhh in hsss.DefaultIfEmpty() @@ -784,21 +777,19 @@ Hyfl = a.Hyfl, Khlx = a.Khlx, Ywjl = a.Ywjl, - ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name, - CityName = ggg.Name, - AreaIdName = hhh.Name, - KhlyName = bbb.Comments, - HyflName = ccc.Comments, - KhlxName = ddd.Comments, - YwjlName = abi.UserName, + //ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name, + //CityName = ggg.Name, + //AreaIdName = hhh.Name, + //KhlyName = bbb.Comments, + //HyflName = ccc.Comments, + //KhlxName = ddd.Comments, + //YwjlName = abi.UserName, Name = a.Name, Postal = a.Postal, Address = a.Address, Url = a.Url, Tel = a.Tel, - Ordercount = iii.Ordercount.ToString(), - Moneycount = iii.Moneycount.ToString(), - Moneycountde = iii.Moneycount, + Phone = a.Phone, Qq = a.Qq, Email = a.Email, @@ -852,54 +843,49 @@ var queryinter = (from a in _context.IntentionCustomers - join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly") - on a.Khly equals b.CodeSn - into bsss - from bbb in bsss.DefaultIfEmpty() - - join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") - on a.Hyfl equals c.CodeSn - into csss - from ccc in csss.DefaultIfEmpty() - - join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") - on a.Khlx equals d.CodeSn - into dsss - from ddd in dsss.DefaultIfEmpty() - - - join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A") - on a.Ywjl equals e.Id - into esss - from abi in esss.DefaultIfEmpty() - - - join i in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ChedanStatus != "A").GroupBy(q => new { q.Khdw }).Select(q => new - { - Khdw = q.Key.Khdw, - Moneycount = q.Sum(i => i.Money), - Ordercount = q.Count(), - } - ) - on a.Id equals i.Khdw - into isss - from iii in isss.DefaultIfEmpty() - join f in _context.Areas on a.Sheng equals f.CodeId - into fsss - from fff in fsss.DefaultIfEmpty() + + // join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly") + // on a.Khly equals b.CodeSn + // into bsss + // from bbb in bsss.DefaultIfEmpty() + + // join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") + // on a.Hyfl equals c.CodeSn + // into csss + // from ccc in csss.DefaultIfEmpty() + + // join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") + //on a.Khlx equals d.CodeSn + // into dsss + // from ddd in dsss.DefaultIfEmpty() - join g in _context.Areas on a.City equals g.CodeId - into gsss - from ggg in gsss.DefaultIfEmpty() + //join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A") + //on a.Ywjl equals e.Id + //into esss + //from abi in esss.DefaultIfEmpty() - join h in _context.Areas on a.AreaId equals h.CodeId - into hsss - from hhh in hsss.DefaultIfEmpty() + + + + + //join f in _context.Areas on a.Sheng equals f.CodeId + // into fsss + //from fff in fsss.DefaultIfEmpty() + + + //join g in _context.Areas on a.City equals g.CodeId + // into gsss + //from ggg in gsss.DefaultIfEmpty() + + + //join h in _context.Areas on a.AreaId equals h.CodeId + // into hsss + //from hhh in hsss.DefaultIfEmpty() @@ -926,21 +912,19 @@ Hyfl = a.Hyfl, Khlx = a.Khlx, Ywjl = a.Ywjl, - ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name, - CityName = ggg.Name, - AreaIdName = hhh.Name, - KhlyName = bbb.Comments, - HyflName = ccc.Comments, - KhlxName = ddd.Comments, - YwjlName = abi.UserName, + //ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name, + //CityName = ggg.Name, + //AreaIdName = hhh.Name, + //KhlyName = bbb.Comments, + //HyflName = ccc.Comments, + //KhlxName = ddd.Comments, + //YwjlName = abi.UserName, Name = a.Name, Postal = a.Postal, Address = a.Address, Url = a.Url, Tel = a.Tel, - Ordercount = iii.Ordercount.ToString(), - Moneycount = iii.Moneycount.ToString(), - Moneycountde = iii.Moneycount, + Phone = a.Phone, Qq = a.Qq, Email = a.Email, @@ -990,12 +974,96 @@ searchEntity.totalrows = chaxun.Count(); var lianlist = chaxun.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); - - - + if(lianlist!=null&& lianlist.Count > 0) + { + var khlys= listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly").ToList(); + + var hyfls = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl").ToList(); + + var khlxs = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx").ToList(); + + var pltUsers = _context.PltUsers.ToList(); + var areas = _context.Areas.ToList(); + var yx = listCode.Where(x => x.CodeTable == "CooperVisit" && x.CodeField == "yx").ToList(); + foreach (var cooperatecustomCustomerDTO in lianlist) + { + var khly = khlys.Where(x=>x.CodeSn == cooperatecustomCustomerDTO.Khly).FirstOrDefault(); + if (khly != null) + { + cooperatecustomCustomerDTO.KhlyName = khly.Comments; + } + var hyfl = hyfls.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Hyfl).FirstOrDefault(); + if (hyfl != null) + { + cooperatecustomCustomerDTO.HyflName = hyfl.Comments; + } + var khlx = khlxs.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Khlx).FirstOrDefault(); + if (khlx != null) + { + cooperatecustomCustomerDTO.KhlxName = khlx.Comments; + } + var ywjl = pltUsers.Where(x => x.Id == cooperatecustomCustomerDTO.Ywjl).FirstOrDefault(); + if (ywjl != null) + { + cooperatecustomCustomerDTO.YwjlName = ywjl.UserName; + } + + + var city = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.City).FirstOrDefault(); + if (city != null) + { + cooperatecustomCustomerDTO.CityName = city.Name; + } + + var areaId = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.AreaId).FirstOrDefault(); + if (areaId != null) + { + cooperatecustomCustomerDTO.AreaIdName = areaId.Name; + } + + + var sheng = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.Sheng).FirstOrDefault(); + if (sheng != null) + { + cooperatecustomCustomerDTO.ShengName = sheng.Name + "-" + cooperatecustomCustomerDTO.CityName + "-" + cooperatecustomCustomerDTO.AreaIdName; + } + + + if (cooperatecustomCustomerDTO.Customertype == "鍚堜綔瀹㈡埛") + { + var kehuyx = _context.CooperVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault(); + if (kehuyx != null) + { + cooperatecustomCustomerDTO.Yx = kehuyx.Yx; + var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault(); + if (yxname != null) + { + cooperatecustomCustomerDTO.YxName = yxname.Comments; + } + } + + } + else + { + var kehuyx = _context.IntentionVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault(); + if (kehuyx != null) + { + cooperatecustomCustomerDTO.Yx = kehuyx.Yx; + var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault(); + if (yxname != null) + { + cooperatecustomCustomerDTO.YxName = yxname.Comments; + } + } + } + + + + } + } data.LoadData(searchEntity, lianlist); return data; } @@ -1035,5 +1103,253 @@ } return resultEntity; } + + + + + public ResultDataEntity<FrameworkUserDTO> SearchByPagingGuanlianHuiyuan(FrameworkUserSearch searchEntity) + { + + + + ResultDataEntity<FrameworkUserDTO> data = new ResultDataEntity<FrameworkUserDTO>(); + + + + + + var listCode = (from a in _context.SysCodeDtls + join b in _context.SysCodes + on a.CodeId equals b.Id + where a.RecStatus == "A" + && b.RecStatus == "A" + select new CodeDataEntity() + { + CodeId = b.Id, + CodeTable = b.CodeTable, + CodeField = b.CodeField, + CodeSn = a.CodeSn, + Comments = a.Comments, + Contents = a.Contents, + RecStatus = a.RecStatus, + Sort = a.Sort + } + ); + + + + + + + + DateTime Createtimestart = DateTime.Now; + DateTime Createtimeend = DateTime.Now; + if (!string.IsNullOrWhiteSpace(searchEntity.Createtime)) + { + string[] Createtimes = searchEntity.Createtime.Split("|"); + DateTime.TryParse(Createtimes[0], out Createtimestart); + DateTime.TryParse(Createtimes[1], out Createtimeend); + Createtimeend = Createtimeend.AddDays(1); + } + + + var query = (from a in _zcUserInfoNcontext.FrameworkUsers + + + + + where a.IsValid == true + && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.CreateTime >= Createtimestart && a.CreateTime <= Createtimeend)) + && (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim())) + && (string.IsNullOrWhiteSpace(searchEntity.Itcode) || a.Name.Contains(searchEntity.Itcode.Trim())) + + select new FrameworkUserDTO + { + Id = a.Id, + Email = a.Email, + Gender = a.Gender, + CellPhone = a.CellPhone, + HomePhone = a.HomePhone, + Address = a.Address, + ZipCode = a.ZipCode, + IsIndividual = a.IsIndividual, + CreateTime = a.CreateTime, + CreateTimeName = a.CreateTime.HasValue? a.CreateTime.Value.ToString("yyyy-MM-dd"):"", + CreateBy = a.CreateBy, + UpdateTime = a.UpdateTime, + UpdateBy = a.UpdateBy, + Itcode = a.Itcode, + Password = a.Password, + Name = a.Name, + IsValid = a.IsValid, + PhotoId = a.PhotoId, + TenantCode = a.TenantCode, + WxOpenid = a.WxOpenid, + Agent = a.Agent, + + } + ); + + if (!string.IsNullOrWhiteSpace(searchEntity.ShifouGuanluan)) + { + var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList(); + var id = new List<Guid>(); + foreach(var customerGuanlianhuiyuan in customerGuanlianhuiyuans) + { + id.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid)); + } + if (searchEntity.ShifouGuanluan == "A") + { + query = query.Where(a => id.Contains(a.Id)); + } + else + { + query = query.Where(a => !id.Contains(a.Id)); + } + } + + //if (searchEntity.totalrows == 0) + searchEntity.totalrows = query.Count(); + + var lianlist = query.OrderByDescending(x => x.CreateTime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); + + if (lianlist.Count > 0) + { + var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList(); + foreach (var lian in lianlist) + { + var customerGuanlianhuiyuan = customerGuanlianhuiyuans.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault(); + if (customerGuanlianhuiyuan != null) + { + var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault(); + if (cooperatecustomCustomer != null) + { + lian.CustomerId = cooperatecustomCustomer.Id; + lian.CustomerName = cooperatecustomCustomer.Name; + } + else + { + var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault(); + if (intentionCustomer != null) + { + lian.CustomerId = intentionCustomer.Id; + lian.CustomerName = intentionCustomer.Name; + } + } + } + } + } + + + + data.LoadData(searchEntity, lianlist); + return data; + } + + public ResultEntity saveCustomerGuanlian(CustomerGuanlianhuiyuan DTO,string CustomerIddel) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + if (!string.IsNullOrEmpty(CustomerIddel)) + { + var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault(); + if (cooperatecustomCustomer != null) + { + cooperatecustomCustomer.HuiyuanId = null; + } + var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault(); + if (intentionCustomer != null) + { + intentionCustomer.HuiyuanId = null; + } + + + var customerGuanlianhuiyuan = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A" && x.Huiyuanid == DTO.Huiyuanid && x.Customerid == CustomerIddel).FirstOrDefault(); + if (customerGuanlianhuiyuan != null) + { + _context.CustomerGuanlianhuiyuans.Remove(customerGuanlianhuiyuan); + } + } + if (String.IsNullOrEmpty(DTO.Id)) + { + DTO.Id = Guid.NewGuid().ToString(); + _context.CustomerGuanlianhuiyuans.Add(DTO); + } + else + { + var updateproject = _context.CustomerGuanlianhuiyuans.Find(DTO.Id); + updateproject.Huiyuanid = DTO.Huiyuanid; + updateproject.Customerid = DTO.Customerid; + updateproject.Customertype = DTO.Customertype; + + + updateproject.RecStatus = DTO.RecStatus; + updateproject.Modifier = DTO.Modifier; + updateproject.Modifytime = DTO.Modifytime; + + } + + _context.SaveChanges(); + + + + resultEntity.ReturnID = DTO.Id; + resultEntity.Result = true; + } + catch (Exception ex) + { + resultEntity.Result = false; + resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�"; + + } + return resultEntity; + } + public List<FrameworkUserDTO> GetListFrameworkUser(string CustomerId) + { + var frameworkUsers = new List<FrameworkUser>(); + var listPositiontongshi = _context.CustomerGuanlianhuiyuans.Where(r => r.RecStatus == "A" && r.Customerid == CustomerId).ToList(); + var huiyuanids = new List<Guid>(); + foreach (var customerGuanlianhuiyuan in listPositiontongshi) + { + huiyuanids.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid)); + } + frameworkUsers = _zcUserInfoNcontext.FrameworkUsers.Where(x => x.IsValid == true && huiyuanids.Contains(x.Id)).ToList(); + + + var res = _mapper.Map<List<FrameworkUserDTO>>(frameworkUsers); + if (res.Count > 0) + { + + foreach (var lian in res) + { + lian.CreateTimeName = lian.CreateTime.HasValue ? lian.CreateTime.Value.ToString("yyyy-MM-dd") : ""; + + var customerGuanlianhuiyuan = listPositiontongshi.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault(); + if (customerGuanlianhuiyuan != null) + { + var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault(); + if (cooperatecustomCustomer != null) + { + lian.CustomerId = cooperatecustomCustomer.Id; + lian.CustomerName = cooperatecustomCustomer.Name; + } + else + { + var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault(); + if (intentionCustomer != null) + { + lian.CustomerId = intentionCustomer.Id; + lian.CustomerName = intentionCustomer.Name; + } + } + } + } + } + + + + return res; + } } } -- Gitblit v1.9.1