using CRM.Core.BLL.Base; using CRM.Core.BLL.EventBus.EventHandlers; using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.Isvr; using CRM.Core.BLL.Quality; using CRM.Core.BLL.Res; using CRM.Core.BLL.Soft; using CRM.Core.BLL.Util; using CRM.Core.Common.EventBus; using CRM.Core.Common.WebHelper; using CRM.Core.DTO; using CRM.Core.DTO.Ord; using CRM.Core.DTO.Res; using CRM.Core.Model.Entity; using CRM.Core.Model.Enum; using CRM.Core.Res; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; using System.Web; using WX.CRM.Common; using ZXDService.Dto; using ZXDService.Services; namespace ZXDService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。 // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 Service1.svc 或 Service1.svc.cs,然后开始调试。 public class ResourceService : IResourceService { private string clientKey = WX.CRM.Common.Utility.GetSettingByKey("CRMClientKey"); ISVR_INTERFACECALLLOG_BL logHelper = new ISVR_INTERFACECALLLOG_BL(); //SOFT_USER_BL softuserQ = new SOFT_USER_BL(); SecurityHelper sHelper = new SecurityHelper(); RES_CUSTOMER_BL res_Customer_BL = new RES_CUSTOMER_BL(); BAS_PARAMETER_BL paramter_bl = new BAS_PARAMETER_BL(); SOFT_USER_BL soft_user_bl = new SOFT_USER_BL(); Soft_ResetPwd_BL sof_restpwd_bl = new Soft_ResetPwd_BL(); private CACHE_BL _cache = new CACHE_BL(); private RES_APPLY_BL _resApply = new RES_APPLY_BL(); private GET_REGUSER _regUser = new GET_REGUSER(); private RES_CUSTOMERUSER_BL res_customeruser = new RES_CUSTOMERUSER_BL(); private RES_RESOURCEMOBILE_BL _resourceMobile = new RES_RESOURCEMOBILE_BL(); private Res_Scene_BL _resScene = new Res_Scene_BL(); private AssignRulesServices _rule = new AssignRulesServices(); ValidationErrors errors = new ValidationErrors(); public ResourceService() { EventBus.Instance.Subscribe(new SoftUserRegisterEventHandler()); EventBus.Instance.Subscribe(new SendSoftUserPasswordEventHandler()); EventBus.Instance.Subscribe(new JoinActiveEventHandler()); EventBus.Instance.Subscribe(new SoftUserRegisterMsgEventHandler()); EventBus.Instance.Subscribe(new JoinActiveAllDeptEventHandler()); EventBus.Instance.Subscribe(new ResSceneEventHandler()); EventBus.Instance.Subscribe(new UpdateSceneOnlineTimeEventHandler()); EventBus.Instance.Subscribe(new RfmEventHandler()); EventBus.Instance.Subscribe(new SoftUserBindEventHandler()); EventBus.Instance.Subscribe(new AddActivityEventHandler()); } public JsonResult DoWork(string id) { ISVR_INTERFACECALLLOG model = logHelper.GetMode(); string content = String.Empty; if (model == null) { content = "内容是空的"; } else { content += model.CLIENTIP; } return new JsonResult { result = false, retcode = (int)EnumInterfaceErrcode.调用成功, retmsg = "ID:" + id + ",content:" + content }; } #region 活动报名 /// /// 用户活动申请 /// /// /// /// /// public string Join(string content, string clientid, string sign) { string retMsg = string.Empty; try { string resid = string.Empty; var content2 = content; //string url = Utility.GetClassAndMethodName(1); logHelper.AddCallLog(content, clientid, sign, "ResourceService/Join"); if (clientKey == "nj_crm") { clientid = SecurityHelper.OrderClientIdKey; } //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); //return JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); return HttpUtility.UrlEncode(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }))); } content = sHelper.decyptData(clientid, content); //解密操作 var activeModel = JsonHelper.JsonDivertToObj(content); LogHelper.Info("活动资源进入:" + activeModel.ToJson()); if (string.IsNullOrWhiteSpace(activeModel.campaignId) && string.IsNullOrWhiteSpace(activeModel.account)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); retMsg = sHelper.encyptData(clientid, retMsg); return HttpUtility.UrlEncode(retMsg); } if (activeModel.accounttype == 0) { //手机号 activeModel.mobile = activeModel.account; } else if (activeModel.accounttype == 1) { //用户名 activeModel.username = activeModel.account; } else if (activeModel.accounttype == 2) { //客户ID resid = activeModel.account; } else { return sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 })); } if (!string.IsNullOrEmpty(activeModel.mobile)) { resid = ResUtil.CreateResId(activeModel.mobile); res_Customer_BL.ResgisterCustomer(activeModel.mobile, resid, activeModel.campaignId); } else { if (!string.IsNullOrEmpty(resid)) { var m = _resourceMobile.Get(p => p.RESID == resid); activeModel.mobile = sHelper.decyptData(clientKey, m.MOBILE); } else { var cust = res_customeruser.GetModelByUserName(activeModel.username); if (cust == null) { retMsg = sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.不存在此用户 })); return retMsg; } else { resid = cust.RESID; var m = _resourceMobile.Get(p => p.RESID == resid); activeModel.mobile = sHelper.decyptData(clientKey, m.MOBILE); } } } if (activeModel.campaignId == "TNB26001") { activeModel.deptcode = "QBJZ"; } if (activeModel.ch.HasValue) { var companyList = _cache.GetCompanyCode(); var chanlel = activeModel.ch.GetValueOrDefault(); var company = companyList.FirstOrDefault(p => p.Min <= chanlel && p.Max >= chanlel); //LogHelper.Info("根据渠道获取推送码:" + company.ToJson()); if (company != null) { activeModel.deptcode = company.CompanyCode; } } //如果是推广资源,需要先分配 if (activeModel.assigntype.HasValue && activeModel.assigntype.Value == 1 && !activeModel.eid.HasValue) { try { var assignUrl = paramter_bl.GetValue_Parameter("assignUrl"); var assign = new AssignQuery("com.dongniu", activeModel.username, activeModel.ch.Value, activeModel.ch.Value, activeModel.campaignId); if (activeModel.accounttype == 0) { assign = new AssignQuery("com.web", resid, activeModel.ch.Value, activeModel.ch.Value, activeModel.campaignId); } else if (activeModel.accounttype == 1) { assign = new AssignQuery("com.dongniu", activeModel.username, activeModel.ch.Value, activeModel.ch.Value, activeModel.campaignId); } var time = (long)Utility.ConvertDateTimeInt(DateTime.Now); var message = JsonConvert.SerializeObject(new { account = "dn.crm", time }); var para = new SecurityHelper().createSignEncodingStr(message); var rsp = Utility.PostAjaxData(assignUrl + "?" + para, assign.ToJson(), Encoding.UTF8); var ret = JsonConvert.DeserializeObject(rsp); LogHelper.Info("获取分配" + ret.ToJson()); if (ret.errcode == 0) { if (!string.IsNullOrEmpty(ret.data.eid)) { activeModel.eid = int.Parse(ret.data.eid); } else { activeModel.eid = null; } activeModel.groupid = ret.data.groupid; _regUser.SetQuantity(activeModel.ch ?? 0, activeModel.eid ?? 0, activeModel.groupid ?? 0, resid); } } catch (Exception ex) { LogHelper.Info("获取分配错误:" + activeModel.ToJson()); LogHelper.Error(ex); } } //var apply = new RES_APPLY //{ // CTIME = DateTime.Now, // JSONDATA = activeModel.jsondata, // JSONTYPE = 0, // MOBILE = activeModel.mobile, // RESID = resid, // RESOURCETAG = activeModel.campaignId, // RTIME = DateTime.Now, // STATUS = 0, // USERNAME = activeModel.username, // DATATYPE = activeModel.datatype, // EXTXML = activeModel.extxml, // KWORD = activeModel.kword //}; //bool tr = _resApply.Create(ref errors, apply); //if (tr) //{ if (!string.IsNullOrEmpty(activeModel.deptcode)) { //推送到分部 if (activeModel.assigntype.HasValue && activeModel.assigntype.Value == 1 && activeModel.eid.HasValue) { var c = sHelper.encyptData(clientid, activeModel.ToJson()); var s = sHelper.signData(clientid, c); EventBus.Instance.Publish(new JoinActiveEvent(c, clientid, s, activeModel.deptcode)); } else { EventBus.Instance.Publish(new JoinActiveEvent(content2, clientid, sign, activeModel.deptcode)); } } else { //如果没有部门编码 EventBus.Instance.Publish(new JoinActiveAllDeptEvent(content2, clientid, sign, resid, activeModel.campaignId)); } retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功, ResId = resid }); //} //else //{ // retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误, ResId = resid }); //} } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误, ResId = "" }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } public JsonResult AddActiveType(ActivityDto dto) { EventBus.Instance.Publish(new AddActivityEvent(dto)); return new JsonResult { result = true, retcode = (int)EnumInterfaceErrcode.调用成功, retmsg = "success" }; } #endregion #region /// /// 用户活动申请 /// /// /// /// /// public string SynRfm(string content, string clientid, string sign) { string retMsg = string.Empty; try { string resid = string.Empty; var content2 = content; //string url = Utility.GetClassAndMethodName(1); logHelper.AddCallLog(content, clientid, sign, "ResourceService/SynRfm"); if (clientKey == "nj_crm") { clientid = SecurityHelper.OrderClientIdKey; } //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); //return JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); return HttpUtility.UrlEncode(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }))); } content = sHelper.decyptData(clientid, content); //解密操作 var activeModel = JsonHelper.JsonDivertToObj(content); //LogHelper.Info("活动资源进入:" + activeModel.ToJson()); if (string.IsNullOrWhiteSpace(activeModel.mobile))//号码必传 { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); retMsg = sHelper.encyptData(clientid, retMsg); return HttpUtility.UrlEncode(retMsg); } if (string.IsNullOrWhiteSpace(activeModel.labelname)) { return HttpUtility.UrlEncode(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }))); } if (!string.IsNullOrEmpty(activeModel.mobile)) { resid = ResUtil.CreateResId(activeModel.mobile); res_Customer_BL.ResgisterCustomer(activeModel.mobile, resid, activeModel.ch.ToString());//如果传递了号码,直接注册一下 } if (activeModel.ch.HasValue) { var companyList = _cache.GetCompanyCode(); var chanlel = activeModel.ch.GetValueOrDefault(); var company = companyList.FirstOrDefault(p => p.Min <= chanlel && p.Max >= chanlel); //LogHelper.Info("根据渠道获取推送码:" + company.ToJson()); if (company != null) { activeModel.deptcode = company.CompanyCode; } } if (!string.IsNullOrEmpty(activeModel.deptcode)) { if (activeModel.deptcode != "AGENT") { //推送到分部 activeModel.mobile = resid;//直接给resid付给mobile string info = JsonHelper.ObjDivertToJson(activeModel); EventBus.Instance.Publish(new RfmEvent() { weight = activeModel.weight, mobile = activeModel.mobile, ch = activeModel.ch, deptcode = activeModel.deptcode, labelname = activeModel.labelname, username = activeModel.username, appid = activeModel.appid }); } } LogHelper.Info(string.Format("Client_Rfm:{0}", JsonHelper.ObjDivertToJson(activeModel))); retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功, ResId = resid }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误, ResId = "" }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } #endregion #region 直播课 public string Scene(string content, string clientid, string sign) { var retMsg = string.Empty; try { LogHelper.Info("content:" + content + "###clientid:" + clientid + "###sign:" + sign); var resid = string.Empty; var content2 = content; //string url = Utility.GetClassAndMethodName(1); logHelper.AddCallLog(content, clientid, sign, "ResourceService/Scene"); if (clientKey == "nj_crm") { clientid = SecurityHelper.OrderClientIdKey; } //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); //return JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); return HttpUtility.UrlEncode(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }))); } content = sHelper.decyptData(clientid, content); //解密操作 var dto = JsonHelper.JsonDivertToObj(content); if (!string.IsNullOrEmpty(dto.resid) && string.IsNullOrEmpty(dto.mobile))//号码为空,资源ID不为空 { string mobile = _resourceMobile.GetNumberByResId(dto.resid); if (!string.IsNullOrEmpty(mobile)) { dto.mobile = mobile; } } else if (!string.IsNullOrEmpty(dto.mobile)) { dto.resid = ResUtil.CreateResId(dto.mobile); new RES_CUSTOMER_BL().ResgisterCustomer(dto.mobile, dto.resid, dto.ch.ToString());//号码入库 } if (dto.ch.HasValue) { var companyList = _cache.GetCompanyCode(); var chanlel = dto.ch.GetValueOrDefault(); var company = companyList.FirstOrDefault(p => p.Min <= chanlel && p.Max >= chanlel); //LogHelper.Info("根据渠道获取推送码:" + company.ToJson()); if (company != null) { dto.deptcode = company.CompanyCode; } } var model = new Res_Scene() { Mobile = dto.mobile, ResId = dto.resid, AppId = dto.appid, AppUserId = dto.appuserid, HeadUrl = dto.headurl, NickName = dto.nickname, SceneTitle = dto.scenetitle, SceneType = dto.scenetype, JoinTime = dto.jointime, CTime = DateTime.Now, Ch = dto.ch, DeptCode = dto.deptcode, UnionId = dto.unionid }; //LogHelper.Info(model.ToJson()); LogHelper.Info(dto.ToJson()); _resScene.Add(model); if (!string.IsNullOrEmpty(dto.deptcode)) { string jiami = sHelper.encyptData(clientid, dto.ToJson()); string necontent = HttpUtility.UrlEncode(jiami, Encoding.UTF8); string jiasuo = sHelper.signData(clientid, jiami); string newsign = HttpUtility.UrlEncode(jiasuo, Encoding.UTF8); //推送到分部 EventBus.Instance.Publish(new ResSceneEvent(jiami, clientid, jiasuo, dto.deptcode)); } retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功, ResId = resid }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误, ResId = "" }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } public string UpdateSceneOnlineTime(string content, string clientid, string sign) { var retMsg = string.Empty; try { LogHelper.Info("content:" + content + "###clientid:" + clientid + "###sign:" + sign); var content2 = content; //string url = Utility.GetClassAndMethodName(1); logHelper.AddCallLog(content, clientid, sign, "ResourceService/UpdateSceneOnlineTime"); if (clientKey == "nj_crm") { clientid = SecurityHelper.OrderClientIdKey; } //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); //return JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); return HttpUtility.UrlEncode(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }))); } content = sHelper.decyptData(clientid, content); //解密操作 var dto = JsonHelper.JsonDivertToObj(content); if (string.IsNullOrWhiteSpace(dto.appid) || string.IsNullOrWhiteSpace(dto.appuserid) || dto.scenetype <= 0 || !dto.ch.HasValue || !dto.onlinetime.HasValue) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); retMsg = sHelper.encyptData(clientid, retMsg); return HttpUtility.UrlEncode(retMsg); } if (dto.ch.HasValue) { var companyList = _cache.GetCompanyCode(); var chanlel = dto.ch.GetValueOrDefault(); var company = companyList.FirstOrDefault(p => p.Min <= chanlel && p.Max >= chanlel); //LogHelper.Info("根据渠道获取推送码:" + company.ToJson()); if (company != null) { dto.deptcode = company.CompanyCode; } } var list = _resScene.GetList(p => p.AppId == dto.appid && p.AppUserId == dto.appuserid && p.SceneType == dto.scenetype).ToList(); foreach (var item in list) { item.OnlineTime = dto.onlinetime; _resScene.Update(item); } if (!string.IsNullOrEmpty(dto.deptcode)) { //推送到分部 EventBus.Instance.Publish(new UpdateSceneOnlineTimeEvent(content2, clientid, sign, dto.deptcode)); } retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误 }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } #endregion #region 查询ResId public string ResId(string content, string clientid, string sign) { var retMsg = string.Empty; //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return retMsg; } try { content = sHelper.decyptData(clientid, content); //解密操作 var activeModel = JsonHelper.JsonDivertToObj(content); if (string.IsNullOrWhiteSpace(activeModel.mobile)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); return sHelper.encyptData(clientid, retMsg); } var resid = ResUtil.CreateResId(activeModel.mobile); retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功, ResId = resid }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误, ResId = "" }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } #endregion #region 合并客户 /// /// 老接口,从服务同步中传递过来,弃用 /// /// /// /// /// public string Merge(string content, string clientid, string sign) { var retMsg = string.Empty; if (!sHelper.CheckClientValid(clientid, content, sign)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return retMsg; } try { var decyptContent = sHelper.decyptData(clientid, content); //解密操作 var model = JsonHelper.JsonDivertToObj(decyptContent); res_Customer_BL.MergeCustomer(model.oldresid, model.newresid);//合并 EventBus.Instance.Publish(new JoinActiveEvent(content, clientid, sign, model.deptcode));//推送到分部 retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误 }); } return HttpUtility.UrlEncode(sHelper.encyptData(clientid, retMsg)); } /// /// 分部调用合并接口,并推送至用户中心实现合并 /// /// /// /// /// public Stream MergeToUserCenter(string content, string clientid, string sign) { var retMsg = string.Empty; if (!sHelper.CheckClientValid(clientid, content, sign)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return Utility.GetStream(sHelper.encyptData(clientid, retMsg)); } try { logHelper.AddCallLog(content, clientid, sign, "ResourceService/MergeToUserCenter"); var decyptContent = sHelper.decyptData(clientid, content); //解密操作 var mergeinfo = JsonHelper.JsonDivertToObj(decyptContent); //res_Customer_BL.MergeCustomer(model.oldresid, model.newresid);//中心点合并合并 var json = new { userList = JsonHelper.NewtonsoftToJson(mergeinfo.mergeappuserlist) }; string url = ""; if (mergeinfo.type == "bind") { url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_ForceMerge);//合并 //res_Customer_BL.MergeCustomer(model.oldresid, model.newresid);//中心点合并合并 } else if (mergeinfo.type == "unbind") { url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_UnBind);//解绑 } res_Customer_BL.MergeCustomer(mergeinfo.resid, mergeinfo.newcustomerid);//中心点合并合并 string retmsg = Utility.PostAjaxData(url, JsonHelper.NewtonsoftToJson(json), Encoding.UTF8);//返回信息 CommonRsp retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.ret == -1) { LogHelper.Error("ResourceService/MergeToUserCenter err:" + retmsg + ";data:" + decyptContent);//存储合并错误信息 retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功但有错误 }); } else retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); //EventBus.Instance.Publish(new JoinActiveEvent(content, clientid, sign, model.deptcode));//推送到分部 //retMsg = JsonHelper.ObjDivertToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); } catch (Exception ex) { LogHelper.Error(ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误 }); } return Utility.GetStream(sHelper.encyptData(clientid, retMsg)); } #endregion #region 注册同步 /// /// 手动执行手机号注册,不带短信验证码验证 /// /// /// /// /// public Stream SyncRegUser(string content, string clientid, string sign) { LogHelper.Info("User/SyncReg?content=" + HttpUtility.UrlEncode(content) + "&clientid=" + clientid + "&sign=" + HttpUtility.UrlEncode(sign)); bool isTrue = true; string retMsg = string.Empty; string url = Utility.GetClassAndMethodName(1); //var content2 = content; logHelper.AddCallLog(content, clientid, sign, url); //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); //retMsg = sHelper.encyptData(clientid, retMsg); LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return Utility.GetStream(retMsg); } #region 参数解析阶段 LogHelper.Info("开始解密");//解密后的内容 SyncRegUserDto activeModel = null; try { //LogHelper.Info("xx:" + content); content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("内容:" + content);//解密后的内容 activeModel = Utility.JSONToObject(content); ////时间戳转换时间,会少8小时! //if (activeModel.regDate != null) // activeModel.regDate = activeModel.regDate.Value.AddHours(8); if (string.IsNullOrEmpty(activeModel.username)) { retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); //retMsg = sHelper.encyptData(clientid, retMsg); return Utility.GetStream(retMsg); } } catch (Exception ex) { retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); isTrue = false; LogHelper.Error(string.Concat("当前请求Url:", url, "|" + content + "|", ex.ToString())); } #endregion if (isTrue) { try { //if (!string.IsNullOrEmpty(activeModel.mobile)) //{ // ConStringHelper.GetDecryptConnectingString(activeModel.mobile); //} //if (!string.IsNullOrEmpty(activeModel.mobile)) //{ // ConStringHelper.GetDecryptConnectingString(activeModel.mobile); //} //18696548545,5001,6201075,5001,2013-8-7 13:54:16 【手机号,标签,卡号,用户名,注册时候】 //_regUser.RegUser(activeModel.mobile, activeModel.ch, "", activeModel.username, rgd, 0, activeModel.em, activeModel.ip, activeModel.mobile, activeModel.plat, eid: activeModel.eid, openid: activeModel.openid, openplat: activeModel.openplat, unionid: activeModel.unionId); if (activeModel.curChannel.HasValue) { activeModel.ch = activeModel.curChannel.ToString(); } if (string.IsNullOrEmpty(activeModel.eid) && string.IsNullOrEmpty(activeModel.refeid) && !string.IsNullOrEmpty(activeModel.regSource)) { try { var assignUrl = paramter_bl.GetValue_Parameter("assignUrl"); var assign = new AssignQuery("com.dongniu", activeModel.username, activeModel.channel, activeModel.curChannel.Value, activeModel.regSource); if (!string.IsNullOrEmpty(activeModel.unionId)) { assign.unionid = activeModel.unionId; } var time = (long)Utility.ConvertDateTimeInt(DateTime.Now); var message = JsonConvert.SerializeObject(new { account = "dn.crm", time }); var para = new SecurityHelper().createSignEncodingStr(message); var rsp = Utility.PostAjaxData(assignUrl + "?" + para, assign.ToJson(), Encoding.UTF8); var ret = JsonConvert.DeserializeObject(rsp); LogHelper.Info("获取分配" + ret.ToJson()); if (ret.errcode == 0) { activeModel.eid = ret.data.eid; activeModel.groupid = ret.data.groupid; } } catch (Exception ex) { LogHelper.Info("获取分配错误:" + activeModel.ToJson()); LogHelper.Error(ex); retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.数据不存在 }); return Utility.GetStream(retMsg); } } _regUser.RegUser(activeModel); retMsg = Utility.ObjectToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); #region 发布用户注册事件 try { //根据渠道号获取部门编码 var ch = int.Parse(activeModel.ch); var companyCode = _cache.GetCompanyCode(); var company = companyCode.FirstOrDefault(p => p.Min <= ch && p.Max >= ch); var c = sHelper.encyptData(clientid, activeModel.ToJson()); var s = sHelper.signData(clientid, c); //var c2 = sHelper.createSignEncodingStr(activeModel.ToString()); EventBus.Instance.Publish(new SoftUserRegisterEvent(c, clientid, s, company != null ? company.CompanyCode : "DNZZ")); } catch (Exception exx) { LogHelper.Error("发布注册用户事件错误:" + exx.ToString()); } #endregion #region 发布用户注册短信事件 try { //渠道号 var ch = int.Parse(activeModel.ch); string v_resid = string.Empty; if (!string.IsNullOrEmpty(activeModel.mobile)) { v_resid = ResUtil.CreateResId(activeModel.mobile); EventBus.Instance.Publish(new SoftUserRegisterMsgEvent(activeModel.username, v_resid, ch)); } } catch (Exception exx) { LogHelper.Error("发布注册用户事件错误:" + exx.ToString()); } #endregion } catch (Exception ex) { LogHelper.Error("同步注册用户出现异常" + ex); retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误 }); } finally { CacheHelper.RemoveRegCache(activeModel.username); } } //retMsg = sHelper.encyptData(clientid, retMsg); //加密返回值 return Utility.GetStream(retMsg); } public Stream BindRegUser(string content, string clientid, string sign) { LogHelper.Info("cntent:" + content + ",clientid:" + clientid + ",sign:" + sign); bool isTrue = true; string retMsg = string.Empty; string url = Utility.GetClassAndMethodName(1); var content2 = content; logHelper.AddCallLog(content, clientid, sign, url); //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.非法请求 }); //retMsg = sHelper.encyptData(clientid, retMsg); LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return Utility.GetStream(retMsg); } #region 参数解析阶段 LogHelper.Info("开始解密");//解密后的内容 BindRegUserDto model = null; try { LogHelper.Info("xx:" + content); content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("内容:" + content);//解密后的内容 model = Utility.JSONToObject(content); if (string.IsNullOrEmpty(model.username) && string.IsNullOrEmpty(model.unionId)) { return Utility.GetStream(Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 })); } if (model.eid == 0 || model.ch == 0) { return Utility.GetStream(Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 })); } } catch (Exception ex) { retMsg = Utility.ObjectToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.参数错误 }); isTrue = false; LogHelper.Error(string.Concat("当前请求Url:", url, "|" + content + "|", ex.ToString())); } #endregion if (isTrue) { _regUser.BindUser(model.username, model.unionId, model.eid, model.ch); #region 发布绑定用户关系事件 try { //根据渠道号获取部门编码 var ch = model.ch; var companyCode = _cache.GetCompanyCode(); var company = companyCode.FirstOrDefault(p => p.Min <= ch && p.Max >= ch); EventBus.Instance.Publish(new SoftUserBindEvent(content2, clientid, sign, company != null ? company.CompanyCode : "DNZZ")); } catch (Exception exx) { LogHelper.Error("发布注册用户事件错误:" + exx.ToString()); } #endregion retMsg = Utility.ObjectToJson(new { result = true, retcode = (int)EnumInterfaceErrcode.调用成功 }); } return Utility.GetStream(retMsg); } #endregion #region 重置密码 /// /// 重置密码 /// /// /// /// /// public Stream PassWordReset(string content, string clientid, string sign) { string msg = string.Empty; //retOrder retOrder = null; retMsg restmsg = new retMsg(); //string ndretmsg = string.Empty; try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); //if (clientKey == "nj_crm") //{ // clientid = SecurityHelper.OrderClientIdKey; //} //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(restmsg)));//返回加密数据 } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); resetPwd ordermodel = null; ordermodel = Utility.JSONToObject(content); string resid = WX.CRM.Common.ResUtil.CreateResId(ordermodel.mobile); if (res_Customer_BL.getResCustomerByResId(resid) == null) { res_Customer_BL.ResgisterCustomer(ordermodel.mobile, resid, "repwdres");//注册资源 } SOFT_USER soft_user = soft_user_bl.GetUser_userName(ordermodel.userName); if (soft_user == null) { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.不存在此用户; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(restmsg)));//返回加密数据 } #region =================调用NodeJs重置密码======================== LogHelper.Info("====调用NodeJs重置密码==="); ResetUserPwdReq suorder = new ResetUserPwdReq(); suorder.userName = ordermodel.userName; //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 //if (suorder.totalPrice == 0) // url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 //else url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_ResetPwd);//封装出来的接口 string json = JsonHelper.ObjDivertToJson(suorder); LogHelper.Info("Node.JS接口参数json=>:" + json); json = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(suorder), SecurityHelper.OrderClientIdKey)); string retmsg = Utility.PostAjaxData(url, json, Encoding.UTF8);//返回信息 LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg); //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); ResetUserPwdRsp retmessage = JsonHelper.JsonDivertToObj(retmsg); //====================================================================== #endregion if (retmessage.ret == 0) { soft_resetpwd softpwd = new soft_resetpwd(); softpwd.companycode = ordermodel.companycode; softpwd.ctime = DateTime.Now; softpwd.newpassword = retmessage.newpwd; softpwd.resid = resid; softpwd.soft_username = ordermodel.userName; softpwd.userid = ordermodel.userid; var result = sof_restpwd_bl.Add(softpwd) > 0; LogHelper.Error("resetpwd_succ:" + retmsg);// restmsg.result = true; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功; restmsg.retmsg = sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(retmessage)); #region 发布重置密码成功事件 var sendSoftUserPasswordEvent = new SendSoftUserPasswordEvent(softpwd.resid, softpwd.soft_username, softpwd.newpassword, int.Parse(softpwd.userid.ToString())); EventBus.Instance.Publish(sendSoftUserPasswordEvent); #endregion return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(restmsg)));//返回加密数据 } else { LogHelper.Error("resetpwd_erro:" + retmsg);// restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = "重置密码错误"; return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(restmsg)));//返回加密数据 } } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(restmsg)));//返回加密数据 } } #endregion #region 重置手机号 public Stream ResetMobile(string content, string clientid, string sign) { var msg = string.Empty; var restmsg = new retMsg(); try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); var resetMobileDto = Utility.JSONToObject(content); #region 参数检查 if (resetMobileDto.type == 0) { if (string.IsNullOrWhiteSpace(resetMobileDto.newmobile)) { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.参数错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } else if (resetMobileDto.type == 1) { if (string.IsNullOrWhiteSpace(resetMobileDto.oldmobile)) { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.参数错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } else if (resetMobileDto.type == 2) { if (string.IsNullOrWhiteSpace(resetMobileDto.oldmobile) || string.IsNullOrWhiteSpace(resetMobileDto.newmobile)) { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.参数错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } else { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.参数错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } #endregion #region =================调用NodeJs重置手机号=============================== LogHelper.Info("===调用NodeJs重置手机号==="); resetMobileDto.ip = ClientIp(); var resetMobileUrl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_ResetMobile);//封装出来的接口 var json = JsonHelper.ObjDivertToJson(resetMobileDto); LogHelper.Info("Node.JS接口参数json=>:" + json); var reqJson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json, SecurityHelper.OrderClientIdKey)); var retmsg = Utility.PostAjaxData(resetMobileUrl, reqJson, Encoding.UTF8);//返回信息 LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg); //{"ret":0,"msg":"OK"} var ret = Utility.JSONToObject(retmsg); if (ret.ret == 0) { if (resetMobileDto.type == 0 || resetMobileDto.type == 2) { var resid = ResUtil.CreateResId(resetMobileDto.newmobile); if (res_Customer_BL.getResCustomerByResId(resid) == null) { res_Customer_BL.ResgisterCustomer(resetMobileDto.newmobile, resid, "resetmobile");//注册资源 } res_customeruser.ContractUser(resid, resetMobileDto.username);//关联用户 } } return Utility.GetStream(retmsg); #endregion ================================================================ } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } #endregion #region 解绑软件和企微关系 public Stream UnBindQW(string content, string clientid, string sign) { var msg = string.Empty; var restmsg = new retMsg(); try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); var resetMobileDto = Utility.JSONToObject(content); #region 参数检查 if (string.IsNullOrEmpty(resetMobileDto.username)) { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.参数错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } #endregion #region =================调用NodeJs企业微信关系解绑=============================== LogHelper.Info("===调用NodeJs企业微信关系解绑==="); var ubinurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_UnBindQW);//封装出来的接口 var json = JsonHelper.ObjDivertToJson(resetMobileDto); LogHelper.Info("Node.JS接口参数json=>:" + json); var reqJson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json, SecurityHelper.OrderClientIdKey)); LogHelper.Info("数据:" + reqJson); var retmsg = Utility.PostAjaxData(ubinurl, reqJson, Encoding.UTF8);//返回信息 LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg); retUnBindMsg retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.ret == 0) { restmsg.result = true; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功; restmsg.retmsg = sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(retmessage)); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } else { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功但有错误; restmsg.retmsg = retmessage.msg; return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } #endregion ================================================================ } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } #endregion #region 根据手机号码查询已经存在的软件用户信息 public JsonResult GetSoftUser(string ResId) { var softUserList = soft_user_bl.GetUserByResid(ResId); if (softUserList != null) { var softUser = softUserList.FirstOrDefault(); if (softUser != null) { return new JsonResult { result = true, retcode = 200, retmsg = softUser.USERNAME }; } } return new JsonResult { result = false, retcode = 0, retmsg = string.Empty }; } #endregion public Stream Sign(string username, string signid) { bool result = true; string msg = string.Empty; try { LogHelper.Info(string.Format("username:{0},signid:{1}", username, signid)); msg = "Success"; } catch (Exception ex) { msg = "系统错误!"; result = false; } var ojb = new { result = result, msg = msg }; return Utility.GetStream(JsonHelper.ObjDivertToJson(ojb)); } #region 投诉接口 public Stream ComplainAdd(string content, string clientid, string sign) { var restmsg = new retMsg(); try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); var dto = Utility.JSONToObject(content); var bl = new QC_CUSTOMERCOMPLAIN_BL(); var model = new QC_CUSTOMERCOMPLAIN { PKID = dto.pkid, RESID = dto.resid, SALESID = dto.salesid, REASON = dto.reason, STATUS = dto.status, FROMTYPE = dto.fromtype, COMPLAINLEVEL = dto.complainlevel, CTIME = dto.ctime, UTIME = dto.utime, SERVERID = dto.serverid, FILENAME = dto.filename, RECORDID = dto.recordid, RECORDDATE = dto.recorddate, TRADECODE = dto.tradecode, DEPTAUDITPKID = dto.deptauditpkid, COMPLIANGUID = dto.complianguid, UNHANDLEWARNTIME = dto.unhandlewarntime, HANDLEWARNTIME = dto.handlewarntime, COMPANYCODE = dto.companycode }; bl.Add(model); restmsg.result = true; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } public Stream ComplainFlow(string content, string clientid, string sign) { var restmsg = new retMsg(); try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); var dto = Utility.JSONToObject(content); var bl = new QC_COMPLAIN_SERVICEMEMO_BL(); var model = new QC_COMPLAIN_SERVICEMEMO { PKID = dto.pkid, COMPLAINID = dto.complainid, MEMOID = dto.memoid, RECOMPLAINLEVEL = dto.recomplainlevel, INNERUSERID = dto.inneruserid, MEMO = dto.memo, CTIME = dto.ctime, RECORDID = dto.recordid }; bl.Add(model); restmsg.result = true; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } public Stream ComplainStatus(string content, string clientid, string sign) { var restmsg = new retMsg(); try { string url = Utility.GetClassAndMethodName(1); LogHelper.Info(content + "-----" + clientid + "---------" + sign); logHelper.AddCallLog(content, clientid, sign, url); if (!sHelper.CheckClientValid(clientid, content, sign))//签名认证 { restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.非法请求; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } content = sHelper.decyptData(clientid, content); //解密操作 LogHelper.Info("content:" + content); var dto = Utility.JSONToObject(content); var bl = new QC_CUSTOMERCOMPLAIN_BL(); var model = bl.Get(p => p.PKID == dto.pkid); if (model != null) { model.STATUS = dto.status; bl.Update(model); } restmsg.result = true; restmsg.retcode = (int)EnumInterfaceErrcode.调用成功; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } catch (Exception ex) { LogHelper.Error(ex.ToString()); restmsg.result = false; restmsg.retcode = (int)EnumInterfaceErrcode.系统错误; restmsg.retmsg = Utility.GetCheckEnumNameByValue(restmsg.retcode); return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg)); } } #endregion #region 打标签 public Stream UserEnter(string mobile) { var userEnterUrl = _cache.GetValue_Parameter(Parameter.UserCenter_UserEnter); if (string.IsNullOrEmpty(userEnterUrl)) { return Utility.GetStream(JsonHelper.ObjDivertToJson(new { ret = false, message = "参数错误!" })); } var para = new { mobile = mobile, appid = "com.web", appuserid = mobile }; var rsp = Utility.PostAjaxData(userEnterUrl, para.ToJson(), Encoding.UTF8); LogHelper.Info("rsp:" + rsp); return Utility.GetStream(rsp); } public Stream HandelLabel(TagDto dto) { var handelLabelUrl = _cache.GetValue_Parameter(Parameter.UserCenter_HandelLabel); if (string.IsNullOrEmpty(handelLabelUrl)) { return Utility.GetStream(JsonHelper.ObjDivertToJson(new { ret = false, message = "参数错误!" })); } var tagList = new List(); var deletetagList = new List(); if (dto.tags.HasValue) { tagList.Add(new Tag() { tagid = dto.tags.Value, starttime = "", endtime = "" }); } if (dto.deleteTags.HasValue) { deletetagList.Add(new Tag() { tagid = dto.deleteTags.Value }); } var para2 = new { tags = tagList, deleteTags = deletetagList, appid = "com.web", appuserid = dto.appuserid }; var rsp2 = Utility.PostAjaxData(handelLabelUrl, para2.ToJson(), Encoding.UTF8); LogHelper.Info("rsp2:" + rsp2); return Utility.GetStream(rsp2); } #endregion private string ClientIp() { OperationContext context = OperationContext.Current; MessageProperties properties = context.IncomingMessageProperties; RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; return endpoint.Address; } public class Tag { public int tagid { get; set; } public string starttime { get; set; } public string endtime { get; set; } } public Stream GetSoftUserCheck(string content, string clientid, string sign) { var retMsg = string.Empty; try { //LogHelper.Info("GetSoftUserCheck:content:" + content + "###clientid:" + clientid + "###sign:" + sign); var content2 = content; logHelper.AddCallLog(content, clientid, sign, "ResourceService/GetSoftUserCheck"); //验证是否非法请求 if (!sHelper.CheckClientValid(clientid, content, sign)) { LogHelper.Info("非法请求content:" + content + ",clientid=" + clientid + ",sign=" + sign); return Utility.GetStream(sHelper.encyptData(clientid, JsonHelper.ObjDivertToJson(new { result = false, retmsg = "非法请求", retcode = (int)EnumInterfaceErrcode.非法请求 }))); } content = sHelper.decyptData(clientid, content); //解密操作 var dto = JsonHelper.JsonDivertToObj(content); if (string.IsNullOrWhiteSpace(dto.resid)) { retMsg = JsonHelper.ObjDivertToJson(new { result = false, retmsg = "参数错误", retcode = (int)EnumInterfaceErrcode.参数错误 }); retMsg = sHelper.encyptData(clientid, retMsg); return Utility.GetStream(retMsg); } Soft_User_GetCheck_BL bl = new Soft_User_GetCheck_BL(); List softlist = bl.GetSoftUser(dto, ref errors); if (errors.Count() == 0) retMsg = JsonHelper.ObjDivertToJson(new retMsgNew> { result = true, retmsg = "符合规则,获取成功", data = softlist, retcode = (int)EnumInterfaceErrcode.调用成功 }); else retMsg = JsonHelper.ObjDivertToJson(new retMsgNew> { result = false, retmsg = errors.Error, retcode = (int)EnumInterfaceErrcode.调用成功 }); } catch (Exception ex) { LogHelper.Error("错误json:" + content + " 错误:" + ex.ToString()); retMsg = JsonHelper.ObjDivertToJson(new { result = false, retcode = (int)EnumInterfaceErrcode.系统错误, retmsg = "系统发生错误", }); } return Utility.GetStream(sHelper.encyptData(clientid, retMsg)); } } }