using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.Soft; using WX.CRM.IBLL.Util; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; using WX.CRM.Model.QueryMap; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Soft { public class SoftOrderController : BaseController { ValidationErrors errors = new ValidationErrors(); private readonly IRES_CUSTOMERUSER_Q _customerUser_Q; private readonly ISOFT_ACTIVE_Q _product_q; private readonly ISOFT_USER_Q _softuser_q; private readonly ISOFT_ACTIVEORDER _order; private readonly ISOFT_ACTIVEORDER_Q _order_q; private readonly ICACHE_Q _cacheQ; private readonly ISecurityHelper _sHelper; private readonly ISOFT_ACTIVEREVAPPLY _softRev; private readonly ISOFT_ACTIVEREVAPPLY_Q _softRev_Q; public SoftOrderController( IRES_CUSTOMERUSER_Q customerUser_Q, ISOFT_ACTIVE_Q product_q, ISOFT_ACTIVEORDER order, ISOFT_ACTIVEORDER_Q order_q, ICACHE_Q cacheq, ISOFT_USER_Q softuser_q, ISecurityHelper sHelper, ISOFT_ACTIVEREVAPPLY softRev, ISOFT_ACTIVEREVAPPLY_Q softRev_q ) { this._customerUser_Q = customerUser_Q; this._product_q = product_q; this._order = order; this._order_q = order_q; this._cacheQ = cacheq; this._softuser_q = softuser_q; this._sHelper = sHelper; this._softRev = softRev; this._softRev_Q = softRev_q; } /// /// 申请订单页面 /// /// /// public ActionResult CreateActiveOrder(string CustomerId) { List lists = new List(); List productList = new List(); 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(); ViewBag.CustomerId = CustomerId; ViewBag.UserNameItems = UserNameItems; ViewBag.ProductList = ProductList; return View(); } /// /// 申请订单_post /// /// /// /// /// public ActionResult CreateOrder(string UserName, string ProductList, string ResId) { decimal productId; UserName = Utility.DecryptUrlDecode(UserName); if (!string.IsNullOrEmpty(UserName) && decimal.TryParse(ProductList, out productId)) { //var ORDER = _order_q.getOrder(Convert.ToDecimal(productId), UserName, ResId); //if (null == ORDER) //{ bool result = _order.CreateOrder(productId, ResId, UserName, companyId, UserId, 1); if (result) return JsonHandler.ManageMessage("下单申请成功", true); else return JsonHandler.ManageMessage("下单申请失败", false); //} //else //{ // return JsonHandler.ManageMessage("用户" + UserName + "已存在该活动", false); //} } else { return JsonHandler.ManageMessage("参数错误", false); } } public ActionResult OrderList(string ResId) { try { if (!string.IsNullOrEmpty(ResId)) { string tableId = "Orderlist"; Table tab = new Table(tableId, "layui-table content_width"); tab.AddHeadCol("ORDERID", "12%", "活动单号"); tab.AddHeadCol("PRODUCTID", "12%", "活动名称"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("CTIME", "12%", "下单时间"); tab.AddHeadCol("CREATEUSER", "12%", "下单人"); tab.AddHeadCol("ORDERSTATUS", "12%", "是否开通"); tab.AddHeadCol("OTIME", "12%", "开通时间"); tab.AddHeadCol("operation", "", "操作"); tab.AddHeadRow(); var list = _order_q.getOrderByResId(ResId); List productList = _cacheQ.GetList_SoftProduct(); foreach (var model in list) { SOFT_ACTIVE product = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID); tab.AddCol(model.ORDERID); tab.AddCol(product == null ? "" : product.PRODUCTNAME); tab.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); tab.AddCol(model.CTIME); tab.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER)); 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("SoftOrderController_OrderList:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } #region 活动订单审核 [AuthorizeRedirect(Roles = InitRights.CONST_活动订单开通审核)] public ActionResult CheckActiveOrderList() { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.活动订单开通审核, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "导出", "icon-export", "Export_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("orderid", "", "活动单号"); tab.AddHeadCol("ProductName", "", "活动名称"); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("CTIME", "", "下单时间"); tab.AddHeadCol("CREATEUSERStr", "", "下单人"); tab.AddHeadCol("PRODUCTCODE", "", "渠道号"); 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 = _cacheQ.GetList_SoftProduct().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 GetActiveOrderHtmlList(Pager pager, string columns) { 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_q.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime.Value.AddDays(1), Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId); var table = new Table(columns, true); table.gridPager = pager; List productList = _cacheQ.GetList_SoftProduct(); foreach (var model in list) { SOFT_ACTIVE active = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID); table.AddCol(model.ORDERSTATUS == 0 ? string.Format("", model.ORDERID) : ""); table.AddCol(model.ORDERID); table.AddCol(active == null ? "" : active.PRODUCTNAME); table.AddCol(model.RESID); table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol(model.CTIME); table.AddCol(InnerUserHelper.Instance.GetUsername(model.CREATEUSER)); table.AddCol(model.PRODUCTCODE); 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 Details(string id) { SOFT_ACTIVEORDER model = null; var productName = ""; if (!string.IsNullOrEmpty(id)) { decimal orderId = Convert.ToDecimal(id); model = _order_q.getOrderByOrderId(orderId); if (model != null) { var product = _cacheQ.GetList_SoftProduct().Where(p => p.PRODUCTCODE.Trim() == model.PRODUCTCODE.Trim()).FirstOrDefault(); productName = product == null ? "" : product.PRODUCTNAME; } } 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开通订单 /// /// /// /// /// public ActionResult OpenOrder(string id, string reson) { SOFT_ACTIVEORDER model = null; string AdminPassword = _cacheQ.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = _cacheQ.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; if (!string.IsNullOrEmpty(id)) { decimal orderId = Convert.ToDecimal(id); model = _order_q.getOrderByOrderId(orderId); } var user = _softuser_q.GetUser_userName(model.USERNAME); NewActiveAgentCreateAndOpen theModel = new NewActiveAgentCreateAndOpen(); theModel.Agentid = Convert.ToInt32(AdminAgentId); theModel.campaignId = model.PRODUCTCODE; theModel.usercardno = user.USERNO.ToString(); theModel.userName = user.USERNAME; theModel.adminPwd = AdminPassword; if (string.IsNullOrEmpty(model.WEBORDERID)) { #region 一次性开通成功的 url = _cacheQ.GetValue_Parameter(Parameter.ISVR_IAD_localhostOpenOrder);//内部接口··调用RiaSerivice json = Utility.ConvertToJSON(theModel); json = _sHelper.createSignEncodingStr(json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result) { if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.已拥有相同或更高版本)) { _order.deleteOrder(ref errors, model.ORDERID);//清除订单 return JsonHandler.ManageMessage("已拥有相同或更高版本,不能开通", true); } else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.开通则撤销之前低版本)) { model.ORDERSTATUS = 1; model.OTIME = DateTime.Now; model.WEBORDERID = retmessage.orderId; model.MEMO = reson; _order.UpdateOrder(ref errors, model); //应该还有一步操作 取消该resId的VIP系列的其他操作 _order.BatchUpdateVip(model.ORDERID, model.USERNAME); return JsonHandler.ManageMessage("已开通当前版本并撤销了之前的低阶版本", true); } else { model.ORDERSTATUS = 1; model.OTIME = DateTime.Now; model.WEBORDERID = retmessage.orderId; model.MEMO = reson; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("开通成功", true); } } else { if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.已拥有相同或更高版本)) { _order.deleteOrder(ref errors, model.ORDERID);//清除订单 return JsonHandler.ManageMessage("已拥有相同或更高版本,不能开通", false); } else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.系统错误) && !string.IsNullOrWhiteSpace(retmessage.orderId)) { // 将接口订单写入表中(情况属于订单建立成功,但未开通成功) model.WEBORDERID = retmessage.orderId; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("系统正忙,请稍后再试", false); } else { return JsonHandler.ManageMessage("系统错误" + retmessage.retcode.ToString(), false); } } #endregion } else { #region 订单已创建但是未开通的 url = _cacheQ.GetValue_Parameter(Parameter.ISVR_IAD_localhostSimpleOpenOrder); theModel.orderid = model.WEBORDERID; json = Utility.ConvertToJSON(theModel); json = _sHelper.createSignEncodingStr(json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result) { model.ORDERSTATUS = 1; model.OPENUSER = UserId; model.OTIME = DateTime.Now; model.WEBORDERID = retmessage.orderId; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("开通成功", true); } else { if (retmessage.retcode == (int)EnumInterfaceErrcode.订单已开通) { model.ORDERSTATUS = 1; model.OPENUSER = UserId; model.OTIME = DateTime.Now; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("开通成功", true); } else { return JsonHandler.ManageMessage("系统错误" + retmessage.retcode, false); } } #endregion } } #region 导出 [AuthorizeToolBar(InitRights.CONST_活动订单开通审核, InitToolBar.CONST_Other1)] public FileResult ListExport() { 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_q.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime, Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId); List productList = _cacheQ.GetList_SoftProduct(); string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitle = PageRequest.GetQueryString("checkedTitles"); List exprotlist = new List(); foreach (var model in list) { Soft_ActiveOrderlist item = new Soft_ActiveOrderlist(); SOFT_ACTIVE 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.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 #region 撤销订单模块 /// /// 撤销订单原因填写 /// /// public ActionResult OrderRevApply(string status, string OrderId) { ViewBag.status = status; ViewBag.orderId = OrderId; return View(); } /// /// 撤销订单申请 /// /// /// /// public ActionResult cancleOrderApply(string status, string OrderId, string Reson) { if (status != "1") { return JsonHandler.ManageMessage("订单非开通状态,无法申请撤销", false); } try { decimal orderid; string msg = ""; if (decimal.TryParse(OrderId, out orderid)) { var orderModel = _order_q.getOrderByOrderId(orderid); var product = _cacheQ.GetList_SoftProduct().Where(p => p.PRODUCTID == orderModel.PRODUCTID).FirstOrDefault(); var exites = _softRev_Q.getOrderRevApplyByOrderid(orderid); if (exites != null) { return JsonHandler.ManageMessage("该订单已申请!", false); } SOFT_ACTIVEREVAPPLY revApply = new SOFT_ACTIVEREVAPPLY(); revApply.ORDERID = orderModel.ORDERID; revApply.ISDELETE = 0; revApply.ISCHECK = 0; revApply.APPLYERID = UserId; revApply.APPLYREASON = Reson; revApply.APPLYTIME = DateTime.Now; revApply.PRODUCTCODE = orderModel.PRODUCTCODE; revApply.PRODUCTID = orderModel.PRODUCTID; revApply.PRODUCTNAME = product == null ? "" : product.PRODUCTNAME; revApply.RESID = orderModel.RESID; revApply.USERNAME = orderModel.USERNAME; _softRev.Create(ref errors, revApply); msg = "订单申请成功"; } else { msg = "订单申请错误"; } return JsonHandler.ManageMessage(msg, false); } catch (Exception ex) { LogHelper.Error("SoftOrderController_cancleOrder" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } [AuthorizeRedirect(Roles = InitRights.CONST_活动订单撤销)] public ActionResult CheckOrderRevApplyList() { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.活动订单撤销, userRightId); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; Pager gp = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("Pkid", "主键Id"); tab.AddHeadCol("ORDERID", "10%", "活动单号"); tab.AddHeadCol("PRODUCTNAME", "12%", "活动名称"); tab.AddHeadCol("RESID", "12%", "客户ID"); tab.AddHeadCol("USERNAME", "10%", "用户名"); tab.AddHeadCol("ApplyTime", "12%", "申请时间"); tab.AddHeadCol("ApplyReason", "12%", "申请原因"); tab.AddHeadCol("PRODUCTCODE", "", "渠道号"); //tab.AddHeadCol("operation", "", "操作"); tab.AddHeadRow(); ViewBag.OrderRevList = tab.GetHead() + Pagination.GetPage(gp, "tablist", "5,8,10,15"); var softprodutlist = _cacheQ.GetList_SoftProduct().Select(item => new SelectListItem() { Text = item.PRODUCTNAME.ToString(), Value = item.PRODUCTID.ToString() }).ToList(); //softprodutlist.Add(new SelectListItem { Text = "所有", Value = "-1", Selected = true }); softprodutlist.Insert(0, new SelectListItem { Text = "所有", Value = "-1", Selected = true }); ViewBag.SoftProductList = softprodutlist; return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_活动订单撤销)] public JsonResult CheckOrderRevHtmlList(Pager pager, string columns) { 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"]; var list = _softRev_Q.getOrderList(ref pager, ctime, etime, Convert.ToInt32(product ?? "0"), resid, orderId, username); var table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddHiddenCol(model.PKID); table.AddCol(model.ORDERID); table.AddCol(model.PRODUCTNAME); table.AddCol(model.RESID); table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol(model.APPLYTIME); table.AddCol(model.APPLYREASON); table.AddCol(model.PRODUCTCODE); //table.AddCol(model.ISCHECK == 0 ? string.Format(" ", model.PKID) : ""); 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); } } /// /// 审核开通详细 /// /// /// [AuthorizeToolBar(InitRights.CONST_活动订单撤销, InitToolBar.CONST_Check)] public ActionResult revCheckDetails(string id) { SOFT_ACTIVEREVAPPLY model = null; var productName = ""; decimal pkid; if (decimal.TryParse(id, out pkid)) { model = _softRev_Q.getOrderRevApplyById(pkid); if (model != null) { var product = _cacheQ.GetList_SoftProduct().Where(p => p.PRODUCTCODE == model.PRODUCTCODE).FirstOrDefault(); productName = product == null ? "" : product.PRODUCTNAME; } } ViewBag.productName = productName; ViewBag.PKID = model.PKID; return View(model); } public ActionResult cancleOrder(string id, string Reson) { SOFT_ACTIVEREVAPPLY revModel = null; string AdminPassword = _cacheQ.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = _cacheQ.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; string checkreson = Reson; decimal pkid; if (decimal.TryParse(id, out pkid)) { revModel = _softRev_Q.getOrderRevApplyById(pkid); } var user = _softuser_q.GetUser_userName(revModel.USERNAME); SOFT_ACTIVEORDER model = _order_q.getOrderByOrderId(revModel.ORDERID); NewActiveAgentCreateAndOpen theModel = new NewActiveAgentCreateAndOpen(); theModel.Agentid = Convert.ToInt32(AdminAgentId); theModel.campaignId = model.PRODUCTCODE; theModel.usercardno = user.USERNO.ToString(); theModel.userName = user.USERNAME; theModel.adminPwd = AdminPassword; if (string.IsNullOrEmpty(model.WEBORDERID)) { revModel.ISDELETE = 1; _softRev.Update(ref errors, revModel); return JsonHandler.ManageMessage("此申请单有误", false); } else { theModel.orderid = model.WEBORDERID; url = _cacheQ.GetValue_Parameter(Parameter.ISVR_IAD_localhostCanclOrder); json = Utility.ConvertToJSON(theModel); json = _sHelper.createSignEncodingStr(json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result || retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.订单已取消)) { revModel.ISCHECK = 1; revModel.CHECKTIME = DateTime.Now; revModel.CHECKREMARK = checkreson; revModel.CHECKERID = UserId; _softRev.Update(ref errors, revModel); model.ORDERSTATUS = 2; _order.UpdateOrder(ref errors, model); return JsonHandler.ManageMessage("撤销订单成功", true); } else { LogHelper.Error(retmsg); return JsonHandler.ManageMessage("撤销订单失败", false); } } } #endregion #region 无主用户 [AuthorizeRedirect(Roles = InitRights.CONST_无主用户列表)] public ActionResult UnAgentInUserlist() { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.无主用户列表, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "活动申请", "icon-add", "Apply_Click", true); tool.AddOtherButton("Other2", "已申请活动", "icon-details", "Applied_Click", true); tool.AddOtherButton("Other3", "用户名申请", "icon-add", "UserApply_Click", true); //tool.AllowButton("Check", "Delete"); ViewBag.ToolBar = tool; Pager gp = new Pager() { page = 1, rows = 10 }; string tableId = "userlist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("USERNAME2", "用户名"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("USERNO", "", "用户卡号"); tab.AddHeadCol("REGDATE", "", "注册时间"); tab.AddHeadCol("REGCAMPAINID", "", "注册来源"); tab.AddHeadRow(); ViewBag.ActiveList = tab.GetHead() + Pagination.GetPage(gp, "userlist", "5,8,10,15"); return View(); } [AuthorizeRedirect(Roles = InitRights.CONST_无主用户列表)] public ActionResult getUnAgentInUserlist(Pager pager, string columns) { string username = Request.Form["username"]; decimal? regtag = Request.Form["regtag"].GetDecimal(); // DateTime? ctime = Request.Form["ctime"].GetDateTime(); DateTime? etime = Request.Form["etime"].GetDateTime(); var list = _softuser_q.geUnAgentUserList(ref pager, ctime, etime, username, regtag); var table = new Table(columns, true); table.gridPager = pager; List activityList = _cacheQ.GetList_ResActivity(); foreach (var model in list) { RES_ACTIVITY activity = activityList.FirstOrDefault(p => p.RESOURCETAG == model.REGCAMPAINID.ToString()); table.AddHiddenCol(Utility.EncryptUrlEncode(model.USERNAME)); table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); table.AddCol(model.USERNO); table.AddCol(model.REGDATE); table.AddCol(activity == null ? model.REGCAMPAINID.ToString() : activity.ACTIVITYNAME); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } /// /// 无主用户申请订单页面 /// /// /// [AuthorizeToolBar(InitRights.CONST_无主用户列表, InitToolBar.CONST_Other1)] public ActionResult CreateUnAgentOrder(string username) { List productList = new List(); try { productList = _product_q.GetAllPRODUCTS().Where(p => p.ISSHOW.ToString() == "1").ToList(); } catch (Exception ex) { LogHelper.Error(ex.Message); } var ProductList = productList.Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }).ToList(); ViewBag.Username = username; ViewBag.ProductList = ProductList; return View(); } [AuthorizeToolBar(InitRights.CONST_无主用户列表, InitToolBar.CONST_Other2)] public ActionResult UnAgentOrderList(string username) { try { username = Utility.DecryptUrlDecode(username); if (!string.IsNullOrEmpty(username)) { string tableId = "Orderlist"; Table tab = new Table(tableId, "layui-table"); tab.AddHeadCol("ORDERID", "12%", "活动单号"); tab.AddHeadCol("PRODUCTID", "12%", "活动名称"); tab.AddHeadCol("USERNAME", "", "用户名"); tab.AddHeadCol("CTIME", "12%", "下单时间"); tab.AddHeadCol("CREATEUSER", "12%", "下单人"); tab.AddHeadCol("ORDERSTATUS", "12%", "是否开通"); tab.AddHeadCol("OTIME", "12%", "开通时间"); tab.AddHeadCol("operation", "", "操作"); tab.AddHeadRow(); var list = _order_q.getOrderByUsername(username); List productList = _cacheQ.GetList_SoftProduct(); foreach (var model in list) { SOFT_ACTIVE product = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID); tab.AddCol(model.ORDERID); tab.AddCol(product == null ? "" : product.PRODUCTNAME); tab.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME)); tab.AddCol(model.CTIME); tab.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER)); 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("SoftOrderController_UnAgentOrderList:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } //软件用户名申请活动 [AuthorizeToolBar(InitRights.CONST_无主用户列表, InitToolBar.CONST_Other3)] public ActionResult UnAgentApply() { List productList = new List(); try { productList = _product_q.GetAllPRODUCTS().Where(p => p.ISSHOW.ToString() == "1").ToList(); } catch (Exception ex) { LogHelper.Error(ex.Message); } var ProductList = productList.Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }).ToList(); ViewBag.ProductList = ProductList; return View(); } [AuthorizeToolBar(InitRights.CONST_无主用户列表, InitToolBar.CONST_Other3)] public ActionResult UnAgentUserApply(string UserName, string ProductList) { if (string.IsNullOrEmpty(UserName)) return JsonHandler.ManageMessage("用户名不能为空", false); string checkUsernameUrl = _cacheQ.GetValue_Parameter("checkSoftUser"); try { string retmsg = Utility.PostData(checkUsernameUrl + "/" + UserName, Encoding.UTF8); if (!string.IsNullOrEmpty(retmsg)) return CreateOrder(Utility.EncryptUrlEncode(UserName), ProductList, ""); return JsonHandler.ManageMessage("用户名不存在", false); } catch (Exception ex) { return JsonHandler.ManageMessage("用户名不存在", false); } } #endregion } }