198 lines
7.8 KiB
C#
198 lines
7.8 KiB
C#
using Ninject;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web.Mvc;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.IBLL.Csvr;
|
||
using WX.CRM.IBLL.Res;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.WebHelper;
|
||
|
||
namespace WX.CRM.WEB.Controllers.Csvr
|
||
{
|
||
public class VipNumberController : BaseController
|
||
{
|
||
[Inject]
|
||
public ICSVR_VIPNUMBER_Q csvr_vipnumber_q { get; set; }
|
||
[Inject]
|
||
public ICSVR_VIPNUMBER csvr_vipnumber { get; set; }
|
||
[Inject]
|
||
public IRES_CUSTOMER_Q _customerq { get; set; }
|
||
[Inject]
|
||
public IBAS_SUBCOMTYPE_Q _bassubcomtypeq { get; set; }
|
||
|
||
ValidationErrors errors = new ValidationErrors();
|
||
//
|
||
// GET: /VipNumber/
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_Vip电话管理)]
|
||
public ActionResult Index()
|
||
{
|
||
var tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.Vip电话管理, userRightId);
|
||
List<string> listBtn = new List<string>(toolbtn);
|
||
List<string> Buttons = new List<string>();
|
||
Buttons.Add("Other1");
|
||
Buttons.AddRange(listBtn);
|
||
tool.AllowButton(Buttons.ToArray());
|
||
// tool.AllowButton("Create", "Other1", "Delete");
|
||
tool.AddOtherButton("Other1", "刷新", "icon-reload", "Reload_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
var pager = new Pager() { page = 1, rows = 10 };
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHiddenHeadCol("PKID", "ID");//隐藏列
|
||
tab.AddHeadCol("RESID", "20%", "客户ID ");
|
||
tab.AddHeadCol("VIPTYPE", "20%", "类型 ");
|
||
tab.AddHeadCol("REASON", "20%", "备注");
|
||
tab.AddHeadCol("CTIME", "20%", "添加时间");
|
||
tab.AddHeadCol("CREATEUSRE", "", "添加人");
|
||
tab.AddHeadRow();
|
||
|
||
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30");
|
||
|
||
|
||
List<BAS_SUBCOMTYPE> list = _bassubcomtypeq.GetSubComType("VipCusType");
|
||
ViewBag.SubComTypeList = list;
|
||
return View();
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_Vip电话管理)]
|
||
public JsonResult GetHtmlList(Pager pager, string type, string resid, string columns)
|
||
{
|
||
try
|
||
{
|
||
List<BAS_SUBCOMTYPE> listsub = _bassubcomtypeq.GetSubComType("VipCusType");
|
||
var list = csvr_vipnumber_q.GetPagingData(ref pager, resid, type);
|
||
var table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
foreach (var model in list)
|
||
{
|
||
table.AddHiddenCol(model.PKID);//影藏列
|
||
table.AddCol(model.RESID);
|
||
var xs = listsub.FirstOrDefault(m => m.SUBTYPECODE == model.VIPTYPE);
|
||
if (xs != null)
|
||
{
|
||
table.AddCol(xs.SUBTYPENAME);
|
||
}
|
||
else
|
||
{
|
||
table.AddCol(model.VIPTYPE);
|
||
}
|
||
|
||
table.AddCol(model.REASON);
|
||
table.AddCol(model.CTIME);
|
||
table.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSRE));
|
||
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
|
||
{
|
||
errorMessag = "系统错误:" + ex.Message
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Add)]
|
||
public ActionResult Add()
|
||
{
|
||
|
||
List<BAS_SUBCOMTYPE> list = _bassubcomtypeq.GetSubComType("VipCusType");
|
||
ViewBag.SubComTypeList = list;
|
||
CSVR_VIPNUMBER model = null;
|
||
|
||
return View(model);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Add)]
|
||
public ActionResult Add(string viptype, string VIPNUMBER_resids, string Reson)
|
||
{
|
||
try
|
||
{
|
||
Reson = string.IsNullOrEmpty(Reson) ? " " : Reson;
|
||
string message = "";
|
||
if (string.IsNullOrEmpty(VIPNUMBER_resids.Trim()))
|
||
{
|
||
ModelState.AddModelError("BLACKNUMBER_resids", "客户ID不能为空");
|
||
}
|
||
if (!ModelState.IsValid)
|
||
{
|
||
return JsonHandler.JsonResultSerialize(ModelState);
|
||
}
|
||
string[] resIds = VIPNUMBER_resids.Replace(" ", "").Replace("\r", "").Replace("\n", "").Replace(",", ",").Split(',');
|
||
string[] trueResIds = _customerq.getResByResIds(resIds).Select(m => m.RESID.Trim()).ToArray();
|
||
string[] existresIds = csvr_vipnumber_q.GetByResIds(trueResIds, viptype).Select(m => m.RESID.Trim()).ToArray();
|
||
var nottrue = resIds.Except(trueResIds);
|
||
if (nottrue.Count() > 0)
|
||
{
|
||
message = "不存在系统的客户ID:" + string.Join(",", nottrue);
|
||
}
|
||
if (existresIds.Count() > 0)
|
||
{
|
||
message += "。已存在Vip名单的客户ID:" + string.Join(",", existresIds);
|
||
}
|
||
/////////
|
||
var updateResIds = trueResIds.Except(existresIds);
|
||
List<CSVR_VIPNUMBER> numbers = new List<CSVR_VIPNUMBER>();
|
||
foreach (string resid in updateResIds)
|
||
{
|
||
if (!string.IsNullOrEmpty(resid))
|
||
{
|
||
CSVR_VIPNUMBER model = new CSVR_VIPNUMBER();
|
||
model.RESID = resid;
|
||
model.VIPTYPE = viptype;
|
||
model.REASON = Reson;
|
||
model.CTIME = DateTime.Now;
|
||
model.CREATEUSRE = UserId;
|
||
numbers.Add(model);
|
||
}
|
||
}
|
||
if (numbers.Count > 0)
|
||
{
|
||
bool result = csvr_vipnumber.CreateEntities(ref errors, numbers);
|
||
string msg = result ? "添加成功" : "添加失败:" + errors.Error;
|
||
return Json(new { type = 1, message = msg, value = message }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
{
|
||
return Json(new { type = 0, message = "添加失败,资源不存在系统或已经在黑名单里", value = message }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
//errors.Add(ex.Message);
|
||
LogHelper.Error("VipNumberController_Add:" + ex.StackTrace + ";" + ex.Message);
|
||
return Json(new { type = 10, message = ex.Message, value = "" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
[AuthorizeToolBar(InitRights.CONST_Vip电话管理, InitToolBar.CONST_Delete)]
|
||
public JsonResult Delete(decimal? id)
|
||
{
|
||
if (!id.HasValue)
|
||
{
|
||
return JsonHandler.ManageMessage("参数不对!", false);
|
||
}
|
||
|
||
var result = csvr_vipnumber.Delete(ref errors, id.Value);
|
||
return JsonHandler.DeleteMessage(errors, result);
|
||
}
|
||
|
||
}
|
||
}
|