652 lines
28 KiB
C#
652 lines
28 KiB
C#
//using CRM.Core.DTO;
|
||
using Ninject;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Web.Mvc;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Xml.Serialization;
|
||
using WX.CRM.BLL.Soft;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.IBLL.RedisBL;
|
||
using WX.CRM.IBLL.Res;
|
||
using WX.CRM.IBLL.Soft;
|
||
using WX.CRM.IBLL.Util;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.Model.Enum;
|
||
using WX.CRM.WEB.Controllers;
|
||
using WX.CRM.WebHelper;
|
||
|
||
namespace WX.CRM.WEB.Areas.Res.Controllers
|
||
{
|
||
public class CustomerController : BaseController
|
||
{
|
||
private readonly IRES_CUSTOMER _customer;
|
||
private readonly IRES_CUSTOMER_Q _customerQ;
|
||
private readonly ICACHE_Q _cacheQ;
|
||
private readonly IBAS_PROVINCE_Q _provinceQ;
|
||
private readonly IBAS_CITY_Q _cityQ;
|
||
private readonly IRES_ACTIVITY_Q _activityQ;
|
||
private readonly IRES_CUSTOMERDETAIL _customerdetail;
|
||
private readonly IRES_CUSTOMERDETAIL_Q _customerdetailQ;
|
||
|
||
//private readonly IRES_CUSTOMERDETAIL_REDIS customerDetailRedisBiz;
|
||
private ICUSTOMER_REDIS customerRedisBL;
|
||
|
||
[Inject]
|
||
public ISOFT_REGANDORDERLINK soft_RegAndOrderLink_BL { get; set; }
|
||
|
||
private GET_REGUSER _regUser = new GET_REGUSER();
|
||
|
||
public CustomerController(IRES_CUSTOMER customer
|
||
, IRES_CUSTOMER_Q customerQ
|
||
, ICACHE_Q cacheQ
|
||
, IBAS_PROVINCE_Q provinceQ
|
||
, IBAS_CITY_Q cityQ
|
||
, IRES_ACTIVITY_Q activityQ
|
||
, IRES_CUSTOMERDETAIL customerdetail
|
||
, IRES_CUSTOMERDETAIL_Q customerdetailQ
|
||
//,IRES_CUSTOMERDETAIL_REDIS _customerDetailRedisBiz
|
||
, ICUSTOMER_REDIS _customerRedisBL)
|
||
{
|
||
_customer = customer;
|
||
_customerQ = customerQ;
|
||
_cacheQ = cacheQ;
|
||
_provinceQ = provinceQ;
|
||
_cityQ = cityQ;
|
||
_activityQ = activityQ;
|
||
_customerdetail = customerdetail;
|
||
_customerdetailQ = customerdetailQ;
|
||
//this.customerDetailRedisBiz = _customerDetailRedisBiz;
|
||
this.customerRedisBL = _customerRedisBL;
|
||
}
|
||
|
||
private ValidationErrors errors = new ValidationErrors();
|
||
private WebHelper.RedisFactory.RedisFactory redisFactory = new WebHelper.RedisFactory.RedisFactory();
|
||
|
||
#region 新增
|
||
|
||
[HttpGet]
|
||
public ActionResult Create(string resid)
|
||
{
|
||
var genders = new List<ListItem>() { new ListItem() { Text = "男", Value = "m" }, new ListItem() { Text = "女", Value = "f" } };
|
||
var KHLX = _cacheQ.GetList_SubComType(ComType.CustomerType).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var ZJL = _cacheQ.GetList_SubComType(ComType.CustomerZJL).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var ZY = _cacheQ.GetList_SubComType(ComType.CustomerZY).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var CZXG = _cacheQ.GetList_SubComType(ComType.CustomerCZXG).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
//var KHLY = _cacheQ.GetList_SubComType(ComType.CustomerFrom).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
|
||
//var KHLY = _activityQ.GetList()
|
||
|
||
ViewBag.Gender = genders;
|
||
ViewBag.KHLX = KHLX;
|
||
ViewBag.ZJL = ZJL;
|
||
ViewBag.ZY = ZY;
|
||
ViewBag.CZXG = CZXG;
|
||
//ViewBag.KHLY = KHLY;
|
||
ViewBag.Province = GetProvince(0);
|
||
ViewBag.City = GetCity(0);
|
||
RES_CUSTOMER resData = new RES_CUSTOMER();
|
||
resData.RES_CUSTOMERDETAIL = new RES_CUSTOMERDETAIL();
|
||
resData.RES_CUSTOMERDETAIL.RESID = resid;
|
||
|
||
return View(resData);
|
||
}
|
||
|
||
[HttpPost]
|
||
public ActionResult Create(RES_CUSTOMER customer)
|
||
{
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(customer.map_MOBILE))
|
||
return JsonHandler.ManageMessage("联系号码不能为空", false);
|
||
customer.map_MOBILE = customer.map_MOBILE.Trim().Replace("-", "");
|
||
if (customer.map_MOBILE.StartsWith("1"))//如果是以1开头的,就必须按照手机号码格式
|
||
{
|
||
if (!Utility.ChekMobile(customer.map_MOBILE))
|
||
{
|
||
return JsonHandler.ManageMessage("联系号码不正确", false);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!Utility.CheckIsNum(customer.map_MOBILE))
|
||
{
|
||
return JsonHandler.ManageMessage("联系号码不正确", false);
|
||
}
|
||
}
|
||
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
var cNumber = customer.map_MOBILE;
|
||
var resId = ResUtil.CreateResId(cNumber);
|
||
var customerFrom = "HMJ_CRM"; //来源标签,是否改成从配置表中取
|
||
var oldresid = customer.map_ResId;
|
||
//LogHelper.Info("customer.map_MOBILE:" + customer.map_MOBILE);
|
||
if (ExistsResId(customer.map_MOBILE))
|
||
{
|
||
//LogHelper.Info("companyCode:" + companyCode);
|
||
if (companyCode == "SHZZ")
|
||
{
|
||
customerFrom = "27100";
|
||
try
|
||
{
|
||
var userName = companyCode.ToLower() + cNumber.Substring(3, cNumber.Length - 3);
|
||
var password = userName;
|
||
var guid = Guid.NewGuid().ToString();
|
||
var ch = _cacheQ.GetValue_Parameter("QRCodeCH");
|
||
|
||
if (soft_RegAndOrderLink_BL.HasUserName(userName))
|
||
{
|
||
userName = companyCode.ToLower() + cNumber.Substring(3, cNumber.Length - 3) + guid.Substring(0, 4);
|
||
}
|
||
|
||
var res = soft_RegAndOrderLink_BL.RegToUP(userName, cNumber, ch, "P", guid, password, Eid);
|
||
LogHelper.Info("注册返回结果:" + res.ToJson());
|
||
if (res.ret == 0)
|
||
{
|
||
_regUser.RegUser(cNumber, customerFrom, null, userName, DateTime.Now, 0, cNumber);
|
||
}
|
||
else
|
||
{
|
||
if (res.ret == -1108)
|
||
{
|
||
LogHelper.Info("自动注册软件用户已经存在!");
|
||
errors.Add("注册失败,请重新再试!");
|
||
return JsonHandler.InsertMessage(errors, false);
|
||
}
|
||
else if (res.ret == -1212)
|
||
{
|
||
var url = _cacheQ.GetValue_Parameter("Core_ZxdService_SoftUserInfo");
|
||
if (!string.IsNullOrEmpty(url))
|
||
{
|
||
var retmsg = Utility.PostData(url + "?ResId=" + resId, Encoding.UTF8);
|
||
var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsg>(retmsg);
|
||
LogHelper.Info("retmessage:" + retmessage.ToJson());
|
||
if (retmessage.result)
|
||
{
|
||
userName = retmessage.retmsg;
|
||
_regUser.RegUser(cNumber, customerFrom, null, userName, DateTime.Now, 0, cNumber);
|
||
}
|
||
else
|
||
{
|
||
LogHelper.Info("自动注册手机号已经存在!");
|
||
errors.Add("注册失败,请重新再试!");
|
||
return JsonHandler.InsertMessage(errors, false);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ee)
|
||
{
|
||
LogHelper.Error(ee.ToString());
|
||
}
|
||
}
|
||
return JsonHandler.ManageMessage("联系号码已经存在", true);
|
||
}
|
||
|
||
if (string.IsNullOrEmpty(oldresid))//根据旧的ID获取数据
|
||
{
|
||
if (companyCode == "SHZZ")
|
||
{
|
||
customerFrom = "27100";
|
||
|
||
var userName = companyCode.ToLower() + cNumber.Substring(3, cNumber.Length - 3);
|
||
var password = userName;
|
||
var guid = Guid.NewGuid().ToString();
|
||
var ch = _cacheQ.GetValue_Parameter("QRCodeCH");
|
||
|
||
if (soft_RegAndOrderLink_BL.HasUserName(userName))
|
||
{
|
||
userName = companyCode.ToLower() + cNumber.Substring(3, cNumber.Length - 3) + guid.Substring(0, 4);
|
||
}
|
||
|
||
var res = soft_RegAndOrderLink_BL.RegToUP(userName, cNumber, ch, "P", guid, password, Eid);
|
||
LogHelper.Info("注册返回结果:" + res.ToJson());
|
||
if (res.ret == 0)
|
||
{
|
||
_regUser.RegUser(cNumber, customerFrom, null, userName, DateTime.Now, 0, cNumber);
|
||
}
|
||
else
|
||
{
|
||
if (res.ret == -1108)
|
||
{
|
||
LogHelper.Info("自动注册软件用户已经存在!");
|
||
errors.Add("注册失败,请重新再试!");
|
||
return JsonHandler.InsertMessage(errors, false);
|
||
}
|
||
else if (res.ret == -1212)
|
||
{
|
||
var url = _cacheQ.GetValue_Parameter("Core_ZxdService_SoftUserInfo");
|
||
if (!string.IsNullOrEmpty(url))
|
||
{
|
||
var retmsg = Utility.PostData(url + "?ResId=" + resId, Encoding.UTF8);
|
||
var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsg>(retmsg);
|
||
LogHelper.Info("retmessage:" + retmessage.ToJson());
|
||
if (retmessage.result)
|
||
{
|
||
userName = retmessage.retmsg;
|
||
_regUser.RegUser(cNumber, customerFrom, null, userName, DateTime.Now, 0, cNumber);
|
||
}
|
||
else
|
||
{
|
||
LogHelper.Info("自动注册手机号已经存在!");
|
||
errors.Add("注册失败,请重新再试!");
|
||
return JsonHandler.InsertMessage(errors, false);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
var customerDetail = customer.RES_CUSTOMERDETAIL;
|
||
var xmls = new XmlSerializer(typeof(RES_CUSTOMERDETAIL));
|
||
var sw = new StringWriter();
|
||
xmls.Serialize(sw, customerDetail);
|
||
_customer.ResgisterCustomer(cNumber, resId, customerFrom, sw.ToString());
|
||
}
|
||
|
||
_customer.HandlerSalerAddCustomer(resId, UserId);
|
||
}
|
||
else
|
||
{
|
||
var thedata = _customerdetailQ.GetModel_RES_CUSTOMERDETAIL(oldresid);
|
||
var customerDetail = customer.RES_CUSTOMERDETAIL;
|
||
customerDetail.RESID = resId;
|
||
customerDetail.QQ = thedata.QQ;
|
||
customerDetail.ADDRESS = thedata.ADDRESS;
|
||
customerDetail.AMOUNTTYPEID = thedata.AMOUNTTYPEID;
|
||
customerDetail.CITYID = thedata.CITYID;
|
||
customerDetail.CNAME = thedata.CNAME;
|
||
customerDetail.CUSTOMERTYPEID = thedata.CUSTOMERTYPEID;
|
||
customerDetail.EMAIL = thedata.EMAIL;
|
||
customerDetail.FAX = thedata.FAX;
|
||
customerDetail.GENDER = thedata.GENDER;
|
||
customerDetail.JOBTYPEID = thedata.JOBTYPEID;
|
||
customerDetail.MSN = thedata.MSN;
|
||
customerDetail.OPERATIONTYPE = thedata.OPERATIONTYPE;
|
||
customerDetail.PRIMARYNUMBERADDRESS = thedata.PRIMARYNUMBERADDRESS;
|
||
customerDetail.PROVINCEID = thedata.PROVINCEID;
|
||
var xmls = new XmlSerializer(typeof(RES_CUSTOMERDETAIL));
|
||
var sw = new StringWriter();
|
||
xmls.Serialize(sw, customerDetail);
|
||
_customer.ResgisterCustomer(cNumber, resId, customerFrom, sw.ToString());
|
||
|
||
//var oldCustomer = _customerQ.GetModel(oldresid);
|
||
//var newCustomer = _customerQ.GetModel(resId);
|
||
var oldCustomer = _customerQ.getResCustomerByResId(oldresid);
|
||
var newCustomer = _customerQ.getResCustomerByResId(resId);
|
||
newCustomer.CUSTOMERID = oldCustomer.CUSTOMERID;
|
||
|
||
_customer.Update(ref errors, newCustomer);
|
||
|
||
//if (companyCode == "DNZZ" || companyCode == "QBJY")
|
||
//{
|
||
_customer.HandlerSalerAddCustomer(resId, UserId);
|
||
//}
|
||
}
|
||
|
||
#region 中心点注册
|
||
|
||
try
|
||
{
|
||
var zxdapi = System.Configuration.ConfigurationManager.AppSettings["ZxdCoreApi"];
|
||
var curl = $@"{zxdapi}Api/Customer/CreateCustomer";
|
||
LogHelper.Info($"Url:{curl}?MOBILE={cNumber}&ResId={resId}&CustomerFrom={customerFrom}");
|
||
var resJson = Utility.GetData(curl, $@"MOBILE={cNumber}&ResId={resId}&CustomerFrom={customerFrom}", Encoding.UTF8);
|
||
LogHelper.Info($"Res:{resJson}");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
}
|
||
|
||
#endregion 中心点注册
|
||
|
||
return JsonHandler.InsertMessage(errors, true);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
return JsonHandler.InsertMessage(errors, false);
|
||
//throw;
|
||
}
|
||
}
|
||
|
||
#endregion 新增
|
||
|
||
#region 编辑
|
||
|
||
[HttpGet]
|
||
public ActionResult Edit(string resid)
|
||
{
|
||
var genders = new List<ListItem>() { new ListItem() { Text = "男", Value = "m" }, new ListItem() { Text = "女", Value = "f" } };
|
||
var KHLX = _cacheQ.GetList_SubComType(ComType.CustomerType).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var ZJL = _cacheQ.GetList_SubComType(ComType.CustomerZJL).OrderBy(m => m.SUBTYPECODE).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var ZY = _cacheQ.GetList_SubComType(ComType.CustomerZY).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var CZXG = _cacheQ.GetList_SubComType(ComType.CustomerCZXG).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
var category = _cacheQ.GetList_SubComType(ComType.CustomerCategory).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPENAME }).ToList();
|
||
var NL = _cacheQ.GetList_SubComType(ComType.CustomerNL).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
|
||
category.Insert(0, new SelectListItem() { Text = string.Empty, Value = string.Empty });
|
||
|
||
ViewBag.Gender = genders;
|
||
ViewBag.KHLX = KHLX;
|
||
ViewBag.ZJL = ZJL;
|
||
ViewBag.ZY = ZY;
|
||
ViewBag.CZXG = CZXG;
|
||
ViewBag.category = category;
|
||
ViewBag.NL = NL;
|
||
|
||
WX.CRM.Model.Entity.RES_CUSTOMERDETAIL model = null;
|
||
RES_CUSTOMER customer = new RES_CUSTOMER();
|
||
if (resid == null)
|
||
{
|
||
model = new RES_CUSTOMERDETAIL();
|
||
ViewBag.Province = GetProvince(0);
|
||
ViewBag.City = GetCity(0);
|
||
}
|
||
else
|
||
{
|
||
model = _customerdetailQ.GetModel_RES_CUSTOMERDETAIL(resid);//OldVersion
|
||
//model = redisFactory.GetInfo_Rescustomerdetail(resid);
|
||
customer.RES_CUSTOMERDETAIL = model;
|
||
customer.map_QQ = model.QQ;
|
||
customer.map_ADDRESS = model.ADDRESS;
|
||
customer.map_AMOUNTTYPEID = model.AMOUNTTYPEID;
|
||
customer.map_CITY = model.CITYID;
|
||
//customer.map_CNAME = model.CNAME;
|
||
if (!string.IsNullOrEmpty(model.CNAME))
|
||
{
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
if (!(roleCodes.Contains("[SH]") || roleCodes.Contains("[GLY]")))
|
||
{
|
||
if (model.CNAME.Length > 10)
|
||
customer.map_CNAME = model.CNAME.Substring(0, 10);
|
||
else
|
||
customer.map_CNAME = model.CNAME;
|
||
}
|
||
else
|
||
{
|
||
customer.map_CNAME = model.CNAME;
|
||
}
|
||
}
|
||
customer.map_CUSTOMERTYPEID = model.CUSTOMERTYPEID;
|
||
customer.map_EMAIL = model.EMAIL;
|
||
customer.map_FAX = model.FAX;
|
||
customer.map_GENDER = model.GENDER;
|
||
customer.map_JOBTYPEID = model.JOBTYPEID;
|
||
customer.map_MSN = model.MSN;
|
||
customer.map_OPERATIONTYPE = model.OPERATIONTYPE;
|
||
customer.map_PRIMARYNUMBERADDRESS = model.PRIMARYNUMBERADDRESS;
|
||
customer.map_PROVINCEID = model.PROVINCEID;
|
||
|
||
customer.RESID = resid;
|
||
if (model.PROVINCEID.HasValue)
|
||
{
|
||
int provinceid = Convert.ToInt32(model.PROVINCEID);
|
||
ViewBag.Province = GetProvince(provinceid);
|
||
ViewBag.City = GetCity(provinceid);
|
||
}
|
||
else
|
||
{
|
||
ViewBag.Province = GetProvince(0);
|
||
ViewBag.City = GetCity(0);
|
||
}
|
||
}
|
||
|
||
return View(customer);
|
||
}
|
||
|
||
[HttpPost]
|
||
public ActionResult Edit(RES_CUSTOMER customer)
|
||
{
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
if (!(roleCodes.Contains("[SH]") || roleCodes.Contains("[GLY]")))
|
||
{
|
||
if (!string.IsNullOrEmpty(customer.map_CNAME))
|
||
{
|
||
if (customer.map_CNAME.Length > 10)
|
||
{
|
||
return JsonHandler.ManageMessage("客户姓名不能大于10个字", false);
|
||
}
|
||
}
|
||
}
|
||
string[] resids = _customerQ.GetAllResidByCustomerId(customer.RESID);
|
||
List<string> resIds = redisFactory.GetList_Rescustomer(resids, customer.RESID).Select(s => s.RESID).ToList();
|
||
bool result = false;
|
||
if (resids != null)
|
||
{
|
||
foreach (var resId in resIds)
|
||
{
|
||
customer.RESID = resId;
|
||
result = _customerdetail.Update(ref errors, customer);
|
||
}
|
||
}
|
||
|
||
return JsonHandler.UpdateMessage(errors, result);
|
||
}
|
||
|
||
#endregion 编辑
|
||
|
||
#region 设置资金量
|
||
|
||
#region 编辑
|
||
|
||
[HttpGet]
|
||
public ActionResult SetZJL(string resid)
|
||
{
|
||
var ZJL = _cacheQ.GetList_SubComType(ComType.CustomerZJL).Select(item => new SelectListItem() { Text = item.SUBTYPENAME, Value = item.SUBTYPECODE }).ToList();
|
||
ViewBag.ZJL = ZJL;
|
||
WX.CRM.Model.Entity.RES_CUSTOMERDETAIL model = null;
|
||
RES_CUSTOMERDETAIL customer = new RES_CUSTOMERDETAIL();
|
||
if (resid == null)
|
||
{
|
||
model = new RES_CUSTOMERDETAIL();
|
||
throw new Exception("信息错误!");
|
||
}
|
||
else
|
||
{
|
||
customer = _customerdetailQ.GetModel_RES_CUSTOMERDETAIL(resid);//OldVersion
|
||
}
|
||
return View(customer);
|
||
}
|
||
|
||
[HttpPost]
|
||
public ActionResult SaveZJL(RES_CUSTOMERDETAIL customer)
|
||
{
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
string[] resids = _customerQ.GetAllResidByCustomerId(customer.RESID);
|
||
List<string> resIds = redisFactory.GetList_Rescustomer(resids, customer.RESID).Select(s => s.RESID).ToList();
|
||
bool result = false;
|
||
if (resids != null)
|
||
{
|
||
foreach (var resId in resIds)
|
||
{
|
||
result = _customerdetail.UpdateZJL(ref errors, new RES_CUSTOMERDETAIL() { RESID = resId, AMOUNTTYPEID = customer.AMOUNTTYPEID });
|
||
}
|
||
}
|
||
return JsonHandler.UpdateMessage(errors, result);
|
||
}
|
||
|
||
#endregion 编辑
|
||
|
||
#endregion 设置资金量
|
||
|
||
#region 客户流转线索
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_客户流转线索)]
|
||
public ActionResult Trace()
|
||
{
|
||
WebHelper.Table tab = new WebHelper.Table("tablist");
|
||
tab.AddHeadCol("GroupName", "", "销售组");
|
||
tab.AddHeadCol("Eid", "", "员工");
|
||
tab.AddHeadCol("ResId", "", "客户ID");
|
||
tab.AddHeadCol("Act", "", "事件");
|
||
tab.AddHeadCol("Remark", "", "说明");
|
||
tab.AddHeadCol("CTime", "", "操作时间");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable();
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_客户流转线索)]
|
||
public JsonResult Trace(string columns, string resId)
|
||
{
|
||
WebHelper.Table table = new WebHelper.Table(columns, true);
|
||
var dt = _customerQ.ResTrace(resId);
|
||
var list = dt.ToList<ResTraceView>();
|
||
foreach (var item in list)
|
||
{
|
||
table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(InnerUserHelper.Instance.GetUserIdByEid(item.Eid))));
|
||
table.AddCol(InnerUserHelper.Instance.EidAndName(InnerUserHelper.Instance.GetUserIdByEid(item.Eid)));
|
||
table.AddCol(item.ResId);
|
||
table.AddCol(item.Act);
|
||
table.AddCol(item.Remark);
|
||
table.AddCol(item.CTime);
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 客户流转线索
|
||
|
||
#region 引用方法集合
|
||
|
||
private IEnumerable<SelectListItem> GetProvince(int id)
|
||
{
|
||
var list = _provinceQ.GetList();
|
||
list.Insert(0, new BAS_PROVINCE { ID = 0, NAME = "--请选择省--" });
|
||
return list.Select(item => item.ID == id ? new SelectListItem() { Text = item.NAME, Value = item.ID.ToString(), Selected = true } : new SelectListItem() { Text = item.NAME, Value = item.ID.ToString() }).ToList();
|
||
}
|
||
|
||
private IEnumerable<SelectListItem> GetCity(int id)
|
||
{
|
||
var list = _cityQ.GetListByProvince(id);
|
||
if (id == 0)
|
||
{
|
||
list.Insert(0, new BAS_CITY { PROVINCEID = 0, ID = 0, NAME = "--请选择市--" });
|
||
}
|
||
return list.Select(item => new SelectListItem() { Text = item.NAME, Value = item.ID.ToString() }).ToList();
|
||
}
|
||
|
||
public JsonResult JsonCity(int id)
|
||
{
|
||
var list = GetCity(id);
|
||
return Json(list, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
public JsonResult CheckMobile(string mobile)
|
||
{
|
||
bool result = ExistsResId(mobile);
|
||
return JsonHandler.ManageMessage("手机号码已经存在", result);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 客户ID是否存在,存在true,不存在false
|
||
/// </summary>
|
||
/// <param name="mobile">传入手机号码</param>
|
||
/// <returns></returns>
|
||
private bool ExistsResId(string mobile)
|
||
{
|
||
var resId = ResUtil.CreateResId(mobile);
|
||
var model = _customerQ.getResCustomerByResId(resId);
|
||
if (model == null)
|
||
return false;
|
||
return true;
|
||
}
|
||
|
||
[HttpPost]
|
||
public JsonResult RemovePrimaryNumber(string resid)
|
||
{
|
||
try
|
||
{
|
||
var resdata = new RES_CUSTOMERDETAIL();
|
||
resdata = _customerdetailQ.GetModel_RES_CUSTOMERDETAIL(resid);
|
||
//resdata = redisFactory.GetInfo_Rescustomerdetail(resid);
|
||
if (resdata.ISPRIMARYNUM != 1)
|
||
{
|
||
return JsonHandler.ManageMessage("非主号码不能解除!", false);
|
||
}
|
||
resdata.ISPRIMARYNUM = 0;
|
||
resdata.RESID = resid;
|
||
|
||
bool result = _customerdetail.UpdateStatus(ref errors, resdata);
|
||
return JsonHandler.UpdateMessage(errors, result);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("删除主号码!" + ex.Message);
|
||
return JsonHandler.ManageMessage("删除主号码失败!", false);
|
||
}
|
||
}
|
||
|
||
#endregion 引用方法集合
|
||
|
||
#region 检查Resid是否存在
|
||
|
||
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
|
||
public JsonResult CheckRESID()
|
||
{
|
||
string ResId = Request.QueryString[Request.QueryString.GetKey(0)];
|
||
|
||
bool isValidate = false;
|
||
if (!string.IsNullOrWhiteSpace(ResId))
|
||
{
|
||
var user = _customerQ.getResCustomerByResId(ResId);
|
||
if (user != null) isValidate = true;
|
||
}
|
||
return Json(isValidate, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 检查Resid是否存在
|
||
|
||
/// <summary>
|
||
/// 初始化手机号
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpGet]
|
||
public JsonResult InitPhone()
|
||
{
|
||
var success = _customer.InitPhone();
|
||
var json = new
|
||
{
|
||
success = $"成功了{success}"
|
||
};
|
||
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
private class ResTraceView
|
||
{
|
||
public string GroupName { get; set; }
|
||
public decimal Eid { get; set; }
|
||
public string ResId { get; set; }
|
||
public string Act { get; set; }
|
||
public string Remark { get; set; }
|
||
public DateTime CTime { get; set; }
|
||
}
|
||
public class retMsg
|
||
{
|
||
public bool result { get; set; }
|
||
public int retcode { get; set; }
|
||
public string retmsg { get; set; }
|
||
}
|
||
}
|
||
} |