using CRM.Core.DTO; using CRM.Core.DTO.AliYunSub; using System; using System.Collections.Generic; using System.Linq; using System.Text; using WX.CRM.BLL.Res; using WX.CRM.BLL.Wx; using WX.CRM.Common; using WX.CRM.IBLL.Soft; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Soft { public class SOFT_USERINFO_SUB_BL : ISOFT_USERINFO_SUB { /// /// 日志入庫 /// /// /// public bool UserInfoSubLog(SOFT_USERINFO_SUBLOG log) { bool result = false; try { using (var db = new crmContext()) { db.SOFT_USERINFO_SUBLOG.Add(log); db.SaveChanges(); } result = true; } catch (Exception e) { LogHelper.Error(e.ToString()); } return result; } //合并或者解绑 //public bool UserInfoSubInDb(AliYunSubInfo info) //{ // try // { // using (var db = new crmContext()) // { // if (info.data == null) // return false; // foreach (var item in info.data) // { // var entry = db.SOFT_USERINFO_SUB.FirstOrDefault(m => m.USID == item.uid); // //var company = companyList.FirstOrDefault(p => p.Min <= item.ch && p.Max >= item.ch); // ////LogHelper.Info("根据渠道获取推送码:" + company.ToJson()); // //if (company != null) // //{ // // item.deptcode = company.CompanyCode; // //} // if (entry == null)//无数据新增 // { // LogHelper.Info(item.ToJson()); // db.SOFT_USERINFO_SUB.Add(new SOFT_USERINFO_SUB() // { // APPID = item.appid, // APPUSERID = item.appuserid, // CH = item.ch, // CID = item.cid, // MOBILE = item.mobile, // TYPE = item.type, // USID = item.uid, // UNIONID = item.unionid, // CTIME = DateTime.Now // }); // db.SaveChanges();//入库 // } // else//有数据修改 // { // entry.MOBILE = item.mobile; // entry.TYPE = item.type; // entry.UNIONID = item.unionid; // entry.CID = item.cid; // entry.CH = item.ch; // entry.UTIME = DateTime.Now; // db.SaveChanges();//入库 // } // } // List resids = new List(); // var data = info.data.Where(m => !string.IsNullOrEmpty(m.mobile));//数据合并 // int cid = 0; // if (data.Count() > 1)//数据超过两条,执行合并 // { // RES_CUSTOMER_BL rescustomerbll = new RES_CUSTOMER_BL(); // foreach (var dto in data) // { // cid = dto.cid; // string v_resid = string.Empty; // if (!string.IsNullOrEmpty(dto.mobile)) // { // v_resid = ResUtil.CreateResId(dto.mobile); // dto.resid = v_resid; // resids.Add(v_resid); // rescustomerbll.ResgisterCustomer(dto.mobile, v_resid, dto.ch.ToString());//先执行一次注册 // } // } // } // //不管合并和解绑,都看数据一样就合并,不一样就解绑 // var nowlist = db.RES_CUSTOMER.Where(m => resids.Contains(m.RESID));//遇到的ID // var allresid = nowlist.Select(m => m.CUSTOMERID).Union(nowlist.Select(m => m.RESID)); // var alllist = db.RES_CUSTOMER.Where(m => allresid.Contains(m.CUSTOMERID));//查出了所有的资源 // foreach (var item in info.data.GroupBy(m => m.cid)) // { // List newresid = info.data.Where(m => m.cid == item.Key && !string.IsNullOrEmpty(m.mobile)).Select(m => ResUtil.CreateResId(m.mobile)).ToList(); // if (newresid == null || newresid.Count == 0) // { // continue; // } // var bklist = nowlist.Where(m => newresid.Contains(m.RESID));//查找所有的Id // if (info.type == 20) // { // bklist = alllist.Where(m => newresid.Contains(m.RESID) || newresid.Contains(m.CUSTOMERID));//如果是合并就将全部数据查出来 // } // var ax = bklist.OrderBy(m => m.CTIME).FirstOrDefault(m => m.CUSTOMERID != m.RESID);//假如入已经有了customerid 就取时间小的id作为主ID // string mainresid = ax != null ? ax.CUSTOMERID : ""; // bool isreal = true; // if (info.type == 10 && ax != null) // { // if (bklist.FirstOrDefault(m => m.RESID == mainresid) == null) // { // isreal = false; // } // } // if (ax != null && isreal) // { // mainresid = ax.CUSTOMERID; // foreach (var aa in bklist) // { // var customer = db.RES_CUSTOMER.FirstOrDefault(p => p.RESID == aa.RESID); // if (customer != null) // { // customer.CUSTOMERID = ax.CUSTOMERID; // db.SaveChanges(); // } // } // } // else // { // var ax2 = info.data.Where(m => m.cid == item.Key && !string.IsNullOrEmpty(m.mobile)).OrderBy(m => m.uid).FirstOrDefault();//之前没有合并过,就取 用户中心传递过来的最小id的号码作为主要ID // var nbresid = ResUtil.CreateResId(ax2.mobile); // mainresid = nbresid; // foreach (var ba in bklist) // { // var customer = db.RES_CUSTOMER.FirstOrDefault(p => p.RESID == ba.RESID); // if (customer != null) // { // customer.CUSTOMERID = nbresid; // db.SaveChanges(); // } // } // } // //企业微信外部联系人关联 // var wwextuser = info.data.Where(m => m.cid == item.Key && m.type == "企业微信外部联系人");//如果有企业微信外部联系人,那么就需要进行企业微信自动关联措施 // if (wwextuser.Count() > 0) // { // var host = Utility.GetSettingOrNullByKey("DataSyncApiUrl"); // var companyCode = Utility.GetSettingOrNullByKey("DataClientCode"); // foreach (var exuser in wwextuser) // { // bool ret = new WX_SZZYORDER_BL().UpdateResIdByWwUserName(mainresid, exuser.appuserid); // if (ret) // { // var url = host + "/api/DataSync"; // var data2 = new { resid = mainresid, userid = exuser.appuserid, deptcode = companyCode }; // var para = new SYNC_PUSH_DTO() // { // bidatatype = "Server_WwextUserResid", // deptcode = companyCode, // jsontext = data2.ToJson() // }; // var rep = Utility.PostAjaxData(url, para.ToJson(), Encoding.UTF8); // var ret2 = Utility.JSONToObject(rep); // if (!ret2.result) // { // LogHelper.Info("同步到中心点异常:" + para.ToJson()); // } // //更新绑定客服状态 // var detail = db.RES_CUSTOMERDETAIL.FirstOrDefault(m => m.RESID == exuser.resid);//找到用户扩展信息 // if (detail != null) // { // detail.ISBOUND = 1; // db.SaveChanges(); // } // } // } // } // } // } // } // catch (Exception e) // { // LogHelper.Error(e.ToString()); // } // return true; //} } }