using CRM.Core.DTO.Ord; using Newtonsoft.Json; using Ninject; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web.Mvc; using WX.CRM.BLL.Res; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.IBLL.Level2; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.Soft; using WX.CRM.IBLL.Util; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; using WX.CRM.Model.MAP; using WX.CRM.Model.QueryMap; using WX.CRM.WEB.ViewModel.Level2; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Level2 { public class Leve2OrderController : BaseController { private ValidationErrors errors = new ValidationErrors(); [Inject] public ISecurityHelper sHelper { get; set; } private List orderDetail; private List softProducts;//产品大类List private List softBigProducts;//产品小类List //private readonly IGjs_RptMon_Q Rpt; //private readonly IRES_CUSTOMERUSER_Q _customerUser_Q; private IL2_SOFT_MODULE_Q Isoft_module_q; private IL2_SOFT_PRODUCTMODULE_Q Isoft_productmodule_q; private ISOFT_MODULE_Q InstanceModelBLL; [Inject] public IBAS_PARAMETER_Q _parameter_Q { get; set; } [Inject] public ISOFT_USER_Q _softuser_q { get; set; } [Inject] public IL2_SOFT_PRODUCT_Q _l2_soft_product_Q { get; set; } [Inject] public ICACHE_Q cache { get; set; } [Inject] public IBAS_PARAMETER_Q _BAS_PARAMETER_Q { get; set; } [Inject] public IRES_CUSTOMER_Q _IRES_CUSTOMER_Q { get; set; } [Inject] public IRES_RESOURCEMOBILE_Q _RES_RESOURCEMOBILE_Q { get; set; } [Inject] public IL2_SOFT_ORDER_Q _order { get; set; } [Inject] public IRES_CUSTOMERUSER_Q _customerUser_Q { get; set; } [Inject] public IWX_TDORDER wx_TDorder_BL { get; set; } public Leve2OrderController( // IGjs_RptMon_Q Rpt, ISOFT_MODULE_Q InstanceModelBLL, IL2_SOFT_MODULE_Q Isoft_module_q, IL2_SOFT_PRODUCTMODULE_Q Isoft_productmodule_q) { // this.Rpt = Rpt; this.InstanceModelBLL = InstanceModelBLL; this.Isoft_module_q = Isoft_module_q; this.Isoft_productmodule_q = Isoft_productmodule_q; } // GET: /Leve2Order/ #region 首页 [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public ActionResult Index(int? protype) { #region toolbar工具栏 ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单查询, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "创建订单", "icon-add", "btnAdd_Click", true); tool.AddOtherButton("Other2", "开通订单", "icon-lookup", "btnopen_Click", true); tool.AddOtherButton("Other3", "取消订单", "icon-remove", "btncancel_Click", true); tool.AddOtherButton("Other4", "导出", "icon-export", "btnexport_Click", true); tool.AddOtherButton("Other5", "银行转账下单并开通", "icon-add", "btnPayCreate_Click", true); tool.AddOtherButton("Other6", "查看用户名", "icon-lookup", "btnSUsername_Click", true); ViewBag.ToolBar = tool; #endregion toolbar工具栏 #region gridtable 表格 var pager = new Pager() { page = 1, rows = 20 }; var tableId = "tablist"; var tab = new Table(tableId); tab.AddHeadCol("orderid", "8%", "订单号 ", true); tab.AddHeadCol("pcusername", "9%", "PC用户名 "); tab.AddHeadCol("username", "9%", "手机APP用户名 ", true); tab.AddHeadCol("L2RESID", "10%", "客户ID"); tab.AddHeadCol("bigproductcode", "10%", "产品大类"); //tab.AddHeadCol("productcode", "10%", "产品小类"); //tab.AddHeadCol("CHANNEL", "5%", "用户渠道 "); tab.AddHeadCol("booknum", "3%", "套数", true); tab.AddHeadCol("totaldays", "4%", "天数", true); tab.AddHeadCol("totalprice", "4%", "总金额"); tab.AddHeadCol("orderstatus", "5%", "订单状态"); tab.AddHeadCol("isopen", "5%", "开通状态", true); tab.AddHeadCol("ispayed", "5%", "是否支付"); tab.AddHeadCol("otime", "", "开通时间", true); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "20,30,40,55"); #endregion gridtable 表格 #region ViewBag页面传值 #region 下拉列表 string BigProductcode = ""; string SProductcode = ""; BAS_PARAMETER model = new BAS_PARAMETER(); if (!protype.HasValue || protype == 0) { protype = 1; } if (protype == 1) { model = _parameter_Q.GetModel_Patameter("Level2ProductSelect"); } if (protype == 2) { model = _parameter_Q.GetModel_Patameter("ZXProductSelect"); } if (model != null) { BigProductcode = model.map_PARAVALUE.Split('#')[0]; SProductcode = model.map_PARAVALUE.Split('#')[1]; } List bplist = new List(); bplist = plistToListItem(BigProductcode, protype.Value); List splist = new List(); splist = splistToListItem(bplist, SProductcode); ViewBag.bplist = bplist; ViewBag.splist = splist; ViewBag.protype = protype; #endregion 下拉列表 #endregion ViewBag页面传值 return View(); } #region 获取类型listitem //获取大类listitem public List plistToListItem(string BigProductcode, int type) { softBigProducts = cache.GetBigProductList(); softBigProducts = softBigProducts.Where(p => p.GROUPID == type).ToList(); List bplist = new List(); for (int i = 0; i < softBigProducts.Count(); i++) { SelectListItem item = new SelectListItem(); item.Text = softBigProducts[i].PRODUCTNAME; item.Value = softBigProducts[i].PRODUCTCODE.ToString(); bplist.Add(item); } if (bplist.Count > 0) { if (BigProductcode != "") { for (int i = 0; i < bplist.Count(); i++) { if (bplist[i].Value == BigProductcode) { bplist[i].Selected = true; } } } else { bplist[0].Selected = true; } } bplist.Add(new SelectListItem() { Text = "所有", Value = "-1" }); return bplist; } //获取小类listitem public List splistToListItem(List bplist, string SProductcode) { string bpcode = ""; for (int i = 0; i < bplist.Count; i++) { if (bplist[i].Selected) { bpcode = bplist[i].Value; } } softBigProducts = cache.GetBigProductList(); softProducts = cache.GetSProductList(); L2_SOFT_BIGPRODUCT bmodel = softBigProducts.Where(p => p.PRODUCTCODE == bpcode).FirstOrDefault(); softProducts = softProducts.Where(p => p.BIGPRODUCTID == bmodel.PRODUCTID).ToList(); List splist = new List(); for (int i = 0; i < softProducts.Count(); i++) { SelectListItem item = new SelectListItem(); item.Text = softProducts[i].PRODUCTNAME; item.Value = softProducts[i].PRODUCTCODE.ToString(); splist.Add(item); } if (splist.Count > 0) { if (SProductcode != "") { for (int i = 0; i < splist.Count(); i++) { if (splist[i].Value == SProductcode) { splist[i].Selected = true; } } } else { splist[0].Selected = true; } } return splist; } #endregion 获取类型listitem #endregion 首页 #region 取消订单 [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other3)] public JsonResult CancelOrde(string id) { CancelModel model = new CancelModel(); model.ApplyOrderId = id.ToString(); model.CancelUser = UserId.ToString(); string msg = ""; Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel(); bool result = soft_OOM.CancelOrdermodel(model); if (result) { msg = "取消订单成功!"; return JsonHandler.ManageMessage(msg, true); } else { msg = "取消订单失败!"; return JsonHandler.ManageMessage(msg, false); } } #endregion 取消订单 #region 导出 [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other4)] public FileResult ListExport() { int total = 0; string msg = ""; string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); string ctime = Request.QueryString["ctime"]; string etime = Request.QueryString["etime"]; string openstime = Request.QueryString["openctime"]; string openetime = Request.QueryString["openetime"]; string _productbigtype = Request.QueryString["productbigtype"]; string _productsmalltype = Request.QueryString["productsmalltype"]; string _openStatu = Request.QueryString["openStatu"]; string _userName = Request.QueryString["userName"]; string _OrderId = Request.QueryString["OrderId"]; string _resId = Request.Form["ResId"]; if (_productbigtype == "-1") { _productbigtype = ""; } if (_productsmalltype == "-1" || _productsmalltype == "null") { _productsmalltype = ""; } Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, 1, int.MaxValue); //获取订单列表 List list = crmmodel.GetOderDetail(out msg, out total); List ResIds = new List(); foreach (var item in list) { item.USERNAME = PhoneHelper.FormatPhoneUserName(item.USERNAME); item.PcUserName = PhoneHelper.FormatPhoneUserName(item.USERNAME); var orderext = item.orderExt.FirstOrDefault(); if (null != orderext) { item.CHANNEL = orderext.USERCAMPAINID; item.L2RESID = orderext.MOBILE; try { ResIds.Add(orderext.MOBILE); RegisterResId regist = new RegisterResId(orderext.MOBILE); regist.RegisterPhone(); } catch (Exception ex) { LogHelper.Error("level2导出的手机注册" + orderext.MOBILE + ex.ToString()); } } } try { RegisterListResId regist = new RegisterListResId(ResIds); regist.RegisterPhone(); } catch (Exception ex) { LogHelper.Error("level2导出的手机注册" + ex.ToString()); } return File(ExcelHelper.ExportListModelToExcel(list, "订单查询", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("订单查询.xls")); } #endregion 导出 #region 列表 [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public JsonResult GetHtmlList(Pager pager, string columns) { int total = 0; string msg = ""; string ctime = Request.Form["ctime"]; string etime = Request.Form["etime"]; string openstime = Request.Form["openctime"]; string openetime = Request.Form["openetime"]; string _productbigtype = Request.Form["productbigtype"]; string _productsmalltype = Request.Form["productsmalltype"]; string _openStatu = Request.Form["openStatu"]; string _userName = Request.Form["userName"]; string _OrderId = Request.Form["OrderId"]; string _resId = Request.Form["ResId"]; string _protype = Request.Form["protype"]; if (_productbigtype == "-1") { if (_protype != null) { softBigProducts = cache.GetBigProductList(); softBigProducts = softBigProducts.Where(p => p.GROUPID == Convert.ToDecimal(_protype)).ToList(); _productbigtype = ""; foreach (L2_SOFT_BIGPRODUCT item in softBigProducts) { _productbigtype += item.PRODUCTCODE + ","; } _productbigtype = _productbigtype.Substring(0, _productbigtype.Length - 1); } } if (_productsmalltype == "-1" || _productsmalltype == "null") { _productsmalltype = ""; } Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, pager.page, pager.rows); //获取订单列表 orderDetail = crmmodel.GetOderDetail(out msg, out total); var list = orderDetail.AsQueryable(); pager.totalRows = total; var table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { var resid = model.orderExt.FirstOrDefault(); var linkTradeCode = string.Format("{2}" , "客户详细" , "/Level2/Leve2Order/L2CustomerDetail?resid=" + resid.MOBILE//&Ieguid=6a5d80c3edef-7a55 , resid.MOBILE); table.AddCol(model.ORDERID);//订单号 table.AddCol(PhoneHelper.FormatPhoneUserName(model.PcUserName));//PC用户名 table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME));//APP用户名 table.AddCol(resid == null ? "" : linkTradeCode);//ResId table.AddCol(GetBigProductName(model.BIGPRODUCTCODE));//大类代码 // table.AddCol(GetProductName(model.PRODUCTCODE));//子类代码 // table.AddCol(GetChannel(orderDetail.FirstOrDefault(p => p.ORDERID == model.ORDERID).orderExt.FirstOrDefault().USERCAMPAINID));//渠道 table.AddCol(model.BOOKNUM);//套数 table.AddCol(model.TOTALDAYS);//开通天数 table.AddCol(model.TOTALPRICE);//总金额 table.AddCol(GetOrderStatus(model.ORDERSTATUS.ToString()));//订单状态 table.AddCol(model.ISOPEN == 0 ? "未开通" : "已开通");//开通状态 table.AddCol(model.ISPAYED == 0 ? "未支付" : "已支付");//是否支付 table.AddCol(model.OTIME.ToUnityString(3));//开通时间 table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion 列表 #region resid详情 public ActionResult L2CustomerDetail(string resid) { string msg = ""; try { RegisterResId regist = new RegisterResId(resid); regist.RegisterPhone(); } catch (Exception ex) { msg = ex.Message; LogHelper.Error("退款申请手机注册" + ex.ToString()); } Response.Redirect(Url.Action("CustomerDetail", "CustomerInfo", new { resid = resid })); ViewBag.Msg = msg; return View(); } #endregion resid详情 #region 订单详情和开通订单 /// /// 查看用户名页 /// /// /// [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public ActionResult UserNameDetails(string id) { Soft_OrderDetail model = new Soft_OrderDetail(); if (id != null) { Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id); int total = 0; string msg = ""; //获取订单列表 orderDetail = crmmodel.GetOderDetail(out msg, out total); //获取订单 model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault(); } return View(model); } #region 订单详情页 /// /// 订单详情页 /// /// /// [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public ActionResult Details(string id) { Soft_OrderDetail model = new Soft_OrderDetail(); if (id != null) { Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id); int total = 0; string msg = ""; //获取订单列表 orderDetail = crmmodel.GetOderDetail(out msg, out total); //获取订单 model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault(); var resid = model.orderExt.FirstOrDefault(); ViewBag.Orderid = model.ORDERID; ViewBag.resid = resid.MOBILE; ViewBag.AppUserName = model.USERNAME; ViewBag.PCUserName = model.PcUserName; ViewBag.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME); ViewBag.OrderStatu = GetOrderStatus(model.ORDERSTATUS.ToString()); ViewBag.isopen = model.ISOPEN == 0 ? "未开通" : "已开通"; ViewBag.productname = GetProductName(model.PRODUCTCODE); ViewBag.ispayed = model.ISPAYED == 0 ? "未支付" : "已支付"; ViewBag.Channel = GetChannel(orderDetail.FirstOrDefault(p => p.ORDERID == model.ORDERID).orderExt.FirstOrDefault().USERCAMPAINID); model.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME); if (model.orderModule != null) { var tableId = "tablist"; var tab = new Table(tableId); tab.AddHeadCol("MODULEID", "50%", "模块Id ", true); tab.AddHeadCol("MODULEname", "50%", "模块名称 ", true); tab.AddHeadRow(); foreach (var item in model.orderModule) { tab.AddCol(item.MODULEID); tab.AddCol(GetModelName(item.MODULEID.ToString())); tab.AddRow(); } ViewBag.orderModuleTable = tab.GetTable(); } if (model.orderWebPay != null) { var tableId1 = "tablist1"; var tab1 = new Table(tableId1); tab1.AddHeadCol("WEBPAYID", "50%", "流水号 ", true); tab1.AddHeadCol("PAYTYPE", "50%", "支付方式 ", true); tab1.AddHeadRow(); foreach (var item in model.orderWebPay) { tab1.AddCol(item.WEBPAYID); tab1.AddCol(GetPayType(item.PAYTYPE.ToString())); tab1.AddRow(); ViewBag.orderWebPayTable = tab1.GetTable(); } } } return View(model); } /// ///发送用户名短信 /// /// /// [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public JsonResult SendUsernameSms(string AppUserName, string PCUserName, string resid, string orderid, string randnum) { try { #region 发送短信 ExtParam exp = new ExtParam(); exp.app_username = AppUserName; exp.pc_username = PCUserName; exp.orderid = orderid; string Strexp = Utility.ObjectToJson(exp); //短信model SmsServiceModel smsmodel = new SmsServiceModel(); smsmodel.SubTypeCode = "SMS_L2_SendMsg"; smsmodel.typeCode = "ISVRSMS0001"; // smsmodel.resid = "382749469785534809"; smsmodel.resid = resid; smsmodel.ExtParam = Strexp; smsmodel.username = PCUserName; //将短信model转成json string key = Utility.ObjectToJson(smsmodel); key = sHelper.createSignEncodingStr(key, SecurityHelper.OrderClientIdKey); //获取url string url = Utility.GetSettingByKey("L2SendUsernameSms"); string retmsg = Utility.PostData(url + "?" + key, Encoding.UTF8); //retmsg = JsonHelper.JsonDivertToObj(retmsg); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); SmsSendMsgModel retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result) { return JsonHandler.ManageMessage("短信发送成功!", true); } else { return JsonHandler.ManageMessage("短信发送失败!" + retmsg, false); } #endregion 发送短信 } catch (Exception e) { Common.LogHelper.Error(string.Concat("短信发送错误", e.Message, e.StackTrace)); return JsonHandler.ManageMessage("短信发送失败!", false); } } #endregion 订单详情页 #region 开通订单页 /// /// 开通订单页 /// /// /// [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public ActionResult OpenOrderDetails(string id) { Soft_OrderDetail model = new Soft_OrderDetail(); if (id != null) { Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id); int total = 0; string msg = ""; //获取订单 model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault(); ViewBag.OrderStatu = GetOrderStatus(model.ORDERSTATUS.ToString()); ViewBag.isopen = model.ISOPEN == 0 ? "未开通" : "已开通"; ViewBag.productname = GetProductName(model.PRODUCTCODE); ViewBag.ispayed = model.ISPAYED == 0 ? "未支付" : "已支付"; model.USERNAME = Utility.EncryptUrlEncode(model.USERNAME); if (model.orderModule != null) { var tableId = "tablist"; var tab = new Table(tableId); tab.AddHeadCol("MODULEID", "50%", "模块Id ", true); tab.AddHeadCol("MODULEname", "50%", "模块名称 ", true); tab.AddHeadRow(); foreach (var item in model.orderModule) { tab.AddCol(item.MODULEID); tab.AddCol(GetModelName(item.MODULEID.ToString())); tab.AddRow(); } ViewBag.orderModuleTable = tab.GetTable(); } if (model.orderWebPay != null) { var tableId1 = "tablist1"; var tab1 = new Table(tableId1); tab1.AddHeadCol("WEBPAYID", "50%", "流水号 ", true); tab1.AddHeadCol("PAYTYPE", "50%", "支付方式 ", true); tab1.AddHeadRow(); foreach (var item in model.orderWebPay) { tab1.AddCol(item.WEBPAYID); tab1.AddCol(GetPayType(item.PAYTYPE.ToString())); tab1.AddRow(); ViewBag.orderWebPayTable = tab1.GetTable(); } } } return View(model); } /// /// 开通订单事件 /// /// /// [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public JsonResult OpenOrderDetails(Soft_OrderDetail model) { string id = model.ORDERID.ToString(); string username = Utility.DecryptUrlDecode(model.USERNAME); string msg = ""; if (model.ISOPEN == 0) { OpenOrderModel opmodel = new OpenOrderModel(); opmodel.UserName = username; opmodel.ApplyOrderId = id; Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel(); bool result = soft_OOM.OpenOrdermodel(opmodel); if (result) { msg = "开通订单成功!"; return JsonHandler.ManageMessage(msg, true); } else { msg = "开通订单失败!"; return JsonHandler.ManageMessage(msg, false); } } else { msg = "订单已是开通状态!"; return JsonHandler.ManageMessage(msg, false); } } #endregion 开通订单页 #endregion 订单详情和开通订单 #region 下单 [AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)] public ActionResult L2CreateActiveOrder(string id) { return View(); } /// /// 下单 /// /// /// [HttpPost] [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other1)] public JsonResult L2CreateActiveOrder(AddOrderModel model) { string code = Request.Form["ProductCode"]; model.productCode = code; Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel(); model.CreateUser = UserId.ToString(); model.orderNum = 1; if (string.IsNullOrEmpty(model.IP)) { model.IP = "0.0.0.0"; } else { model.IP = model.IP; } returnResult result = soft_OOM.AddOrdermodel(model); string msg = ""; if (result.result) { msg = "下单成功!"; return JsonHandler.ManageMessage(msg, true); } else { msg = "下单失败,错误代码" + result.retcode.ToString(); return JsonHandler.ManageMessage(msg, false); } } [HttpGet] public JsonResult GetIP(string userName) { string msg = ""; string SSOurl = Utility.GetSettingByKey("getSSO"); SSOurl += userName; string respone = Utility.PostData(SSOurl, Encoding.UTF8); if (!string.IsNullOrEmpty(respone)) { int index = respone.IndexOf("hqrights"); if (index < 1) { msg = ""; return JsonHandler.ManageMessage(msg, true); } else { string rights = respone.Substring(index); rights = rights.Substring(rights.IndexOf("ip")); rights = rights.Substring(0, rights.Length - 5); string[] arr = rights.Split(':'); msg = arr[1].Replace("\\\"", ""); return JsonHandler.ManageMessage(msg, true); } } else { msg = ""; return JsonHandler.ManageMessage(msg, true); } } #endregion 下单 #region 方法 /// /// 当大类改变时 /// /// /// public JsonResult JsonProType(string code) { if (code == "-1") { List list = new List(); list.Add(new SelectListItem() { Text = "所有", Selected = true, Value = "-1" }); return Json(list, JsonRequestBehavior.AllowGet); } else { L2_SOFT_BIGPRODUCT softbigpro = cache.GetBigProductList().Where(p => p.PRODUCTCODE == code).FirstOrDefault(); softProducts = cache.GetSProductList(); var list = softProducts.Where(m => m.BIGPRODUCTID == softbigpro.PRODUCTID).Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTCODE.ToString(), Selected = true }).ToList(); return Json(list, JsonRequestBehavior.AllowGet); } } public string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { case "ISOPEN": switch (Convert.ToString(value)) { case "0": formartValue = "未开通"; break; case "1": formartValue = "已开通"; break; default: formartValue = ""; break; }; break; case "ISPAYED": switch (Convert.ToString(value)) { case "0": formartValue = "未支付"; break; case "1": formartValue = "已支付"; break; default: formartValue = ""; break; }; break; case "ORDERSTATUS"://订单状态 formartValue = GetOrderStatus(Convert.ToString(value)); break; case "BIGPRODUCTCODE": formartValue = GetBigProductName(Convert.ToString(value)); break; case "PRODUCTCODE": formartValue = GetProductName(Convert.ToString(value)); break; default: formartValue = string.Format("{0}", value); break; } return formartValue; } /// /// 订单状态 /// /// /// protected string GetOrderStatus(string status) { string getstatus = ""; switch (status) { case "180": getstatus = "新订单"; break; case "200": getstatus = "已支付"; break; case "210": getstatus = "暂缓开通"; break; case "220": getstatus = "已开通"; break; case "90": getstatus = "已停用"; break; case "80": getstatus = "已过期"; break; case "70": getstatus = "已取消"; break; } return getstatus; } /// /// 产品大类名 /// /// 产品大类代码 /// protected string GetBigProductName(string productCode) { if (!string.IsNullOrEmpty(productCode)) { var model = cache.GetBigProductList().Where(p => p.PRODUCTCODE.Trim() == productCode.Trim()).FirstOrDefault(); return model == null ? productCode : model.PRODUCTNAME; } return productCode; } /// /// 产品子类名 /// /// 产品子类代码 /// protected string GetProductName(string productCode) { if (!string.IsNullOrEmpty(productCode)) { var model = cache.GetSProductList().Where(p => p.PRODUCTCODE == productCode).FirstOrDefault(); return model == null ? productCode : model.PRODUCTNAME; } return productCode; } /// /// 模块名 /// /// /// protected string GetModelName(string modelid) { if (!string.IsNullOrEmpty(modelid)) { int id = 0; int.TryParse(modelid, out id); var model = cache.GetAllModule().Where(p => p.MODULEID == id).FirstOrDefault(); return model == null ? modelid : model.MODULENAME; } return modelid; } /// /// 支付方式 /// /// /// protected string GetPayType(string paytype) { string typeStr = string.Empty; switch (paytype) { case "1": typeStr = "支付宝 "; break; case "2": typeStr = "财富通 "; break; case "3": typeStr = "银行转账"; break; case "4": typeStr = "网银支付"; break; case "5": typeStr = "微信支付"; break; case "6": typeStr = "支付宝银联"; break; default: typeStr = "无法识别"; break; } return typeStr; } /// /// 获取对应渠道 /// /// /// public string GetChannel(string id) { if (!string.IsNullOrWhiteSpace(id)) { int channelid = Convert.ToInt32(id); if (channelid >= 9501 & channelid <= 9600) { return "Android手机"; } else if (channelid >= 9001 & channelid <= 9100) { return "IOS手机"; } else { return id; } } return id; } #endregion 方法 #region 转账下单 [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)] public ActionResult L2CreatePayOrder(int? protype) { if (!protype.HasValue || protype == 0) { protype = 1; } ViewBag.protype = protype; return View(); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)] public JsonResult L2PayOrderOpen(PayOpenOrder model) { var userCenterRiaServiceAddPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_AddPayOrder");// var userCenterRiaServiceProAddPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_ProAddPayOrder");//业务 var userCenterRiaServiceOpenPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_OpenPayOrder"); var userCenterRiaServiceValidatePayid = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_ValidatePayid"); if (string.IsNullOrEmpty(model.PayNo) || model.PayNo == "auto") { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0)); model.PayNo = "tgorder" + (long)(System.DateTime.Now - startTime).TotalMilliseconds; } if (ModelState.IsValid) { if (!string.IsNullOrEmpty(model.resPhone)) { PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; model.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.resPhone, phoneLogModel); } if (string.IsNullOrEmpty(model.mobile)) { return JsonHandler.ManageMessage("手机号码不能为空", false); } if (!Utility.ChekMobile(model.mobile)) return JsonHandler.ManageMessage("手机号码格式不正确", false); if (string.IsNullOrEmpty(model.businessType)) return JsonHandler.ManageMessage("版本不能为空", false); string addurl = "", openurl = ""; if (model.businessType == "1" || model.businessType == "3") { if (null != userCenterRiaServiceProAddPayOrder) addurl = userCenterRiaServiceProAddPayOrder.PARAVALUE; } if (model.businessType == "2") { if (null != userCenterRiaServiceAddPayOrder) addurl = userCenterRiaServiceAddPayOrder.PARAVALUE; } if (null != userCenterRiaServiceOpenPayOrder) openurl = userCenterRiaServiceOpenPayOrder.PARAVALUE; string code = Request.Form["ProductCode"]; string paytype = Request.Form["PayType"]; model.productCode = code; model.CreateUser = UserId.ToString(); model.PayType = paytype; ValidatePayOrder validatePay = new ValidatePayOrder(model.PayNo); string validatePayMsg = ""; string validatePayUrl = ""; if (null != userCenterRiaServiceValidatePayid) validatePayUrl = userCenterRiaServiceValidatePayid.PARAVALUE; bool checkPayid = validatePay.ValidationOfPayid(validatePayUrl, out validatePayMsg); if (!checkPayid) return JsonHandler.ManageMessage(validatePayMsg, false); PayOpenOrder PayOrder = new PayOpenOrder(); PayOrderResult addresul = PayOrder.AddpayOrder(model, addurl); if (addresul.result) { PayOrderResult openresult = PayOrder.OpenpayOrder(model, addresul.ApplyOrderId, openurl); if (openresult.result) { return JsonHandler.ManageMessage("下单并开通成功", true); } else { return JsonHandler.ManageMessage("下单成功,开通失败,错误:" + Utility.GetCheckEnumNameByValue(openresult.retcode), false); } } else { return JsonHandler.ManageMessage("下单失败,错误:" + Utility.GetCheckEnumNameByValue(addresul.retcode), false); } } return JsonHandler.ManageMessage("验证失败", false); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)] public JsonResult L2AddOrderOpen(PayOpenOrder model, int days) { if (string.IsNullOrEmpty(model.PayNo) || model.PayNo == "auto") { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0)); model.PayNo = "tgorder" + (long)(System.DateTime.Now - startTime).TotalMilliseconds; } if (ModelState.IsValid) { if (!string.IsNullOrEmpty(model.resPhone)) { PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; model.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.resPhone, phoneLogModel); } if (string.IsNullOrEmpty(model.mobile)) { return JsonHandler.ManageMessage("手机号码不能为空", false); } if (!Utility.ChekMobile(model.mobile)) return JsonHandler.ManageMessage("手机号码格式不正确", false); if (string.IsNullOrEmpty(model.businessType)) return JsonHandler.ManageMessage("版本不能为空", false); string code = Request.Form["ProductCode"]; string paytype = Request.Form["PayType"]; string url = ""; string json = ""; AddOrderOpen theModel = new AddOrderOpen(); theModel.productCode = code; theModel.userName = model.userName; theModel.PayPrice = model.PayPrice; theModel.Days = days; //theModel.resPhone = model.wx_SzzyOrder.RESID; theModel.CreateUser = UserId.ToString(); theModel.PayMark = model.PayMark; theModel.PayNo = model.PayNo; theModel.PayType = paytype; theModel.mobile = model.mobile; url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpen);//内部接口··调用RiaSerivice json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result) { return JsonHandler.ManageMessage("下单并开通成功", true); } else { if (retmessage.retcode == (int)EnumInterfaceErrcode.订单已开通) { return JsonHandler.ManageMessage("开通成功", true); } else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.系统错误) && !string.IsNullOrWhiteSpace(retmessage.orderId)) { return JsonHandler.ManageMessage("系统正忙,请稍后再试", false); } else { return JsonHandler.ManageMessage("系统错误" + retmessage.retcode.ToString(), false); } } } return JsonHandler.ManageMessage("验证失败", false); } public JsonResult L2GetPhoneByResid(string resid) { if (!string.IsNullOrEmpty(resid)) { var list = _IRES_CUSTOMER_Q.GetList_CustomerByResid(resid); if (list != null && list.Count > 0) { List customerList = list.Select(p => new SelectListItem() { Text = p.RESID, Value = p.LASTNUM3 }).ToList(); return Json(new { type = true, data = customerList }, JsonRequestBehavior.AllowGet); } else return Json(new { type = false, data = "数据为空,请检查客户ID" }, JsonRequestBehavior.AllowGet); } else return Json(new { type = false, data = "客户ID不能为空" }, JsonRequestBehavior.AllowGet); } #endregion 转账下单 #region 客服申请,总监审核开通流程 #region 客服申请 /// /// 申请订单页面 /// /// /// public ActionResult CreateOrderApply(string CustomerId) { List lists = new List(); //List productList = new List(); List productList = cache.GetSProductList(); //var notInProductId = new List { 60001000, 60001001, 60001017, 70001100, 70001102, 70001103 }; //productList = productList.Where(m => !notInProductId.Contains(m.PRODUCTID)).ToList(); productList = productList.Where(m => m.PRICE == 0).OrderBy(p => p.SORT).ThenByDescending(p => p.PRODUCTID).ToList(); try { if (!string.IsNullOrEmpty(CustomerId)) { lists = _customerUser_Q.GetListByCustomerId(CustomerId); } //productList = _product_q.GetAllPRODUCTS().Where(p => p.ISSHOW.ToString() == "1").ToList(); } catch (Exception ex) { LogHelper.Error(ex.Message); } var UserNameItems = lists.Select(item => new SelectListItem() { Text = PhoneHelper.FormatPhoneUserName(item.USERNAME), Value = Utility.EncryptUrlEncode(item.USERNAME) }).ToList(); var ProductList = productList.Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }).ToList(); var allChannel = new List>(); foreach (var pro in productList) { var channel = new Dictionary { { "name", pro.PRODUCTNAME }, { "value", pro.PRODUCTID.ToString() } }; allChannel.Add(channel); } //var customer = _IRES_CUSTOMER_Q.getResCustomerByResId(CustomerId); ViewBag.freeOrderType = cache.GetValue_Parameter("freeOrderType"); ViewBag.CustomerId = CustomerId; ViewBag.UserNameItems = UserNameItems; ViewBag.ProductList = JsonHelper.ObjDivertToJson(allChannel); ViewBag.DeptCode = Utility.GetSettingOrNullByKey("DataClientCode"); ViewBag.Gid = deptId; var deptList = cache.GetList_SalesDepartMent().Where(p => p.CHANNELDEF != null); var selectList = new List(); foreach (var item in deptList) { selectList.Add(new SelectListItem() { Text = item.DEPTNAME, Value = item.SALEDEPTCODE }); } ViewBag.DeptList = selectList; ViewBag.companyCode = companyCode; return View(); } /// /// 申请订单_post /// /// /// /// /// public ActionResult CreateOrder(string UserName, string ProductList, string ResId, int? Days, int? mainOrderId, string deptcode) { decimal productId, price; decimal days; if (string.IsNullOrWhiteSpace(ProductList)) { return JsonHandler.ManageMessage("请选择产品!", false); } if (string.IsNullOrEmpty(deptcode)) { return JsonHandler.ManageMessage("请选择部门归属!", false); } if (Days <= 0 || !Days.HasValue) { return JsonHandler.ManageMessage("请选择开通天数!", false); } ProductList = ProductList.Trim(','); var prodata = ProductList.Split(',').ToList(); var successList = new List(); var errList = new List(); foreach (var productid in prodata) { bool flagProductId = decimal.TryParse(productid, out productId); var uname = Utility.DecryptUrlDecode(UserName); var product = cache.GetSProductList().Where(p => p.PRODUCTID == productId).FirstOrDefault(); //if (Days.HasValue) //{ // days = Days.Value; //} //else //{ // days = product.DAYS.Value; //} days = Days.Value; if (mainOrderId.HasValue) { var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId.Value); if (order == null) { errList.Add($"【{product.PRODUCTNAME}开通失败订单号不存在】"); //return JsonHandler.ManageMessage("订单号不存在", false); } } price = product.PRICE.Value; if (!string.IsNullOrEmpty(uname) && flagProductId && days > 0 && product != null) { decimal orderId = 0; bool result = _order.CreateOrder(productId, product.PRODUCTCODE, ResId, uname, companyId, UserId, 1, days, price, out orderId, mainOrderId, deptcode); if (result) { var autoOpenFreeOrder = cache.GetValue_Parameter("AutoOpenFreeOrder"); if (string.IsNullOrEmpty(autoOpenFreeOrder) || autoOpenFreeOrder == "true") { var freeOrderRule = cache.GetValue_Parameter("FreeOrderRule"); if (string.IsNullOrEmpty(freeOrderRule)) { var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString())); var success = (JsonMessage)openMsg.Data; if (success.type == 1) { successList.Add($"{product.PRODUCTNAME} {success.message}"); } else { errList.Add($"{product.PRODUCTNAME}{success.message}"); } continue; } var rule = JsonConvert.DeserializeObject(freeOrderRule); //查看是否有规则,如果没有直接开通 if (rule.IsLimit) { var productRule = rule.Products.FirstOrDefault(p => p.ProductId == product.PRODUCTID); if (productRule != null) { var freeOrderList = _order.getOrderByResId(ResId, product.PRODUCTID); var hasOrderCount = freeOrderList.Count; if (hasOrderCount >= productRule.Limit) { successList.Add($"【{product.PRODUCTNAME}】下单成功,请联系总监助理,手工开通!"); } else { var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString())); var success = (JsonMessage)openMsg.Data; if (success.type == 1) { successList.Add($"{product.PRODUCTNAME} {success.message}"); } else { errList.Add($"{product.PRODUCTNAME}{success.message}"); } } } else { //没有找到规则,说明这个产品不做限制,直接开通 var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString())); var success = (JsonMessage)openMsg.Data; if (success.type == 1) { successList.Add($"{product.PRODUCTNAME} {success.message}"); } else { errList.Add($"{product.PRODUCTNAME}{success.message}"); } } } else { var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString())); var success = (JsonMessage)openMsg.Data; if (success.type == 1) { successList.Add($"{product.PRODUCTNAME} {success.message}"); } else { errList.Add($"{product.PRODUCTNAME}{success.message}"); } } } else { successList.Add($"【{product.PRODUCTNAME}】下单成功,请联系总部开通!"); } } else { errList.Add($"{product.PRODUCTNAME}下单申请失败"); } } else { errList.Add($"{product.PRODUCTNAME} 参数错误"); } } var msg = ""; var isSuccess = false; if (successList.Count() > 0) { msg = string.Join(",", successList); isSuccess = true; } if (errList.Count() > 0) { msg += string.Join(",", successList); } return JsonHandler.ManageMessage(msg, isSuccess); } /// /// 走新的创建合同接口 需要签订合同 根据配置 freeOrderType =old 走旧的 /// /// /// /// /// public ActionResult CreateOrderNew(string UserName, string ProductList, string ResId, int? Days, int? mainOrderId, string deptcode) { decimal productId, price; decimal days; if (string.IsNullOrWhiteSpace(ProductList)) { return JsonHandler.ManageMessage("请选择产品!", false); } if (string.IsNullOrEmpty(deptcode)) { return JsonHandler.ManageMessage("请选择部门归属!", false); } if (Days <= 0 || !Days.HasValue) { return JsonHandler.ManageMessage("请选择开通天数!", false); } ProductList = ProductList.Trim(','); var prodata = ProductList.Split(',').ToList(); var successList = new List(); var errList = new List(); foreach (var productid in prodata) { bool flagProductId = decimal.TryParse(productid, out productId); var uname = Utility.DecryptUrlDecode(UserName); var product = cache.GetSProductList().Where(p => p.PRODUCTID == productId).FirstOrDefault(); //if (Days.HasValue) //{ // days = Days.Value; //} //else //{ // days = product.DAYS.Value; //} days = Days.Value; if (mainOrderId.HasValue) { var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId.Value); if (order == null) { errList.Add($"【{product.PRODUCTNAME}开通失败订单号不存在】"); //return JsonHandler.ManageMessage("订单号不存在", false); } } price = product.PRICE.Value; if (!string.IsNullOrEmpty(uname) && flagProductId && days > 0 && product != null) { decimal orderId = 0; string url = ""; string json = ""; freeordermodel theModel = new freeordermodel(); PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; theModel.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(ResId, phoneLogModel); theModel.productname = product.PRODUCTNAME; theModel.needpay = price; theModel.opendays = 1; theModel.ordertype = 1; theModel.productId = productId; theModel.remark = "创建订单"; theModel.saledeptid = companyId; theModel.source = "1"; theModel.softusername = uname; theModel.productcode = product.PRODUCTCODE;//小类代码 theModel.teamserve = 1; theModel.userid = UserId; theModel.count = Convert.ToInt32(days);//产品数 --免费产品始终一天,这里天数作为数量传递,达到天数效果 theModel.productType = Convert.ToInt32(product.PRODUCTTYPE);//产品分类 theModel.opuser = UserId; theModel.ctime = DateTimeTool.ConvertDateTimeInt(DateTime.Now).ToString(); //theModel.companycode = companyCode; theModel.companycode = Utility.GetSettingOrNullByKey("DataClientCode"); theModel.days = Convert.ToInt32(days); theModel.mainOrderId = mainOrderId.HasValue ? Convert.ToInt32(mainOrderId) : (int?)null; var depment = cache.GetList_SalesDepartMent(); if (!string.IsNullOrEmpty(deptcode)) { var dep = depment.Find(p => p.SALEDEPTCODE == deptcode); if (dep != null) { if (dep.CHANNELDEF.HasValue) theModel.ch = (int)dep.CHANNELDEF; } } url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CreateFreeOrder);//内部接口··创建免费订单接口 json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); //LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json); //url = "http://localhost:55047/OrderService.svc/FreeOrder/Create"; string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); CreateOrderRsp retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 if (retmessage.retCode == (int)NodeJsOrderEnum.调用成功)//成功 { bool result = _order.CreateOrder(productId, product.PRODUCTCODE, ResId, uname, companyId, UserId, 1, days, price, out orderId, mainOrderId, deptcode); if (result) { successList.Add($"{product.PRODUCTNAME} 添加成功"); } else { errList.Add($"{product.PRODUCTNAME}添加失败"); } L2_SOFT_ORDER model = _order.getOrderByOrderId(orderId); model.ORDERSTATUS = 0; //model.OPENUSER = UserId; //model.OTIME = DateTime.Now; model.WEBORDERID = retmessage.orderId; model.MEMO = ""; _order.UpdateOrder(ref errors, model); //return JsonHandler.ManageMessage("创建成功", true); } else { errList.Add($"{product.PRODUCTNAME}{retmessage.retMsg}"); } } else { errList.Add($"{product.PRODUCTNAME} 参数错误"); } } var msg = ""; var isSuccess = false; if (successList.Count() > 0) { msg = string.Join(",", successList); isSuccess = true; } if (errList.Count() > 0) { msg += string.Join(",", errList); } return JsonHandler.ManageMessage(msg, isSuccess); } public JsonResult MainOrderIsExists(int mainOrderId) { var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId); if (order != null) { return Json(new { ret = true }, JsonRequestBehavior.AllowGet); } else { return Json(new { ret = false }, JsonRequestBehavior.AllowGet); } } public ActionResult OrderList(string ResId) { try { if (!string.IsNullOrEmpty(ResId)) { string tableId = "Level2Orderlist"; Table tab = new Table(tableId, "layui-table content_width"); tab.AddHeadCol("ORDERID", "", "活动单号"); tab.AddHeadCol("WEBORDERID", "", "权限订单号"); tab.AddHeadCol("PRODUCTID", "", "活动名称"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("DAYS", "", "开通天数"); //tab.AddHeadCol("PRICE", "10%", "支付金额"); tab.AddHeadCol("CTIME", "", "下单时间"); tab.AddHeadCol("CREATEUSER", "", "下单人"); tab.AddHeadCol("HTURL", "", "合同地址"); tab.AddHeadCol("HTURL", "", "合同状态"); tab.AddHeadCol("ORDERSTATUS", "", "是否开通"); tab.AddHeadCol("OTIME", "", "开通时间"); //tab.AddHeadCol("operation", "", "操作"); tab.AddHeadRow(); var list = _order.getOrderByResId(ResId); List productList = cache.GetSProductList(); //var notInProductId = new List { 60001000, 60001001, 60001017, 70001100, 70001102, 70001103 }; //productList = productList.Where(m => !notInProductId.Contains(m.PRODUCTID)).ToList(); productList = productList.Where(m => m.PRICE == 0).ToList(); string clientid = cache.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_OrderClientIdKey); if (string.IsNullOrWhiteSpace(clientid)) { clientid = "UPWEBSITE"; } string threeUrl = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_ContractSignThree);//三要素合同地址 foreach (var model in list) { tab.AddCol(model.ORDERID); tab.AddCol(model.WEBORDERID); if (string.IsNullOrWhiteSpace(model.PRODUCTNAME)) { L2_SOFT_PRODUCT product = productList.FirstOrDefault(p => p.PRODUCTCODE == model.PRODUCTCODE); tab.AddCol(product == null ? "" : product.PRODUCTNAME); model.PRODUCTNAME = product?.PRODUCTNAME; } else { tab.AddCol(model.PRODUCTNAME); } tab.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); tab.AddCol(model.DAYS); //tab.AddCol(model.PRICE); tab.AddCol(model.CTIME); tab.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER)); tab.AddCol(string.Format("获取地址", model.WEBORDERID)); if (model.CONTRACTSTATUS == 1) { tab.AddCol(string.Format("已签订", model.WEBORDERID)); } else { tab.AddCol(string.Format("未签订")); } tab.AddCol(GetStatusName(model.ORDERSTATUS)); tab.AddCol(model.OTIME); //tab.AddCol(model.ORDERSTATUS == 1 ? string.Format(" ", model.ORDERID, model.ORDERSTATUS) : ""); tab.AddRow(); } ViewBag.List = tab.GetTable(); return View(); } else { return JsonHandler.ManageMessage("参数错误", false); } } catch (Exception ex) { LogHelper.Error("Leve2OrderController_OrderList:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } #endregion 客服申请 #region 投顾订单审核 [AuthorizeRedirect(Roles = InitRights.CONST_投顾订单开通审核)] public ActionResult CheckLevel2OrderList() { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.投顾订单开通审核, userRightId); LogHelper.Info(string.Join(",", toolbtn)); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "导出", "icon-export", "Export_Click", true); tool.AddOtherButton("Other2", "关闭", "icon-close", "Close_Click", true); //tool.AllowButton("Check", "Delete"); ViewBag.ToolBar = tool; Pager gp = new Pager() { page = 1, rows = 10 }; string tableId = "Orderlist"; Table tab = new Table(tableId); tab.AddHeadCol("checkALL", "", ""); tab.AddHeadCol("DEPTNAME", "", "部门归属"); tab.AddHeadCol("EID", "", "员工"); tab.AddHeadCol("orderid", "", "投顾单号"); tab.AddHeadCol("ProductName", "", "产品名称"); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("DAYS", "", "开通天数"); tab.AddHeadCol("MainOrderId", "", "主订单ID"); tab.AddHeadCol("PRICE", "", "支付金额"); tab.AddHeadCol("CTIME", "", "下单时间"); //tab.AddHeadCol("CREATEUSERStr", "", "下单人"); tab.AddHeadCol("ORDERSTATUSNAME", "", "订单状态"); tab.AddHeadCol("OTIME", "", "开通时间"); //tab.AddHeadCol("operation", "", "操作"); tab.AddHeadRow(); ViewBag.ActiveList = tab.GetHead() + Pagination.GetPage(gp, "Orderlist", "5,8,10,15"); var softprodutlist = cache.GetSProductList().Select(item => new SelectListItem() { Text = item.PRODUCTNAME.ToString(), Value = item.PRODUCTID.ToString() }).ToList(); softprodutlist.Insert(0, new SelectListItem { Text = "所有", Value = "-1", Selected = true }); //softprodutlist.Add(new SelectListItem { Text = "所有", Value = "-1", Selected = true }); ViewBag.SoftProductList = softprodutlist; ViewBag.inneruserid = UserId; ViewBag.userGroupId = userGroupId; ViewBag.saleDeptId = saleDeptId; ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_投顾订单开通审核)] public JsonResult GetLevel2OrderHtmlList(Pager pager, string columns, QueryUserComboDto usercomboDto) { try { string orderId = Request.Form["orderId"]; string resid = Request.Form["resid"]; // string status = Request.Form["status"];//类型 string product = Request.Form["product"];//品种 DateTime? ctime = Request.Form["ctime"].GetDateTime(); DateTime? etime = Request.Form["etime"].GetDateTime(); string username = Request.Form["userName"]; string groupId = Request.Form["groupId"]; decimal userId = Request.Form["userId"].GetDecimal(0); var list = _order.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime.Value.AddDays(1), Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId, usercomboDto); var table = new Table(columns, true); table.gridPager = pager; List productList = cache.GetSProductList(); foreach (var model in list) { L2_SOFT_PRODUCT active = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID); table.AddCol(model.ORDERSTATUS == 0 ? string.Format("", model.ORDERID) : ""); table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.CREATEUSER))); table.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER)); table.AddCol(model.ORDERID); table.AddCol(active == null ? "" : active.PRODUCTNAME); table.AddCol(model.RESID); table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol(model.DAYS); table.AddCol(model.MAINORDERID); table.AddCol(model.PRICE); table.AddCol(model.CTIME); //table.AddCol(InnerUserHelper.Instance.GetUsername(model.CREATEUSER)); table.AddCol(GetStatusName(model.ORDERSTATUS)); table.AddCol(model.OTIME); //table.AddCol(model.ORDERSTATUS == 0 ? string.Format(" ", model.ORDERID, model.ORDERID) : ""); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.Message); var json = new { totalPages = 0, totalRows = 0, rowsList = 0 }; return Json(json, JsonRequestBehavior.AllowGet); } } public string GetStatusName(decimal statusID) { int status = Convert.ToInt32(statusID); string relust = string.Empty; switch (status) { case 0: relust = "未开通"; break; case 1: relust = "已开通"; break; case 2: relust = "已撤销"; break; case 3: relust = "已删除"; break; } return relust; } /// /// 审核开通详细 /// /// /// [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Check)] public ActionResult ApplyDetails(string id) { L2_SOFT_ORDER model = null; var productName = ""; if (!string.IsNullOrEmpty(id)) { decimal orderId = Convert.ToDecimal(id); model = _order.getOrderByOrderId(orderId); if (model != null) { var product = cache.GetSProductList().Where(p => p.PRODUCTCODE.Trim() == model.PRODUCTCODE.Trim()).FirstOrDefault(); productName = product == null ? "" : product.PRODUCTNAME; } } ViewBag.days = model.DAYS; ViewBag.price = model.PRICE; ViewBag.productName = productName; ViewBag.orderId = model.ORDERID; return View(model); } [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Delete)] public JsonResult DeleteOrder(string id) { if (string.IsNullOrWhiteSpace(id)) return JsonHandler.ManageMessage("参数错误", false); string message = _order.deleteOrder(ref errors, Convert.ToDecimal(id)); bool result = message == "成功"; return JsonHandler.DeleteMessage(errors, result); } /// /// OpenOrder开通订单 /// /// /// /// /// [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Check)] public ActionResult OpenOrder(string id, string reson) { L2_SOFT_ORDER model = null; string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; if (!string.IsNullOrEmpty(id)) { decimal orderId = Convert.ToDecimal(id); model = _order.getOrderByOrderId(orderId); var freeOrderType = cache.GetValue_Parameter("freeOrderType"); if (freeOrderType != "old" && model != null) { var openMsg = _order.OpenOrder(model.WEBORDERID.ToString(), reson); return JsonHandler.ManageMessage("开通成功", true); } } var product = cache.GetSProductList().Where(p => p.PRODUCTID == model.PRODUCTID).FirstOrDefault(); freeordermodel theModel = new freeordermodel(); PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; theModel.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.RESID, phoneLogModel); theModel.needpay = model.PRICE; theModel.opendays = 1; theModel.ordertype = 1; theModel.productId = model.PRODUCTID; theModel.remark = reson; theModel.saledeptid = companyId; theModel.source = "1"; theModel.softusername = model.USERNAME; theModel.productcode = model.PRODUCTCODE;//小类代码 theModel.teamserve = 1; theModel.userid = model.CREATEUSER; theModel.count = Convert.ToInt32(model.DAYS);//产品数 --免费产品始终一天,这里天数作为数量传递,达到天数效果 theModel.productType = Convert.ToInt32(product.PRODUCTTYPE);//产品分类 theModel.opuser = UserId; theModel.ctime = DateTimeTool.ConvertDateTimeInt(model.CTIME).ToString(); //theModel.companycode = companyCode; theModel.companycode = Utility.GetSettingOrNullByKey("DataClientCode"); theModel.days = Convert.ToInt32(model.DAYS); theModel.mainOrderId = model.MAINORDERID.HasValue ? Convert.ToInt32(model.MAINORDERID) : (int?)null; var depment = cache.GetList_SalesDepartMent(); if (!string.IsNullOrEmpty(model.DEPTCODE)) { var dep = depment.Find(p => p.SALEDEPTCODE == model.DEPTCODE); if (dep != null) { if (dep.CHANNELDEF.HasValue) theModel.ch = (int)dep.CHANNELDEF; } } url = cache.GetValue_Parameter(Parameter.Core_ZxdService_FreeOrder);//内部接口··开通免费订单接口 //活动订单,不填金额,走赠送接口 //if (theModel.productCode.ToUpper().StartsWith("OEM_ACTIVE")) //{ // theModel.PayPrice = 0; // theModel.Days = 0; // url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree); //} json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); CreateOrderRsp retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 if (retmessage.retCode == (int)NodeJsOrderEnum.调用成功)//成功 { model.ORDERSTATUS = 1; model.OPENUSER = UserId; model.OTIME = DateTime.Now; model.WEBORDERID = retmessage.orderId; model.MEMO = reson; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("开通成功", true); } else { return JsonHandler.ManageMessage(string.IsNullOrEmpty(retmessage.retMsg) ? Utility.GetCheckEnumNameByValue(retmessage.retCode) : retmessage.retMsg, false); } } /// /// CloseFreeOrderByEmpower通过员工权限管理关闭免费订单 /// /// /// /// /// [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other2)] public ActionResult CloseFreeOrderByEmpower(string orderId, string username) { L2_SOFT_ORDER model = null; string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; freeOrderClose theModel = new freeOrderClose(); theModel.orderId = orderId;//订单ID theModel.userName = username; //theModel.companycode = saleDeptCode; url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CloseFreeOrder);//内部接口··开通免费订单接口 json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); freeOrderCloseRes retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 //string mms = string.Empty; if (retmessage.iRet == 0) { return JsonHandler.ManageMessage(retmessage.sMsg, true); } return JsonHandler.ManageMessage(retmessage.sMsg, false); } /// /// OpenOrder开通订单 /// /// /// /// /// [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other2)] public ActionResult CloseFreeOrder(string id) { L2_SOFT_ORDER model = null; string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; if (!string.IsNullOrEmpty(id)) { decimal orderId = Convert.ToDecimal(id); model = _order.getOrderByOrderId(orderId); } //var user = _softuser_q.GetUser_userName(model.USERNAME); //AddOrderOpen theModel = new AddOrderOpen(); //theModel.productCode = model.PRODUCTCODE; //theModel.userName = model.USERNAME; //if (model.PRICE != null) // theModel.PayPrice = model.PRICE.Value; //theModel.Days = model.DAYS; //theModel.resPhone = model.RESID; //theModel.CreateUser = UserId.ToString(); //theModel.PayMark = string.IsNullOrEmpty(reson) ? "坐席申请开通" : reson; //theModel.Orderid = model.WEBORDERID; var product = cache.GetSProductList().Where(p => p.PRODUCTID == model.PRODUCTID).FirstOrDefault(); freeOrderClose theModel = new freeOrderClose(); theModel.orderId = model.WEBORDERID;//订单ID theModel.userName = model.USERNAME; //theModel.companycode = saleDeptCode; url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CloseFreeOrder);//内部接口··开通免费订单接口 //活动订单,不填金额,走赠送接口 //if (theModel.productCode.ToUpper().StartsWith("OEM_ACTIVE")) //{ // theModel.PayPrice = 0; // theModel.Days = 0; // url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree); //} json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "关闭:" + url + "?" + json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); freeOrderCloseRes retmessage = JsonHelper.JsonDivertToObj(retmsg);//返回信息 string mms = string.Empty; if (retmessage.iRet == 0) { mms = _order.closeOrder(model.ORDERID); } else { return JsonHandler.ManageMessage(retmessage.sMsg, false); } return JsonHandler.ManageMessage(mms, false); } #region 导出 [AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other1)] public FileResult Level2ListExport(QueryUserComboDto usercomboDto) { string orderId = Request.Params["orderId"]; string resid = Request.Params["resid"]; // string status = Request.Params["status"];//类型 string product = Request.Params["product"];//品种 DateTime? ctime = Request.Params["ctime"].GetDateTime(); DateTime? etime = Request.Params["etime"].GetDateTime(); string username = Request.Params["userName"]; string groupId = Request.Params["groupId"]; decimal userId = Request.Params["userId"].GetDecimal(0); Pager pager = new Pager() { rows = int.MaxValue, page = 1 }; var list = _order.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime, Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId, usercomboDto); List productList = cache.GetSProductList(); string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitle = PageRequest.GetQueryString("checkedTitles"); if (!string.IsNullOrWhiteSpace(checkedFilds)) { checkedFilds = checkedFilds.Replace("[checkALL]", ""); } if (!string.IsNullOrWhiteSpace(checkedTitle)) { checkedTitle = checkedTitle.Trim(','); } List exprotlist = new List(); foreach (var model in list) { Soft_ActiveOrderlist item = new Soft_ActiveOrderlist(); L2_SOFT_PRODUCT active = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID); item.ORDERSTATUS = model.ORDERSTATUS; item.ProductName = active == null ? "" : active.PRODUCTNAME; item.orderid = model.ORDERID.ToString(); item.RESID = model.RESID; item.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME); item.DAYS = model.DAYS; item.PRICE = model.PRICE; item.CTIME = model.CTIME; item.CREATEUSERStr = InnerUserHelper.Instance.GetUsername(model.CREATEUSER); item.PRODUCTCODE = model.PRODUCTCODE; item.ORDERSTATUSNAME = GetStatusName(model.ORDERSTATUS); item.OTIME = model.OTIME; //table.AddCol(model.ORDERSTATUS == 0 ? string.Format(" ", model.ORDERID, model.ORDERID) : ""); exprotlist.Add(item); } return File(ExcelHelper.ExportListModelToExcel(exprotlist.ToList(), "投顾订单开通审核", 60000, checkedFilds, checkedTitle, null), "application/ms-excel", PageRequest.GetDlownLoadName("投顾订单开通审核.xls")); } #endregion 导出 #endregion 投顾订单审核 #endregion 客服申请,总监审核开通流程 #region 订单统计 /// /// 订单统计 (日期、注册渠道号、产品大类) /// /// [AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)] public ActionResult L2OrderStOrEx() { #region toolbar工具栏 ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单统计, userRightId); tool.AllowButton(toolbtn); tool.AllowButton("Other1"); tool.AddOtherButton("Other1", "导出", "icon-export", "BtnExportAll_Click", true); ViewBag.ToolBar = tool; #endregion toolbar工具栏 #region gridtable 表格 //var pager = new Pager() { page = 1, rows = 20 }; var tableId = "tablist"; var tab = new Table(tableId); tab.AddHeadCol("", "25px", " "); tab.AddHeadCol("paydate", "20%", "日期 ", true); tab.AddHiddenHeadCol("ProductCode", "ProductCode"); tab.AddHeadCol("productname", "20%", "产品 "); tab.AddHeadCol("regcampainid", "20%", "注册渠道号 ", true); //tab.AddHeadCol("countOrder", "10%", "订单数量 "); tab.AddHeadCol("sumPaytotal", "20%", "总金额 "); tab.AddHeadCol("", "10%", "操作 "); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable();// +Pagination.GetPage(pager, tableId, "10,20,30"); #endregion gridtable 表格 return View(); } [HttpPost] /// /// 按照条件获取数据 /// /// /// /// [AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)] public JsonResult L2OrderStOrExHtmlList(string columns, DateTime cTime, DateTime eTime) { string msg = ""; string ctime = Request.Form["ctime"]; string etime = Request.Form["etime"]; Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", "", "", "", "", "", ctime, etime, "", "", "", 0, 0); //获取订单列表 List orderSt = crmmodel.GetOrderSt(out msg); Table table = new Table(columns, true); //推广资源 var groupList = from q in orderSt group q by q.PayDate into g select g; string style1 = "text-align:left;padding-left:10px;"; string style2 = "text-align:left;padding-left:30px;"; //string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold"; //推广资源table foreach (var group in groupList) { var linkDetail = string.Format("详情" , "订单详细" , "/Level2/Leve2Order/L2OrderStOrExDetail?page=1&rows=20&stime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 00:00:00") + "&etime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 23:59:59")); //table.AddHiddenCol(group.First().PayDate); //table.AddHiddenCol(""); //table.AddHiddenCol(group.Sum(m => m.SumPaytotal)); table.AddCol(" "); table.AddCol(style1, "", group.Key); table.AddHiddenCol("所有"); table.AddCol(style1, "", "所有"); table.AddCol(style1, "", "所有"); table.AddCol(style1, "", "合计:" + group.Sum(m => m.SumPaytotal)); table.AddCol(linkDetail); //table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime)); table.AddRow(); foreach (var model in group) { var linkDetail1 = string.Format("详情" , "订单详细" , "/Level2/Leve2Order/L2OrderStOrExDetail?page=1&rows=20&stime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 00:00:00") + "&etime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 23:59:59") + "&productbigtype=" + model.ProductCode + "®Campainid=" + model.RegCampainid); //table.AddHiddenCol(""); //table.AddHiddenCol(model.PayDate); //table.AddHiddenCol(model.ProductName); table.AddCol(""); table.AddCol(""); table.AddHiddenCol(model.ProductCode); table.AddCol(style2, "", model.ProductName); table.AddCol(style2, "", model.RegCampainid); table.AddCol(style2, "", model.SumPaytotal); //table.AddCol(style2, "", model.ActivityCountByTime); //table.AddCol(style3, "", ""); table.AddCol(linkDetail1); table.AddRow("style='display:none' typeName='" + group.Key + "'"); } } var json = new { rowsList = table.GetRows()//推广 }; return Json(json, JsonRequestBehavior.AllowGet); } /// /// 订单详情页面 /// /// /// public ActionResult L2OrderStOrExDetail(string stime, string etime, string productbigtype, string regCampainid) { #region toolbar工具栏 ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单统计, userRightId); tool.AllowButton(toolbtn); tool.AllowButton("Other1"); tool.AddOtherButton("Other1", "导出", "icon-export", "BtnExportAll_Click", true); ViewBag.ToolBar = tool; #endregion toolbar工具栏 #region gridtable 表格 var pager = new Pager() { page = 1, rows = 20 }; var tableId = "detailtablist"; var tab = new Table(tableId); tab.AddHeadCol("orderid", "10%", "订单号 ", true); tab.AddHeadCol("pcusername", "10%", "用户名 "); tab.AddHeadCol("bigproductcode", "10%", "产品"); tab.AddHeadCol("regcampainid", "10%", "注册渠道号", true); tab.AddHeadCol("WEBPAYID", "10%", "支付流水号 "); tab.AddHeadCol("PAYTOTAL", "10%", "支付金额", true); tab.AddHeadCol("PAYTYPE", "10%", "支付方式", true); tab.AddHeadCol("CTIME", "10%", "支付时间"); tab.AddHeadCol("PAYMEMO", "10%", "支付备注"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30"); #endregion gridtable 表格 #region 页面传值 ViewBag.Stime = stime; ViewBag.Etime = etime; ViewBag.Productbigtype = productbigtype; ViewBag.RegCampainid = regCampainid; #endregion 页面传值 return View(); } //列表 [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)] public JsonResult L2OSOEDGetHtmlList(Pager pager, string columns)//, string stime, string etime, string productbigtype, string regCampainid) { int total = 0; string msg = ""; string stime = Request.Form["stime"]; string etime = Request.Form["etime"]; string regCampainid = Request.Form["regCampainid"]; string _productbigtype = Request.Form["productbigtype"]; //string _productbigtype = productbigtype; if (string.IsNullOrEmpty(_productbigtype)) _productbigtype = "-1"; if (_productbigtype == "-1") { //if (_protype != null) //{ softBigProducts = cache.GetBigProductList(); //softBigProducts = softBigProducts.Where(p => p.GROUPID == Convert.ToDecimal(_protype)).ToList() softBigProducts = softBigProducts.ToList(); _productbigtype = ""; foreach (L2_SOFT_BIGPRODUCT item in softBigProducts) { _productbigtype += item.PRODUCTCODE + ","; } _productbigtype = _productbigtype.Substring(0, _productbigtype.Length - 1); //} } if (!string.IsNullOrEmpty(stime) && !string.IsNullOrEmpty(etime)) { stime = Convert.ToDateTime(stime).ToString("yyyy-MM-dd 00:00:00"); etime = Convert.ToDateTime(etime).ToString("yyyy-MM-dd 23:59:59"); } Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(_productbigtype, stime, etime, string.IsNullOrEmpty(regCampainid) ? (decimal?)null : Convert.ToDecimal(regCampainid), pager.page, pager.rows); //获取支付列表 List detail = crmmodel.GetOrderStDetail(out msg, out total); var list = detail.AsQueryable(); pager.totalRows = total; var table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddCol(model.ORDERID);//订单号 table.AddCol(PhoneHelper.FormatPhoneUserName(model.PcUserName));//pc用户名 table.AddCol(GetBigProductName(model.BIGPRODUCTCODE));//大类代码 table.AddCol(model.RegCampainid);//注册渠道号 table.AddCol(model.WEBPAYID);//支付流水号 table.AddCol(model.PAYTOTAL);//支付金额 table.AddCol(GetPayType(model.PAYTYPE.ToString()));//支付方式 table.AddCol(model.CTIME);//开通时间 table.AddCol(model.PAYMEMO);//支付备注 table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [AuthorizeToolBar(InitRights.CONST_L2订单统计, InitToolBar.CONST_Other4)] public FileResult L2OrderStOrExDetailListExport() { int total = 0; string msg = ""; string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); string ctime = Request.QueryString["ctime"]; string etime = Request.QueryString["etime"]; string openstime = Request.QueryString["openctime"]; string openetime = Request.QueryString["openetime"]; string _productbigtype = Request.QueryString["productbigtype"]; string _productsmalltype = Request.QueryString["productsmalltype"]; string _openStatu = Request.QueryString["openStatu"]; string _userName = Request.QueryString["userName"]; string _OrderId = Request.QueryString["OrderId"]; string _resId = Request.Form["ResId"]; if (_productbigtype == "-1") { _productbigtype = ""; } if (_productsmalltype == "-1" || _productsmalltype == "null") { _productsmalltype = ""; } Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, 1, int.MaxValue); //获取订单列表 List list = crmmodel.GetOderDetail(out msg, out total); List ResIds = new List(); foreach (var item in list) { item.USERNAME = PhoneHelper.FormatPhoneUserName(item.USERNAME); item.PcUserName = PhoneHelper.FormatPhoneUserName(item.USERNAME); var orderext = item.orderExt.FirstOrDefault(); if (null != orderext) { item.CHANNEL = orderext.USERCAMPAINID; item.L2RESID = orderext.MOBILE; try { ResIds.Add(orderext.MOBILE); RegisterResId regist = new RegisterResId(orderext.MOBILE); regist.RegisterPhone(); } catch (Exception ex) { LogHelper.Error("level2导出的手机注册" + orderext.MOBILE + ex.ToString()); } } } try { RegisterListResId regist = new RegisterListResId(ResIds); regist.RegisterPhone(); } catch (Exception ex) { LogHelper.Error("level2导出的手机注册" + ex.ToString()); } return File(ExcelHelper.ExportListModelToExcel(list, "订单查询", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("订单查询.xls")); } #endregion 订单统计 public class FreeOrderRule { public bool IsLimit { get; set; } public List Products { get; set; } } public class FreeProductRule { public decimal ProductId { get; set; } public int Limit { get; set; } } } }