158 lines
5.9 KiB
C#
158 lines
5.9 KiB
C#
using System;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.BLL.Base;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Csvr;
|
|
using WX.CRM.IBLL.Res;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.Model.MAP;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.Res
|
|
{
|
|
public class SharedCustomerController : BaseController
|
|
{
|
|
private readonly IRES_SHAREDCUSTOMER _sharedCustomer;
|
|
private readonly ICSVR_FAVORITECUSTOMER_Q _favCustomer;
|
|
private ValidationErrors errors = new ValidationErrors();
|
|
public SharedCustomerController(IRES_SHAREDCUSTOMER sharedCustomer, ICSVR_FAVORITECUSTOMER_Q favCustomer)
|
|
{
|
|
this._sharedCustomer = sharedCustomer;
|
|
this._favCustomer = favCustomer;
|
|
}
|
|
|
|
[HttpGet]
|
|
public ActionResult Index()
|
|
{
|
|
var tool = new ToolBar();
|
|
tool.AllowButton("Create", "Delete");
|
|
ViewBag.ToolBar = tool;
|
|
|
|
var pager = new Pager() { page = 1, rows = 10 };
|
|
var tableId = "tablist";
|
|
var tab = new Table(tableId);
|
|
tab.AddHeadCol("RESID", "", "客户ID");
|
|
tab.AddHeadCol("CNAME", "", "客户姓名");
|
|
tab.AddHeadCol("INNERUSERID", "", "收藏客服");
|
|
tab.AddHeadCol("SHAREDINNERUSERID", "", "共享客服");
|
|
tab.AddHeadCol("CTIME", "", "共享时间");
|
|
|
|
tab.AddHeadRow();
|
|
|
|
ViewBag.inneruserid = UserId;
|
|
ViewBag.userGroupId = userGroupId;
|
|
ViewBag.saleDeptId = saleDeptId;
|
|
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
|
|
|
ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30");
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult Index(Pager pager, string columns, QueryUserComboDto usercomboDto, int? type, string resId)
|
|
{
|
|
var table = new Table(columns, true);
|
|
var list = _sharedCustomer.GetList(ref pager, usercomboDto, type, resId);
|
|
table.gridPager = pager;
|
|
foreach (var model in list)
|
|
{
|
|
var resid = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>", "客户详细", "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.ResId, model.ResId);
|
|
table.AddCol(resid);
|
|
table.AddCol(model.CName);
|
|
table.AddCol(InnerUserHelper.Instance.EidAndName(model.InnerUserId));
|
|
table.AddCol(InnerUserHelper.Instance.EidAndName(model.SharedInnerUserId));
|
|
table.AddCol(model.CTime);
|
|
table.AddRow();
|
|
}
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows()
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
[HttpGet]
|
|
public ActionResult Create()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult Create(string resId, decimal eid)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(resId))
|
|
{
|
|
return JsonHandler.ManageMessage("参数错误!", false);
|
|
}
|
|
if (eid <= 0)
|
|
{
|
|
return JsonHandler.ManageMessage("参数错误!", false);
|
|
}
|
|
if (eid == Eid)
|
|
{
|
|
return JsonHandler.ManageMessage("该客户是您收藏的客户,不需要执行该操作!", false);
|
|
}
|
|
var favCustomer = _favCustomer.GetModel_FavoriteCustomer(resId, UserId);
|
|
if (favCustomer == null)
|
|
{
|
|
return JsonHandler.ManageMessage("该客户不是您收藏的客户,不能执行该操作!", false);
|
|
}
|
|
var sharedUserId = InnerUserHelper.Instance.GetUserIdByEid(eid);
|
|
if (sharedUserId <= 1)
|
|
{
|
|
return JsonHandler.ManageMessage("您填写的工号不存在!", false);
|
|
}
|
|
var isExists = _sharedCustomer.Exists(p => p.RESID == resId && p.SHAREDEID == eid);
|
|
if (isExists)
|
|
{
|
|
return JsonHandler.ManageMessage("该客户已经共享给" + eid + ",不需要再操作!", false);
|
|
}
|
|
var model = new RES_SHAREDCUSTOMER()
|
|
{
|
|
PKID = new SEQUENCES_BL().Seq_base_get(),
|
|
RESID = resId,
|
|
INNERUSERID = UserId,
|
|
EID = Eid,
|
|
SHAREDINNERUSERID = InnerUserHelper.Instance.GetUserIdByEidOrName(eid.ToString()),
|
|
SHAREDEID = eid,
|
|
CTIME = DateTime.Now
|
|
};
|
|
_sharedCustomer.Add(model);
|
|
return JsonHandler.ManageMessage("创建成功!", true);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
return JsonHandler.ManageMessage("创建失败!", false);
|
|
}
|
|
}
|
|
|
|
public JsonResult Delete(string resid)
|
|
{
|
|
if (!string.IsNullOrEmpty(resid))
|
|
{
|
|
var model = _sharedCustomer.Get(p => p.RESID == resid && p.INNERUSERID == UserId);
|
|
if (model != null)
|
|
{
|
|
_sharedCustomer.Delete(model);
|
|
return JsonHandler.DeleteMessage(errors, true);
|
|
}
|
|
else
|
|
{
|
|
errors.Add("找不到该客户或者该客户不是您收藏的客户");
|
|
return JsonHandler.DeleteMessage(errors, false);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return JsonHandler.ManageMessage("删除失败!", false);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|