public static RequestMsgData AddToRequestMsgData(this DbContext db, RequestMsgData model) { db.Set <RequestMsgData>().Add(model); //判断接入表 var session = db.QueryCustomerSession() .Where(m => m.OpenId == model.FromUserName) .FirstOrDefault(); if (session == null) { //未接入 //添加一条接入纪录 session = new CustomerSession() { OpenId = model.FromUserName, Time = model.CreateTime, Worker = "", Status = CustomerSessionStatus.未接入 }; db.AddToCustomerSession(session); } //更新时间 session.Time = DateTime.Now; //插入到客服的聊天纪录中 var msg = new CustomerMessage() { FromUser = model.FromUserName, Time = model.CreateTime, ToUser = session.Worker, //如果为关闭或者未接入,这里是空 Content = model.Content, ChatFlag = model.FromUserName //这里使用OpenId作为交流的标识 }; db.AddToCustomerMessage(msg); //客服接入 if (session.Status == CustomerSessionStatus.客服接入) { } else if (session.Status == CustomerSessionStatus.序接入) { //暂时未实现 } else if (session.Status == CustomerSessionStatus.未接入) { //暂时未实现 } else if (session.Status == CustomerSessionStatus.关闭) { //重启为未接入 session.Status = CustomerSessionStatus.未接入; } //程序接入 return(model); }