public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[OrderNFC]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } OrderF2F OrderF2F = new OrderF2F(); OrderF2F = JsonToObject.ConvertJsonToModel(OrderF2F, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); #region 获取并处理用户信息 Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == OrderF2F.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } if (baseUsers.CardStae != 2)//未实名认证 { //DataObj.OutError("2006"); //return; } if (baseUsers.MiBao != 1)//未设置支付密码 { //DataObj.OutError("2008"); //return; } string NeekName = baseUsers.NeekName; if (NeekName.IsNullOrEmpty()) { NeekName = baseUsers.TrueName; } if (NeekName.IsNullOrEmpty()) { NeekName = "货款"; } #endregion if (OrderF2F.Action == "Create") { //处理交易地点 if (OrderF2F.X.IsNullOrEmpty() || OrderF2F.Y.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } int PayWay = OrderF2F.PayWay; if (PayWay.IsNullOrEmpty()) { PayWay = 7;//兼容老版本 } //获取系统支付配置 PayConfig PayConfig = Entity.PayConfig.FirstOrDefault(n => n.Id == PayWay && n.State == 1); if (PayConfig == null) { DataObj.OutError("1000"); return; } if (PayConfig.GroupType != "NFC") { DataObj.OutError("1000"); return; } int InType = 0; if (!OrderF2F.InType.IsNullOrEmpty()) { InType = 1; } SysControl SysControl = new SysControl(); #region 版本比较 升级之后比较长时间后可以考滤删除版本判断代码 bool IsNew = true; var vSysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == baseUsers.Agent); if (vSysAgent == null) { DataObj.OutError("1000"); return; } IsNew = BizExt.NewOrOldVersion(vSysAgent, Equipment, this.Entity); #endregion if (IsNew)//新版 { if (InType == 1) { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "NFC" && n.PayWay == PayWay && n.LagEntryDay > 0); } else { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "NFC" && n.PayWay == PayWay && n.LagEntryDay == 0); } } else//旧版 { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "NFC" && n.PayWay == PayWay); } //获取系统支付配置 if (SysControl == null) { DataObj.OutError("1005"); return; } SysControl syscontrol = SysControl.ChkState(); if (syscontrol.State != 1) { DataObj.OutError("1005"); return; } #region 创建交易 OrderF2F.PayWay = PayWay; OrderF2F.PayType = 0; OrderF2F.PayId = PayConfig.DllName; OrderF2F.OType = 9; //NFC //开始处理参数 PayId扣款码,OType通道,7支付宝,8微信 if (OrderF2F.Amoney.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } OrderF2F.Amoney = OrderF2F.Amoney.FormatMoney(); //获取用户支付配置 UserPay UserPay = Entity.UserPay.FirstOrDefault(n => n.UId == baseUsers.Id && n.PId == PayConfig.Id); if (UserPay == null) { DataObj.OutError("1000"); return; } //获取分支机构信息 SysAgent SysAgent = new SysAgent(); if (!baseUsers.Agent.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrNew(n => n.Id == baseUsers.Agent); } //获取系统配置 SysSet SysSet = Entity.SysSet.FirstOrDefault(); if (InType == 1) {//客户端传来T+N但是系统没开启时无效 if (SysSet.LagEntry == 0) { InType = 0; } } if (InType == 1) { //手续费 OrderF2F.Poundage = 0; //商户费率 OrderF2F.UserRate = 0; //T+n时,代理佣金为 交易金额*费率 decimal AgentPayGet = OrderF2F.Amoney * SysSet.AgentGet; OrderF2F.AgentPayGet = (Double)AgentPayGet; //佣金舍位 OrderF2F.AgentPayGet = OrderF2F.AgentPayGet.Floor(); } else { //手续费 OrderF2F.Poundage = OrderF2F.Amoney * (decimal)UserPay.Cost; //手续费取进 OrderF2F.Poundage = OrderF2F.Poundage.Ceiling(); //商户费率 OrderF2F.UserRate = UserPay.Cost; //分支机构佣金设置为0,待分润计算后再写入 OrderF2F.AgentPayGet = 0; } OrderF2F.UId = baseUsers.Id; //到帐金额=支付金额-手续费 OrderF2F.PayMoney = OrderF2F.Amoney - OrderF2F.Poundage; //第三方支付通道率 OrderF2F.SysRate = (double)PayConfig.Cost; //这里是利润计算========== //利润=总金额-到帐-支付手续费 decimal GetAll = OrderF2F.Amoney - OrderF2F.PayMoney - OrderF2F.Amoney * (decimal)OrderF2F.SysRate; //利润舍位 GetAll = GetAll.Floor(); //总利润 OrderF2F.AIdPayGet = (double)GetAll; OrderF2F.Agent = SysAgent.Id;//分支机构Id OrderF2F.AId = baseUsers.AId; OrderF2F.FId = 0; OrderF2F.OrderState = 1; OrderF2F.PayState = 0; OrderF2F.AgentState = 0; OrderF2F.AddTime = DateTime.Now; //写入前,判断交易金额限制 if (OrderF2F.Amoney < syscontrol.SNum || OrderF2F.Amoney > syscontrol.ENum) { DataObj.OutError("1006"); return; } //写入订单总表 Orders Orders = new Orders(); Orders.UId = OrderF2F.UId; Orders.TName = NeekName; Orders.PayType = OrderF2F.PayType; Orders.PayName = "NFC"; Orders.RUId = 0; Orders.RName = string.Empty; Orders.TType = OrderF2F.OType; Orders.TState = 1; Orders.Amoney = OrderF2F.Amoney; Orders.Poundage = OrderF2F.Poundage; Orders.AddTime = DateTime.Now; Orders.PayState = 0; Orders.PayWay = PayConfig.Id; Orders.Agent = OrderF2F.Agent; Orders.AgentState = 0; Orders.AId = OrderF2F.AId; Orders.FId = 0; string OrderAddress = OrderF2F.OrderAddress; if (OrderAddress.IsNullOrEmpty()) { OrderAddress = Utils.GetAddressByGPS(OrderF2F.X, OrderF2F.Y); } Orders.OrderAddress = OrderAddress; Orders.X = OrderF2F.X; Orders.Y = OrderF2F.Y; if (InType == 1) { if (IsNew)//新版 { Orders.LagEntryDay = SysControl.LagEntryDay; Orders.LagEntryNum = SysControl.LagEntryNum; } else { Orders.LagEntryDay = SysSet.LagEntryDay; Orders.LagEntryNum = SysSet.LagEntryNum; } } else { Orders.LagEntryDay = 0; Orders.LagEntryNum = 0; } Entity.Orders.AddObject(Orders); Entity.SaveChanges(); Entity.Refresh(RefreshMode.StoreWins, Orders); OrderF2F.OId = Orders.TNum; Entity.OrderF2F.AddObject(OrderF2F); Entity.SaveChanges(); //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = Orders.PayName; UserTrack.UserName = Orders.TNum; UserTrack.GPSAddress = Orders.OrderAddress; UserTrack.GPSX = Orders.X; UserTrack.GPSY = Orders.Y; Orders.SeavGPSLog(UserTrack, Entity); //======================================= if (PayConfig.DllName == "NFC") { string[] PayConfigArr = PayConfig.QueryArray.Split(','); if (PayConfigArr.Length != 2) { DataObj.OutError("1000"); return; } string NoticeUrl = NoticePath + "/PayCenter/NFC/Notice.html"; NFCObj NFCObj = new NFCObj(); NFCObj.merchantCode = PayConfigArr[0]; // 商户编码 NFCObj.outOrderId = Orders.TNum; // 订单号 NFCObj.outUserId = Orders.UId.ToString(); // 用户编号 NFCObj.orderCreateTime = Orders.AddTime.ToString("yyyyMMddHHmmss"); // 订单生成时间20140423112324 NFCObj.nonceStr = Utils.RandomSMSCode(10); // 随机字符串 NFCObj.goodName = Orders.TName; // 商品名称 NFCObj.goodsExplain = Orders.TNum;; // 商品详情 NFCObj.totalAmount = (Orders.Amoney * 100).ToString("F0"); // 订单金额 100 NFCObj.payNotifyUrl = NoticeUrl; // 支付通知地址 NFCObj.sign = PayConfigArr[1]; NFCObj.lastPayTime = ""; //=================================== JavaScriptSerializer jss = new JavaScriptSerializer(); string jsonString = jss.Serialize(NFCObj); try { json = (JObject)JsonConvert.DeserializeObject(jsonString); } catch (Exception Ex) { Log.Write("[OrderNFC_My]:", "【jsonString】" + jsonString, Ex); } Orders.Json = json; } else if (PayConfig.DllName == "HFNFC") { string NoticeUrl = NoticePath + "/PayCenter/HFNFC/Notice.html"; string[] PayConfigArr = PayConfig.QueryArray.Split(','); if (PayConfigArr.Length != 3) { DataObj.OutError("1000"); return; } //提交结算中心 string merId = PayConfigArr[0]; //商户号 string merKey = PayConfigArr[1]; //商户密钥 string JsPayWay = PayConfigArr[2]; //绑定通道 string orderId = Orders.TNum; //商户流水号 decimal money = Orders.Amoney * 100; long intmoney = Int64.Parse(money.ToString("F0")); string OrderMoney = intmoney.ToString();//金额,以分为单 string PostJson = "{\"action\":\"getOrder\",\"txnamt\":\"" + OrderMoney + "\",\"merid\":\"" + merId + "\",\"payway\":\"" + JsPayWay + "\",\"orderid\":\"" + orderId + "\",\"backurl\":\"" + NoticeUrl + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(PostJson, "utf-8"); string Sign = (DataBase64 + merKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64); string PostData = string.Format("req={0}&sign={1}", DataBase64, Sign); string HFNFC_Url = "https://api.zhifujiekou.com/api/nfcgateway"; string Ret = Utils.PostRequest(HFNFC_Url, PostData, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[OrderNFC_HF]:", "【Ret】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string resp = JS["resp"].ToString(); Ret = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[OrderNFC_HF]:", "【Ret2】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string respcode = JS["respcode"].ToString(); if (respcode != "00") { string respmsg = JS["respmsg"].ToString(); DataObj.OutError("1000"); Utils.WriteLog("[OrderNFC_HF_Err]:【" + respcode + "】" + respmsg, "orderface"); return; } JObject Json = (JObject)JS["webform"]; Orders.Json = Json; } Orders.Cols = Orders.Cols + ",Json"; DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); #endregion } if (OrderF2F.Action == "GET")//获取订交易信息 { //开始处理参数 if (OrderF2F.OId.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } Orders Orders = Entity.Orders.FirstOrDefault(n => n.TNum == OrderF2F.OId && n.UId == baseUsers.Id); if (Orders == null) { DataObj.OutError("1000"); return; } OrderF2F Orderf2f = Entity.OrderF2F.FirstOrDefault(n => n.OId == OrderF2F.OId && n.UId == baseUsers.Id); PayConfig PayConfig = Entity.PayConfig.FirstOrNew(n => n.Id == Orders.PayWay); if (Orders.TState == 1 && Orders.PayState == 0) { if (PayConfig.DllName == "NFC") { //1000000951,f38e989d-900f-4768-8a01-f6667a21f7d3 string[] QueryArr = PayConfig.QueryArray.Split(','); if (QueryArr.Length == 2) { string merchantCode = QueryArr[0]; string Key = QueryArr[1]; string outOrderId = Orders.TNum; string dataStr = "merchantCode=" + merchantCode + "&outOrderId=" + outOrderId; string signStr = dataStr + "&KEY=" + Key; string sign = signStr.GetMD5().ToUpper(); string dataJson = "{\"merchantCode\":\"" + merchantCode + "\",\"outOrderId\":\"" + outOrderId + "\",\"sign\":\"" + sign + "\"}"; string postData = "{\"param\":" + dataJson + ",\"project_id\":\"WEPAYPLUGIN_PAY\"}"; string postUrl = "https://payment.kklpay.com/query/queryOrder.do"; string Ret = Utils.GetPostJson(postUrl, postData); //"{"code":"00","data":{"amount":1,"instructCode":"11001998044","merchantCode":"1000000951","outOrderId":"201511170900077","replyCode":"00","sign":"EA778C87B5ACDCBC7735BB78C15CAC72","transTime":"20151117174726","transType":"00200"},"msg":"成功"}" JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Utils.WriteLog("[OrderNFC]:JSON[" + Ret + "]" + Ex.ToString(), "orderface"); } if (JS != null) { string code = JS["code"].ToString();//返回状态-- if (code == "00") { JObject JSD = (JObject)JS["data"]; if (JSD != null) { string amount = JSD["amount"].ToString(); //交易金额 单位分 string instructCode = JSD["instructCode"].ToString(); //交易单号 string merchantCodeR = JSD["merchantCode"].ToString(); //商户号 string outOrderIdR = JSD["outOrderId"].ToString(); //订单号 string replyCode = JSD["replyCode"].ToString(); //交易状态 string transTime = JSD["transTime"].ToString(); //交易时间 string transType = JSD["transType"].ToString(); //交易类型 string signR = JSD["sign"].ToString(); //================================================ PayLog PayLog = new PayLog(); PayLog.PId = PayConfig.Id; PayLog.OId = outOrderId; PayLog.TId = instructCode; PayLog.Amount = decimal.Parse(amount) / 100; PayLog.Way = "GET"; PayLog.AddTime = DateTime.Now; PayLog.Data = Ret; PayLog.State = 1; Entity.PayLog.AddObject(PayLog); Entity.SaveChanges(); //================================================ if (replyCode == "00") { if (merchantCodeR == merchantCode) { int factmoney = int.Parse(amount); if (((int)(Orders.Amoney * 100)) == factmoney) { //Orders.PayState = 1;//此处不保存支付状态,由通知返回再操作 Orders = Orders.PaySuccess(Entity); } } } } } } } //PaySuccess } else if (PayConfig.DllName == "HFNFC") { string[] QueryArr = PayConfig.QueryArray.Split(','); if (QueryArr.Length == 3) { //提交结算中心 string merId = QueryArr[0]; //商户号 string merKey = QueryArr[1]; //商户密钥 string orderId = Orders.TNum; //商户流水号 string PostJson = "{\"merid\":\"" + merId + "\",\"orderid\":\"" + orderId + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(PostJson, "utf-8"); string Sign = (DataBase64 + merKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64); string PostData = string.Format("req={0}&sign={1}", DataBase64, Sign); string HFNFC_Url = "https://api.zhifujiekou.com/api/query"; string Ret = Utils.PostRequest(HFNFC_Url, PostData, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[OrderNFC_HFQuery]:", "【Ret】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string resp = JS["resp"].ToString(); Ret = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[OrderNFC_HFQuery]:", "【Ret2】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string respcode = JS["respcode"].ToString(); if (respcode != "00") { string respmsg = JS["respmsg"].ToString(); DataObj.OutError("1000"); Utils.WriteLog("[OrderNFC_HFQuery_Err]:【" + respcode + "】" + respmsg, "orderface"); return; } string resultcode = JS["resultcode"].ToString(); if (resultcode == "0000" || resultcode == "1002" || resultcode == "1004") { string txnamt = JS["txnamt"].ToString(); int factmoney = int.Parse(txnamt); if (((int)(Orders.Amoney * 100)) == factmoney) { //Orders.PayState = 1;//此处不保存支付状态,由通知返回再操作 Orders = Orders.PaySuccess(Entity); } } } //PaySuccess } } DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); } }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[OrderF2F]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } OrderF2F OrderF2F = new OrderF2F(); OrderF2F = JsonToObject.ConvertJsonToModel(OrderF2F, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); #region 获取并处理用户信息 Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == OrderF2F.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } if (baseUsers.CardStae != 2)//未实名认证 { //DataObj.OutError("2006"); //return; } if (baseUsers.MiBao != 1)//未设置支付密码 { //DataObj.OutError("2008"); //return; } string NeekName = baseUsers.NeekName; if (NeekName.IsNullOrEmpty()) { NeekName = baseUsers.TrueName; } if (NeekName.IsNullOrEmpty()) { NeekName = "货款"; } #endregion if (OrderF2F.Action == "Create") { int PayWay = OrderF2F.PayWay; string Tag = ""; byte PayType = 0; string PayName = ""; if (OrderF2F.OType == 7) {//支付宝 Tag = "AliPay"; PayName = "条码付-"; } if (OrderF2F.OType == 8) {//微信 Tag = "WeiXin"; PayName = "刷卡付-"; } if (PayWay.IsNullOrEmpty()) { if (Tag == "AliPay") { PayWay = 5;//兼容老版本 } if (Tag == "WeiXin") { PayWay = 6;//兼容老版本 } } PayConfig PayConfig = Entity.PayConfig.FirstOrDefault(n => n.Id == PayWay && n.State == 1); //获取系统支付配置 if (PayConfig == null) { DataObj.OutError("1000"); return; } if (PayConfig.GroupType != Tag) { DataObj.OutError("1000"); return; } PayName += PayConfig.Name; int InType = 0; if (!OrderF2F.InType.IsNullOrEmpty()) { InType = 1; } SysControl SysControl = new SysControl(); #region 版本比较 升级之后比较长时间后可以考滤删除版本判断代码 bool IsNew = true; var vSysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == baseUsers.Agent); if (vSysAgent == null) { DataObj.OutError("1000"); return; } IsNew = BizExt.NewOrOldVersion(vSysAgent, Equipment, this.Entity); #endregion if (IsNew)//新版 { if (InType == 1) { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == Tag && n.PayWay == PayWay && n.LagEntryDay > 0); } else { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == Tag && n.PayWay == PayWay && n.LagEntryDay == 0); } } else { //旧版 SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == Tag && n.PayWay == PayWay); if (SysControl.LagEntryDay > 0) { InType = 1; } else { InType = 0; } } //获取系统支付配置 if (SysControl == null) { DataObj.OutError("1005"); return; } if (InType == 1 && (SysControl.LagEntryDay.IsNullOrEmpty() || SysControl.LagEntryNum.IsNullOrEmpty())) { DataObj.Msg = "请升级到最新版再发起Tn到帐交易!"; DataObj.OutError("1005"); return; } SysControl syscontrol = SysControl.ChkState(); if (syscontrol.State != 1) { DataObj.OutError("1005"); return; } #region 创建订单 //处理交易地点 if (OrderF2F.X.IsNullOrEmpty() || OrderF2F.Y.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } //开始处理参数 PayId扣款码,OType通道,7支付宝,8微信 if (OrderF2F.Amoney.IsNullOrEmpty() || OrderF2F.PayId.IsNullOrEmpty() || OrderF2F.OType.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } OrderF2F.Amoney = OrderF2F.Amoney.FormatMoney(); //获取用户支付配置 UserPay UserPay = Entity.UserPay.FirstOrDefault(n => n.UId == baseUsers.Id && n.PId == PayWay); if (UserPay == null) { DataObj.OutError("1000"); return; } //获取分支机构信息 SysAgent SysAgent = new SysAgent(); if (!baseUsers.Agent.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrNew(n => n.Id == baseUsers.Agent); } OrderF2F.PayWay = PayWay; //获取系统配置 SysSet SysSet = Entity.SysSet.FirstOrDefault(); if (InType == 1) {//客户端传来T+N但是系统没开启时无效 if (SysSet.LagEntry == 0) { InType = 0; } } if (InType == 1) { //手续费 OrderF2F.Poundage = 0; //商户费率 OrderF2F.UserRate = 0; //T+n时,代理佣金为 交易金额*费率 decimal AgentPayGet = OrderF2F.Amoney * SysSet.AgentGet; OrderF2F.AgentPayGet = (Double)AgentPayGet; //佣金舍位 OrderF2F.AgentPayGet = OrderF2F.AgentPayGet.Floor(); } else { //手续费 OrderF2F.Poundage = OrderF2F.Amoney * (decimal)UserPay.Cost; //手续费取进 OrderF2F.Poundage = OrderF2F.Poundage.Ceiling(); //商户费率 OrderF2F.UserRate = UserPay.Cost; //分支机构佣金设置为0,待分润计算后再写入 OrderF2F.AgentPayGet = 0; } OrderF2F.UId = baseUsers.Id; //到帐金额=支付金额-手续费 OrderF2F.PayMoney = OrderF2F.Amoney - OrderF2F.Poundage; //第三方支付通道率 OrderF2F.SysRate = (double)PayConfig.Cost; //这里是利润计算========== //利润=总金额-到帐-支付手续费 decimal GetAll = OrderF2F.Amoney - OrderF2F.PayMoney - OrderF2F.Amoney * (decimal)OrderF2F.SysRate; //利润舍位 GetAll = GetAll.Floor(); //总利润 OrderF2F.AIdPayGet = (double)GetAll; OrderF2F.Agent = SysAgent.Id;//分支机构Id OrderF2F.AId = baseUsers.AId; OrderF2F.FId = 0; OrderF2F.OrderState = 1; OrderF2F.PayState = 0; OrderF2F.AgentState = 0; OrderF2F.AddTime = DateTime.Now; //写入前,判断交易金额限制 if (OrderF2F.Amoney < syscontrol.SNum || OrderF2F.Amoney > syscontrol.ENum) { DataObj.OutError("1006"); return; } //写入订单总表 Orders Orders = new Orders(); Orders.UId = OrderF2F.UId; Orders.TName = NeekName; Orders.PayType = PayType; Orders.PayName = PayName; Orders.RUId = 0; Orders.RName = string.Empty; Orders.TType = OrderF2F.OType; Orders.TState = 1; Orders.Amoney = OrderF2F.Amoney; Orders.Poundage = OrderF2F.Poundage; Orders.AddTime = DateTime.Now; Orders.PayState = 0; Orders.PayWay = PayConfig.Id; Orders.Agent = OrderF2F.Agent; Orders.AgentState = 0; Orders.AId = OrderF2F.AId; Orders.FId = 0; Orders.ComeWay = 1; string OrderAddress = OrderF2F.OrderAddress; if (OrderAddress.IsNullOrEmpty()) { OrderAddress = Utils.GetAddressByGPS(OrderF2F.X, OrderF2F.Y); } Orders.OrderAddress = OrderAddress; Orders.X = OrderF2F.X; Orders.Y = OrderF2F.Y; if (InType == 1) { if (IsNew)//新版 { Orders.LagEntryDay = SysControl.LagEntryDay; Orders.LagEntryNum = SysControl.LagEntryNum; } else { Orders.LagEntryDay = SysSet.LagEntryDay; Orders.LagEntryNum = SysSet.LagEntryNum; } } else { Orders.LagEntryDay = 0; Orders.LagEntryNum = 0; } Entity.Orders.AddObject(Orders); Entity.SaveChanges(); Entity.Refresh(RefreshMode.StoreWins, Orders); OrderF2F.OId = Orders.TNum; Entity.OrderF2F.AddObject(OrderF2F); Entity.SaveChanges(); //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = Orders.PayName; UserTrack.UserName = Orders.TNum; UserTrack.GPSAddress = Orders.OrderAddress; UserTrack.GPSX = Orders.X; UserTrack.GPSY = Orders.Y; if (!OrderF2F.IP.IsNullOrEmpty()) { UserTrack.IP = OrderF2F.IP; } Orders.SeavGPSLog(UserTrack, Entity); //======================================= #endregion if (PayConfig.DllName == "AliPay") { #region 支付宝调用支付 string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 商户号,密钥,支付宝号 if (PayConfigArr.Length != 3) { DataObj.OutError("9999"); return; } if (AlipayVer == "1.0") { #region 1.0老接口 Submit Submit = new Submit(); Submit.pid = PayConfigArr[0]; Submit.key = PayConfigArr[1]; //卖家支付宝帐户 string seller_email = PayConfigArr[2]; //订单业务类型 string product_code = "BARCODE_PAY_OFFLINE"; //SOUNDWAVE_PAY_OFFLINE:声波支付,FINGERPRINT_FAST_PAY:指纹支付,BARCODE_PAY_OFFLINE:条码支付 string dynamic_id_type = "qrcode"; //动态ID类型 soundwave:声波,qrcode:二维码,barcode:条码 //////////////////////////////////////////////////////////////////////////////////////////////// //把请求参数打包成数组 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("partner", Submit.pid); sParaTemp.Add("_input_charset", "utf-8"); sParaTemp.Add("service", "alipay.acquire.createandpay"); sParaTemp.Add("seller_email", seller_email); sParaTemp.Add("out_trade_no", OrderF2F.OId); sParaTemp.Add("subject", Orders.TName + ":" + OrderF2F.OId); sParaTemp.Add("total_fee", OrderF2F.Amoney.ToString("F2")); sParaTemp.Add("product_code", product_code); sParaTemp.Add("dynamic_id_type", dynamic_id_type); sParaTemp.Add("dynamic_id", OrderF2F.PayId); sParaTemp.Add("notify_url", NoticePath + "/PayCenter/AliPay/Notice.html"); //建立请求 string sHtmlText = Submit.BuildRequest(sParaTemp); //Utils.WriteLog(sHtmlText); try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(sHtmlText); string is_success = xmlDoc.SelectSingleNode("/alipay/is_success").InnerText; if (is_success == "T") { string trade_no = xmlDoc.SelectSingleNode("/alipay/response/alipay/trade_no").InnerText; string result_code = xmlDoc.SelectSingleNode("/alipay/response/alipay/result_code").InnerText; if (result_code == "ORDER_SUCCESS_PAY_SUCCESS") { //成功 OrderF2F.Trade_no = trade_no; Entity.SaveChanges(); Orders = Orders.PaySuccess(Entity); } else if (result_code == "ORDER_SUCCESS_PAY_INPROCESS") //返回支付处理中,需要进行轮询 { //此处立马返回 OrderF2F.Trade_no = trade_no; Entity.SaveChanges(); } else { AliPayApi Api = new AliPayApi(); Api.AlipayCancel(Orders.TNum, Submit.pid, Submit.key); //交易异常,取消交易 Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } } else { Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } } catch (Exception Ex) { //Utils.WriteLog(Ex.ToString()); Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } #endregion } if (AlipayVer == "2.0") { #region 2.0新接口 ALF2FPAY ALF2FPAY = new ALF2FPAY(); ALF2FPAY.pid = PayConfigArr[0]; ALF2FPAY.appId = PayConfigArr[2]; IAopClient client = new DefaultAopClient(ALF2FPAY.serverUrl, ALF2FPAY.appId, ALF2FPAY.merchant_private_key, "json", ALF2FPAY.version, ALF2FPAY.sign_type, ALF2FPAY.alipay_public_key, ALF2FPAY.charset); StringBuilder sb = new StringBuilder(); sb.Append("{\"out_trade_no\":\"" + OrderF2F.OId + "\","); sb.Append("\"scene\":\"bar_code\","); sb.Append("\"auth_code\":\"" + OrderF2F.PayId + "\","); sb.Append("\"total_amount\":\"" + OrderF2F.Amoney.ToMoney() + "\","); sb.Append("\"subject\":\"" + Orders.TName + ":" + OrderF2F.OId + "\","); string expire_time = System.DateTime.Now.AddMinutes(30).ToString("yyyy-MM-dd HH:mm:ss"); sb.Append("\"time_expire\":\"" + expire_time + "\"}"); AlipayTradePayRequest payRequst = new AlipayTradePayRequest(); payRequst.BizContent = sb.ToString(); Dictionary <string, string> paramsDict = (Dictionary <string, string>)payRequst.GetParameters(); AlipayTradePayResponse payResponse = client.Execute(payRequst); if (payResponse != null) { payResponse.SaveLog(Entity); //保存记录 switch (payResponse.Code) { case "10000": //成功 OrderF2F.Trade_no = payResponse.TradeNo; Entity.SaveChanges(); Orders = Orders.PaySuccess(Entity); break; case "10003": //返回支付处理中,需要进行轮询 OrderF2F.Trade_no = payResponse.TradeNo; Entity.SaveChanges(); break; case "20000": //交易异常,取消交易 string CancelStr = "{\"out_trade_no\":\"" + Orders.TNum + "\"}"; ALF2FPAYObj ObjCancel = new ALF2FPAYObj(); ObjCancel.BizCode = CancelStr; ObjCancel.Client = client; AliPayApi Api = new AliPayApi(); Api.AlipayCancel(ObjCancel); Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); break; case "40004": //返回失败 Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); break; } } #endregion } #endregion } if (PayConfig.DllName == "WeiXin") { #region 微信调用支付 //初始化支付配置 WxPayConfig WxPayConfig = new WxPayConfig(); string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 appid,mchid,key,appsecret if (PayConfigArr.Length != 4 && PayConfigArr.Length != 5) { DataObj.OutError("9999"); return; } string ServerIp = ConfigurationManager.AppSettings["ServerIp"].ToString(); string Wx_Cert_Path = ConfigurationManager.AppSettings["Wx_Cert_Path"].ToString(); string Wx_Cert_PWD = ConfigurationManager.AppSettings["Wx_Cert_PWD"].ToString(); WxPayConfig.IP = ServerIp; WxPayConfig.APPID = PayConfigArr[0]; WxPayConfig.MCHID = PayConfigArr[1]; WxPayConfig.KEY = PayConfigArr[2]; WxPayConfig.APPSECRET = PayConfigArr[3]; if (PayConfigArr.Length == 5) { WxPayConfig.SubMCHID = PayConfigArr[4]; } WxPayConfig.SSLCERT_PATH = Wx_Cert_Path; WxPayConfig.SSLCERT_PASSWORD = Wx_Cert_PWD; //支付配置结束 WxPayData data = new WxPayData(); data.SetValue("auth_code", OrderF2F.PayId); //授权码 data.SetValue("body", Orders.TName + ":" + OrderF2F.OId); //商品描述 string total_fee = (OrderF2F.Amoney * 100).ToString("F0"); data.SetValue("total_fee", total_fee); //总金额 data.SetValue("out_trade_no", OrderF2F.OId); //产生随机的商户订单号 WxPayData result = WxPayApi.Micropay(data, WxPayConfig, 10); //提交被扫支付,接收返回结果 result.SaveLog(Entity); if (!result.IsSet("return_code") || result.GetValue("return_code").ToString() == "FAIL") { //支付失败 Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } else { if (!result.CheckSign(WxPayConfig.KEY)) { //签名失败,取消订单 Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } else { if (result.GetValue("return_code").ToString() == "SUCCESS" && result.GetValue("result_code").ToString() == "SUCCESS") { //直接支付成功 OrderF2F.Trade_no = result.GetValue("transaction_id").ToString(); Entity.SaveChanges(); Orders = Orders.PaySuccess(Entity); } else { if (result.GetValue("err_code").ToString() != "USERPAYING" && result.GetValue("err_code").ToString() != "SYSTEMERROR") { //业务明确失败 Orders.TState = 0; OrderF2F.OrderState = 0; Entity.SaveChanges(); } else { //需要查单 } } } } #endregion } #region 提交好付 if (PayConfig.DllName == "HFAliPay" || PayConfig.DllName == "HFWeiXin") { string NoticeUrl = ""; string Action = ""; if (PayConfig.DllName == "HFAliPay") { NoticeUrl = NoticePath + "/PayCenter/HFAliPay/Notice.html"; Action = "AliCode"; } if (PayConfig.DllName == "HFWeiXin") { NoticeUrl = NoticePath + "/PayCenter/HFWeiXin/Notice.html"; Action = "WxCode"; } string[] PayConfigArr = PayConfig.QueryArray.Split(','); if (PayConfigArr.Length != 3) { DataObj.OutError("1000"); return; } //提交结算中心 string merId = PayConfigArr[0]; //商户号 string merKey = PayConfigArr[1]; //商户密钥 string JsPayWay = PayConfigArr[2]; //绑定通道 string orderId = Orders.TNum; //商户流水号 decimal money = Orders.Amoney * 100; long intmoney = Int64.Parse(money.ToString("F0")); string OrderMoney = intmoney.ToString();//金额,以分为单 string PostJson = "{\"action\":\"" + Action + "\",\"txnamt\":\"" + OrderMoney + "\",\"merid\":\"" + merId + "\",\"payway\":\"" + JsPayWay + "\",\"orderid\":\"" + orderId + "\",\"backurl\":\"" + NoticeUrl + "\",\"code\":\"" + OrderF2F.PayId + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(PostJson, "utf-8"); string Sign = (DataBase64 + merKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64); string PostData = string.Format("req={0}&sign={1}", DataBase64, Sign); string HF_Url = "https://api.zhifujiekou.com/api/mpgateway"; string Ret = Utils.PostRequest(HF_Url, PostData, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HF]:", "【Ret】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string resp = JS["resp"].ToString(); Ret = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HF]:", "【Ret2】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string respcode = JS["respcode"].ToString(); if (respcode != "00") { string respmsg = JS["respmsg"].ToString(); DataObj.OutError("1000"); Utils.WriteLog("[Order_HF_Err]:【" + respcode + "】" + respmsg, "orderface"); return; } } #endregion DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); } if (OrderF2F.Action == "GET")//获取订交易信息 { //开始处理参数 if (OrderF2F.OId.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } Orders Orders = Entity.Orders.FirstOrDefault(n => n.TNum == OrderF2F.OId && n.UId == baseUsers.Id); if (Orders == null) { DataObj.OutError("1000"); return; } OrderF2F Orderf2f = Entity.OrderF2F.FirstOrDefault(n => n.OId == OrderF2F.OId && n.UId == baseUsers.Id); PayConfig PayConfig = Entity.PayConfig.FirstOrNew(n => n.Id == Orders.PayWay); if (Orders.TState == 1 && Orders.PayState == 0) { if (PayConfig.DllName == "AliPay") { #region 支付宝处理 string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 商户号,密钥,APPId if (PayConfigArr.Length != 3) { DataObj.OutError("9999"); return; } if (AlipayVer == "1.0") { #region 1.0老接口 string pid = PayConfigArr[0]; string key = PayConfigArr[1]; int queryTimes = 10; //查询次数计数器 int Run = 0; while (queryTimes > 0 && Run != 1) { AliPayApi Api = new AliPayApi(); int succResult = Api.AliPayQuery(Orderf2f.OId, pid, key); //如果需要继续查询,则等待2s后继续 if (succResult == 2) { //Thread.Sleep(5000); //continue; Run = 1; //跳出循环,20160420 } //查询成功,返回订单查询接口返回的数据 else if (succResult == 1) { Orders = Orders.PaySuccess(Entity); Run = 1; } //订单交易失败 else { Orders.TState = 0; Orderf2f.OrderState = 0; Entity.SaveChanges(); } queryTimes--; } #endregion } if (AlipayVer == "2.0") { #region 2.0新接口 ALF2FPAY ALF2FPAY = new ALF2FPAY(); ALF2FPAY.pid = PayConfigArr[0]; ALF2FPAY.appId = PayConfigArr[2]; IAopClient client = new DefaultAopClient(ALF2FPAY.serverUrl, ALF2FPAY.appId, ALF2FPAY.merchant_private_key, "json", ALF2FPAY.version, ALF2FPAY.sign_type, ALF2FPAY.alipay_public_key, ALF2FPAY.charset); string QueryStr = "{\"out_trade_no\":\"" + Orders.TNum + "\"}"; ALF2FPAYObj ObjQuery = new ALF2FPAYObj(); ObjQuery.BizCode = QueryStr; ObjQuery.Client = client; ObjQuery.Entity = Entity; AliPayApi Api = new AliPayApi(); AlipayTradeQueryResponse queryResponse = Api.LoopAlipayQuery(ObjQuery); if (queryResponse != null) { if (queryResponse.Code == "10000") { if (queryResponse.TradeStatus == "TRADE_FINISHED" || queryResponse.TradeStatus == "TRADE_SUCCESS") { Orders = Orders.PaySuccess(Entity); } } } #endregion } #endregion } if (PayConfig.DllName == "WeiXin") { #region 微信处理 //初始化支付配置 WxPayConfig WxPayConfig = new WxPayConfig(); string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 appid,mchid,key,appsecret if (PayConfigArr.Length != 4 && PayConfigArr.Length != 5) { DataObj.OutError("9999"); return; } string ServerIp = ConfigurationManager.AppSettings["ServerIp"].ToString(); string Wx_Cert_Path = ConfigurationManager.AppSettings["Wx_Cert_Path"].ToString(); string Wx_Cert_PWD = ConfigurationManager.AppSettings["Wx_Cert_PWD"].ToString(); WxPayConfig.IP = ServerIp; WxPayConfig.APPID = PayConfigArr[0]; WxPayConfig.MCHID = PayConfigArr[1]; WxPayConfig.KEY = PayConfigArr[2]; WxPayConfig.APPSECRET = PayConfigArr[3]; if (PayConfigArr.Length == 5) { WxPayConfig.SubMCHID = PayConfigArr[4]; } WxPayConfig.SSLCERT_PATH = Wx_Cert_Path; WxPayConfig.SSLCERT_PASSWORD = Wx_Cert_PWD; //支付配置结束 int queryTimes = 10; //查询次数计数器 int Run = 0; while (queryTimes > 0 && Run != 1) { int succResult = 0;//查询结果 MicroPay MicroPay = new MicroPay(); WxPayData queryResult = MicroPay.WXQuery(Orderf2f.OId, WxPayConfig, Entity, out succResult); //如果需要继续查询,则等待2s后继续 if (succResult == 2) { //Thread.Sleep(5000); //continue; Run = 1; //跳出循环,20160420 } //查询成功,返回订单查询接口返回的数据 else if (succResult == 1) { Orderf2f.Trade_no = queryResult.GetValue("transaction_id").ToString(); int ret = Entity.SaveChanges(); Orders = Orders.PaySuccess(Entity); Run = 1; } //订单交易失败 else { Orders.TState = 0; Orderf2f.OrderState = 0; Entity.SaveChanges(); } queryTimes--; } #endregion } if (PayConfig.DllName == "HFAliPay" || PayConfig.DllName == "HFWeiXin") { #region 好付处理 string[] QueryArr = PayConfig.QueryArray.Split(','); if (QueryArr.Length == 3) { //提交结算中心 string merId = QueryArr[0]; //商户号 string merKey = QueryArr[1]; //商户密钥 string orderId = Orders.TNum; //商户流水号 string PostJson = "{\"merid\":\"" + merId + "\",\"orderid\":\"" + orderId + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(PostJson, "utf-8"); string Sign = (DataBase64 + merKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64); string PostData = string.Format("req={0}&sign={1}", DataBase64, Sign); string HF_Url = "https://api.zhifujiekou.com/api/query"; string Ret = Utils.PostRequest(HF_Url, PostData, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HFQuery]:", "【Ret】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string resp = JS["resp"].ToString(); Ret = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HFQuery]:", "【Ret2】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string respcode = JS["respcode"].ToString(); if (respcode != "00") { string respmsg = JS["respmsg"].ToString(); DataObj.OutError("1000"); Utils.WriteLog("[Order_HFQuery_Err]:【" + respcode + "】" + respmsg, "orderface"); return; } string resultcode = JS["resultcode"].ToString(); if (resultcode == "0000" || resultcode == "1002" || resultcode == "1004") { string txnamt = JS["txnamt"].ToString(); int factmoney = int.Parse(txnamt); if (((int)(Orders.Amoney * 100)) == factmoney) { Orders = Orders.PaySuccess(Entity); } } } #endregion } } DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); } if (OrderF2F.Action == "Cancel")//取消交易 { //开始处理参数 if (OrderF2F.OId.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } Orders Orders = Entity.Orders.FirstOrDefault(n => n.TNum == OrderF2F.OId && n.UId == baseUsers.Id); if (Orders == null) { DataObj.OutError("1000"); return; } OrderF2F Orderf2f = Entity.OrderF2F.FirstOrDefault(n => n.OId == OrderF2F.OId && n.UId == baseUsers.Id); if (Orders.TState == 1 && Orders.PayState == 0) { PayConfig PayConfig = Entity.PayConfig.FirstOrNew(n => n.Id == Orders.PayWay); if (PayConfig.DllName == "AliPay") { #region 支付宝处理 string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 商户号,密钥,支付宝号 if (PayConfigArr.Length != 3) { DataObj.OutError("9999"); return; } if (AlipayVer == "1.0") { #region 1.0老接口 string pid = PayConfigArr[0]; string key = PayConfigArr[1]; AliPayApi Api = new AliPayApi(); Api.AlipayCancel(Orders.TNum, pid, key); #endregion } if (AlipayVer == "2.0") { #region 2.0新接口 ALF2FPAY ALF2FPAY = new ALF2FPAY(); ALF2FPAY.pid = PayConfigArr[0]; ALF2FPAY.appId = PayConfigArr[2]; IAopClient client = new DefaultAopClient(ALF2FPAY.serverUrl, ALF2FPAY.appId, ALF2FPAY.merchant_private_key, "json", ALF2FPAY.version, ALF2FPAY.sign_type, ALF2FPAY.alipay_public_key, ALF2FPAY.charset); string CancelStr = "{\"out_trade_no\":\"" + Orders.TNum + "\"}"; ALF2FPAYObj ObjCancel = new ALF2FPAYObj(); ObjCancel.BizCode = CancelStr; ObjCancel.Client = client; ObjCancel.Entity = Entity; AliPayApi Api = new AliPayApi(); Api.AlipayCancel(ObjCancel); #endregion } #endregion } if (PayConfig.DllName == "WeiXin") { #region 微信处理 //初始化支付配置 WxPayConfig WxPayConfig = new WxPayConfig(); string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' }); //接口信息 appid,mchid,key,appsecret if (PayConfigArr.Length != 4 && PayConfigArr.Length != 5) { DataObj.OutError("9999"); return; } string ServerIp = ConfigurationManager.AppSettings["ServerIp"].ToString(); string Wx_Cert_Path = ConfigurationManager.AppSettings["Wx_Cert_Path"].ToString(); string Wx_Cert_PWD = ConfigurationManager.AppSettings["Wx_Cert_PWD"].ToString(); WxPayConfig.IP = ServerIp; WxPayConfig.APPID = PayConfigArr[0]; WxPayConfig.MCHID = PayConfigArr[1]; WxPayConfig.KEY = PayConfigArr[2]; WxPayConfig.APPSECRET = PayConfigArr[3]; if (PayConfigArr.Length == 5) { WxPayConfig.SubMCHID = PayConfigArr[4]; } WxPayConfig.SSLCERT_PATH = Wx_Cert_Path; WxPayConfig.SSLCERT_PASSWORD = Wx_Cert_PWD; //支付配置结束 MicroPay MicroPay = new MicroPay(); MicroPay.WXCancel(OrderF2F.OId, WxPayConfig, Entity); //取消订单,重试10次 #endregion } if (PayConfig.DllName == "HFAliPay" || PayConfig.DllName == "HFWeiXin") { #region 好付处理 string[] QueryArr = PayConfig.QueryArray.Split(','); if (QueryArr.Length == 3) { //提交结算中心 string merId = QueryArr[0]; //商户号 string merKey = QueryArr[1]; //商户密钥 string orderId = Orders.TNum; //商户流水号 string PostJson = "{\"merid\":\"" + merId + "\",\"orderid\":\"" + orderId + "\"}"; string DataBase64 = LokFuEncode.Base64Encode(PostJson, "utf-8"); string Sign = (DataBase64 + merKey).GetMD5(); DataBase64 = HttpUtility.UrlEncode(DataBase64); string PostData = string.Format("req={0}&sign={1}", DataBase64, Sign); string HF_Url = "https://api.zhifujiekou.com/api/cancel"; string Ret = Utils.PostRequest(HF_Url, PostData, "utf-8"); JObject JS = new JObject(); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HFCancel]:", "【Ret】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string resp = JS["resp"].ToString(); Ret = LokFuEncode.Base64Decode(resp, "utf-8"); try { JS = (JObject)JsonConvert.DeserializeObject(Ret); } catch (Exception Ex) { Log.Write("[Order_HFCancel]:", "【Ret2】" + Ret, Ex); } if (JS == null) { DataObj.OutError("1000"); return; } string respcode = JS["respcode"].ToString(); if (respcode != "00") { string respmsg = JS["respmsg"].ToString(); DataObj.OutError("1000"); Utils.WriteLog("[Order_HFQuery_Err]:【" + respcode + "】" + respmsg, "orderface"); return; } } #endregion } Orders.TState = 0; Orderf2f.OrderState = 0; Entity.SaveChanges(); } DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); } }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[MsgNotice]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } MsgNotice MsgNotice = new MsgNotice(); MsgNotice = JsonToObject.ConvertJsonToModel(MsgNotice, json); Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == MsgNotice.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } //if (baseUsers.CardStae != 2)//未实名认证 //{ // DataObj.OutError("2006"); // return; //} //if (baseUsers.MiBao != 1)//未设置支付密码 //{ // DataObj.OutError("2008"); // return; //} //下次改版让手机端传AgentId,这让有点伤性能,然后删除这条备注 SysAgent SysAgent = Entity.SysAgent.FirstOrNew(n => n.Id == baseUsers.Agent); SysAgent = SysAgent.GetTopAgent(Entity); EFPagingInfo <MsgNotice> p = new EFPagingInfo <MsgNotice>(); if (!MsgNotice.Pg.IsNullOrEmpty()) { p.PageIndex = MsgNotice.Pg; } if (!MsgNotice.Pgs.IsNullOrEmpty()) { p.PageSize = MsgNotice.Pgs; } p.SqlWhere.Add(f => f.NType == 0 || f.NType == 3); p.SqlWhere.Add(f => f.State == 1 && f.AddTime > baseUsers.AddTime); int AgentId = 999999999; if (SysAgent.IsTeiPai == 1) { AgentId = SysAgent.Id; } p.SqlWhere.Add(f => f.AgentId == 0 || f.AgentId == AgentId); p.OrderByList.Add("Id", "DESC"); IPageOfItems <MsgNotice> List = Entity.Selects <MsgNotice>(p); //处理以读未读 string UserId = string.Format("|{0}|", baseUsers.Id); foreach (var pp in List) { pp.State = (byte)(pp.ReadUsers != null && pp.ReadUsers.IndexOf(UserId) == -1 ? 1 : 2); if (pp.Info != null) { pp.Info = Utils.RemoveHtml(pp.Info); pp.Info = pp.Info.Replace(" ", ""); } } IList <MsgNotice> iList = List.ToList(); StringBuilder sb = new StringBuilder(""); sb.Append("{"); sb.Append(List.PageToString()); sb.Append(","); sb.Append(iList.EntityToString()); sb.Append("}"); DataObj.Data = sb.ToString(); DataObj.Code = "0000"; DataObj.OutString(); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[OrderRecharge]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } OrderRecharge OrderRecharge = new OrderRecharge(); OrderRecharge = JsonToObject.ConvertJsonToModel(OrderRecharge, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); int PayWay = OrderRecharge.PayWay; if (PayWay.IsNullOrEmpty()) { PayWay = OrderRecharge.AId; } if (PayWay.IsNullOrEmpty()) { //支付方式,用于取出支付费率信息,计算各接口金额 DataObj.OutError("1000"); return; } if (OrderRecharge.PayType.IsNullOrEmpty()) { OrderRecharge.PayType = 0; } //获取用户信息 Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == OrderRecharge.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } int InType = 0; if (!OrderRecharge.InType.IsNullOrEmpty()) { InType = 1; } SysControl SysControl = new SysControl(); bool IsNew = true; if (OrderRecharge.Id.IsNullOrEmpty()) { //这是旧逻辑,有一些旧版还在用 #region 版本比较 升级之后比较长时间后可以考滤删除版本判断代码 SysAgent vSysAgent = Entity.SysAgent.FirstOrDefault(o => o.Id == baseUsers.Agent); if (vSysAgent == null) { DataObj.OutError("1000"); return; } IsNew = BizExt.NewOrOldVersion(vSysAgent, Equipment, this.Entity); #endregion if (IsNew)//新版 { if (InType == 1) { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "RecMoneyLocal" && n.PayWay == PayWay && n.LagEntryDay > 0); } else { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "RecMoneyLocal" && n.PayWay == PayWay && n.LagEntryDay == 0); } } else//旧版 { SysControl = Entity.SysControl.FirstOrDefault(n => n.Tag == "RecMoneyLocal" && n.PayWay == PayWay); } } else { SysControl = Entity.SysControl.FirstOrDefault(n => n.Id == OrderRecharge.Id); PayWay = SysControl.PayWay; if (SysControl.LagEntryDay > 0) { InType = 1; } else { InType = 0; } } //获取系统支付配置 if (SysControl == null) { DataObj.OutError("1005"); return; } if (InType == 1 && (SysControl.LagEntryDay.IsNullOrEmpty() || SysControl.LagEntryNum.IsNullOrEmpty())) { DataObj.Msg = "请升级到最新版再发起Tn到帐交易!"; DataObj.OutError("1005"); return; } SysControl syscontrol = SysControl.ChkState(); if (syscontrol.State != 1) { DataObj.OutError("1005"); return; } //开始处理参数 if (OrderRecharge.Amoney.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } OrderRecharge.Amoney = OrderRecharge.Amoney.FormatMoney(); if (OrderRecharge.X.IsNullOrEmpty() || OrderRecharge.Y.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } //获取用户支付配置 UserPay UserPay = Entity.UserPay.FirstOrDefault(n => n.UId == baseUsers.Id && n.PId == PayWay); if (UserPay == null) { DataObj.Msg = "你当前版本不支持该交易,请等待新版本发布及升级!"; DataObj.OutError("1000"); return; } //获取系统支付配置 PayConfig PayConfig = Entity.PayConfig.FirstOrDefault(n => n.Id == PayWay && n.State == 1); if (PayConfig == null) { DataObj.OutError("1000"); return; } if (PayConfig.GroupType != "Bank") { DataObj.OutError("1000"); return; } //获取分支机构信息 SysAgent SysAgent = new SysAgent(); if (!baseUsers.Agent.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrNew(n => n.Id == baseUsers.Agent); } //获取系统配置 SysSet SysSet = Entity.SysSet.FirstOrDefault(); if (InType == 1) {//客户端传来T+N但是系统没开启时无效 if (SysSet.LagEntry == 0) { InType = 0; } } //本算法在当系统费用为0时有问题,系统费用为0的T5会导致代理分不到钱。 if (InType == 1) { //T+N免手续费 OrderRecharge.Poundage = 0; //商户费率 OrderRecharge.UserRate = 0; //T+n时,代理佣金为 交易金额*费率 decimal AgentPayGet = OrderRecharge.Amoney * SysSet.AgentGet; OrderRecharge.AgentPayGet = (Double)AgentPayGet; //佣金舍位 OrderRecharge.AgentPayGet = OrderRecharge.AgentPayGet.Floor(); } else { //手续费 OrderRecharge.Poundage = OrderRecharge.Amoney * (decimal)UserPay.Cost; //手续费取进 OrderRecharge.Poundage = OrderRecharge.Poundage.Ceiling(); //商户费率 OrderRecharge.UserRate = UserPay.Cost; //分支机构佣金设置为0,待分润计算后再写入 OrderRecharge.AgentPayGet = 0; } OrderRecharge.UId = baseUsers.Id; //到帐金额=支付金额-手续费 OrderRecharge.PayMoney = OrderRecharge.Amoney - OrderRecharge.Poundage; //第三方支付通道率 OrderRecharge.SysRate = (double)PayConfig.Cost; //这里是利润计算========== //利润=总金额-到帐-支付手续费 decimal GetAll = OrderRecharge.Amoney - OrderRecharge.PayMoney - OrderRecharge.Amoney * (decimal)OrderRecharge.SysRate; //利润舍位 GetAll = GetAll.Floor(); //总利润 OrderRecharge.AIdPayGet = (double)GetAll; OrderRecharge.PayWay = PayWay; OrderRecharge.Agent = SysAgent.Id;//分支机构Id OrderRecharge.AId = baseUsers.AId; OrderRecharge.FId = 0; OrderRecharge.OrderState = 1; OrderRecharge.PayState = 0; OrderRecharge.AgentState = 0; OrderRecharge.AddTime = DateTime.Now; //写入前,判断交易金额限制 if (OrderRecharge.Amoney < syscontrol.SNum || OrderRecharge.Amoney > syscontrol.ENum) { DataObj.OutError("1006"); return; } //写入订单总表 Orders Orders = new Orders(); Orders.UId = OrderRecharge.UId; Orders.TName = baseUsers.TrueName; Orders.PayType = OrderRecharge.PayType; switch (Orders.PayType) { case 0: Orders.ComeWay = 1; Orders.PayName = "充值-" + PayConfig.Name; break; case 1: Orders.ComeWay = 1; Orders.PayName = "短信收款-" + PayConfig.Name; break; case 2: Orders.ComeWay = 1; Orders.PayName = "本地收款-" + PayConfig.Name; break; case 3: Orders.ComeWay = 1; Orders.PayName = "当面付-" + PayConfig.Name; break; case 4: Orders.ComeWay = 2; Orders.PayName = "收银台-" + PayConfig.Name; break; } Orders.RUId = 0; Orders.RName = string.Empty; Orders.TType = 1; Orders.TState = 1; Orders.Amoney = OrderRecharge.Amoney; Orders.Poundage = OrderRecharge.Poundage; Orders.AddTime = DateTime.Now; Orders.PayState = 0; Orders.PayWay = PayConfig.Id; Orders.Agent = OrderRecharge.Agent; Orders.AgentState = 0; Orders.AId = OrderRecharge.AId; Orders.FId = 0; //Orders.ComeWay = 1; string OrderAddress = OrderRecharge.OrderAddress; if (OrderAddress.IsNullOrEmpty()) { OrderAddress = Utils.GetAddressByGPS(OrderRecharge.X, OrderRecharge.Y); } Orders.OrderAddress = OrderAddress; Orders.X = OrderRecharge.X; Orders.Y = OrderRecharge.Y; if (InType == 1) { if (IsNew)//新版 { Orders.LagEntryDay = SysControl.LagEntryDay; Orders.LagEntryNum = SysControl.LagEntryNum; } else { Orders.LagEntryDay = SysSet.LagEntryDay; Orders.LagEntryNum = SysSet.LagEntryNum; } } else { Orders.LagEntryDay = 0; Orders.LagEntryNum = 0; } Entity.Orders.AddObject(Orders); Entity.SaveChanges(); Entity.Refresh(RefreshMode.StoreWins, Orders); OrderRecharge.OId = Orders.TNum; Entity.OrderRecharge.AddObject(OrderRecharge); Entity.SaveChanges(); //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = Orders.PayName; UserTrack.UserName = Orders.TNum; UserTrack.GPSAddress = Orders.OrderAddress; UserTrack.GPSX = Orders.X; UserTrack.GPSY = Orders.Y; Orders.SeavGPSLog(UserTrack, Entity); //======================================= Orders.SendMsg(Entity);//发送消息类 //======================================= Orders.Cols = "Id,TNum,PayId"; string TNum = Orders.TNum; string Sign = (TNum + "NewPay").GetMD5().Substring(8, 8); Orders.PayId = PayPath + "/pay/" + TNum + ".html?sign=" + Sign; //======================================= DataObj.Data = Orders.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public ActionResult Index(SysAgent SysAgent, EFPagingInfo <APPModule> p, int SourceAgentId = 0) { var APPModuleList = Entity.APPModule.Where(o => o.AgentId == SysAgent.Id && o.Version == 1 && o.State == 1).OrderBy(o => o.Sort).ToList(); ViewBag.APPModuleList = APPModuleList; var APPBlockList = Entity.APPBlock.Where(o => o.AgentId == SysAgent.Id && o.State == 1).OrderBy(o => o.Sort).ToList(); ViewBag.APPBlockList = APPBlockList; //加载类型选项 string filename = HttpContext.Server.MapPath("/ModuleTypeSelectList.json"); string jsonstr = System.IO.File.ReadAllText(filename); var ModuleTypeSelectList = JsonConvert.DeserializeObject <SortedList <string, string> >(jsonstr); ViewBag.ModuleTypeSelectList = ModuleTypeSelectList; string Bottomfilename = HttpContext.Server.MapPath("/ModuleTypeBottomSelectList.json"); string Bottomjsonstr = System.IO.File.ReadAllText(Bottomfilename); var ModuleTypeBottomSelectList = JsonConvert.DeserializeObject <SortedList <string, string> >(Bottomjsonstr); ViewBag.ModuleTypeBottomSelectList = ModuleTypeBottomSelectList; //加载广告及标识 AdTag bannerTag = Entity.AdTag.FirstOrDefault(o => o.Tag == "newBanner" && o.State == 1); ViewBag.BannerTag = bannerTag; if (bannerTag == null) { ViewBag.ErrorMsg = "无法找到广告标识"; return(View("Error")); } var bannerInfos = Entity.AdInfo.OrderBy(o => o.Sort).Where(o => o.TId == bannerTag.Id && o.State == 1 && o.AgentId == SysAgent.Id).ToList(); ViewBag.bannerInfos = bannerInfos; //贴牌代理 var SysAgentList = Entity.SysAgent.Where(o => o.IsTeiPai == 1 && o.State == 1).ToList(); var haofusysagent = new SysAgent() { Id = 0, Name = "好付", AppBtnNumber = BasicSet.AppBtnNumber, APPHasMore = BasicSet.APPHasMore, APPName = BasicSet.Name, }; SysAgentList.Add(haofusysagent); SysAgentList = SysAgentList.OrderBy(o => o.Id).ToList(); ViewBag.SysAgentList = SysAgentList; ViewBag.SysAgent = SysAgentList.FirstOrNew(o => o.Id == SysAgent.Id); ViewBag.SourceAgentId = SourceAgentId; if (Request.UrlReferrer != null) { Session["Url"] = Request.UrlReferrer.ToString(); } //取得系统图标 string PhysicalApplicationPath = this.HttpContext.Request.PhysicalApplicationPath; string APPModelPath = PhysicalApplicationPath + "UpLoadFiles\\APPModule\\"; var homeDir = new System.IO.DirectoryInfo(APPModelPath + "home2"); var bottomDefDir = new System.IO.DirectoryInfo(APPModelPath + "bottom2\\default"); var bottomActDir = new System.IO.DirectoryInfo(APPModelPath + "bottom2\\activate"); var homeFiles = homeDir.GetFiles(); var bottomDefFiles = bottomDefDir.GetFiles(); var bottomActFiles = bottomActDir.GetFiles(); ViewBag.homeFiles = homeFiles; ViewBag.bottomDefaultFiles = bottomDefFiles; ViewBag.bottomActFiles = bottomActFiles; //公告 var Notice = this.Entity.MsgNotice.Where(o => (o.AgentId == 0 || o.AgentId == SysAgent.Id) && (o.NType == 0 || o.NType == 3) && o.State == 1).OrderByDescending(o => o.Id) .Select(o => new { info = o.Info }).FirstOrDefault(); var ninfo = string.Empty; if (Notice != null) { ninfo += Notice.info.IsNullOrEmpty() ? Notice.info : Utils.RemoveHtml(Notice.info) + " "; } ViewBag.ninfo = ninfo; this.ViewBag.IsSave = this.checkSignPower("Save"); this.ViewBag.IsDelete = this.checkSignPower("Delete"); this.ViewBag.IsImportData = this.checkPower("ImportData"); return(View()); }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[Users]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); //获取用户信息 Users baseUsers = Entity.Users.FirstOrDefault(n => n.Token == Users.Token); if (baseUsers == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (baseUsers.State != 1)//用户被锁定 { DataObj.OutError("2003"); return; } //判断是否为代理商 SysAgent SysAgent = Entity.SysAgent.FirstOrDefault(o => o.LinkMobile == baseUsers.UserName && o.State == 1); IList <SysAgent> SysAgentList = null; IList <Users> UsersList = null; SysSet baseSysSet = Entity.SysSet.FirstOrDefault(); //1用户2代理商 if (SysAgent != null) { baseUsers.UserType = 2; } else { baseUsers.UserType = 1; } //if (baseUsers.UserType == 1) //{ UsersList = baseUsers.GetSupUsers(Entity, baseSysSet.GlobaPromoteMaxLevel); UsersList = UsersList.Where(o => o.Id != baseUsers.Id).ToList(); baseUsers.UserTotal = UsersList.Count(); // } if (baseUsers.UserType == 2) { SysAgentList = SysAgent.GetSupAgent(Entity); IList <int> agents = SysAgentList.Where(o => o.Id != SysAgent.Id).Select(o => o.Id).ToList(); // UsersList = Entity.Users.Where(o => agents.Contains(o.Agent) && o.Id != baseUsers.Id).ToList(); //baseUsers.UserTotal = UsersList.Count(); //SysAgentList = SysAgentList.Where(o => o.Id != SysAgent.Id).ToList(); baseUsers.AgentTotal = agents.Count(); } baseUsers.Cols = "Id,UserName,UserType,UserTotal,AgentTotal"; DataObj.Data = baseUsers.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }
public ActionResult Index(UserPayChange UserPayChange, EFPagingInfo <UserPayChange> p, bool?IsShowSupAgent, int IsFirst = 0) { if (IsShowSupAgent == null) { IsShowSupAgent = false; } if (IsFirst == 0) { PageOfItems <UserPayChange> UserPayChangeList1 = new PageOfItems <UserPayChange>(new List <UserPayChange>(), 0, 10, 0, new Hashtable()); ViewBag.UserPayChangeList = UserPayChangeList1; ViewBag.UserPayChange = UserPayChange; ViewBag.UsersList = null; ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1).ToList(); ViewBag.SysAgentList = Entity.SysAgent.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent;//是否显示下级 return(View()); } //if (UserPayChange.State.IsNullOrEmpty()) //{ // UserPayChange.State = 1; //} //if (UserPayChange.State == 99) //{ // UserPayChange.State = 0; //} if (!UserPayChange.Remark.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(UserPayChange.Remark) || n.NeekName.Contains(UserPayChange.Remark) || n.UserName == UserPayChange.Remark).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!UserPayChange.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == UserPayChange.State); } if (!UserPayChange.SId.IsNullOrEmpty()) { //是否要显示下级 if ((bool)IsShowSupAgent) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == UserPayChange.SId).FirstOrNew(); IList <SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); IList <int> UID = new List <int>(); foreach (var s in SysAgentList) { UID.Add(s.Id); } p.SqlWhere.Add(f => UID.Contains(f.SId)); } else { p.SqlWhere.Add(f => f.SId == UserPayChange.SId); } } if (!UserPayChange.SAId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.SAId == UserPayChange.SAId); } p.OrderByList.Add("Id", "DESC"); IPageOfItems <UserPayChange> UserPayChangeList = null; if (IsFirst == 0) { UserPayChangeList = new PageOfItems <UserPayChange>(new List <UserPayChange>(), 0, 10, 0, new Hashtable()); } else { UserPayChangeList = Entity.Selects <UserPayChange>(p); } ViewBag.UserPayChangeList = UserPayChangeList; ViewBag.UserPayChange = UserPayChange; IList <UserPayChange> List = UserPayChangeList.GroupBy(n => n.UId).Select(n => n.First()).ToList(); List <int> UId = new List <int>(); foreach (var pp in List) { UId.Add(pp.UId); } ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1).ToList(); ViewBag.SysAgentList = Entity.SysAgent.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent;//是否显示下级 ViewBag.Edit = this.checkPower("Edit"); ViewBag.Save = this.checkPower("Save"); return(View()); }
public ActionResult EditImportData(string guanggao, string saoma, string home, string bottom, string more, int TargetAgentId, int SourceAgentId) { #region 校验 if (SourceAgentId == TargetAgentId) { ViewBag.ErrorMsg = "不能导入自己的数据,请重新选择"; return(View("Error")); } if (TargetAgentId == 0) { ViewBag.ErrorMsg = "不能导入到默认(好付)的数据,请重新选择"; return(View("Error")); } if (SourceAgentId != 0) { SysAgent SysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == SourceAgentId); if (SysAgent == null) { ViewBag.ErrorMsg = "源代理商不存在"; return(View("Error")); } } if (TargetAgentId != 0) { SysAgent SysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == TargetAgentId); if (SysAgent == null) { ViewBag.ErrorMsg = "目标代理商不存在"; return(View("Error")); } } #endregion #region 替换 if (!guanggao.IsNullOrEmpty()) { this.ReplaceAdInfo(SourceAgentId, TargetAgentId, "banner"); } if (!saoma.IsNullOrEmpty()) { this.ReplaceAdInfo(SourceAgentId, TargetAgentId, "SaoBg"); } if (!home.IsNullOrEmpty()) { this.ReplaceAPPModule(SourceAgentId, TargetAgentId, 1); } if (!bottom.IsNullOrEmpty()) { this.ReplaceAPPModule(SourceAgentId, TargetAgentId, 2); } if (!more.IsNullOrEmpty()) { this.ReplaceAPPModule(SourceAgentId, TargetAgentId, 3); } #endregion this.UpdateVersionAll(TargetAgentId); this.Entity.SaveChanges(); System.Threading.Tasks.Task t = new System.Threading.Tasks.Task(() => { ClearCacheSysConfig(); ClearCacheAdInfo(); }); return(this.RedirectToRoute("ManageAction", new { action = "Index", Controller = "APPModule", Id = TargetAgentId, SourceAgentId = SourceAgentId })); }
public void Post() { SysSet SysSet = new SysSet(); string Data = DataObj.GetData(); if (!Data.IsNullOrEmpty()) { JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[SysConfig]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //处理贴牌相关 SysAgent SysAgent = new SysAgent(); SysAgent = JsonToObject.ConvertJsonToModel(SysAgent, json); if (SysAgent.Id.IsNullOrEmpty()) { SysAgent.Id = 0; } bool IsOld = true; if (!Equipment.SoftVer.IsNullOrEmpty()) { Version v1 = new Version(Equipment.SoftVer);//当前版本 Version v2 = new Version("1.0"); if (!SysAgent.Id.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == SysAgent.Id && n.State == 1 && n.IsTeiPai == 1); } if (SysAgent == null) { DataObj.OutError("1000"); return; } if (Equipment.RqType.ToLower() == "apple") { //苹果 if (SysAgent.IsTeiPai.IsNullOrEmpty())//好付 { v2 = new Version("7.5"); } else//贴牌 { v2 = new Version("5.0"); } } else if (Equipment.RqType.ToLower() == "android") { //安卓 if (SysAgent.IsTeiPai.IsNullOrEmpty())//好付 { v2 = new Version("6.6.6"); } else //贴牌 { v2 = new Version("4.0"); } } if (v1 >= v2) { IsOld = false; } } string CashName = "SysConfig_" + (IsOld ? "O" : "N") + "_" + Equipment.RqType + SysAgent.Id; if (HasCache) { string StringJson = CacheBuilder.EntityCache.Get(CashName, null) as string; if (!StringJson.IsNullOrEmpty()) { DataObj.Data = StringJson; DataObj.Code = "0000"; DataObj.OutString(); return; } } SysSet = Entity.SysSet.FirstOrDefault(); if (!SysAgent.Id.IsNullOrEmpty()) { if (!SysAgent.IsTeiPai.IsNullOrEmpty()) { //SysSet.Name = SysAgent.Name; SysSet.IosVer = SysAgent.IosVer; SysSet.IosInt = SysAgent.IosInt; SysSet.IosUrl = SysAgent.IosUrl; SysSet.IosInfo = SysAgent.IosInfo; SysSet.IosColor = SysAgent.IosColor.IsNullOrEmpty() ? SysSet.IosColor : SysAgent.IosColor; SysSet.ApkVer = SysAgent.ApkVer; SysSet.ApkInt = SysAgent.ApkInt; SysSet.ApkUrl = SysAgent.ApkUrl; SysSet.ApkInfo = SysAgent.ApkInfo; SysSet.ApkColor = SysAgent.ApkColor.IsNullOrEmpty() ? SysSet.ApkColor : SysAgent.ApkColor; SysSet.Tel = SysAgent.Tel; SysSet.AppBtnNumber = SysAgent.AppBtnNumber.IsNullOrEmpty() ? SysSet.AppBtnNumber : SysAgent.AppBtnNumber; SysSet.APPHasMore = SysAgent.APPHasMore.IsNullOrEmpty() ? SysSet.APPHasMore : SysAgent.APPHasMore; SysSet.AppMenuBottom = SysAgent.AppMenuBottom; SysSet.AppMenuHome = SysAgent.AppMenuHome; SysSet.AppMenuMore = SysAgent.AppMenuMore; SysSet.Name = SysAgent.APPName.IsNullOrEmpty() ? SysAgent.Name : SysAgent.APPName; SysSet.ApkSet3 = SysAgent.Set3; SysSet.IosSet3 = SysAgent.Set3; SysSet.ApkSet4 = SysAgent.Set4; SysSet.IosSet4 = SysAgent.Set4; #region 废弃 //特别处理,等开放自由设置后,需要去掉 //惠付钱包615 不要分享挣钱 //商银汇富796 激活码必填、不要分享挣钱 //铭越钱包1348不要降费率 //0 关闭 1仅开挣钱 2仅开降费率 3都打开 //if (SysAgent.Id == 615) //{ // if (SysSet.ApkSet4 == 3 || SysSet.ApkSet4 == 2) // { // SysSet.ApkSet4 = 2; // } // else // { // SysSet.ApkSet4 = 0; // } // if (SysSet.IosSet4 == 3 || SysSet.IosSet4 == 2) // { // SysSet.IosSet4 = 2; // } // else // { // SysSet.IosSet4 = 0; // } // //激活码必填 // SysSet.ApkSet3 = 1; // SysSet.IosSet3 = 1; //} //if (SysAgent.Id == 796) //{ // if (SysSet.ApkSet4 == 3 || SysSet.ApkSet4 == 2) // { // SysSet.ApkSet4 = 2; // } // else // { // SysSet.ApkSet4 = 0; // } // if (SysSet.IosSet4 == 3 || SysSet.IosSet4 == 2) // { // SysSet.IosSet4 = 2; // } // else // { // SysSet.IosSet4 = 0; // } // //激活码必填 // SysSet.ApkSet3 = 1; // SysSet.IosSet3 = 1; //} //if (SysAgent.Id == 1348) //{ // if (SysSet.ApkSet4 == 3 || SysSet.ApkSet4 == 1) // { // SysSet.ApkSet4 = 1; // } // else { // SysSet.ApkSet4 = 0; // } // if (SysSet.IosSet4 == 3 || SysSet.IosSet4 == 1) // { // SysSet.IosSet4 = 1; // } // else // { // SysSet.IosSet4 = 0; // } //} #endregion if (SysAgent.IsShowWord.IsNullOrEmpty()) { SysSet.AppWord = ""; } } else { DataObj.OutError("3005"); return; } } //处理返回支付通道配置 IList <SysControl> SysControlList = Entity.SysControl.OrderBy(n => n.Sort).ToList();//SysControl foreach (var p in SysControlList) { p.Cols = "Tag,CName,State,SNum,ENum,PayWay"; p.ChkState(); } //处理关闭的不显示 //IList<SysControl> SCList = new List<SysControl>(); //foreach (var p in SysControlList) { // if (p.State == 1) { // SCList.Add(p); // } //} if (IsOld) { //老板本,去除新加的标识 SysControlList = SysControlList.Where(n => n.Id < 16).ToList(); } SysSet.CtrlSet = SysControlList.EntityToJson(); //处理图标菜单 Dictionary <int, List <APPModule> > APPModuleDictionary = new Dictionary <int, List <APPModule> >(); int[] DisplaySite = new int[] { 1, 2, 3 };//1:home 2:底部 3:更多 foreach (var index in DisplaySite) { List <APPModule> List = new List <APPModule>(); //SysSet.APPHasMore 0:未设置 1:有 2:无 if (!(SysSet.APPHasMore == 2 && index == 3)) { //查询区域的图标 IQueryable <APPModule> query = Entity.APPModule.Where(n => n.State == 1 && n.DisplaySite == index && n.Version == 0).OrderBy(o => o.Sort); int count = 0; if (!SysAgent.Id.IsNullOrEmpty()) { IQueryable <APPModule> countQuery = query.Where(n => n.AgentId == SysAgent.Id); count = countQuery.Count(); if (count > 0) { query = countQuery; } } //如果未配置使用默认(好付)的配置 if (count == 0) { query = query.Where(n => n.AgentId == 0); } //宫格模式 if (index == 1) { int take = SysSet.AppBtnNumber * 3; if (SysSet.APPHasMore == 1) { take = take - 1; } query = query.Take(take); } List = query.ToList(); //添加Url域名 List.ForEach(o => { o.PictureUrl = Utils.ImageUrl("APPModule", o.PictureUrl, SysImgPath); if (!o.PicUrl.IsNullOrEmpty()) { o.PicUrl = Utils.ImageUrl("APPModule", o.PicUrl, SysImgPath); } }); } APPModuleDictionary.Add(index, List); } //添加更多按钮 APPModule APP = new APPModule(); APP.Id = 0; APP.Name = "更多"; APP.PictureUrl = Utils.ImageUrl("APPModule", "gd.png", SysImgPath); APP.Value = "GD_home"; APP.ModuleType = 1; APP.AddTime = DateTime.Now; APP.State = 1; APP.DisplaySite = 1; APP.Sort = 999; APPModuleDictionary[1].Add(APP); SysSet.Home = APPModuleDictionary[1].OrderBy(o => o.Sort).ToList().EntityToJson(); SysSet.Bottom = APPModuleDictionary[2].OrderBy(o => o.Sort).ToList().EntityToJson(); SysSet.More = APPModuleDictionary[3].OrderBy(o => o.Sort).ToList().EntityToJson(); //处理快速到帐相关 if (SysSet.SW1Key.IsNullOrEmpty()) { SysSet.SW1Key = "2小时到帐"; } if (SysSet.SW2Key.IsNullOrEmpty()) { SysSet.SW2Key = "次日到帐"; } DateTime Now = DateTime.Now; if (!SysSet.SW1sTime.IsNullOrEmpty() && !SysSet.SW1eTime.IsNullOrEmpty()) { if (SysSet.SW1sTime <= Now && SysSet.SW1eTime > Now) { if (!SysSet.SW1KeyT.IsNullOrEmpty()) { SysSet.SW1Key = SysSet.SW1KeyT; } } } if (!SysSet.SW2sTime.IsNullOrEmpty() && !SysSet.SW2eTime.IsNullOrEmpty()) { if (SysSet.SW2sTime <= Now && SysSet.SW2eTime > Now) { if (!SysSet.SW2KeyT.IsNullOrEmpty()) { SysSet.SW2Key = SysSet.SW2KeyT; } } } //定义返回数据 if (Equipment.RqType == "Apple") { SysSet.Cols = "Name,IosVer,IosInt,IosUrl,IosInfo,IOSState,IosSet1,IosSet2,IosSet3,IosSet4,IosSet5,IosSet6,IosSet7,IosSet8,IosSet9,IosSet10,IosSet11,CtrlSet,Tel,CtrlMoney1,Home,More,Bottom,AppMenuHome,AppMenuMore,AppMenuBottom,AppWord,SW1Key,SW2Key,AppBtnNumber,IosColor,LagEntry,LagEntryNum,LagEntryDay,Cash0Times,Cash1Times,AutoCashMoney,AuthType,AuthPrice"; } if (Equipment.RqType == "Android") { SysSet.Cols = "Name,ApkVer,ApkInt,ApkUrl,ApkInfo,APKState,ApkSet1,ApkSet2,ApkSet3,ApkSet4,ApkSet5,ApkSet6,ApkSet7,ApkSet8,ApkSet9,ApkSet10,ApkSet11,CtrlSet,Tel,CtrlMoney1,Home,More,Bottom,AppMenuHome,AppMenuMore,AppMenuBottom,AppWord,SW1Key,SW2Key,AppBtnNumber,ApkColor,LagEntry,LagEntryNum,LagEntryDay,Cash0Times,Cash1Times,AutoCashMoney,AuthType,AuthPrice"; } //T+n相关 if (SysSet.LagEntry == 0) { SysSet.LagEntryDay = 0; SysSet.LagEntryNum = 0; } //贴牌特别处理 if (SysAgent.IsTeiPai == 1) { SysSet.LagEntry = 0; SysSet.LagEntryDay = 0; SysSet.LagEntryNum = 0; } SysSet.Cash0Times = 0; SysSet.Cash1Times = 0; string data = SysSet.OutJson(); data = data.Replace("\"[{", "[{").Replace("}]\"", "}]"); if (HasCache) { CacheBuilder.EntityCache.Remove(CashName, null); CacheBuilder.EntityCache.Add(CashName, data, DateTime.Now.AddMinutes(15), null); } DataObj.Data = data; DataObj.Code = "0000"; DataObj.OutString(); //Tools.OutString(ErrInfo.Return("0000")); } }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[UsersReg_2_0]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } //JObject pp = (JObject)p; Users Users = new Users(); Users = JsonToObject.ConvertJsonToModel(Users, json); UserTrack UserTrack = new UserTrack(); UserTrack = JsonToObject.ConvertJsonToModel(UserTrack, json); if (Users.UserName.IsNullOrEmpty() || Users.PassWord.IsNullOrEmpty() || Users.Mobile.IsNullOrEmpty() || Users.X.IsNullOrEmpty() || Users.Y.IsNullOrEmpty()) { // DataObj.OutError("1000"); return; } //手机号码黑名单验证 if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Users.UserName && UBL.State == 1) != null) { //提示暂不支持您手机号入网 DataObj.OutError("2026"); return; } //验证是否重复 Users Old = Entity.Users.FirstOrDefault(n => n.UserName == Users.UserName); if (Old != null) { DataObj.OutError("2005"); return; } //Card Card = Entity.Card.FirstOrDefault(n => n.Code == Users.CardNum && n.PasWd == Users.CardPWD); //if (Card == null) { // DataObj.OutError("5001"); // return; //} //if (Card.State != 1) { // DataObj.OutError("5002"); // return; //} //if (Card.AId.IsNullOrEmpty()) //{ // DataObj.OutError("5002"); // return; //} //if (Card.AdminId.IsNullOrEmpty()) //{ // DataObj.OutError("5002"); // return; //} //手机验证码 //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == 0 && n.Mobile == Users.UserName && n.CType == 1 && n.Code == Users.Code); if (SMSCode == null) { DataObj.OutError("2033"); return; } SysSet SysSet = Entity.SysSet.FirstOrNew(); if (SMSCode.State != 1) { DataObj.OutError("2034"); return; } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { DataObj.OutError("2034"); return; } SysAgent SysAgent = null; //处理代理商 if (!Users.Agent.IsNullOrEmpty()) { SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == Users.Agent); } if (SysAgent == null) { SysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == 1); } if (SysAgent == null) { SysAgent = Entity.SysAgent.Where(n => n.State == 1 && n.Tier == 1).OrderBy(n => n.Id).FirstOrDefault(); } if (SysAgent != null) { Users.Agent = SysAgent.Id; Users.AId = SysAgent.AdminId.GetValueOrDefault(); } Users.PassWord = Users.PassWord.GetMD5(); Users.MobileState = 0; Users.EmailState = 0; Users.CardStae = 0; Users.State = 0; Users.Amount = 0; Users.Frozen = 0; Users.AddTime = DateTime.Now; Users.PayPwd = ""; Users.MobileState = 2; Entity.Users.AddObject(Users); Entity.SaveChanges(); //======================================= UserTrack.ENo = DataObj.ENo; UserTrack.OPType = "应用注册"; UserTrack.GPSAddress = Users.RegAddress; UserTrack.GPSX = Users.X; UserTrack.GPSY = Users.Y; Users.SeavGPSLog(UserTrack, Entity); //======================================= SMSCode.State = 2; SMSCode.UId = Users.Id; Entity.SaveChanges(); //if (!Users.Id.IsNullOrEmpty()) { // Card.State = 2; // Entity.SaveChanges(); //} //自动开通 //IList<PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); //foreach (var PC in PCList) //{ // UserPay UserPay = new UserPay(); // UserPay.UId = Users.Id; // UserPay.PId = PC.Id; // UserPay.Cost = (double)PC.CostUser; // Entity.UserPay.AddObject(UserPay); //} //使用代理配置 IList <UserPayAgent> UPAList = Entity.UserPayAgent.Where(n => n.AId == SysAgent.Id).OrderBy(n => n.PId).ToList(); foreach (var p in UPAList) { UserPay UserPay = new UserPay(); UserPay.UId = Users.Id; UserPay.PId = p.PId; UserPay.Cost = p.Cost; Entity.UserPay.AddObject(UserPay); } //SysSet Sys = Entity.SysSet.FirstOrDefault(); //Users.Cash0 = Sys.Cash0; //Users.Cash1 = Sys.Cash1; //Users.ECash0 = Sys.ECash0; //Users.ECash1 = Sys.ECash1; //使用代理配置 Users.Cash0 = SysAgent.Cash0; Users.Cash1 = SysAgent.Cash1; Users.ECash0 = SysAgent.ECash0; Users.ECash1 = SysAgent.ECash1; Users.State = 1; Entity.SaveChanges(); //自动开通End DataObj.Data = ""; DataObj.Code = "0000"; DataObj.OutString(); //Tools.OutString(ErrInfo.Return("0000")); }
public string EditSort(string homeids, string bottomids, string movelistids, int AgentId, int AppBtnNumber, byte APPHasMore) { int[] homeIds = { 0 }; int[] bottomIds = { 0 }; int[] movelistIds = { 0 }; int[] ids = { 0 }; SysAgent SysAgent = null; if (!homeids.IsNullOrEmpty()) { homeIds = Array.ConvertAll <string, int>(homeids.Split(','), delegate(string s) { return(int.Parse(s)); }); ids = ids.Union(homeIds).ToArray(); } if (!bottomids.IsNullOrEmpty()) { bottomIds = Array.ConvertAll <string, int>(bottomids.Split(','), delegate(string s) { return(int.Parse(s)); }); ids = ids.Union(bottomIds).ToArray(); } if (!movelistids.IsNullOrEmpty()) { movelistIds = Array.ConvertAll <string, int>(movelistids.Split(','), delegate(string s) { return(int.Parse(s)); }); ids = ids.Union(movelistIds).ToArray(); } //更新配置 if (AgentId == 0) { this.BasicSet.APPHasMore = APPHasMore; this.BasicSet.AppBtnNumber = AppBtnNumber; } else { SysAgent = Entity.SysAgent.FirstOrDefault(o => o.Id == AgentId); if (SysAgent != null) { SysAgent.APPHasMore = APPHasMore; SysAgent.AppBtnNumber = AppBtnNumber; } else { return("");//没有找到对应的代理商 } } this.UpdateVersionAll(AgentId); //保存排序 var entitys = Entity.APPModule.Where(o => ids.Contains(o.Id) && o.AgentId == AgentId).ToList(); if (entitys != null && entitys.Count > 0) { int homeSort = 1; foreach (var item in homeIds) { var temp = entitys.FirstOrDefault(o => o.Id == item); if (temp != null) { temp.Sort = homeSort; homeSort++; } } int bottomSort = 1; foreach (var item in bottomIds) { var temp = entitys.FirstOrDefault(o => o.Id == item); if (temp != null) { temp.Sort = bottomSort; bottomSort++; } } int moveSort = 1; foreach (var item in movelistIds) { var temp = entitys.FirstOrDefault(o => o.Id == item); if (temp != null) { temp.Sort = moveSort; moveSort++; } } } Entity.SaveChanges(); System.Threading.Tasks.Task t = new System.Threading.Tasks.Task(() => { ClearCacheSysConfig(); }); return("1"); }
public ActionResult Index(BaoUsers BaoUsers, EFPagingInfo <BaoUsersVM> p, string UserName, int?AgentID, bool?HasMoney, int IsFirst = 0, bool IsShowSupAgent = false) { int id = 0; var iquery = Entity.BaoUsers.Join(this.Entity.Users, b => b.UId, u => u.Id, (b, u) => new BaoUsersVM() { Users = u, BaoUsers = b }); if (!UserName.IsNullOrEmpty()) { iquery = iquery.Where(o => o.Users.UserName == UserName); } if (!BaoUsers.PayPwd.IsNullOrEmpty()) { id = this.Entity.Users.FirstOrNew(o => o.CardId == BaoUsers.PayPwd).Id; if (id != 0) { iquery = iquery.Where(o => o.BaoUsers.UId == id); } } if (HasMoney.HasValue) { if (HasMoney.Value) { iquery = iquery.Where(o => o.BaoUsers.AllMoney > 0); } else { iquery = iquery.Where(o => o.BaoUsers.AllMoney == 0); } } if (AgentID.HasValue) { //是否要显示下级 if ((bool)IsShowSupAgent) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == AgentID.Value).FirstOrNew(); IList <SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); IList <int> UID = SysAgentList.Select(o => o.Id).ToList(); iquery = iquery.Where(f => UID.Contains(f.Users.Agent)); } else { iquery = iquery.Where(f => f.Users.Agent == AgentID.Value); } } PageOfItems <BaoUsersVM> BaoUsersList = null; decimal sumAllMoney = 0m; decimal sumInMoney = 0m; if (IsFirst == 0) { BaoUsersList = new PageOfItems <BaoUsersVM>(new List <BaoUsersVM>(), 0, 10, 0, new Hashtable()); } else { var count = iquery.Count(); sumAllMoney = iquery.Sum(o => (decimal?)o.BaoUsers.AllMoney) ?? 0; sumInMoney = iquery.Sum(o => (decimal?)o.BaoUsers.InMoney) ?? 0; List <BaoUsersVM> a = iquery.OrderByDescending(o => o.BaoUsers.AllMoney).Skip(p.PageIndex < 1 ? 0 : ((p.PageIndex - 1) * p.PageSize)).Take(p.PageSize).ToList(); BaoUsersList = new PageOfItems <BaoUsersVM>(a, p.PageIndex, p.PageSize, count, p.OrderByList); } ViewBag.BaoUsersList = BaoUsersList; ViewBag.BaoUsers = BaoUsers; ViewBag.SysAgentList = Entity.SysAgent.Where(n => n.Tier == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent;//是否显示下级 ViewBag.AgentID = AgentID; ViewBag.UserName = UserName; ViewBag.sumAllMoney = sumAllMoney; ViewBag.sumInMoney = sumInMoney; ViewBag.HasMoney = HasMoney; ViewBag.Log = this.checkPower("Log"); ViewBag.TransferUser = this.checkPower("TransferUser"); return(View()); }
public ActionResult Index(Orders Orders, bool?IsShowSupAgent, int IsFirst = 0) { if (IsShowSupAgent == null) { IsShowSupAgent = false; } if (Orders.STime.IsNullOrEmpty()) { Orders.STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); } if (Orders.ETime.IsNullOrEmpty()) { // Orders.ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); Orders.ETime = DateTime.Now; } EFPagingInfo <ApplyCredit> cp = new EFPagingInfo <ApplyCredit>(); EFPagingInfo <ApplyLoan> lp = new EFPagingInfo <ApplyLoan>(); if (!Orders.Agent.IsNullOrEmpty()) { //是否要显示下级 if ((bool)IsShowSupAgent) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == Orders.Agent).FirstOrNew(); IList <SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); IList <int> UID = new List <int>(); foreach (var s in SysAgentList) { UID.Add(s.Id); } cp.SqlWhere.Add(f => UID.Contains(f.AgentId)); lp.SqlWhere.Add(f => UID.Contains(f.AgentId)); } else { cp.SqlWhere.Add(f => f.AgentId == Orders.Agent); lp.SqlWhere.Add(f => f.AgentId == Orders.Agent); } } if (!Orders.STime.IsNullOrEmpty() && !Orders.ETime.IsNullOrEmpty()) { DateTime ETime = Orders.ETime; cp.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime); lp.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime); } cp.SqlWhere.Add(f => f.PayState == 1); lp.SqlWhere.Add(f => f.PayState == 1); cp.PageSize = 99999999; lp.PageSize = 99999999; cp.OrderByList.Add("Id", "DESC"); lp.OrderByList.Add("Id", "DESC"); IPageOfItems <ApplyCredit> ApplyCreditList = null; IPageOfItems <ApplyLoan> ApplyLoanList = null; if (IsFirst == 0) { ApplyLoanList = new PageOfItems <ApplyLoan>(new List <ApplyLoan>(), 0, 10, 0, new Hashtable()); ApplyCreditList = new PageOfItems <ApplyCredit>(new List <ApplyCredit>(), 0, 10, 0, new Hashtable()); } else { if (Orders.TType.IsNullOrEmpty()) { ApplyCreditList = Entity.Selects <ApplyCredit>(cp); ApplyLoanList = Entity.Selects <ApplyLoan>(lp); } else if (Orders.TType == 1) { ApplyCreditList = Entity.Selects <ApplyCredit>(cp); ApplyLoanList = new PageOfItems <ApplyLoan>(new List <ApplyLoan>(), 0, 10, 0, new Hashtable()); } else if (Orders.TType == 2) { ApplyLoanList = Entity.Selects <ApplyLoan>(lp); ApplyCreditList = new PageOfItems <ApplyCredit>(new List <ApplyCredit>(), 0, 10, 0, new Hashtable()); } else { ApplyLoanList = new PageOfItems <ApplyLoan>(new List <ApplyLoan>(), 0, 10, 0, new Hashtable()); ApplyCreditList = new PageOfItems <ApplyCredit>(new List <ApplyCredit>(), 0, 10, 0, new Hashtable()); } } ViewBag.ApplyLoanList = ApplyLoanList; ViewBag.ApplyCreditList = ApplyCreditList; ViewBag.Orders = Orders; ViewBag.SysAgentList = Entity.SysAgent.Where(n => n.Tier == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.Xls = this.checkPower("Xls"); return(View()); }
public void XLSDo(Orders Orders) { if (Orders.STime.IsNullOrEmpty()) { Orders.STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); } if (Orders.ETime.IsNullOrEmpty()) { //Orders.ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); Orders.ETime = DateTime.Now; } EFPagingInfo <ApplyCredit> cp = new EFPagingInfo <ApplyCredit>(); EFPagingInfo <ApplyLoan> lp = new EFPagingInfo <ApplyLoan>(); if (!Orders.Agent.IsNullOrEmpty()) { cp.SqlWhere.Add(f => f.AgentId == Orders.Agent); lp.SqlWhere.Add(f => f.AgentId == Orders.Agent); } if (!Orders.STime.IsNullOrEmpty() && !Orders.ETime.IsNullOrEmpty()) { DateTime ETime = Orders.ETime; cp.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime); lp.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime); } cp.SqlWhere.Add(f => f.PayState == 1); lp.SqlWhere.Add(f => f.PayState == 1); cp.PageSize = 99999999; lp.PageSize = 99999999; cp.OrderByList.Add("Id", "DESC"); lp.OrderByList.Add("Id", "DESC"); IPageOfItems <ApplyCredit> ApplyCreditList = null; IPageOfItems <ApplyLoan> ApplyLoanList = null; if (Orders.TType.IsNullOrEmpty()) { ApplyCreditList = Entity.Selects <ApplyCredit>(cp); ApplyLoanList = Entity.Selects <ApplyLoan>(lp); } else if (Orders.TType == 1) { ApplyCreditList = Entity.Selects <ApplyCredit>(cp); } else if (Orders.TType == 2) { ApplyLoanList = Entity.Selects <ApplyLoan>(lp); } if (ApplyCreditList.Count() > 0 || ApplyLoanList.Count() > 0) { string file = Server.MapPath("/template") + "\\finhaodai.xlsx"; ExcelPackage package = new ExcelPackage(new FileInfo(file), true); var sheet = package.Workbook.Worksheets[1]; var cells = sheet.Cells; int Rows = ApplyCreditList.Count() + ApplyLoanList.Count(); //设置数据开始行 int Befor = 2; sheet.InsertRow(Befor + 1, Rows - 1, Befor); int i = Befor; sheet.Row(i - 1).Height = 22;//设置行高 int maxCol = 0; //获取机构及管理员 IList <SysAgent> SysAgentList = Entity.SysAgent.Where(n => n.State == 1).ToList(); foreach (var item in ApplyCreditList) { string AName = "--"; if (item.AId > 0) { SysAgent SA = SysAgentList.FirstOrNew(n => n.Id == item.AgentId); if (!SA.Name.IsNullOrEmpty()) { AName = SA.Name; } } sheet.Row(i).Height = 22;//设置行高 //信息编号1 cells["A" + i].Value = "X" + item.Id.ToString().PadLeft(8, '0'); //分支机构2 cells["B" + i].Value = AName; //信息类型3 cells["C" + i].Value = "信用卡申请"; //申请时间4 cells["D" + i].Value = item.AddTime; //售出金额5 cells["E" + i].Value = item.Amoney; //售出时间6 cells["F" + i].Value = item.PayTime; //利润7 cells["G" + i].Value = item.Amoney - item.AgentMoney; //结算金额8 cells["H" + i].Value = item.AgentMoney; i++; } foreach (var item in ApplyLoanList) { string AName = "--"; if (item.AId > 0) { SysAgent SA = SysAgentList.FirstOrNew(n => n.Id == item.AgentId); if (!SA.Name.IsNullOrEmpty()) { AName = SA.Name; } } sheet.Row(i).Height = 22;//设置行高 //信息编号1 cells["A" + i].Value = "D" + item.Id.ToString().PadLeft(8, '0'); //分支机构2 cells["B" + i].Value = AName; //信息类型3 cells["C" + i].Value = "贷款申请"; //申请时间4 cells["D" + i].Value = item.AddTime; //售出金额5 cells["E" + i].Value = item.Amoney; //售出时间6 cells["F" + i].Value = item.PayTime; //利润7 cells["G" + i].Value = item.Amoney - item.AgentMoney; //结算金额8 cells["H" + i].Value = item.AgentMoney; i++; } sheet.Row(i).Height = 40;//设置行高 //交易总额5 cells["E" + i].Formula = "SUM(E" + Befor + ":E" + (i - 1) + ")"; //利润7 cells["G" + i].Formula = "SUM(G" + Befor + ":G" + (i - 1) + ")"; //结算金额8 cells["H" + i].Formula = "SUM(H" + Befor + ":H" + (i - 1) + ")"; i--; maxCol = 8; //cells["B" + (i + 2)].Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); sheet.Cells[Befor, 1, i, maxCol].Style.Border.Left.Style = ExcelBorderStyle.Thin; sheet.Cells[Befor, 1, i, maxCol].Style.Border.Right.Style = ExcelBorderStyle.Thin; sheet.Cells[Befor, 1, i, maxCol].Style.Border.Top.Style = ExcelBorderStyle.Thin; sheet.Cells[Befor, 1, i, maxCol].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; sheet.Cells[Befor, 1, i, maxCol].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//居中 sheet.Cells[Befor, 4, i, 4].Style.Numberformat.Format = "yyyy-mm-dd HH:mm:ss"; sheet.Cells[Befor, 6, i, 6].Style.Numberformat.Format = "yyyy-mm-dd HH:mm:ss"; //sheet.Cells[Befor, 9, i, 9].Style.Numberformat.Format = "#0.00%"; //sheet.Cells[Befor, 11, i, 11].Style.Numberformat.Format = "#0.00%"; i++; sheet.Cells[Befor, 5, i, 5].Style.Numberformat.Format = "\"¥\"#,##0.00_);[Red](\"¥\"#,##0.00)"; sheet.Cells[Befor, 7, i, 7].Style.Numberformat.Format = "\"¥\"#,##0.00_);[Red](\"¥\"#,##0.00)"; sheet.Cells[Befor, 8, i, 8].Style.Numberformat.Format = "\"¥\"#,##0.00_);[Red](\"¥\"#,##0.00)"; Response.BinaryWrite(package.GetAsByteArray()); //输出 Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 99) + ".xlsx"); } else { Response.Write("暂无符合条件数据"); } }
public ActionResult XLSDo(OrderProfitLog OrderProfitLog, EFPagingInfo <OrderProfitLog> p) { p.SqlWhere.Add(f => f.LogType == 3); if (!OrderProfitLog.TNum.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TNum == OrderProfitLog.TNum); } if (!OrderProfitLog.LogType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.LogType == OrderProfitLog.LogType); } if (!OrderProfitLog.Agent.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Agent == OrderProfitLog.Agent); } if (!OrderProfitLog.STime.IsNullOrEmpty() && !OrderProfitLog.ETime.IsNullOrEmpty()) { DateTime ETime = OrderProfitLog.ETime; p.SqlWhere.Add(f => f.AddTime > OrderProfitLog.STime && f.AddTime < ETime); } p.PageSize = 999999; p.OrderByList.Add("Id", "DESC"); IPageOfItems <OrderProfitLog> OrderProfitLogList = null; OrderProfitLogList = Entity.Selects <OrderProfitLog>(p); IList <OrderProfitLog> List = OrderProfitLogList.GroupBy(n => n.UId).Select(n => n.First()).ToList(); List <int> UId = OrderProfitLogList.Select(o => o.UId).Distinct().ToList(); IList <Users> UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); List <int> AgentId = OrderProfitLogList.Select(o => o.Agent).Distinct().ToList(); IList <SysAgent> AgentList = Entity.SysAgent.Where(n => n.State == 1 && AgentId.Contains(n.Id)).ToList(); DataTable table = new DataTable(); DataRow row = null; // 创建 datatable table.Columns.Add(new DataColumn("交易号", typeof(string))); table.Columns.Add(new DataColumn("交易商户", typeof(string))); table.Columns.Add(new DataColumn("交易类型", typeof(string))); table.Columns.Add(new DataColumn("交易金额", typeof(string))); table.Columns.Add(new DataColumn("分润金额", typeof(string))); table.Columns.Add(new DataColumn("分润时间", typeof(string))); table.Columns.Add(new DataColumn("代理商名称", typeof(string))); table.Columns.Add(new DataColumn("代理商层级", typeof(string))); string state = ""; //订单按照支付时间排序 foreach (var item in OrderProfitLogList) { Users Users = UsersList.FirstOrNew(n => n.Id == item.UId); SysAgent SysAgent = AgentList.FirstOrNew(o => o.Id == item.Agent); if (item.OrderType == 21) { state = "直通车交易"; } else if (item.OrderType == 10) { state = "自助开通代理"; } else if (item.OrderType == 31) { state = "刷还交易"; } row = table.NewRow(); row[0] = item.TNum; row[1] = Users.TrueName; row[2] = state; row[3] = item.Amoney; row[4] = item.Profit; row[5] = item.AddTime.ToString("yyyy-MM-dd HH:mm"); row[6] = SysAgent.Name; row[7] = item.Tier + "级"; table.Rows.Add(row); } string Time = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 99); return(this.ExportExcelBase(table, "同级分润明细-" + Time)); }
public void PayCash(OrderCash OrderCash, EFPagingInfo <OrderCash> p, bool?IsShowSupAgent) { if (IsShowSupAgent == null) { IsShowSupAgent = false; } p.PageSize = 99999999; p.SqlWhere.Add(f => f.OrderState == 2); p.SqlWhere.Add(f => f.PayState == 1 || f.PayState == 2); if (OrderCash.AddTime.IsNullOrEmpty()) { OrderCash.AddTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); } if (OrderCash.FTime.IsNullOrEmpty()) { OrderCash.FTime = DateTime.Now; } if (!OrderCash.Owner.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(OrderCash.Owner) || n.NeekName.Contains(OrderCash.Owner) || n.UserName == OrderCash.Owner).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!OrderCash.Cash.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Amoney >= OrderCash.Cash); } if (!OrderCash.ECash.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Amoney <= OrderCash.ECash); } if (!OrderCash.OId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.OId == OrderCash.OId); } if (!OrderCash.Agent.IsNullOrEmpty()) { //是否要显示下级 if ((bool)IsShowSupAgent) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == OrderCash.Agent).FirstOrNew(); IList <SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); IList <int> UID = new List <int>(); foreach (var s in SysAgentList) { UID.Add(s.Id); } p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == OrderCash.Agent); } } if (!OrderCash.FState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.FState == (OrderCash.FState == 99 ? 0 : OrderCash.FState)); } if (!OrderCash.TrunType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TrunType == (OrderCash.TrunType == 99 ? 0 : OrderCash.TrunType)); } if (!OrderCash.AId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AId == OrderCash.AId); } if (!OrderCash.FId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.FId == OrderCash.FId); } if (!OrderCash.AgentState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AgentState == OrderCash.AgentState); } if (!OrderCash.AddTime.IsNullOrEmpty() && !OrderCash.FTime.IsNullOrEmpty()) { // DateTime FTime = ((DateTime)OrderCash.FTime).AddDays(1); DateTime FTime = OrderCash.FTime.Value; p.SqlWhere.Add(f => f.AddTime > OrderCash.AddTime && f.AddTime < FTime); } p.OrderByList.Add("Id", "ASC"); IPageOfItems <OrderCash> OrderCashList = Entity.Selects <OrderCash>(p); TaskCash TaskCash = new TaskCash(); TaskCash.State = 0; TaskCash.AddTime = DateTime.Now; TaskCash.Total = OrderCashList.Count(); TaskCash.Success = 0; TaskCash.Fail = 0; Entity.TaskCash.AddObject(TaskCash); Entity.SaveChanges(); int suc = 0; int fa = 0; int same = 0; foreach (var O in OrderCashList) { if (O.PayState == 1 && O.OrderState == 2) { TaskCashInfo TaskCashInfo = Entity.TaskCashInfo.FirstOrDefault(n => n.OId == O.OId); if (TaskCashInfo == null) { TaskCashInfo = new TaskCashInfo(); TaskCashInfo.OId = O.OId; TaskCashInfo.TId = TaskCash.Id; TaskCashInfo.State = 0; TaskCashInfo.OState = 0; TaskCashInfo.NState = 0; TaskCashInfo.AddTime = DateTime.Now; Entity.TaskCashInfo.AddObject(TaskCashInfo); suc++; } else { same++; } } else { fa++; } } TaskCash.Total = suc; Entity.SaveChanges(); System.Web.HttpContext.Current.Response.AddHeader("content-type", "application/json"); Response.Write("{\"id\":" + TaskCash.Id + ",\"same\":" + same + ",\"success\":" + suc + ",\"fail\":" + fa + "}"); }
/// <summary> /// /// </summary> /// <param name="JobOrders"></param> /// <param name="p"></param> /// <param name="IsShowSupAgent">是否显示下级</param> /// <param name="LowerLevel">下级代理商</param> /// <returns></returns> public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, DateTime?STime, DateTime?ETime, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0) { #region 条件校验 if (IsShowSupAgent == null) { IsShowSupAgent = false; } LowerLevel = LowerLevel == null ? 0 : LowerLevel; p.SqlWhere.Add(f => f.PayState != 0); p.SqlWhere.Add(f => f.AgentState != 0); if (!JobOrders.TNum.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TNum == JobOrders.TNum); } if (!JobOrders.Code.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName == JobOrders.Code || n.NeekName == JobOrders.Code || n.UserName == JobOrders.Code).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!JobOrders.AgentId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AgentId == JobOrders.AgentId); } if (!JobOrders.AgentState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AgentState == JobOrders.AgentState); } if (!STime.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.PayTime > STime); } else { STime = DateTime.Now.AddMonths(-1); } if (!ETime.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.PayTime < ETime); } else { ETime = DateTime.Now; } TimeSpan TS = ETime.Value.Subtract(STime.Value); int Days = TS.Days; if (Days > 31) { ViewBag.ErrorMsg = "统计时间间隔不能超过31天!"; return(View("Error")); } IList <SysAgent> AgentsList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); AgentsList = LowerLevelAgent.GetSupAgent(Entity, true); } else { AgentsList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = AgentsList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.AgentId)); } else { p.SqlWhere.Add(f => f.AgentId == BasicAgent.Id);//读取全部分支机构 } #endregion p.OrderByList.Add("Id", "DESC"); IPageOfItems <JobOrders> JobOrdersList = null; if (IsFirst == 0) { JobOrdersList = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable()); } else { JobOrdersList = Entity.Selects <JobOrders>(p); } ViewBag.JobOrdersList = JobOrdersList; ViewBag.JobOrders = JobOrders; //统计查询 if (JobOrdersList.TotalCount > 0) { var iquery = Entity.JobOrders.AsQueryable(); foreach (var item in p.SqlWhere) { iquery = iquery.Where(item); } //总金额 decimal SumAmoney = iquery.Sum(o => o.TotalMoney); ViewBag.SumAmoney = SumAmoney; //我的总佣金 decimal?SumMyProfit = Entity.OrderProfitLog.Where(o => o.Agent == BasicAgent.Id && o.OrderType == 31).Join(iquery, op => op.TNum, o => o.TNum, (op, o) => op.Profit).Sum(o => (decimal?)o); ViewBag.SumMyProfit = SumMyProfit; } //商户查询 IList <JobOrders> List = JobOrdersList.GroupBy(n => n.UId).Select(n => n.First()).ToList(); List <int> UId = new List <int>(); foreach (var pp in List) { UId.Add(pp.UId); } Dictionary <string, decimal> DicOrderProfitLog = new Dictionary <string, decimal>(); IList <Users> UsersList = Entity.Users.Where(n => UId.Contains(n.Id)).ToList(); foreach (var item in JobOrdersList) { DicOrderProfitLog.Add(item.TNum, Entity.OrderProfitLog.Where(o => o.TNum == item.TNum && o.Agent == BasicAgent.Id).Select(o => o.Profit).FirstOrDefault()); } ViewBag.DicOrderProfitLog = DicOrderProfitLog; ViewBag.UsersList = UsersList; ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1 && n.AgentId == AdminUser.AgentId).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.BasicAgent = BasicAgent; SysSet SysSet = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet; ViewBag.LowerLevel = LowerLevel; ViewBag.Edit = this.checkPower("Edit"); ViewBag.STime = STime; ViewBag.ETime = ETime; return(View()); }
/// <summary> /// 条件 /// </summary> private EFPagingInfo <OrderCash> Condition(OrderCash OrderCash, EFPagingInfo <OrderCash> p, bool?IsShowSupAgent) { p.SqlWhere.Add(f => f.OrderState == 2); p.SqlWhere.Add(f => f.PayState == 1 || f.PayState == 2); //if (OrderCash.AddTime.IsNullOrEmpty()) //{ // OrderCash.AddTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //} //if (OrderCash.FTime.IsNullOrEmpty()) //{ // //OrderCash.FTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); // OrderCash.FTime = DateTime.Now; //} //if (!OrderCash.UId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.UId == OrderCash.UId); } if (!OrderCash.Owner.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName == OrderCash.Owner || n.NeekName == OrderCash.Owner || n.UserName == OrderCash.Owner).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!OrderCash.Cash.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Amoney >= OrderCash.Cash); } if (!OrderCash.ECash.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Amoney <= OrderCash.ECash); } if (!OrderCash.OId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.OId == OrderCash.OId); } if (!OrderCash.Agent.IsNullOrEmpty()) { //是否要显示下级 if ((bool)IsShowSupAgent) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == OrderCash.Agent).FirstOrNew(); IList <SysAgent> SysAgentList = LowerLevelAgent.GetSupAgent(Entity); IList <int> UID = new List <int>(); foreach (var s in SysAgentList) { UID.Add(s.Id); } p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == OrderCash.Agent); } } if (!OrderCash.FState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.FState == (OrderCash.FState == 99 ? 0 : OrderCash.FState)); } if (!OrderCash.TrunType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TrunType == (OrderCash.TrunType == 99 ? 0 : OrderCash.TrunType)); } if (!OrderCash.AId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AId == OrderCash.AId); } if (!OrderCash.FId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.FId == OrderCash.FId); } if (!OrderCash.AgentState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AgentState == OrderCash.AgentState); } if (!OrderCash.AddTime.IsNullOrEmpty() && !OrderCash.FTime.IsNullOrEmpty()) { // DateTime FTime = ((DateTime)OrderCash.FTime).AddDays(1); DateTime FTime = OrderCash.FTime.Value; p.SqlWhere.Add(f => f.AddTime > OrderCash.AddTime && f.AddTime < FTime); } return(p); }
public ActionResult Index(SysAgent SysAgent) { if (this.BasicAgent.Tier != 1) { ViewBag.ErrorMsg = "抱歉!该功能只有一级代理可用."; return(View("Error")); } if (this.BasicAgent.IsTeiPai == 0) { ViewBag.ErrorMsg = "非贴牌用户无法使用该功能"; return(View("Error")); } var APPModuleList = Entity.APPModule.Where(o => o.AgentId == this.BasicAgent.Id && o.Version == 0).OrderBy(o => o.Id).ToList(); ViewBag.APPModuleList = APPModuleList; //加载类型选项 string filename = HttpContext.Server.MapPath("/ModuleTypeSelectList.json"); string jsonstr = System.IO.File.ReadAllText(filename); var ModuleTypeSelectList = JsonConvert.DeserializeObject <SortedList <string, string> >(jsonstr); ViewBag.ModuleTypeSelectList = ModuleTypeSelectList; string Bottomfilename = HttpContext.Server.MapPath("/ModuleTypeBottomSelectList.json"); string Bottomjsonstr = System.IO.File.ReadAllText(Bottomfilename); var ModuleTypeBottomSelectList = JsonConvert.DeserializeObject <SortedList <string, string> >(Bottomjsonstr); ViewBag.ModuleTypeBottomSelectList = ModuleTypeBottomSelectList; //加载广告及标识 AdTag scanCodeTag = Entity.AdTag.FirstOrDefault(o => o.Tag == "SaoBg" && o.State == 1); ViewBag.ScanCodeTag = scanCodeTag; AdTag bannerTag = Entity.AdTag.FirstOrDefault(o => o.Tag == "banner" && o.State == 1); ViewBag.BannerTag = bannerTag; if (scanCodeTag == null || bannerTag == null) { ViewBag.ErrorMsg = "无法找到广告标识"; return(View("Error")); } var scanCodeInfo = Entity.AdInfo.FirstOrNew(o => o.TId == scanCodeTag.Id && o.State == 1 && o.AgentId == this.BasicAgent.Id); ViewBag.scanCodeInfo = scanCodeInfo; var bannerInfos = Entity.AdInfo.OrderBy(o => o.Sort).Where(o => o.TId == bannerTag.Id && o.State == 1 && o.AgentId == this.BasicAgent.Id).ToList(); ViewBag.bannerInfos = bannerInfos; if (Request.UrlReferrer != null) { Session["Url"] = Request.UrlReferrer.ToString(); } //取得系统图标 string PhysicalApplicationPath = this.HttpContext.Request.PhysicalApplicationPath; string APPModelPath = PhysicalApplicationPath + "UpLoadFiles\\APPModule\\"; var homeDir = new System.IO.DirectoryInfo(APPModelPath + "home"); var bottomDefDir = new System.IO.DirectoryInfo(APPModelPath + "bottom\\default"); var bottomActDir = new System.IO.DirectoryInfo(APPModelPath + "bottom\\activate"); var homeFiles = homeDir.GetFiles(); var bottomDefFiles = bottomDefDir.GetFiles(); var bottomActFiles = bottomActDir.GetFiles(); ViewBag.homeFiles = homeFiles; ViewBag.bottomDefaultFiles = bottomDefFiles; ViewBag.bottomActFiles = bottomActFiles; ViewBag.SysAgent = this.BasicAgent; this.ViewBag.IsAdd = this.checkPower("Add"); this.ViewBag.IsSave = this.checkPower("Save"); this.ViewBag.IsDelete = this.checkPower("Delete"); this.ViewBag.IsEdit = this.checkPower("Edit"); return(View()); }
public ActionResult Index(AdInfo AdInfo, EFPagingInfo <AdInfo> p, int IsFirst = 0) { if (IsFirst == 0) { PageOfItems <AdInfo> AdInfoList1 = new PageOfItems <AdInfo>(new List <AdInfo>(), 0, 10, 0, new Hashtable()); ViewBag.AdInfoList = AdInfoList1; ViewBag.AdInfo = AdInfo; ViewBag.AdTagList = Entity.AdTag.Where(n => n.State == 1).ToList(); //贴牌代理 var SysAgentList1 = Entity.SysAgent.Where(o => o.IsTeiPai == 1 && o.State == 1).ToList(); var haofusysagent1 = new SysAgent() { Id = 0, Name = "好付", AppBtnNumber = BasicSet.AppBtnNumber, APPHasMore = BasicSet.APPHasMore, APPName = BasicSet.Name, }; SysAgentList1.Add(haofusysagent1); SysAgentList1 = SysAgentList1.OrderBy(o => o.Id).ToList(); ViewBag.SysAgentList = SysAgentList1; ViewBag.Add = this.checkPower("Add"); ViewBag.Edit = this.checkPower("Edit"); ViewBag.Delete = this.checkPower("Delete"); ViewBag.Save = this.checkPower("Save"); return(View()); } if (!AdInfo.Name.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Name.Contains(AdInfo.Name)); } if (!AdInfo.TId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TId == AdInfo.TId); p.OrderByList.Add("Sort", "DESC"); } else { p.OrderByList.Add("Id", "DESC"); } if (!AdInfo.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == (AdInfo.State == 99 ? 0 : AdInfo.State)); } p.SqlWhere.Add(f => f.AgentId == AdInfo.AgentId); IPageOfItems <AdInfo> AdInfoList = Entity.Selects <AdInfo>(p); ViewBag.AdInfoList = AdInfoList; ViewBag.AdInfo = AdInfo; ViewBag.AdTagList = Entity.AdTag.Where(n => n.State == 1).ToList(); //贴牌代理 var SysAgentList = Entity.SysAgent.Where(o => o.IsTeiPai == 1 && o.State == 1).ToList(); var haofusysagent = new SysAgent() { Id = 0, Name = "好付", AppBtnNumber = BasicSet.AppBtnNumber, APPHasMore = BasicSet.APPHasMore, APPName = BasicSet.Name, }; SysAgentList.Add(haofusysagent); SysAgentList = SysAgentList.OrderBy(o => o.Id).ToList(); ViewBag.SysAgentList = SysAgentList; ViewBag.Add = this.checkPower("Add"); ViewBag.Edit = this.checkPower("Edit"); ViewBag.Delete = this.checkPower("Delete"); ViewBag.Save = this.checkPower("Save"); return(View()); }