ComplianceServer/oldcode/WEB/Controllers/Level2/BatchOrderController.cs

129 lines
4.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using WX.CRM.Common;
using WX.CRM.IBLL.Util;
using WX.CRM.WEB.ViewModel.Level2;
using WX.CRM.WebHelper;
namespace WX.CRM.WEB.Controllers.Level2
{
public class BatchOrderController : BaseController
{
//
// GET: /BatchOrder/
[Ninject.Inject]
public ISecurityHelper security { get; set; }
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_L2批量下载)]
public ActionResult Index()
{
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_L2批量下载)]
public ActionResult getList(Pager pager, BatchOrder order)
{
List<BatchOrder> orders = new List<BatchOrder>();
if (pager.page < 1)
{
pager.page = 1;
}
if (pager.rows < 1)
{
pager.rows = 12;
}
if (ModelState.IsValid)
{
orders = order.GetList();
pager.totalRows = orders.Count;
if (pager.page == 1)
{
orders = orders.OrderBy(p => p.FullName).Take(pager.rows).ToList();
}
else if (pager.page > 1)
{
orders = orders.OrderBy(p => p.FullName).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
}
}
string Para = order.getPara();
string page = Pagination.GetPage(pager);
return Json(new { result = true, page = page, para = Para, Data = orders }, JsonRequestBehavior.AllowGet);
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_L2批量下载)]
public ActionResult Open(BatchOrder order)
{
bool result = true;
string msg = "";
List<returnOrderResult> resultList = new List<returnOrderResult>();
if (ModelState.IsValid)
{
try
{
foreach (var model in order.GetList())
{
returnOrderResult reg, addorder, openorder;
RegUserParamModel parm = new RegUserParamModel(model.FullName, "888888", "", model.campaignId, "", "P", "");
reg = parm.getResult();
resultList.Add(reg);
if (reg.result)
{
AddOrderModel1 addOrder = new AddOrderModel1(model.ProductCode, model.FullName, model.campaignId, 1, "13838380038", model.IP, Eid.ToString());
addorder = addOrder.getResult();
resultList.Add(addorder);
if (addorder.result)
{
OpenOrderModel1 openOrder = new OpenOrderModel1(addorder.ApplyOrderId, model.FullName);
openorder = openOrder.getResult();
resultList.Add(openorder);
}
}
}
}
catch (Exception ex)
{
result = false;
msg = ex.Message;
}
}
else
{
msg = "验证不通过";
}
var regCount = resultList.Where(p => p.result == false && p.type == "reg").ToList();
if (regCount.Count > 0)
{
result = false;
string userNames = string.Join(",", regCount.Select(p => p.userName).ToArray());
msg = "注册不通过数:" + regCount.Count + "。" + userNames;
LogHelper.Error("注册不通过:" + JsonHelper.ObjDivertToJson(regCount));
}
var addCount = resultList.Where(p => p.result == false && p.type == "add").ToList();
if (addCount.Count > 0)
{
result = false;
string userNames = string.Join(",", addCount.Select(p => p.userName).ToArray());
msg += "下单不通过数:" + addCount.Count + "。" + userNames;
LogHelper.Error("申请不通过:" + JsonHelper.ObjDivertToJson(addCount));
}
var openCount = resultList.Where(p => p.result == false && p.type == "open").ToList();
if (openCount.Count > 0)
{
result = false;
string userNames = string.Join(",", openCount.Select(p => p.userName).ToArray());
msg += "开通不通过数:" + openCount.Count + "。" + userNames;
LogHelper.Error("开通不通过:" + JsonHelper.ObjDivertToJson(openCount));
}
return Json(new { result = result, message = msg }, JsonRequestBehavior.AllowGet);
}
}
}