TG.WXCRM.V4/WEB/Controllers/Soft/SoftOrderController.cs

942 lines
40 KiB
C#

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;
}
/// <summary>
/// 申请订单页面
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
public ActionResult CreateActiveOrder(string CustomerId)
{
List<SOFT_USER> lists = new List<SOFT_USER>();
List<SOFT_ACTIVE> productList = new List<SOFT_ACTIVE>();
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();
}
/// <summary>
/// 申请订单_post
/// </summary>
/// <param name="UserName"></param>
/// <param name="ProductList"></param>
/// <param name="ResId"></param>
/// <returns></returns>
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<SOFT_ACTIVE> 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(" <input class='btn btn-danger cancelOrder' type='button' value='申请撤销' OrderId=\"{0}\" status=\"{1}\" />", 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", "", "<input type='checkbox' id='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<SOFT_ACTIVE> 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("<input name='orderCheck' type='checkbox' value='{0}' />", 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(" <input class='btn btn-danger ' type='button' value='审核' checkOrder(\"{0}\") /> <input class='btn btn-danger ' type='button' value='删除' deleteOrder(\"{1}\") />", 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;
}
/// <summary>
/// 审核开通详细
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[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);
}
/// <summary>
/// OpenOrder开通订单
/// </summary>
/// <param name="UserName"></param>
/// <param name="ProductList"></param>
/// <param name="ResId"></param>
/// <returns></returns>
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<NewActiveAgentCreateAndOpen>(theModel);
json = _sHelper.createSignEncodingStr(json);
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
retClass retmessage = JsonHelper.JsonDivertToObj<retClass>(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<NewActiveAgentCreateAndOpen>(theModel);
json = _sHelper.createSignEncodingStr(json);
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
retClass retmessage = JsonHelper.JsonDivertToObj<retClass>(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<SOFT_ACTIVE> productList = _cacheQ.GetList_SoftProduct();
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
string checkedTitle = PageRequest.GetQueryString("checkedTitles");
List<Soft_ActiveOrderlist> exprotlist = new List<Soft_ActiveOrderlist>();
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(" <input class='btn btn-danger ' type='button' value='审核' checkOrder(\"{0}\") /> <input class='btn btn-danger ' type='button' value='删除' deleteOrder(\"{1}\") />", model.ORDERID, model.ORDERID) : "");
exprotlist.Add(item);
}
return File(ExcelHelper.ExportListModelToExcel<Soft_ActiveOrderlist>(exprotlist.ToList(), "活动订单开通审核", 60000, checkedFilds, checkedTitle, null), "application/ms-excel", PageRequest.GetDlownLoadName("活动订单开通审核.xls"));
}
#endregion
#endregion
#region
/// <summary>
/// 撤销订单原因填写
/// </summary>
/// <returns></returns>
public ActionResult OrderRevApply(string status, string OrderId)
{
ViewBag.status = status;
ViewBag.orderId = OrderId;
return View();
}
/// <summary>
/// 撤销订单申请
/// </summary>
/// <param name="status"></param>
/// <param name="OrderId"></param>
/// <returns></returns>
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(" <input class='btn btn-danger ' type='button' value='审核' CanclOrder(\"{0}\") /> ", 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);
}
}
/// <summary>
/// 审核开通详细
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[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<NewActiveAgentCreateAndOpen>(theModel);
json = _sHelper.createSignEncodingStr(json);
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
retClass retmessage = JsonHelper.JsonDivertToObj<retClass>(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<RES_ACTIVITY> 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);
}
/// <summary>
/// 无主用户申请订单页面
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
[AuthorizeToolBar(InitRights.CONST_无主用户列表, InitToolBar.CONST_Other1)]
public ActionResult CreateUnAgentOrder(string username)
{
List<SOFT_ACTIVE> productList = new List<SOFT_ACTIVE>();
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<SOFT_ACTIVE> 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(" <input class='btn btn-danger cancelOrder' type='button' value='申请撤销' OrderId=\"{0}\" status=\"{1}\" />", 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<SOFT_ACTIVE> productList = new List<SOFT_ACTIVE>();
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
}
}