/// <summary> /// 客户下完订单之后,系统处理微信推送 /// </summary> /// <param name="OrderId">订单标识</param> /// <param name="msgUrl">微信推送地址</param> /// <param name="distance">距离</param> /// <param name="strError">错误提示</param> /// <returns></returns> public bool SetPushOrder(string OrderId, string msgUrl, float distance, out string strError) { string content = string.Empty; try { DataSet ds = new DataSet(); IList <VipEntity> vipListInfo = new List <VipEntity>(); ds = _currentDAO.GetFieldwork(distance, OrderId); if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { vipListInfo = DataTableToObject.ConvertToList <VipEntity>(ds.Tables[0]); foreach (VipEntity vipInfo in vipListInfo) { var orderInfo = GetByID(OrderId); //string msgUrl = ConfigurationManager.AppSettings["push_weixin_msg_url"].Trim(); //string msgText = string.Format("信息提示用户。{0}分钟内,工号为{1}的员工将上门收取衣物,该员工的手机号为{2}", // "5", vipInfo.VipCode, vipInfo.Phone); Random rad = new Random(); //string msgText = "您有一个订单,<a href='http://o2oapi.aladingyidong.com/wap/xiyi/sureOrder.html?rid="+rad.Next(1000,100000)+"&customerId=" + this.CurrentUserInfo..Customer_Id + "&orderId=" + OrderId + "&userId=" + vipInfo.VIPID + "&openId=" + vipInfo.WeiXinUserId + "&address=" + HttpUtility.UrlEncode(orderInfo.Address) + "&phone=" + orderInfo.Phone + "&Cnumber=" + orderInfo.Qty + "&status="+orderInfo.Status+"'>点击确认订单.</a>"; string msgText = "您有一个订单,<a href='http://o2oapi.aladingyidong.com/wap/xiyi/sureOrder.html?rid=" + rad.Next(1000, 100000) + "&customerId=" + this.CurrentUserInfo.CurrentUser.customer_id + "&orderId=" + OrderId + "&userId=" + vipInfo.VIPID + "&openId=" + vipInfo.WeiXinUserId + "'>点击确认订单.</a>"; string msgData = "<xml><OpenID><![CDATA[" + vipInfo.WeiXinUserId + "]]></OpenID><Content><![CDATA[" + msgText + "]]></Content></xml>"; var msgResult = Common.Utils.GetRemoteData(msgUrl, "POST", msgData); #region 发送日志 MarketSendLogBLL logServer = new MarketSendLogBLL(CurrentUserInfo); MarketSendLogEntity logInfo = new MarketSendLogEntity(); logInfo.LogId = BaseService.NewGuidPub(); logInfo.IsSuccess = 1; logInfo.MarketEventId = OrderId; logInfo.SendTypeId = "2"; logInfo.TemplateContent = msgData; logInfo.VipId = vipInfo.VIPID; logInfo.WeiXinUserId = vipInfo.WeiXinUserId; logInfo.CreateTime = System.DateTime.Now; logServer.Create(logInfo); #endregion } } strError = "成功"; return(true); } catch (Exception ex) { strError = ex.ToString(); return(false); } }
/// <summary> /// 确认收单,并且推送消息告知客户 /// </summary> /// <param name="orderId">确认单据</param> /// <param name="userId">收单确认人</param> /// <returns></returns> public bool GetReceiptConfirm(string orderId, string userId, string msgUrl, out string strError) { try { DataSet ds = new DataSet(); ds = _currentDAO.GetReceiptConfirm(orderId, userId); VipEntity vipInfo = new VipEntity(); if (ds != null && ds.Tables[0].Rows.Count > 0) { vipInfo = DataTableToObject.ConvertToObject <VipEntity>(ds.Tables[0].Rows[0]); string msgText = string.Format("信息提示用户。{0}分钟内,工号为{1}的员工将上门收取衣物,该员工的手机号为{2}", "30", vipInfo.VipCode, vipInfo.Phone); string msgData = "<xml><OpenID><![CDATA[" + vipInfo.WeiXinUserId + "]]></OpenID><Content><![CDATA[" + msgText + "]]></Content></xml>"; var msgResult = Common.Utils.GetRemoteData(msgUrl, "POST", msgData); #region 发送日志 MarketSendLogBLL logServer = new MarketSendLogBLL(CurrentUserInfo); MarketSendLogEntity logInfo = new MarketSendLogEntity(); logInfo.LogId = BaseService.NewGuidPub(); logInfo.IsSuccess = 1; logInfo.MarketEventId = orderId; logInfo.SendTypeId = "2"; logInfo.TemplateContent = msgData; logInfo.VipId = vipInfo.VIPID; logInfo.WeiXinUserId = vipInfo.WeiXinUserId; logInfo.CreateTime = System.DateTime.Now; logServer.Create(logInfo); #endregion } strError = ""; return(true); } catch (Exception ex) { strError = ex.ToString(); return(false); } }
public bool SetEventWXPush(LEventsEntity eventInfo, string WeiXin, string OpenId, string VipId, string msgUrl, out string strError, string AuthUrl, int iRad) { try { MarketSendLogBLL logServer = new MarketSendLogBLL(this.CurrentUserInfo); Random rad = new Random(); if (eventInfo == null || eventInfo.ModelId == null || eventInfo.ModelId.Equals("")) { strError = "获取信息不全,缺少模板。"; return(false); } #region WEventUserMappingBLL eventUserMapping = new WEventUserMappingBLL(CurrentUserInfo); int eventPersonCount = 0; eventPersonCount = eventUserMapping.GetEventSignInCount(eventInfo.EventID); #endregion WApplicationInterfaceBLL wAServer = new WApplicationInterfaceBLL(this.CurrentUserInfo); var wxArray = wAServer.QueryByEntity(new WApplicationInterfaceEntity { WeiXinID = WeiXin , IsDelete = 0 , CustomerId = this.CurrentUserInfo.CurrentUser.customer_id }, null); if (wxArray == null || wxArray.Length == 0 || wxArray[0].AppID == null || wxArray[0].AppID.Equals("")) { strError = "不存在对应的微信帐号"; return(false); } else { WApplicationInterfaceEntity wxInfo = wxArray[0]; WX.CommonBLL server = new WX.CommonBLL(); JIT.CPOS.BS.Entity.WX.SendMessageEntity sendMessageInfo = new Entity.WX.SendMessageEntity(); WMaterialTextBLL wTextServer = new WMaterialTextBLL(this.CurrentUserInfo); IList <WMaterialTextEntity> textlist = new List <WMaterialTextEntity>(); textlist = wTextServer.GetMaterialTextListByModelId(eventInfo.ModelId); if (textlist != null && textlist.Count > 0 && textlist[0].TextId != null) { #region VipBLL vipServer = new VipBLL(CurrentUserInfo); VipEntity vipInfo = vipServer.GetByID(VipId); sendMessageInfo.msgtype = "news"; sendMessageInfo.touser = OpenId; List <JIT.CPOS.BS.Entity.WX.NewsEntity> newsList = new List <JIT.CPOS.BS.Entity.WX.NewsEntity>(); foreach (var info in textlist) { JIT.CPOS.BS.Entity.WX.NewsEntity newsInfo = new Entity.WX.NewsEntity(); newsInfo.title = info.Title; if (vipInfo != null && !vipInfo.VIPID.Equals("")) { newsInfo.description = info.Author.Replace("#VIPNAME#", vipInfo.VipName); } else { newsInfo.description = info.Author; } newsInfo.description = newsInfo.description.Replace("#PERSONCOUNT#", Convert.ToString(eventPersonCount)); //string url = info.OriginalUrl; //JIT.Utility.Log.Loggers.Debug(new DebugLogInfo() //{ // Message = string.Format("处理原文链接出错:{0},url:{1};Status:{2};",) //}); if (info.OriginalUrl != null && !info.OriginalUrl.Equals("") && vipInfo.Status != null && !vipInfo.Status.ToString().Equals("")) { if (vipInfo.Status.Equals(1) && info.OriginalUrl.IndexOf("Fuxing") > 0) { newsInfo.description = info.Text; } else { } } if (info.OriginalUrl.IndexOf("?") > 0) { newsInfo.url = info.OriginalUrl + "&rnd=" + rad.Next(1000, 100000) + ""; } else { string goUrl = info.OriginalUrl + "?1=1&applicationId=" + wxInfo.ApplicationId + "&eventId=" + eventInfo.EventID + "&openId=" + OpenId + "&userId=" + VipId + ""; goUrl = HttpUtility.UrlEncode(goUrl); newsInfo.url = AuthUrl + "OnlineClothing/go.htm?customerId=" + this.CurrentUserInfo.CurrentUser.customer_id + "&applicationId=" + wxInfo.ApplicationId + "&openId=" + OpenId + "&userId=" + VipId + "&backUrl=" + goUrl + ""; } //OnlineClothing/go.htm?customerId=" + customerId + "&openId=" + OpenId + "&userId=" + vipId + "&backUrl=" + HttpUtility.UrlEncode(goUrl) + ""; newsInfo.picurl = info.CoverImageUrl; newsList.Add(newsInfo); } sendMessageInfo.articles = newsList; #endregion #region 发送日志 MarketSendLogEntity logInfo1 = new MarketSendLogEntity(); logInfo1.LogId = BaseService.NewGuidPub(); logInfo1.IsSuccess = 1; logInfo1.MarketEventId = eventInfo.EventID; logInfo1.SendTypeId = "2"; logInfo1.Phone = iRad.ToString(); if (sendMessageInfo.ToJSON().ToString().Length > 2000) { logInfo1.TemplateContent = sendMessageInfo.ToJSON().ToString().Substring(1, 1999); } else { logInfo1.TemplateContent = sendMessageInfo.ToJSON().ToString(); } logInfo1.VipId = VipId; logInfo1.WeiXinUserId = OpenId; logInfo1.CreateTime = System.DateTime.Now; logServer.Create(logInfo1); #endregion } var ResultEntity = server.SendMessage(sendMessageInfo, wxInfo.AppID, wxInfo.AppSecret, this.CurrentUserInfo, true); #region Jermyn20140110 处理复星年会的座位信息,是临时的 //FStaffBLL staffServer = new FStaffBLL(this.CurrentUserInfo); //bool bReturn = staffServer.SetStaffSeatsPush(VipId, eventInfo.EventID, out strError); //MarketSendLogEntity logInfo2 = new MarketSendLogEntity(); //logInfo2.LogId = BaseService.NewGuidPub(); //logInfo2.IsSuccess = 1; //logInfo2.MarketEventId = eventInfo.EventID; //logInfo2.SendTypeId = "2"; //logInfo2.TemplateContent = strError; //logInfo2.Phone = iRad.ToString(); //logInfo2.VipId = VipId; //logInfo2.WeiXinUserId = OpenId; //logInfo2.CreateTime = System.DateTime.Now; //logServer.Create(logInfo2); #endregion strError = "ok"; return(true); } } catch (Exception ex) { strError = ex.ToString(); return(false); } }
/// <summary> /// 订单支付成功修改状态 /// </summary> /// <param name="orderId">订单标识</param> /// <param name="strError">错误提示</param> /// <param name="ChannelId">支付渠道标识</param> /// <returns></returns> public bool SetOrderPayment(string orderId, out string strError, string ChannelId = null, string SerialPay = null) //public bool SetOrderPayment(string orderId, out string strError, string ChannelId = null) { MarketSendLogBLL logSerer = new MarketSendLogBLL(this.CurrentUserInfo); MarketSendLogEntity logInfo = new MarketSendLogEntity(); logInfo.LogId = BaseService.NewGuidPub(); logInfo.VipId = "System"; logInfo.MarketEventId = orderId; logInfo.Phone = ChannelId; logInfo.SendTypeId = "3"; try { bool bReturn = this._currentDAO.SetOrderPayment(orderId, out strError, ChannelId); if (bReturn) { //算积分 //var bll = new JIT.CPOS.BS.BLL.InoutService(this.CurrentUserInfo); //var orderInfo = bll.GetInoutInfoById(orderId); //VipIntegralBLL vipIntegralServer = new VipIntegralBLL(this.CurrentUserInfo); //Loggers.Debug(new DebugLogInfo() //{ // Message = string.Format("SetOrderPayment-参数: sourceId={0},customerId={1},vipId={2},orderId={3}", 1, this.CurrentUserInfo.CurrentUser.customer_id, orderInfo.vip_no, orderId) //}); //vipIntegralServer.ProcessPoint(1, this.CurrentUserInfo.CurrentUser.customer_id, orderInfo.vip_no, orderId); this._currentDAO.OrderPayCallBack(orderId, SerialPay, this.CurrentUserInfo.ClientID, Convert.ToInt32(ChannelId)); strError = "成功."; logInfo.TemplateContent = strError; logSerer.Create(logInfo); //记录日志 qianzhi 2014-03-17 //var inoutStatus = new TInoutStatusBLL(CurrentUserInfo); //TInoutStatusEntity info = new TInoutStatusEntity(); //info.InoutStatusID = Guid.Parse(Utils.NewGuid()); //info.OrderID = orderId; //info.CustomerID = CurrentUserInfo.CurrentLoggingManager.Customer_Id; //info.OrderStatus = 10000; //支付方式 //info.Remark = "支付成功"; //info.StatusRemark = "订单支付成功[操作人:" + CurrentUserInfo.CurrentUser.User_Name + "]"; //inoutStatus.Create(info); T_InoutBLL inoutBLL = new T_InoutBLL(this.CurrentUserInfo); inoutBLL.SetVirtualItem(CurrentUserInfo, orderId); //支付回调/收款处理虚拟商品订单 return(true); } return(bReturn); } catch (Exception ex) { strError = ex.ToString(); Loggers.Debug(new DebugLogInfo() { Message = string.Format("SetOrderPayment-失败: {0}", strError) }); logInfo.TemplateContent = strError.Substring(0, 100); logInfo.IsSuccess = 0; logSerer.Create(logInfo); return(false); } }