942 lines
40 KiB
C#
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
|
|
}
|
|
}
|