private tbl_trone_orderItem CreateDefaultTrone() { lock (locker) { var ret = tbl_trone_orderItem.GetCacheUnkowOrder(Trone.id); if (ret != null) { WriteTrackLog("CreateDefaultTrone,其它线程已经创建"); return(ret); } ret = new tbl_trone_orderItem(); ret.cp_id = 34; //未知CP的ID ret.create_date = DateTime.Now; ret.disable = false; ret.is_dynamic = false; ret.is_unknow = true; ret.order_num = "*"; ret.order_trone_name = "未分配指令"; ret.push_url_id = 47; //未知CP推送URL ret.trone_id = Trone.id; ret.SaveToDatabase(dBase); WriteTrackLog("CreateDefaultTrone,创建成功"); return(ret); } }
protected string GetHoldInfo(object data) { n8wan.Public.Logical.IHold_DataItem hold = null; tbl_trone_orderItem t = (tbl_trone_orderItem)data; string html = string.Empty; if (t.hold_is_Custom) { hold = t; html = "<span class='red'>[自定义]</span>"; } else { hold = Urls.Find(e => e.id == t.push_url_id); if (hold == null) { return("[丢失]"); } } html += string.Format("{0}%", hold.hold_percent); if (hold.hold_amount > 0) { html += string.Format(",限额{0}", hold.hold_amount); } return(html); }
private string SaveData() { bool isNew = Row == null; if (isNew) { Row = new tbl_trone_orderItem(); Row.trone_id = trone_id; Row.cp_id = cpId; Row.create_date = DateTime.Now; } if (rblPush_Url_Id.SelectedIndex == -1) { return("请选择同步地址"); } Row.order_num = txtorder_num.Text; Row.order_trone_name = txtorder_trone_name.Text; Row.is_dynamic = chkdynamic.Checked; Row.push_url_id = int.Parse(rblPush_Url_Id.SelectedValue); Row.disable = chkDisable.Checked; Row.hold_is_Custom = chkIsCustom.Checked; decimal dec; if (string.IsNullOrEmpty(txtHold_amount.Text)) { dec = 0; } else if (!decimal.TryParse(txtHold_amount.Text, out dec)) { return("最大单日同步金额设置错误"); } Row.hold_amount = dec; int per; if (string.IsNullOrEmpty(txtHold_precent.Text)) { per = 0; } else if (!int.TryParse(txtHold_precent.Text, out per)) { return("扣量比设置错误"); } Row.hold_percent = per; try { Row.SaveToDatabase(dBase); } catch (Exception ex) { return("保存出错\n" + ex.Message); } return(null); }
private void SaveData() { var ids = Request["troneId"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var cp_id = int.Parse(rblCpId.SelectedValue); var url_id = int.Parse(Request["url_id"]); foreach (var id in ids) { var m = new tbl_trone_orderItem(); m.cp_id = cp_id; m.push_url_id = url_id; m.create_date = DateTime.Now; m.is_dynamic = Request["dynamic_" + id] == "1"; m.order_num = Request["CPTroneOrder_" + id]; m.order_trone_name = Request["CPTroneName_" + id]; m.trone_id = int.Parse(id); m.SaveToDatabase(dBase); } }
private void LoadDefault() { var idStr = Request["id"]; if (string.IsNullOrEmpty(idStr)) { InitNew(); return; } if (int.TryParse(idStr, out id)) { Row = tbl_trone_orderItem.GetRowById(dBase, id); } if (Row == null) { form1.Controls.Clear(); form1.InnerHtml = "<h1>ID无效!</h1>"; return; } mv.ActiveViewIndex = 1; if (IsPostBack) { return; } trone_id = Row.trone_id; cpId = Row.cp_id; txtorder_num.Text = Row.order_num; txtorder_trone_name.Text = Row.order_trone_name; chkdynamic.Checked = Row.is_dynamic; chkDisable.Checked = Row.disable; txtHold_amount.Text = Row.hold_amount.ToString(); txtHold_precent.Text = Row.hold_percent.ToString(); chkIsCustom.Checked = Row.hold_is_Custom; InitNew(); InitPushUrl(); }
private tbl_trone_orderItem MatchTroneOrder(n8wan.Public.Logical.ISMS_DataItem sms) { var _allCfg = LightDataModel.tbl_trone_orderItem.QueryByTroneIdWithCache(dBase, sms.trone_id); if (_allCfg.Count() == 0) { return(null); } tbl_trone_orderItem tOrder = null; var matchCount = 0; var msg = sms.ori_order; foreach (var m in _allCfg) { if (m.is_unknow) { continue; } if (!IsMatch(m, msg)) { continue; } if (tOrder == null) { tOrder = m; } matchCount++; } if (matchCount != 1) { return(null); } return(tOrder); }
public override bool DoPush() { //bool isRecord = false; tbl_trone_orderItem defCfg = null; if (PushObject.cp_id > 0 && PushObject.cp_id != 34) { defCfg = tbl_trone_orderItem.GetRowByIdWithCache(dBase, PushObject.trone_order_id); if (defCfg == null) { return(SetErrorMesage("已经绑定的渠道业务信息丢失")); } base.SetConfig(defCfg); return(base.DoPush()); } tbl_trone_orderItem tOrder = null; int matchCount = 0; string rel = PushObject.GetValue(EPushField.Msg); foreach (var m in _allCfg) { if (m.is_unknow) { if (defCfg != null) { base.WriteLog(-3, string.Format("存在多个默认CP! cfgId:{0} linkid:{1}", m.id.ToString(), PushObject.GetValue(EPushField.LinkID))); } defCfg = m; continue; } if (!IsMatch(m, rel)) { continue; } if (tOrder == null) { tOrder = m; } else { base.WriteLog(-3, string.Format("配置有冲突! cfgId:{0} linkid:{1}", m.id.ToString(), PushObject.GetValue(EPushField.LinkID))); WriteTrackLog(string.Format("配置有冲突! cfgId:{0} linkid:{1}", m.id.ToString(), PushObject.GetValue(EPushField.LinkID))); continue; } //isRecord = true; matchCount++; } if (matchCount > 1) { SetErrorMesage(string.Format("匹配到{0}个CP业务", matchCount)); return(false);//匹配到多个渠道 } if (tOrder != null) {//匹配到一个渠道 base.SetConfig(tOrder); base.DoPush(); return(true); } if (PushObject.cp_id == 34) { WriteTrackLog("CP_id=34???"); return(true); } if (defCfg == null) { defCfg = CreateDefaultTrone(); } base.SetConfig(defCfg); base.DoPush(); WriteTrackLog("未匹配CP"); return(true); }