ComplianceServer/oldcode/ZXDService/ResourceService.svc.cs

1566 lines
71 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<string> DoWork(string id)
{
ISVR_INTERFACECALLLOG model = logHelper.GetMode();
string content = String.Empty;
if (model == null)
{
content = "内容是空的";
}
else
{
content += model.CLIENTIP;
}
return new JsonResult<string> { result = false, retcode = (int)EnumInterfaceErrcode., retmsg = "ID:" + id + ",content:" + content };
}
#region
/// <summary>
/// 用户活动申请
/// </summary>
/// <param name="content"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<JionActiveDto>(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<WeworkUserAssignMessage>(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<string> AddActiveType(ActivityDto dto)
{
EventBus.Instance.Publish(new AddActivityEvent(dto));
return new JsonResult<string> { result = true, retcode = (int)EnumInterfaceErrcode., retmsg = "success" };
}
#endregion
#region
/// <summary>
/// 用户活动申请
/// </summary>
/// <param name="content"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<RfmDto>(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<SceneDto>(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<SceneDto>(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<JionActiveDto>(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
/// <summary>
/// 老接口,从服务同步中传递过来,弃用
/// </summary>
/// <param name="content"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<MergeCustomerDto>(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));
}
/// <summary>
/// 分部调用合并接口,并推送至用户中心实现合并
/// </summary>
/// <param name="content"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<MergeOrUnBind>(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<CommonRsp>(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
/// <summary>
/// 手动执行手机号注册,不带短信验证码验证
/// </summary>
/// <param name="key"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<SyncRegUserDto>(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<WeworkUserAssignMessage>(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<BindRegUserDto>(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
/// <summary>
/// 重置密码
/// </summary>
/// <param name="content"></param>
/// <param name="clientid"></param>
/// <param name="sign"></param>
/// <returns></returns>
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<EnumInterfaceErrcode>(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<resetPwd>(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<EnumInterfaceErrcode>(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<ResetUserPwdRsp>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
content = sHelper.decyptData(clientid, content); //解密操作
LogHelper.Info("content:" + content);
var resetMobileDto = Utility.JSONToObject<ResetMobileDto>(content);
#region
if (resetMobileDto.type == 0)
{
if (string.IsNullOrWhiteSpace(resetMobileDto.newmobile))
{
restmsg.result = false;
restmsg.retcode = (int)EnumInterfaceErrcode.;
restmsg.retmsg = Utility.GetCheckEnumNameByValue<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
}
else
{
restmsg.result = false;
restmsg.retcode = (int)EnumInterfaceErrcode.;
restmsg.retmsg = Utility.GetCheckEnumNameByValue<EnumInterfaceErrcode>(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<ResetMobileRet>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
content = sHelper.decyptData(clientid, content); //解密操作
LogHelper.Info("content:" + content);
var resetMobileDto = Utility.JSONToObject<UnBindQWDto>(content);
#region
if (string.IsNullOrEmpty(resetMobileDto.username))
{
restmsg.result = false;
restmsg.retcode = (int)EnumInterfaceErrcode.;
restmsg.retmsg = Utility.GetCheckEnumNameByValue<EnumInterfaceErrcode>(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<retUnBindMsg>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
}
#endregion
#region
public JsonResult<string> GetSoftUser(string ResId)
{
var softUserList = soft_user_bl.GetUserByResid(ResId);
if (softUserList != null)
{
var softUser = softUserList.FirstOrDefault();
if (softUser != null)
{
return new JsonResult<string> { result = true, retcode = 200, retmsg = softUser.USERNAME };
}
}
return new JsonResult<string> { 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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
content = sHelper.decyptData(clientid, content); //解密操作
LogHelper.Info("content:" + content);
var dto = Utility.JSONToObject<ComplainDto>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
content = sHelper.decyptData(clientid, content); //解密操作
LogHelper.Info("content:" + content);
var dto = Utility.JSONToObject<ComplainDetialDto>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(restmsg.retcode);
return Utility.GetStream(JsonHelper.ObjDivertToJson(restmsg));
}
content = sHelper.decyptData(clientid, content); //解密操作
LogHelper.Info("content:" + content);
var dto = Utility.JSONToObject<ComplainStatusDto>(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<EnumInterfaceErrcode>(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<EnumInterfaceErrcode>(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<Tag>();
var deletetagList = new List<Tag>();
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<Soft_User_GetCheckDTO>(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<Soft_User_GetModelDTO> softlist = bl.GetSoftUser(dto, ref errors);
if (errors.Count() == 0)
retMsg = JsonHelper.ObjDivertToJson(new retMsgNew<List<Soft_User_GetModelDTO>> { result = true, retmsg = "符合规则,获取成功", data = softlist, retcode = (int)EnumInterfaceErrcode. });
else
retMsg = JsonHelper.ObjDivertToJson(new retMsgNew<List<Soft_User_GetModelDTO>> { 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));
}
}
}