protected void StartRecord_click(object sender, EventArgs e) { ConsigneeInfo cinfo = null; var member = Session["Member"]; if (member != null) { cinfo = MemberInfoModifyBll.getconsigneeInfo(member.ToString(), true); if (cinfo == null) { ScriptHelper.SetAlert(Page, "请先选择收货地址!", "PhoneSettings/SetConAddress.aspx?type=" + type + "&&url=AddLsOrder"); return; } } else { Response.Redirect("~/MemberMobile/Index.aspx"); return; } string count = DBHelper.ExecuteScalar("select count(*) from MemShopCart where memBh='" + luo.MemBh + "' and mType=" + Session["UserType"].ToString() + " and odType=" + luo.OrderType).ToString(); if (count == "0" && Session["UserType"].ToString() != "1") { ScriptHelper.SetAlert(Page, GetTran("007430", "您至少要选择一种产品") + "!", "ShopingList.aspx"); return; } else { IList <MemberDetailsModel> choseProList = new List <MemberDetailsModel>(); OrderDeal od = new OrderDeal(); OrderFinalModel ofm = new OrderFinalModel(); ofm.SendWay = 1;//收货途径 会员收货 if (Session["EditOrderID"] != null) { OrderFinalModel model = new OrderFinalModel(); ofm = od.GetDataModelFx(Convert.ToInt32(Session["UserType"]), luo.OrderType, out choseProList, ofm.SendWay); ofm.Assister = ""; } else { if (luo.OrderType == 21 || luo.OrderType == 11 || luo.OrderType == 31) { ofm = od.GetDataModel(Convert.ToInt32(Session["UserType"]), luo.OrderType, out choseProList, ofm.SendWay); if (new RegistermemberBLL().CheckNumberTwice(ofm.Number) != null) { ScriptHelper.SetAlert(Page, GetTran("007432", "会员编号已存在") + "!"); AgainTime.Value = "0"; DAL.DBHelper.ExecuteNonQuery("delete from MemShopCart where memBh='" + luo.MemBh + "' and mType=" + Session["UserType"].ToString()); return; } string placement = new RegistermemberBLL().GetHavePlacedOrDriect(ofm.Number, "", ofm.Placement, ofm.Direct); if (placement != null) { ScriptHelper.SetAlert(Page, placement); AgainTime.Value = "0"; DAL.DBHelper.ExecuteNonQuery("delete from MemShopCart where memBh='" + luo.MemBh + "' and mType=" + Session["UserType"].ToString()); return; } if (ofm.Placement != "8888888888") { if (DBHelper.ExecuteScalar("select count(0) from memberinfo where placement='" + ofm.Placement + "' and District=" + ofm.District + "").ToString() != "0") { ScriptHelper.SetAlert(Page, GetTran("007433", "安置人所选区位已有人安置") + "!"); AgainTime.Value = "0"; DAL.DBHelper.ExecuteNonQuery("delete from MemShopCart where memBh='" + luo.MemBh + "' and mType=" + Session["UserType"].ToString()); return; } } } else { ofm = od.GetDataModelFx(Convert.ToInt32(Session["UserType"]), luo.OrderType, out choseProList, ofm.SendWay); if (!MemberInfoDAL.IsMemberExist(ofm.Number)) { ScriptHelper.SetAlert(Page, GetTran("000725", "会员编号不存在") + "!"); AgainTime.Value = "0"; return; } ofm.Assister = ""; } if (luo.OrderType == 21 || luo.OrderType == 11) { if (Convert.ToDouble(ofm.TotalMoney) < SetParametersBLL.GetMemOrderLineOrderBaseLine()) { ScriptHelper.SetAlert(Page, GetTran("000000", "会员注册金额不能低于") + SetParametersBLL.GetMemOrderLineOrderBaseLine().ToString("f2") + "!"); AgainTime.Value = "0"; return; } } } ofm.StoreID = "8888888888"; ofm.Type = 2;// 运货方式 邮寄 //Convert.ToInt32(this.ddth.SelectedValue); //if (lblOdType.Text == GetTran("004008", "注册报单")) //{ // ofm.IsAgain = 0; //} //else //{ ofm.IsAgain = 1; //} ofm.OrderType = 12; double yfStr = 0; //地址 if (cinfo != null) { ofm.CCPCCode = cinfo.CPCCode; ofm.ConTelPhone = cinfo.MoblieTele; ofm.ConMobilPhone = cinfo.MoblieTele; ofm.ConPost = ""; ofm.Consignee = Encryption.Encryption.GetEncryptionName(cinfo.Consignee); ofm.ConZipCode = cinfo.ConZipCode; ofm.ConAddress = Encryption.Encryption.GetEncryptionAddress(cinfo.Address); } //ofm.ConCity.Country = this.CountryCity2.Country; //ofm.ConCity.Province = this.CountryCity2.Province; //ofm.ConCity.City = this.CountryCity2.City; //ofm.ConCity.Xian = this.CountryCity2.Xian; //ofm.ConAddress = Encryption.Encryption.GetEncryptionAddress(this.Txtdz.Text); //ofm.CCPCCode = DAL.CommonDataDAL.GetCPCCode(CountryCity2.Country, CountryCity2.Province, CountryCity2.City, CountryCity2.Xian); yfStr = 0; //ofm.ConTelPhone = txtOtherPhone.Text.Trim(); //ofm.ConMobilPhone = txtOtherPhone.Text.Trim(); //Txtyddh.Text.Trim(); //ofm.CarryMoney = Convert.ToDecimal(yfStr); //ofm.ConPost = ""; //ofm.Consignee = Encryption.Encryption.GetEncryptionName(txtConName.Text.Trim()); //ofm.ConZipCode = txtPostCode.Text; //ofm.Number = txtMemBh.Text; //产品总费用、年费、运费、应付总金额 double pdtMoney = 0; //double.Parse(this.ltPrice.Text); double CarriageMoney = 0; //运费 ofm.CarryMoney = decimal.Parse("0.00"); var dayPrice = CommonDataBLL.GetMaxDayPrice(); decimal yfje = Convert.ToDecimal(ofm.TotalMoney / Convert.ToDecimal(dayPrice)); ofm.TotalMoney = yfje + Convert.ToDecimal(CarriageMoney); //运费类型 //if (ddth.SelectedValue == "1")//自提 //{ // ofm.CarryMoney = decimal.Parse("0.00"); // this.txtYunfei.Text = ofm.CarryMoney.ToString(); //} //else //{ // this.txtYunfei.Text = ofm.CarryMoney.ToString(); // ofm.TotalMoney = Convert.ToDecimal(ofm.TotalMoney) + Convert.ToDecimal(CarriageMoney);//加运费 //} ofm.OrderExpect = CommonDataBLL.getMaxqishu(); ofm.StandardcurrencyMoney = yfje; ofm.TotalPv = 0; ofm.PaymentMoney = yfje; ofm.LevelInt = 1; ofm.StoreID = "8888888888"; ofm.InvestJB = yfje; //投资石斛积分币数量 ofm.PriceJB = Convert.ToDecimal(dayPrice); //石斛积分当前市价 ofm.OrderID = registermemberBLL.GetOrderInfo("add", null); if (Session["EditOrderID"] != null) { int zhifuZt = Convert.ToInt32(DBHelper.ExecuteScalar("select defraystate from memberorder where orderid='" + Session["EditOrderID"] + "'")); if (zhifuZt == 1) { ScriptHelper.SetAlert(Page, "该单已支付!不能修改!"); return; } SqlConnection conn = new SqlConnection(DBHelper.connString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); ofm.OrderID = Session["EditOrderID"].ToString(); new AddOrderDataDAL().Del_Horder(Session["EditOrderID"].ToString(), tran); Boolean flag = new DAL.AddOrderDataDAL().AddFinalOrderNoInfo(ofm, tran); if (flag) { //p_content.Visible = false; Session.Remove("mbreginfo"); Session.Remove("fxMemberModel"); Session.Remove("LUOrder"); Session.Remove("OrderType"); Session.Remove("EditOrderID"); Session.Remove("MemberUpgradeStore"); Session["MemberInfo_NP"] = ofm.Number + "," + ofm.Number; //储存会员的编号 tran.Commit(); conn.Close(); conn.Dispose(); DAL.DBHelper.ExecuteNonQuery("delete from MemShopCart where memBh='" + ofm.Number + "' and mType=" + Session["UserType"].ToString());//订单提交成功后,删除购物车 if (Session["UserType"].ToString() == "1") { int val = AddOrderDataDAL.OrderPayment(ofm.StoreID, ofm.OrderID, ofm.OperateIp, 1, 1, 1, "管理员", "", 4, -1, 1, 1, "", 0, ""); if (val == 0) { ClientScript.RegisterStartupScript(GetType(), "msg", "<script>alert('" + GetTran("000222", "修改成功") + "');location.href='../company/BrowseMemberOrders.aspx';</script>", false); } else { ClientScript.RegisterStartupScript(GetType(), "msg", "<script>alert('" + GetTran("007435", "修改成功自动支付失败") + "!');location.href='../company/BrowseMemberOrders.aspx';</script>", false); } } else if (Session["UserType"].ToString() == "2") { if (ofm.IsAgain == 0) { //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../store/browsememberorders.aspx';</script>", false); //ScriptManager.RegisterStartupScript(this, GetType(), "mag", "var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../store/browsememberorders.aspx';", true); } else { //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../store/viewfuxiao.aspx';</script>", false); //ScriptManager.RegisterStartupScript(this, GetType(), "mag", "var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../store/browsememberorders.aspx';", true); } } else { if (ofm.IsAgain == 0) { //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../member/browsememberorders.aspx';</script>", false); //ScriptManager.RegisterStartupScript(this, GetType(), "mag", "var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../member/browsememberorders.aspx';", true); } else { //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../member/memberorder.aspx';</script>", false); //ScriptManager.RegisterStartupScript(this, GetType(), "mag", "var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../member/browsememberorders.aspx';", true); Response.Redirect("../payserver/chosepaysjpay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + ""); } } } else { tran.Rollback(); conn.Close(); conn.Dispose(); ScriptHelper.SetAlert(Page, GetTran("000225", "修改失败")); } } else { Boolean flag = new DAL.AddOrderDataDAL().AddFinalOrder(ofm); if (flag) { //p_content.Visible = false; Session.Remove("mbreginfo"); Session.Remove("fxMemberModel"); Session.Remove("LUOrder"); Session.Remove("OrderType"); Session.Remove("EditOrderID"); Session.Remove("MemberUpgradeStore"); Session["MemberInfo_NP"] = ofm.Number + "," + ofm.Number; //储存会员的编号 DAL.DBHelper.ExecuteNonQuery("delete from MemShopCart where memBh='" + luo.MemBh + "' and mType=" + Session["UserType"].ToString()); //订单提交成功后,删除购物车 if (Session["UserType"].ToString() == "1") { int val = AddOrderDataDAL.OrderPayment(ofm.StoreID, ofm.OrderID, ofm.OperateIp, 1, 1, 1, "管理员", "", 5, -1, 1, 1, "", 0, ""); if (val == 0) { PublicClass.SendMsg(1, ofm.OrderID, ""); ClientScript.RegisterStartupScript(GetType(), "msg", "<script>alert('" + GetTran("000000", "购买成功") + "');location.href='../company/BrowseMemberOrders.aspx';</script>", false); } else { ClientScript.RegisterStartupScript(GetType(), "msg", "<script>alert('" + GetTran("000000", "报单成功,支付失败,店铺账户余额不足") + "!');location.href='../company/BrowseMemberOrders.aspx';</script>", false); } } else if (Session["UserType"].ToString() == "2") { if (ofm.IsAgain == 0) { //Response.Redirect("../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1), true); Response.Redirect("../payserver/chosepaysjpay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + ""); } else { Response.Redirect("../payserver/chosepaysjpay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + ""); //Response.Redirect("../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1), true); //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';</script>" , false);//+ // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../store/viewfuxiao.aspx';" } } else { if (ofm.IsAgain == 0) { Response.Redirect("../payserver/chosepaysjpay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + ""); //Response.Redirect("../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1), true); //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../membermobile/browsememberorders.aspx';</script>", false); } else { Response.Redirect("../payserver/chosepaysjpay.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + ""); //Response.Redirect("../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1), true); //ClientScript.RegisterStartupScript(GetType(), "msg", "<script>var formobj=document.createElement('form');" // + "formobj.action='../payserver/chosepaysj.aspx?blif=" + EncryKey.GetEncryptstr(ofm.OrderID, 1, 1) + "';" + // "formobj.method='post';formobj.target='_blank';document.body.appendChild(formobj); formobj.submit();location.href='../membermobile/memberorder.aspx';</script>", false); } } } else { ScriptHelper.SetAlert(Page, GetTran("001557", "报单失败!")); } } } }
private void PipeStream_onMessage(object sender, MessageEvent e) { if (e.Buffer[0] == 0x7b) { //檢查是否為 JSON 開頭符號 JToken cToken = JsonConvert.DeserializeObject<JToken>(e.Message); int iDataType = cToken["Type"].Value<int>(); switch (iDataType) { case 0: //接收 REPOTR 完畢的回報類型(如果沒收到此命令會無窮盡等待) __cResetEvent.Set(); if (logger.IsInfoEnabled) logger.InfoFormat("[Report] #{0} Order data response completed...", this.Bars.Request.Symbol); break; case 1: //委託回報 OrderTrust[] cTrusts = cToken["Report"].ToObject<OrderTrust[]>(); foreach (OrderTrust cTrust in cTrusts) { string sTrustId = cTrust.委託書號; int iTrustCount = cTrust.未成交數量; TradeOrder cTrustOrder = __cEntrusts.GetTrade(sTrustId); //取得委託單 if (cTrustOrder == null && iTrustCount > 0) { //委託未成交數量大於0才處理 string sSymbolId = cTrust.商品代號; cTrustOrder = GetWaiting(sSymbolId, cTrust.委託價格); //取得等待委託回報的委託單(這些委託單都要等待委託單號) if (cTrustOrder == null) { if (__iMaxTrustIndex == __iTrustIndex) { //相等表示沒有下出任何的委託單, 可能是留在下單機內的委託單 string sOrderSymbolId = GetOrderSymbol(); if (sSymbolId.Equals(sOrderSymbolId)) { //比對兩個商品代號是否相同, 相同才會被加入委託倉內 cTrustOrder = new TradeOrder(); cTrustOrder.IsSended = true; cTrustOrder.IsTrusted = true; cTrustOrder.Name = sTrustId; cTrustOrder.Ticket = sTrustId; cTrustOrder.SymbolId = sSymbolId; cTrustOrder.Contracts = iTrustCount; cTrustOrder.Time = cTrust.委託時間; cTrustOrder.Price = Math.Round(cTrust.委託價格, __iDecimalPoint); cTrustOrder.Category = (cTrustOrder.Price == 0) ? OrderCategory.Market : OrderCategory.Limit; if (cTrust.倉別.Equals(__sClosedString)) { cTrustOrder.Action = (cTrust.買賣別) ? EOrderAction.BuyToCover : EOrderAction.Sell; } else { cTrustOrder.Action = (cTrust.買賣別) ? EOrderAction.Buy : EOrderAction.SellShort; } __cEntrusts.Add(cTrustOrder); //儲存至委託陣列內 } } else { continue; } } else { cTrustOrder.IsTrusted = true; //true=委託成功 cTrustOrder.Ticket = sTrustId; //填入回報來的委託單號 cTrustOrder.Time = cTrust.委託時間; if (cTrust.備註.Equals(__sErrorString)) { //如果下單機回報備註為 *ERROR* (表示下單出現例外, 可能是無融券或是餘額不足也可能是其他狀況) cTrustOrder.Contracts = -1; } __cEntrusts.Add(cTrustOrder); //儲存至委託陣列內 } } if (cTrustOrder != null) { bool bDelete = cTrust.是否刪單; if (bDelete) { __cEntrusts.Remove(sTrustId); //從委託陣列內移除委託 } OnResponse(cTrustOrder, cTrustOrder.SymbolId, (bDelete) ? ResponseType.Cancel : ResponseType.Trust); if (logger.IsInfoEnabled) logger.InfoFormat("[Trust] #{0} {1} {2} {3} at {4} {5} @{6}", cTrustOrder.Ticket, cTrustOrder.SymbolId, cTrustOrder.Action, (bDelete) ? cTrustOrder.Contracts : iTrustCount, cTrustOrder.Price, (bDelete) ? cTrust.備註 : (iTrustCount == 0) ? __sFullDeal : cTrustOrder.Name, cTrustOrder.Time.ToString("yyyy-MM-dd HH:mm:ss")); } } break; case 2: //成交回報 OrderDeal cDeal = cToken["Report"].ToObject<OrderDeal>(); string sDealId = cDeal.成交書號; //成交書號 == 委託書號 int iDealLots = cDeal.成交數量; TradeOrder cTempTrust = __cEntrusts.GetTrade(sDealId); if (cTempTrust != null && cTempTrust.Contracts >= iDealLots) { //檢查委託陣列內是否有相同的成交書號(委託書號) cTempTrust.Contracts -= iDealLots; bool bDealed = cTempTrust.Contracts == 0; if (bDealed) { OnResponse(cTempTrust, cTempTrust.SymbolId, ResponseType.Trust); if (logger.IsInfoEnabled) logger.InfoFormat("[Trust] #{0} {1} {2} {3} at {4} {5} @{6}", cTempTrust.Ticket, cTempTrust.SymbolId, cTempTrust.Action, 0, cTempTrust.Price, __sFullDeal, cTempTrust.Time.ToString("yyyy-MM-dd HH:mm:ss")); } TradeOrder cDealOrder = cTempTrust.Clone(); cDealOrder.IsCancel = false; cDealOrder.IsDealed = bDealed; cDealOrder.Time = cDeal.成交時間; cDealOrder.Fee = cDeal.手續費; cDealOrder.Tax = cDeal.交易稅; cDealOrder.Contracts = iDealLots; cDealOrder.Price = Math.Round(cDeal.成交價格, __iDecimalPoint); double[] dValues = CalculateCommissions(cDealOrder); //計算其他佣金與手續費(通常真實交易會回報交易稅與眷商手續費, 這裡還可以計算其他的附加費用或是附加的手續費) cDealOrder.OtherFees = dValues[0]; cDealOrder.Fee += dValues[1]; if (logger.IsInfoEnabled) logger.InfoFormat("[Deal] #{0} {1} {2} {3} at {4} {5} @{6}", cDealOrder.Ticket, cDealOrder.SymbolId, cDealOrder.Action, cDealOrder.Contracts, cDealOrder.Price, cDealOrder.Name, cDealOrder.Time.ToString("yyyy-MM-dd HH:mm:ss")); lock (__cDeals) { __cDeals.Enqueue(cDealOrder); } cTempTrust.IsDealed = true; } break; } } }