ComplianceServer/oldcode/WEB/Controllers/Csvr/VipNumberController.cs

198 lines
7.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}
}