using Ninject; using System; using System.Data; using System.Web.Mvc; using WX.CRM.BLL.Base; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Ord; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Res { public class MobileQueryLogController : BaseController { private ValidationErrors errors = new ValidationErrors(); private CACHE_BL cache_BL = new CACHE_BL(); [Inject] public IRES_MOBILEQUERYLOG res_MobileQueryLog_BL { get; set; } [Inject] public IRES_RESOURCEMOBILE_Q res_ResourceMobile_BL { get; set; } [Inject] public IWX_SZZYORDER wx_SzzyOrder_BL { get; set; } [Inject] public IORD_PURPOSEMEMO_Q ord_PurposeMemo_BL { get; set; } [Inject] public IRES_CUSTOMER_SALES _ResCustomerSales { get; set; } [Inject] public IRES_CUSTOMER_Q res_Customer_BL { get; set; } [HttpPost] public JsonResult GetMobileByResId(string resId) { string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); #region 代码控制手机是否查看方式 //var queryMobile = ConfigurationManager.AppSettings["QueryMobile"]; //if (!string.IsNullOrWhiteSpace(queryMobile) && queryMobile == "1") //{ // if (roleCodes.IndexOf("CKSJ") < 0) // { // errors.Add("你没有查看手机的权限"); // return JsonHandler.ManageMessage(errors, false); // } //} ////升级客服角色 //var flag = roleCodes.IndexOf("GJSSJKF") >= 0; ////if (!flag) ////{ //// errors.Add("你没有权限查看"); //// return JsonHandler.ManageMessage(errors, false); ////} //if (string.IsNullOrWhiteSpace(resId)) //{ // errors.Add("客户编号不能为空"); // return JsonHandler.ManageMessage(errors, false); //} //if (!IsLogin) //{ // errors.Add("登录用户才能查看客户手机"); // return JsonHandler.ManageMessage(errors, false); //} //if (!flag) //{ // List resIds = new List(); // List list = res_Customer_BL.GetList_CustomerByResid(resId); // if (list != null && list.Count > 0) // { // resIds = list.Select(m => m.RESID).ToList(); // } // else // { // resIds.Add(resId); // } // var order = wx_SzzyOrder_BL.Get(m => resIds.Contains(m.RESID)); // if (order != null) // { // //errors.Add("订单用户不允许查看手机号码"); // errors.Add("禁止查看该用户号码"); // return JsonHandler.ManageMessage(errors, false); // } // var customerSale = _ResCustomerSales.Get(p => p.RESID == resId); // if (customerSale != null) // { // errors.Add("绑定的用户不允许查看手机号码"); // return JsonHandler.ManageMessage(errors, false); // } // //var purpose = ord_PurposeMemo_BL.GetModelByMemoTypeAndResId(201, resId); // //if (purpose != null) // //{ // // errors.Add("意向用户不允许查看手机号码"); // // return JsonHandler.ManageMessage(errors, false); // //} //} #endregion 代码控制手机是否查看方式 #region 过程方式 if (string.IsNullOrWhiteSpace(resId)) { errors.Add("客户编号不能为空"); return JsonHandler.ManageMessage(errors, false); } if (!IsLogin) { errors.Add("登录用户才能查看客户手机"); return JsonHandler.ManageMessage(errors, false); } DataTable dataTable = res_Customer_BL.CheckResidCanShowMobile(resId, UserId, roleCodes); int isShowMobile = Convert.ToInt32(dataTable.Rows[0]["isLook"]); string message = dataTable.Rows[0]["msg"].ToString(); if (isShowMobile == 0)//等于零为不允许查看号码 { errors.Add(message); return JsonHandler.ManageMessage(errors, false); } #endregion 过程方式 PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; var mobile = res_ResourceMobile_BL.GetNumberByResId(resId, phoneLogModel); return JsonHandler.ManageMessage(mobile, true); } [HttpPost] public JsonResult GetMobileByResIdAndUserId(string resId) { if (string.IsNullOrWhiteSpace(resId)) { errors.Add("客户编号不能为空"); return JsonHandler.ManageMessage(errors, false); } if (!IsLogin) { errors.Add("登录用户才能查看客户手机"); return JsonHandler.ManageMessage(errors, false); } var flag = res_MobileQueryLog_BL.CanShowMobile(resId, UserId); var mobile = errors.Error; if (flag) { PhoneLogModel phoneLogModel = new PhoneLogModel { Method = System.Reflection.MethodBase.GetCurrentMethod().Name, userid = UserId }; mobile = res_ResourceMobile_BL.GetNumberByResId(resId, phoneLogModel); } return JsonHandler.ManageMessage(mobile, flag); } } }