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;
//}
}
}