public string InquiryOrderEdit1(InquiryOrderEntity order) { bool needmember = false; if (string.IsNullOrEmpty(order.Code)) { Random rd = new Random(); order.Code = XTCodeBLL.Instance.GetCodeFromProc(XTCodeType.OrderDayNo) + rd.Next(100, 999).ToString(); needmember = true; } order.Code = InquiryOrderDA.Instance.InquiryOrderEdit1(order); if (needmember) { MemStoreEntity stor = StoreBLL.Instance.GetStoreByMemId(order.MemId); InquiryOrderMemberEntity memen = new InquiryOrderMemberEntity(); memen.MemId = order.MemId; memen.InquiryOrderCode = order.Code; memen.MemName = stor.ContactsManName; memen.MemPhone = stor.MobilePhone; memen.CompanyName = stor.CompanyName; memen.CompanyAddress = stor.Address; InquiryOrderMemberBLL.Instance.AddInquiryOrderMember(memen); } return(order.Code); }
public string SelectCGMemPriceSubmit() { ResultObj result = new ResultObj(); string ordercode = FormString.SafeQ("ordercode"); string memprices = FormString.SafeQ("memprices", 8000); memprices = memprices.Trim('|'); InquiryOrderEntity order = InquiryOrderBLL.Instance.GetInquiryOrderByCode(ordercode); if (order.Status == (int)OrderInquiryStatusEnum.Quoting || order.Status == (int)OrderInquiryStatusEnum.WaitAccept || order.Status == (int)OrderInquiryStatusEnum.HasAccept) { int resultrowi = CGQuotedPriceBLL.Instance.InquirySelectQuote(ordercode, memprices); if (resultrowi > 0) { result.Status = (int)CommonStatus.Success; result.Obj = resultrowi; } else { result.Status = (int)CommonStatus.Fail; } } else { result.Status = (int)CommonStatus.OrderCanNotDo; } return(JsonJC.ObjectToJson(result)); }
/// <summary> /// 选择供应商 /// </summary> /// <returns></returns> public string SelectCGMemSubmit() { ResultObj result = new ResultObj(); string ordercode = FormString.SafeQ("ordercode"); int memid = FormString.IntSafeQ("memid"); InquiryOrderEntity order = InquiryOrderBLL.Instance.GetInquiryOrderByCode(ordercode); if (order.Status == (int)OrderInquiryStatusEnum.Quoting || order.Status == (int)OrderInquiryStatusEnum.WaitAccept || order.Status == (int)OrderInquiryStatusEnum.HasAccept) { int resultrowi = CGMemQuotedBLL.Instance.SelectInquiryOrderCGMem(ordercode, memid); if (resultrowi > 0) { result.Status = (int)CommonStatus.Success; result.Obj = resultrowi; } else { result.Status = (int)CommonStatus.Fail; } } else { result.Status = (int)CommonStatus.OrderCanNotDo; } return(JsonJC.ObjectToJson(result)); }
public ActionResult OrderDetail() { string _ordercode = QueryString.SafeQ("code"); InquiryOrderEntity order = InquiryOrderBLL.Instance.GetInquiryOrderByCode(_ordercode); if (order != null) { VWInquiryOrderEntity vworder = InquiryOrderBLL.Instance.GetInquiryOrderDataByCode(_ordercode); IList <InquiryOrderFeedBackEntity> feedbacklist = InquiryOrderFeedBackBLL.Instance.GetOrderFeedBackAllByCode(_ordercode); IList <InquiryOrderPicsEntity> orderpics = vworder.OrderPics; IList <InquiryProductEntity> productlist = vworder.OrderProducts; IList <InquiryProductSubEntity> productsublist = vworder.OrderProductSubs; IList <VWCGMemQuotedEntity> quotelist = CGMemQuotedBLL.Instance.GetVWCGMemQuotedAllByCode(_ordercode); IList <CGQuotedPriceEntity> pricelist = CGQuotedPriceBLL.Instance.GetCGQuotedPriceAll(_ordercode, -1, true); Dictionary <string, CGQuotedPriceEntity> pricedic = new Dictionary <string, CGQuotedPriceEntity>(); IList <InquiryProductSubEntity> productsubs = vworder.OrderProductSubs; Dictionary <int, IList <InquiryProductSubEntity> > productsubdic = new Dictionary <int, IList <InquiryProductSubEntity> >(); foreach (CGQuotedPriceEntity price in pricelist) { if (!pricedic.ContainsKey(price.InquiryProductSubId + "_" + price.CGMemId)) { pricedic.Add(price.InquiryProductSubId + "_" + price.CGMemId, price); } } if (productsubs != null && productsubs.Count > 0) { foreach (InquiryProductSubEntity prod in productsubs) { if (!productsubdic.ContainsKey(prod.InquiryProductId)) { productsubdic.Add(prod.InquiryProductId, new List <InquiryProductSubEntity>()); } productsubdic[prod.InquiryProductId].Add(prod); } } CGMemQuotedEntity quote = CGMemQuotedBLL.Instance.GetCGMemHasCheckedByCode(_ordercode); MemStoreEntity store = StoreBLL.Instance.GetStoreByMemId(quote.CGMemId); ViewBag.QuotedCGMemList = quotelist; ViewBag.ProductSubDIc = productsubdic; ViewBag.PriceDic = pricedic; ViewBag.VWOrder = vworder; ViewBag.ProductSubDic = productsubdic; ViewBag.CGMemStore = store; ViewBag.CGMemQuote = quote; ViewBag.FeedBackList = feedbacklist; } return(View()); }
/// <summary> /// 设定价格提交 /// </summary> /// <returns></returns> public string QuotePriceSetSubmit() { ResultObj result = new ResultObj(); string _code = FormString.SafeQ("code"); string _pricestr = FormString.SafeQ("prices", 8000); InquiryOrderEntity orderentity = InquiryOrderBLL.Instance.GetInquiryOrderByCode(_code); if (orderentity != null && orderentity.Id > 0) { int status = (int)orderentity.Status;//此状态后台记录,如果超过报价,不改变此状态 int statusformem = (int)InquiryStatusForMemEnum.WaitAccept; if (orderentity.Status == (int)OrderInquiryStatusEnum.Quoting) { status = (int)OrderInquiryStatusEnum.WaitAccept; } int rowi = InquiryOrderBLL.Instance.QuotePriceSet(_code, _pricestr, status, statusformem); if (rowi > 0) { //rowi = InquiryOrderBLL.Instance.QuotePriceCheck(_code); //if (rowi > 0) //{ if (orderentity.Status == (int)OrderInquiryStatusEnum.Quoting) { WeiXinInQuiryOrderBLL.Instance.NoteToUserAccept(_code, orderentity.MemId); } else { ///重复通知接收者 WeiXinInQuiryOrderBLL.Instance.NoteToUserAcceptAgain(_code, orderentity.MemId); } //} result.Status = (int)CommonStatus.Success; result.Obj = _code; return(JsonJC.ObjectToJson(result)); } } result.Status = (int)CommonStatus.Fail; result.Obj = _code; return(JsonJC.ObjectToJson(result)); }
/// <summary> /// 通知供应商 /// </summary> /// <param name="code"></param> /// <returns></returns> public bool NoteToCGMemForQuote(string code) { bool result = false; string emailnote = "供应商发送微信情况<br/>"; emailnote += "订单号:" + code + "<br/>"; InquiryOrderEntity order = InquiryOrderBLL.Instance.GetInquiryOrderByCode(code); string memidsold = CGMemQuotedBLL.Instance.GetQuotedCGMemByCode(order.Code); string memidsnew = MemCGScopeBLL.Instance.GetCGMemIdsByCarBrand(order.ScopeType, order.CarBrandName, memidsold); //获取虚拟报价员 IList <VWMemberEntity> memlist = MemberBLL.Instance.GetMemByAuthCode(MemberAuthEnum.InquiryOrderQuote); string[] memidsoldattr = memidsold.Split(','); string[] memidnewattr = memidsnew.Split(','); bool hascg = false; if (!string.IsNullOrEmpty(memidsnew)) { hascg = true; } if (memlist != null && memlist.Count > 0) { foreach (VWMemberEntity cgmemsup in memlist) { bool oldhas = false; if (memidsoldattr != null && memidsoldattr.Length > 0) { foreach (string memidoleen in memidsoldattr) { if (cgmemsup.MemId.ToString() == memidoleen) { oldhas = true; break; } } if (!oldhas) { foreach (string memidnewen in memidnewattr) { if (cgmemsup.MemId.ToString() == memidnewen) { oldhas = true; break; } } } } if (!oldhas) { memidsnew += "," + cgmemsup.MemId.ToString(); } } } int resultrowi = CGMemQuotedBLL.Instance.AddInquiryToCGMemQuoted(order.Code, memidsnew); //获取要发送的供应商,并发送通知 //InquiryOrderBLL.Instance.UpdateQuoteStatus(order.Code, (int)QuoteStatusEnum.HasSend); IList <CGMemQuotedEntity> _sendlist = CGMemQuotedBLL.Instance.GetCGMemQuotedNeedSend(order.Code); string redirecturl = ConfigCore.Instance.ConfigCommonEntity.InquiryWebUrl + string.Format(WebUrlEnum.InquiryCGMemNote, code); //int navid = WeChatNavigationBLL.Instance.GetIdByUrl(redirecturl); //string url = string.Format(WeiXinConfig.URL_FORMAT_SendMsg, WeiXinJsSdk.Instance.GetAccessToken(false)); if (!hascg) { emailnote += "没有找到供应商<br/>"; } if (_sendlist != null && _sendlist.Count > 0) { foreach (CGMemQuotedEntity entity in _sendlist) { if (!hascg) { string title = "您的询价单没有找到供应商额,订单编号:" + order.Code; string ordercode = entity.InquiryOrderCode; try { //获取链接导航Id int memid = entity.CGMemId; VWMemberEntity memen = MemberBLL.Instance.GetVWMember(memid); emailnote += memen.CompanyName + memen.MobilePhone + memen.CompanyAddress + " "; if (!string.IsNullOrEmpty(memen.WeChat)) { Hashtable hashentity = new Hashtable(); hashentity.Add("first", new WeiXinUnitEntity() { value = title }); hashentity.Add("keyword1", new WeiXinUnitEntity() { value = "无" }); hashentity.Add("keyword2", new WeiXinUnitEntity() { value = order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss") }); hashentity.Add("keyword3", new WeiXinUnitEntity() { value = order.CarBrandName }); hashentity.Add("keyword4", new WeiXinUnitEntity() { value = "备注" + order.Remark }); hashentity.Add("remark", new WeiXinUnitEntity() { value = "" }); bool sendsuccess = WeiXinJsSdk.Instance.SendWeiXinMsgNote(memen.WeChat, redirecturl, WeiXinTemplet.InquiryNeedNote, hashentity); if (sendsuccess) { result = sendsuccess; //发送微信成功备份 CGMemQuotedBLL.Instance.CGQuotedSend(memid, ordercode); emailnote += "发送成功<br/>"; } } else { emailnote += "没有绑定微信<br/>"; ////需发邮件提醒 //EmailSendEntity email = new EmailSendEntity(); //email.CreateTime = DateTime.Now; //email.Body = "询价单编号:" + order.Code + "<br/> 供应商:" + memen.MemCode + "(" + memen.MobilePhone + ")" + memen.MemGradeName + ",<br/>网址:" + redirecturl; //var emailsendstr = SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.SendMailManager; //if (emailsendstr == null || string.IsNullOrEmpty(emailsendstr.ToString())) //{ // email.Email = "*****@*****.**"; //} //else //{ // email.Email = emailsendstr.ToString(); //} //email.Title = "询价单发送微信错误供应商未登记微信"; //email.Status = 0; //EmailSendBLL.Instance.AddEmailSend(email); } } catch (Exception ex) { emailnote += "发送错误" + ex.Message + "<br/>"; LogUtil.Log("微信发送询价出错:订单号:" + ordercode, ex.Message); } } else { string title = "您有订单需要报价啦,赶紧抢单,订单编号:" + order.Code; if (entity.HasSend == 1) { title = "客户修改了询价单信息,请完善报价,订单编号:" + order.Code; } string ordercode = entity.InquiryOrderCode; try { //获取链接导航Id int memid = entity.CGMemId; VWMemberEntity memen = MemberBLL.Instance.GetVWMember(memid); emailnote += memen.CompanyName + memen.MobilePhone + memen.CompanyAddress + " "; if (!string.IsNullOrEmpty(memen.WeChat)) { Hashtable hashentity = new Hashtable(); hashentity.Add("first", new WeiXinUnitEntity() { value = title }); hashentity.Add("tradeDateTime", new WeiXinUnitEntity() { value = order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss") }); hashentity.Add("orderType", new WeiXinUnitEntity() { value = "询价订单" }); hashentity.Add("customerInfo", new WeiXinUnitEntity() { value = "易店心" }); hashentity.Add("orderItemName", new WeiXinUnitEntity() { value = "备注" }); hashentity.Add("orderItemData", new WeiXinUnitEntity() { value = order.Remark }); hashentity.Add("remark", new WeiXinUnitEntity() { value = "" }); bool sendsuccess = WeiXinJsSdk.Instance.SendWeiXinMsgNote(memen.WeChat, redirecturl, WeiXinTemplet.InquiryQuoteSend, hashentity); if (sendsuccess) { result = sendsuccess; //发送微信成功备份 CGMemQuotedBLL.Instance.CGQuotedSend(memid, ordercode); emailnote += "发送成功<br/>"; } else { emailnote += "发送失败<br/>"; } //else //{ // //需发邮件提醒 // EmailSendEntity email = new EmailSendEntity(); // email.CreateTime = DateTime.Now; // email.Body = "询价单编号:" + order.Code + "<br/> 供应商:" + memen.MemCode + "(" + memen.MobilePhone + ")" + memen.MemGradeName + ",<br/>网址:" + redirecturl; // var emailsendstr = SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.SendMailManager; // if (emailsendstr == null || string.IsNullOrEmpty(emailsendstr.ToString())) // { // email.Email = "*****@*****.**"; // } // else // { // email.Email = emailsendstr.ToString(); // } // email.Title = "询价单发送微信通知失败"; // email.Status = 0; // EmailSendBLL.Instance.AddEmailSend(email); //} } else { emailnote += "没有绑定微信<br/>"; ////需发邮件提醒 //EmailSendEntity email = new EmailSendEntity(); //email.CreateTime = DateTime.Now; //email.Body = "询价单编号:" + order.Code + "<br/> 供应商:" + memen.MemCode + "(" + memen.MobilePhone + ")" + memen.MemGradeName + ",<br/>网址:" + redirecturl; //var emailsendstr = SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.SendMailManager; //if (emailsendstr == null || string.IsNullOrEmpty(emailsendstr.ToString())) //{ // email.Email = "*****@*****.**"; //} //else //{ // email.Email = emailsendstr.ToString(); //} //email.Title = "询价单发送微信错误供应商未登记微信"; //email.Status = 0; //EmailSendBLL.Instance.AddEmailSend(email); } } catch (Exception ex) { emailnote += "发送错误" + ex.Message + "<br/>"; LogUtil.Log("微信发送询价出错:订单号:" + ordercode, ex.Message); } } } } else { InquiryOrderBLL.Instance.UpdateQuoteStatus(order.Code, (int)QuoteStatusEnum.SendFail); } string notemsg = emailnote + "报价网址" + redirecturl + "<br/>"; notemsg += "转移到线下网址:" + SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.InquiryMobileWebUrl + "/Check/copyinquiry?code=" + order.Code + "<br/>"; //notemsg+="订单信息:订单号:" + order.Code+"<br/>"; //notemsg+="备注" + order.Remark+ "<br/>"; //notemsg+="图片信息" + "<br/>"; //if(!string.IsNullOrEmpty(order.VinPic)) //{ // notemsg += "<img src='" + SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.ImagesServerUrl + order.VinPic + "' />"; //} //if (!string.IsNullOrEmpty(order.EngineModelPic)) //{ // notemsg += "<img src='" + SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.ImagesServerUrl + order.EngineModelPic + "' />"; //} //if (order.OrderPics!=null&& order.OrderPics.Count>0) //{ // foreach(InquiryOrderPicsEntity pic in order.OrderPics) // { // notemsg += "<img src='" + SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.ImagesServerUrl + pic.PicUrl + "' />"; // } //} //notemsg +="<br/>"; //notemsg += "产品信息" + "<br/>"; //if (order.OrderProducts != null && order.OrderProducts.Count > 0 && order.OrderProductSubs!=null && order.OrderProductSubs.Count>0) //{ // Dictionary<int, IList<InquiryProductSubEntity>> prosubdic = new Dictionary<int, IList<InquiryProductSubEntity>>(); // foreach (InquiryProductSubEntity prosub in order.OrderProductSubs) // { // if(!prosubdic.ContainsKey(prosub.InquiryProductId)) // { // prosubdic.Add(prosub.InquiryProductId, new List<InquiryProductSubEntity>()); // } // prosubdic[prosub.InquiryProductId].Add(prosub); // } // foreach(InquiryProductEntity pro in order.OrderProducts) // { // if(prosubdic.ContainsKey(pro.Id)) // { // IList <InquiryProductSubEntity> prosublist = prosubdic[pro.Id]; // if(prosublist!=null&& prosublist.Count>0) // { // foreach(InquiryProductSubEntity prosub in prosublist) // { // notemsg += pro.ProductName + " " + prosub.InquiryProductTypeName + "<br/>"; // } // } // } // } //} if (memlist != null && memlist.Count > 0) { foreach (VWMemberEntity cgmemsup in memlist) { MemWeChatMsgEntity wecharmsg = MemWeChatMsgBLL.Instance.GetMsgByAppUnionId(WeiXinConfig.GetAppId(), cgmemsup.WeChat); WeiXinCustomerEntity customer = new WeiXinCustomerEntity(); customer.touser = wecharmsg.OpenId; customer.msgtype = WeiXinCustomerMsgtypeEnum.text; WeiXinCustomerTextEntity text = new WeiXinCustomerTextEntity(); text.content = notemsg.Replace("<br/>", "\n"); customer.text = text; WeiXinJsSdk.Instance.SendWeiXinCustomerNote(customer); } } //需发邮件提醒 EmailSendEntity email = new EmailSendEntity(); email.CreateTime = DateTime.Now; email.Body = notemsg; var emailsendstr = SuperMarket.Core.ConfigCore.Instance.ConfigCommonEntity.SendMailManager; if (emailsendstr == null || string.IsNullOrEmpty(emailsendstr.ToString())) { email.Email = "*****@*****.**"; } else { email.Email = emailsendstr.ToString(); } email.Title = "询价单没有找到供应商进行报价"; email.Status = 0; EmailSendBLL.Instance.AddEmailSend(email); return(result); }
/// <summary> /// 更新一条InquiryOrder记录。 /// 该方法提供给界面等UI层调用 /// </summary> /// <param name="inquiryOrder">待更新的实体对象</param> /// <param name="columns">要更新的列名,不提供任何列名时默认将更新主键之外的所有列</param> public int UpdateInquiryOrder(InquiryOrderEntity inquiryOrder) { return(InquiryOrderDA.Instance.UpdateInquiryOrder(inquiryOrder)); }
/// <summary> /// 判断对象是否存在 /// </summary> /// <param name="dicEnum"></param> /// <returns></returns> public bool IsExist(InquiryOrderEntity inquiryOrder) { return(InquiryOrderDA.Instance.ExistNum(inquiryOrder) > 0); }
/// <summary> /// 询价订单供应商发送微信提醒 /// </summary> /// <returns></returns> public string WeChatInquiryOrderSend() { ResultObj result = new ResultObj(); string ordercode = FormString.SafeQ("ordercode"); string memids = FormString.SafeQ("memids"); memids = memids.Trim(','); string[] memidattr = memids.Split(','); InquiryOrderEntity orderentity = InquiryOrderBLL.Instance.GetInquiryOrderByCode(ordercode); if (orderentity != null && orderentity.Status == (int)OrderInquiryStatusEnum.Quoting) { string url = string.Format(WeiXinConfig.URL_FORMAT_SendMsg, WeiXinJsSdk.Instance.GetAccessToken()); string resulturl = SuperMarketWebUrl.InquiryOrderSendWeChat(ordercode); string redirecturl = SuperMarketWebUrl.InquiryOrderUrl(ordercode); result.Obj = resulturl; ////获取链接导航Id //int navid = WeChatNavigationBLL.Instance.GetIdByUrl(redirecturl); foreach (string memidstr in memidattr) { int memid = StringUtils.GetDbInt(memidstr); MemberEntity memen = MemberBLL.Instance.GetMember(memid); if (!string.IsNullOrEmpty(memen.WeChat)) { MemWeChatMsgEntity wecharmsg = MemWeChatMsgBLL.Instance.GetMsgByAppUnionId(WeiXinConfig.GetAppId(), memen.WeChat); if (wecharmsg != null && !string.IsNullOrEmpty(wecharmsg.OpenId)) { WeiXinSendMsgEntity send = new WeiXinSendMsgEntity(); send.touser = wecharmsg.OpenId; send.template_id = WeiXinTemplet.InquiryQuoteSend; send.url = resulturl; WeiXinInquiryEntity inq = new WeiXinInquiryEntity(); inq.first = new WeiXinUnitEntity() { value = "您有订单需要报价啦,赶紧抢单,订单编号:" + orderentity.Code }; inq.tradeDateTime = new WeiXinUnitEntity() { value = orderentity.CreateTime.ToString("yyyy-MM-dd HH:mm:ss") }; inq.orderType = new WeiXinUnitEntity() { value = "询价订单" }; inq.customerInfo = new WeiXinUnitEntity() { value = "易店心" }; //inq.orderItemName = new WeiXinUnitEntity() { value = "随机名称" }; //inq.orderItemData = new WeiXinUnitEntity() { value = "随机数据" }; inq.remark = new WeiXinUnitEntity() { value = orderentity.Remark }; send.data = inq; string json = JsonJC.ObjectToJson(send); WeChatMsgEntity msg = new WeChatMsgEntity(); msg.ParamStr = json; msg.WeChatOpenId = wecharmsg.OpenId; msg.RedirectUrl = redirecturl; msg.WeChatUrl = url; msg.TemplateIid = WeiXinTemplet.InquiryQuoteSend; msg.Id = WeChatMsgBLL.Instance.AddWeChatMsg(msg); string resultrowi = WebServiceClient.QueryPostWebServiceJson(url, json); WeiXinFailEntity resulten = JsonJC.JsonToObject <WeiXinFailEntity>(resultrowi); if (resulten.errmsg.ToLower() == "ok") { CGMemQuotedBLL.Instance.CGQuotedSend(memid, ordercode); } msg.Result = resultrowi; WeChatMsgBLL.Instance.UpdateWeChatMsg(msg); } } } } else { CGMemQuotedBLL.Instance.QuotedCloseByCode(ordercode); } result.Status = (int)CommonStatus.Success; return(JsonJC.ObjectToJson(result)); }