using System;
using System.Collections.Generic;
using System.Data;
using BP.DA;
using BP.Web;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using System.Collections;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using BP.Sys;
using System.Drawing;
using System.Net.Http;
namespace BP.Cloud.HttpHandler
{
///
/// 页面功能实体
///
public class App_Organization : BP.WF.HttpHandler.DirectoryPageBase
{
///
/// 构造函数
///
public App_Organization()
{
}
#region 二维码邀请.
public string RegUser_Init()
{
// if (Glo.IsEnableRegUser == false)
// return "err@该系统尚未启动注册功能,请通知管理员把全局配置项 IsEnableRegUser 设置为1,没有该项就添加该配置项.";
//返回部门信息,用与绑定部门.
Depts ens = new Depts();
ens.Retrieve("OrgNo", this.OrgNo);
return ens.ToJson();
}
///
/// 生成二维码.
///
///
public string InvitedQRCode_Init()
{
// 测试时可以修改URL
string url = "http://appcenter." + BP.Cloud.Glo.SaasHost + "/App/Organization/Invited.htm?OrgNo=" + WebUser.OrgNo + "&From=" + WebUser.No;
var img = QRCodeHelper.GenerateQRCode(url);
var Content = "data:image/jpeg;base64," + Convert.ToBase64String(img);
return JsonConvert.SerializeObject(Content);
}
///
/// 邀请注册提交
///
///
public string Invited_Submit()
{
try
{
string pass1 = this.GetRequestVal("TB_Pass1");
Org org = new Org(this.OrgNo);
//要切换当前的分库.
string userNo = this.GetRequestVal("TB_No");
string userName = this.GetRequestVal("TB_Name");
string deptNo = this.GetRequestVal("DDL_Dept");
Emp emp = new Emp();
DeptEmp de = new DeptEmp();
try
{
emp.No = this.OrgNo + "_" + userNo;
if (emp.RetrieveFromDBSources() == 1)
return "err@该账号[" + userNo + "]已经存在【" + org.Name + "】,如果丢失密码请重新找回.";
emp.UserID = userNo;
emp.OrgNo = org.No;
emp.OrgName = org.Name;
emp.FK_Dept = deptNo;
emp.Name = userName;
emp.Tel = userNo;
emp.Insert();
de.FK_Dept = deptNo;
de.FK_Emp = emp.UserID;
de.EmpNo = emp.No;
de.OrgNo = org.No;
de.setMyPK(FK_Dept + "_" + userNo);
de.DirectInsert();
}
catch (Exception ex)
{
return "err@写入本地库错误:" + ex.Message;
}
string url = "";
try
{
//调用接口写入用户中心.
url = "http://passport." + BP.Cloud.Glo.SaasHost + "/Handler.ashx?DoType=NewEmpByInvited&OrgNo=" + org.No + "&DeptNo=" + deptNo;
url += "&UserName=" + userName;
url += "&UserNo=" + userNo;
url += "&Pass=" + BP.Tools.Cryptography.EncryptString(pass1);
url += "&OpenID=123";
string str = DataType.ReadURLContext(url, 9000);
}
catch (Exception ex)
{
emp.Delete();
de.Delete();
return "err@写入中心库错误,请联系系统管理员:" + ex.Message;
}
//返回要登陆的url.
string token = BP.Cloud.Dev2Interface.Port_Login(userNo, OrgNo);
url = "http://appcenter." + BP.Cloud.Glo.SaasHost + "/App/GotoUrl.htm?OrgNo=" + this.OrgNo + "&UserNo=" + userNo + "&Token=" + token;
return url;
}
catch (Exception ex)
{
return "err@" + ex.Message;
}
}
///
/// 微信的注册
///
///
public string InvitedByWX_Submit()
{
try
{
Org org = new Org(this.OrgNo);
//要切换当前的分库.
string userNo = this.GetRequestVal("TB_No"); //手机号
string userName = this.GetRequestVal("TB_Name"); //名称.
string deptNo = this.GetRequestVal("DDL_Dept"); //所在部门.
//登陆ID.
string openID = this.GetRequestVal("OpenID");
Emp emp = new Emp();
DeptEmp de = new DeptEmp();
try
{
emp.No = this.OrgNo + "_" + userNo;
if (emp.RetrieveFromDBSources() == 1)
return "err@该账号[" + userNo + "]已经存在【" + org.Name + "】,如果丢失密码请重新找回.";
emp.UserID = userNo;
emp.OrgNo = org.No;
emp.OrgName = org.Name;
emp.FK_Dept = deptNo;
emp.Name = userName;
emp.Tel = userNo;
emp.OpenID = openID;
emp.Insert();
de.FK_Dept = deptNo;
de.FK_Emp = emp.UserID;
de.EmpNo = emp.No;
de.OrgNo = org.No;
de.setMyPK(FK_Dept + "_" + userNo);
de.DirectInsert();
}
catch (Exception ex)
{
return "err@写入本地库错误:" + ex.Message;
}
string url = "";
try
{
//调用接口写入用户中心.
url = "http://passport." + BP.Cloud.Glo.SaasHost + "/Handler.ashx?DoType=NewEmpByInvited&OrgNo=" + org.No + "&DeptNo=" + deptNo;
url += "&UserName=" + userName;
url += "&UserNo=" + userNo;
url += "&Pass=" + BP.DA.DBAccess.GenerGUID();
url += "&OpenID=" + openID; //
string str = DataType.ReadURLContext(url, 9000);
}
catch (Exception ex)
{
emp.Delete();
de.Delete();
return "err@写入中心库错误,请联系系统管理员:" + ex.Message;
}
//返回要登陆的url.
string token = BP.Cloud.Dev2Interface.Port_Login(userNo, OrgNo);
url = "http://appcenter." + BP.Cloud.Glo.SaasHost + "/App/GotoUrl.htm?OrgNo=" + this.OrgNo + "&UserNo=" + userNo + "&Token=" + token;
return url;
}
catch (Exception ex)
{
return "err@" + ex.Message;
}
}
#endregion 二维码邀请.
}
}