using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BP.GPM.DTalk;
using System.Web.Security.AntiXss;
using BP.WF.Port;
namespace CCFlow.CCMobile
{
public partial class DingTalk : System.Web.UI.Page
{
public string DoType
{
get
{
return this.Request["DoType"];
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (this.DoType != null)
{
string responseVal = "";
switch (DoType)
{
case "loginmobfromdingtalk":
responseVal = getUserID();
break;
case "getuserdingcode":
responseVal = GetUserDingCode();
break;
}
ReturnVal(responseVal);
}
}
///
/// 获取用户账号
///
///
public string getUserID()
{
string code = AntiXssEncoder.HtmlEncode(Request["Code"],true);
string dingCode = BP.Difference .SystemConfig.Ding_CorpID;// Request["DingCode"];
DingDing dingTalk = new DingDing();
string userId = dingTalk.GetUserID(code);
if (string.IsNullOrEmpty(userId) == true)
return "{code:'error',Msg:'验证失败,没有从钉钉获取到用户账号。code:"+code+"'}";
if (userId.Contains("超时") == true)
return "{code:'error',Msg:'" + userId + ",请检查网络是否畅通。'}";
BP.Port.Emp emp = new BP.Port.Emp();
int row = emp.Retrieve(BP.Port.EmpAttr.Tel, userId);
if (row == 0)
return "{code:'error',Msg:'没有找到匹配用户+" + userId + ",登录失败!'}";
if (!string.IsNullOrEmpty(dingCode))
{
//记录下来
//WFEmp wfEmp = new WFEmp(emp.No);
//wfEmp. = dingCode;
//wfEmp.DirectUpdate();
}
BP.WF.Dev2Interface.Port_Login(emp.No);
return "{code:'ok',Msg:'" + userId + "'}";
}
///
/// 获取用户钉钉code
///
///
private string GetUserDingCode()
{
//string userNo = Request["UserNo"];
//WFEmp wfEmp = new WFEmp(userNo);
//if (string.IsNullOrEmpty(wfEmp.TM))
// return "{code:'error',Msg:'没有应用操作权限或没有认证!'}";
//return "{code:'ok',Msg:'" + wfEmp.TM + "'}";
return "{code:'ok',Msg:'" + BP.Difference .SystemConfig.Ding_CorpID + "'}";
}
public void ReturnVal(string val)
{
if (string.IsNullOrEmpty(val))
val = "";
//组装ajax字符串格式,返回调用客户端
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/html";
Response.Expires = 0;
Response.Write(val);
Response.End();
}
}
}