184 lines
7.3 KiB
C#
184 lines
7.3 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.Res;
|
||
using WX.CRM.IBLL.Util;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.WebHelper;
|
||
using WX.CRM.WebHelper.RedisFactory;
|
||
|
||
namespace WX.CRM.WEB.Controllers.Res
|
||
{
|
||
public class CallOutCustomerController : BaseController
|
||
{
|
||
[Inject]
|
||
public IRES_CALLOUTCUSTOMER _IRES_CALLOUTCUSTOMER { get; set; }
|
||
[Inject]
|
||
public IRES_CUSTOMER_Q _customerq { get; set; }
|
||
[Inject]
|
||
public ICACHE_Q _CACHE_Q { get; set; }
|
||
//[Ninject.Inject]
|
||
//public ICUSTOMER_REDIS customerRedisBL { get; set; }
|
||
|
||
private RedisFactory redisFactory = new RedisFactory();
|
||
|
||
ValidationErrors errors = new ValidationErrors();
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_出局资源)]
|
||
public ActionResult Index()
|
||
{
|
||
var tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.出局资源, 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, sort = "CTIME", order = "desc" };
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHiddenHeadCol("CALLOUTTYPE", "CALLOUTTYPE");
|
||
tab.AddHeadCol("RESID", "20%", "客户ID ");
|
||
tab.AddHeadCol("CALLOUTTYPENAME", "20%", "出局号码类型 ");
|
||
tab.AddHeadCol("REASON", "20%", "备注");
|
||
tab.AddHeadCol("CTIME", "20%", "添加时间");
|
||
tab.AddHeadRow();
|
||
|
||
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30");
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_出局资源)]
|
||
public JsonResult GetHtmlList(Pager pager, string columns)
|
||
{
|
||
try
|
||
{
|
||
string resid = Request.Form["ResId"];
|
||
|
||
var list = _IRES_CALLOUTCUSTOMER.GetList(resid, ref pager);
|
||
var table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
foreach (var model in list)
|
||
{
|
||
table.AddHiddenCol(model.CALLOUTTYPE);
|
||
table.AddCol(model.RESID);
|
||
table.AddCol(model.CALLOUTNAME);
|
||
table.AddCol(model.REASON);
|
||
table.AddCol(model.CTIME);
|
||
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_出局资源, InitToolBar.CONST_Add)]
|
||
public ActionResult Add()
|
||
{
|
||
RES_CALLOUTCUSTOMER model = null;
|
||
IEnumerable<SelectListItem> clistItem = _CACHE_Q.GetList_CallOutPara()
|
||
.Where(obj => obj.ISSHOW == 1)
|
||
.Select(c => new SelectListItem
|
||
{ Value = c.CALLOUTTYPE, Text = c.CALLOUTNAME });
|
||
|
||
ViewBag.CateList = clistItem;
|
||
return View(model);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_出局资源, InitToolBar.CONST_Add)]
|
||
public ActionResult Add(string callType, string resids, string Reson)
|
||
{
|
||
try
|
||
{
|
||
string message = "";
|
||
if (string.IsNullOrEmpty(resids.Trim()))
|
||
{
|
||
ModelState.AddModelError("resids", "客户ID不能为空");
|
||
}
|
||
if (!ModelState.IsValid)
|
||
{
|
||
return JsonHandler.JsonResultSerialize(ModelState);
|
||
}
|
||
string[] resIds = resids.Replace(" ", "").Replace("\r", "").Replace("\n", "").Replace(",", ",").Split(',');
|
||
string[] trueResIds = _customerq.getResByResIds(resIds).Select(m => m.RESID.Trim()).ToArray();
|
||
string[] existresIds = _IRES_CALLOUTCUSTOMER.GetByResIds(trueResIds, callType).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 += "。已添加的客户ID:" + string.Join(",", existresIds);
|
||
}
|
||
/////////
|
||
var updateResIds = trueResIds.Except(existresIds);
|
||
List<RES_CALLOUTCUSTOMER> numbers = new List<RES_CALLOUTCUSTOMER>();
|
||
foreach (string resid in updateResIds)
|
||
{
|
||
if (!string.IsNullOrEmpty(resid))
|
||
{
|
||
RES_CALLOUTCUSTOMER model = new RES_CALLOUTCUSTOMER();
|
||
model.RESID = resid;
|
||
model.CALLOUTTYPE = callType;
|
||
model.REASON = Reson;
|
||
model.CTIME = DateTime.Now;
|
||
numbers.Add(model);
|
||
}
|
||
}
|
||
if (numbers.Count > 0)
|
||
{
|
||
bool result = _IRES_CALLOUTCUSTOMER.CreateEntities(ref errors, numbers);
|
||
string msg = result ? "添加成功" : "添加失败:" + errors.Error;
|
||
|
||
return Json(new { type = result, message = msg, value = message }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
{
|
||
return Json(new { type = 0, message = "添加失败" + message, value = message }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("BlackNumberController_Add:" + ex.StackTrace + ";" + ex.Message);
|
||
return Json(new { type = 0, message = ex.Message, value = "" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_出局资源, InitToolBar.CONST_Delete)]
|
||
public JsonResult Delete(string resid, string calltype)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(resid))
|
||
{
|
||
return JsonHandler.ManageMessage("参数不对!", false);
|
||
}
|
||
bool result = _IRES_CALLOUTCUSTOMER.Delete(ref errors, resid, calltype);
|
||
|
||
return JsonHandler.DeleteMessage(errors, result);
|
||
}
|
||
}
|
||
}
|