Exemplo n.º 1
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误!");
            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            //验证登录
            if (!new Login().isLogin(ref Trans))
            {
                return;
            }

            switch (Trans.Command.ToString())
            {
            //切换机构列表
            case "ChangePassword":
                Trans.Result = ChangePassword(Row);
                break;

            case "GetUserRole":
                Trans.Result = GetUserRole(Row);
                break;

            case "UploadPhoneInfo":
                Trans.Result = AddPhoneInfo(Row);
                break;

            case "UploadPhoneToken":
                Trans.Result = AddPhoneToken(Row);
                break;
            }
        }
Exemplo n.º 2
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误");

            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            switch (Trans.Command)
            {
            case "SubmitProposal":
                Trans.Result = SubmitProposal(Row);    //提交建议
                break;

            case "SetEvaluation":
                Trans.Result = SetEvaluation(Row);    //评价
                break;

            case "GetProposalInfo":
                Trans.Result = GetProposalInfo(Row);    //获取建议
                break;

            case "GetProposalInfoList":    //所有建议
                Trans.Result = GetProposalInfoList(Row);
                break;

            default:
                break;
            }
        }
Exemplo n.º 3
0
        public static void OperateRSA(ref Common.Transfer Trans, string MacType)
        {
            try
            {
                PubInfo Rp = (PubInfo)Assembly.Load("Business").CreateInstance("Business." + Trans.Class);
                //验证令牌请求
                //string HashString = Trans.Attribute.ToString() + DateTime.Now.ToString("yyyyMMdd") + Rp.Token.ToString();
                //解密参数
                //string mac = RSAHelperBGY.getInstance(MacType).Encrypt("<attributes><LoginCode>yinlian</LoginCode><Password>yl@123</Password><ComCode>UnionPay</ComCode><Token>20180528IntelligencePOS_Y</Token></attributes>");
                //new Logger().WriteLog("Mac", Trans.Mac);
                if (MacType == "UnionPay")
                {
                    Trans.Attribute = System.Web.HttpUtility.UrlDecode(RSAHelperBGY.getInstance(MacType).Decrypt(Trans.Mac));
                    new Logger().WriteLog("post数据", "http://218.13.58.36:8888/Service/BGYPost.ashx?Class=" + Trans.Class + "&Command=" + Trans.Command + "&ComCode=UnionPay&Mac=" + Trans.Mac + "&Attribute=" + Trans.Attribute);
                }
                else
                {
                    Trans.Attribute = System.Web.HttpUtility.UrlDecode(RSAHelperBGY_ALL.getInstance(MacType).Decrypt(Trans.Mac));
                }


                Rp.Operate(ref Trans);
            }
            catch (Exception ex)
            {
                Trans.Error = JSONHelper.JsonConvertBGY("0001", ex.Message, "");
            }
        }
Exemplo n.º 4
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误");

            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            switch (Trans.Command)
            {
            case "SendStatusForZL":                                    // 获取小区信息
                string str = SendStatusForZL(0, 0, "", "");
                break;

            default:
                break;
            }
        }
Exemplo n.º 5
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误!");
            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            //验证登录
            if (!new Login().isLogin(ref Trans))
            {
                return;
            }

            switch (Trans.Command.ToString())
            {
            //报事抢单数量
            case "QiangDanCount":
                break;

            // 报事分派数量
            case "IncidentAssignedCount":
                Trans.Result = GetWaitWorkCount_Assigned(Row);
                break;

            //报事处理数量
            case "IncidentCount":
                Trans.Result = GetWaitWorkCount_Incident(Row);
                break;

            //业务审批数量
            case "BusinessCheckCount":
                Trans.Result = GetWaitWorkCount_Business(Row);
                break;

            //OA待办审批数量
            case "OACheckCount":
                Trans.Result = GetWaitWorkCount_OA(Row);
                break;
            }
        }
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = "false:";

            DataSet Ds  = base.XmlToDataSet(Trans.Attribute);
            DataRow Row = Ds.Tables[0].Rows[0];

            switch (Trans.Command)
            {
            //创建订单
            case "GenerateOrder":
                Trans.Result = GenerateOrder(Ds);
                break;

            //创建线下订单
            case "GenerateOfflineOrder":
                Trans.Result = GenerateOfflineOrder(Ds);
                break;

            //订单继续支付
            case "GoOnGenerateOrder":
                Trans.Result = GoOnGenerateOrder(Ds);
                break;

            //订单确认收款成功
            case "ReceBusinessOrder":
                Trans.Result = ReceBusinessOrder(Row["OrderId"].ToString(), AppGlobal.StrToDec(Row["RealAmount"].ToString()));
                break;

            //订单退款
            case "CancelOrder":
                Trans.Result = CancelOrder(Row["OrderId"].ToString());
                break;

            default:
                break;
            }
        }
Exemplo n.º 7
0
        public void ProcessRequest(HttpContext context)
        {
            Common.Transfer Trans = new Common.Transfer();

            //密钥类型
            //不同调用者密钥不同
            string MacType = "";

            HttpRequest Request = context.Request;

            Trans.Class   = Request["Class"].ToString();
            Trans.Command = Request["Command"].ToString();
            Trans.Mac     = Request["Mac"].ToString();

            if (Request["ComCode"] != null)
            {
                MacType = Request["ComCode"].ToString();
            }
            PubContext.OperateRSA(ref Trans, MacType);
            context.Response.ContentType = "text/plain";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            context.Response.Write(Trans.Output());
        }
Exemplo n.º 8
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误!");
            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            //验证登录
            if (!new Login().isLogin(ref Trans))
            {
                return;
            }

            switch (Trans.Command.ToString())
            {
            //切换机构列表
            case "OrganList":
                Trans.Result = Sys_Organ_GetEntryNodes(Global_Var.LoginUserCode);
                break;

            case "GetAllCommunity":
                Trans.Result = GetAllCommunity();
                break;
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        /// <param name="Row"></param>
        /// <returns></returns>
        private string GetVerifyCode(DataRow Row, Common.Transfer Trans)
        {
            if (Row.Table.Columns.Contains("Mobile") && !String.IsNullOrEmpty(Row["Mobile"].ToString()))
            {
                if (Row.Table.Columns.Contains("VerifyCode") && !String.IsNullOrEmpty(Row["VerifyCode"].ToString()))
                {
                    // 鸿坤 单独写接口
                    //// 查询该手机号是否已经注册
                    //using (var conn = new SqlConnection(PubConstant.UnifiedContionString))
                    //{
                    //    if (conn.Query(@"SELECT * FROM Tb_User WHERE Mobile=@Mobile", new { Mobile = Row["Mobile"].ToString() }).Count() > 0)
                    //    {
                    //        return JSONHelper.FromString(false, @"该手机号已注册");
                    //    }
                    //}


                    //解密验证码
                    int code = AppGlobal.StrToInt(RSAHelper.getInstance().Decrypt(Row["VerifyCode"].ToString()));
                    //新增4位验证码
                    if (code > 0 && (code.ToString().Length == 6 || code.ToString().Length == 4))//六位字验证
                    {
                        //MAC验证
                        DataSet ds = new Bll_Tb_SendMessageRecord().GetList(" MacCode='" + Trans.Mac + "'  ");
                        if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                        {
                            return(JSONHelper.FromString(false, "无效操作"));
                        }
                        Tb_Sms_Account       smsModel = SmsInfo.GetSms_Account();
                        string               Content  = "您的验证码为:" + code + "" + smsModel.Sign;
                        Tb_SendMessageRecord m        = new Tb_SendMessageRecord();

                        try
                        {
                            //记录短信
                            m = new Bll_Tb_SendMessageRecord().Add(Row["Mobile"].ToString(), Content, Trans.Mac, "天问验证码", "");
                        }
                        catch (Exception ex)
                        {
                            return(JSONHelper.FromString(false, "无效操作"));
                        }

                        //发送短信
                        //int Result = Common.Sms.Send(smsModel.SmsAccount, smsModel.SmsPwd, Row["Mobile"].ToString(), Content, "", "");
                        int    Result = Common.Sms.Send_v2(smsModel.SmsUserId, smsModel.SmsAccount, smsModel.SmsPwd, Row["Mobile"].ToString(), Content, out string strErrMsg);
                        string Resul  = "";
                        switch (Result)
                        {
                        case 0:
                            Resul = "发送成功";
                            break;

                        case -4:
                            Resul = "手机号码格式不正确";
                            break;

                        default:
                            Resul = "发送失败:" + Result;
                            break;
                        }
                        //修改状态
                        m.SendState = Result.ToString();
                        //重写短信记录状态
                        new Bll_Tb_SendMessageRecord().Update(m);
                        if (Result == 0)
                        {
                            return(JSONHelper.FromString(true, Resul));
                        }
                        else
                        {
                            return(JSONHelper.FromString(false, strErrMsg));
                        }
                    }
                    else
                    {
                        //new Bll_Tb_SendMessageRecord().Add(Row["Mobile"].ToString(), "", "", "天问验证码", "");

                        return(JSONHelper.FromString(false, "参数VerifyCode格式错误"));
                    }
                }
                else
                {
                    //new Bll_Tb_SendMessageRecord().Add(Row["Mobile"].ToString(), "", "", "天问验证码", "");
                    return(JSONHelper.FromString(false, "缺少参数VerifyCode"));
                }
            }
            else
            {
                return(JSONHelper.FromString(false, "缺少参数Mobile"));
            }
        }
Exemplo n.º 10
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误");

            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            switch (Trans.Command)
            {
            case "RegisterUser":
                Trans.Result = RegisterUser(Row);    //注册用户
                break;

            case "RegisterUser_WeiXin":    //微信公共号注册
                Trans.Result = RegisterUser_WeiXin(Row);
                break;

            case "RegisterUser_WeiXin_hnc":    //微信公共号注册,华南城
                Trans.Result = RegisterUser_WeiXin_hnc(Row);
                break;

            case "GetVerifyCode":    //获取验证码
                Trans.Result = GetVerifyCode(Row, Trans);
                break;

            case "UserLogin":    //业主登录
                Trans.Result = UserLogin(Row, Trans);
                break;

            case "UserLoginLocationCommunity":    //业主登录,自动定位到小区
                Trans.Result = UserLoginLocationCommunity(Row, Trans);
                break;

            case "UserLogin_WeiXin":    //微信公共号登录
                Trans.Result = UserLogin_WeiXin(Row);
                break;

            case "CheckPayInfo":
                Trans.Result = CheckPayInfo(Row, Trans);
                break;

            case "CheckRedWuYeInfo":
                Trans.Result = CheckRedWuYeInfo(Row, Trans);
                break;

            case "GetVerifyCodeForPwd":    //发送验证码---忘记密码
                Trans.Result = GetVerifyCodeForPwd(Row, Trans);
                break;

            case "CheckVerifyCode":    //验证修改密码的验证码
                Trans.Result = CheckVerifyCode(Row);
                break;

            case "UpdateUserPwd":    //修改密码
                Trans.Result = UpdateUserPwd(Row);
                break;

            case "RegisterUser_WeiXin_RH":    //微信公共号注册_融汇
                Trans.Result = RegisterUser_WeiXin_RH(Row);
                break;

            default:
                break;
            }
        }
Exemplo n.º 11
0
 public static void Operate(ref Common.Transfer Trans)
 {
     try
     {
         PubInfo Rp         = (PubInfo)Assembly.Load("Business").CreateInstance("Business." + Trans.Class);
         var     HashString = Trans.Attribute.ToString() + DateTime.Now.ToString("yyyyMMdd") + Rp.Token;
         var     Mac        = AppPKI.getMd5Hash(HashString);
         #region 针对参数值带特殊字符的进行修改转义
         if (Trans.Attribute.Contains("&"))
         {
             Trans.Attribute = Trans.Attribute.Replace("&", "&amp;");
         }
         #endregion
         //鸿坤第三方 不要安全验证 单独去掉
         if (Trans.Class == "HKCallCenter")
         {
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "DataVHJ")
         {
             //合景datav 大屏 去掉验证
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "ContractAuditInfo_FanWei")
         {
             //合景经营合同审核 去掉验证
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "PolyDataV")
         {
             //合景datav 大屏 去掉验证
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "CostInfoSunshineNewest")
         {
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "HKParkCostInfo")
         {
             Rp.Operate(ref Trans);
         }
         else if (Trans.Class == "CostInfo_RS" || Trans.Class == "Meter_RS" || Trans.Class == "Material_RS")
         {
             if (Trans.Mac == Mac)
             {
                 Rp.Operate(ref Trans);
             }
             else
             {
                 Trans.Error = "验证令牌错误";
             }
         }
         else
         {
             if (HttpContext.Current.Request.Url.Host.ToLower() == "localhost")
             {
                 Rp.Operate(ref Trans);
             }
             else
             {
                 if (!OperateKnownClass(ref Trans))
                 {
                     if (Trans.Mac == Mac)
                     {
                         Rp.Operate(ref Trans);
                     }
                     else
                     {
                         Trans.Error = "验证令牌错误";
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         PubInfo.GetLog().Error(ex);
         Trans.Error = new ApiResult(false, ex.Message + Environment.NewLine + ex.StackTrace).toJson();
     }
 }
Exemplo n.º 12
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误");

            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];

            if (Row.Table.Columns.Contains("AppKey") && Row.Table.Columns.Contains("AppNum"))
            {
                app_key = Row["AppKey"].ToString();
                app_num = Row["AppNum"].ToString();
            }

            if (string.IsNullOrEmpty(app_key) || string.IsNullOrEmpty(app_num))
            {
                Trans.Result = JSONHelper.FromString(false, "未配置AppKey或AppNum");
                return;
            }

            switch (Trans.Command)
            {
            case "getUserKey":
                Trans.Result = GetUserKeys(Row);    //获取用户开门钥匙
                break;

            case "addCommunity":
                Trans.Result = AddCommunity(Row);    //添加小区
                break;

            case "getCommunity":
                Trans.Result = GetCommunity(Row);    //获取小区
                break;

            case "queryDevice":
                Trans.Result = QueryDevice(Row);    //查询设备门禁PID
                break;

            case "installLock":
                Trans.Result = InstallLock(Row);    //安装门禁登记
                break;

            case "applyKeys":
                Trans.Result = ApplyKeys(Row);    //申请用户钥匙凭证
                break;

            case "wx_bindDevice":
                Trans.Result = WX_BindDevice(Row);    //绑定微信用户
                break;

            case "wx_getInfoKey":
                Trans.Result = WX_GetInfoKey(Row);    //获取微信开门相关信息
                break;

            case "wx_createMKey":
                Trans.Result = WX_CreateMKey(Row);    //生成访客钥匙
                break;

            case "wx_activeMkey":
                Trans.Result = WX_ActiveMkey(Row);    //激活访客钥匙
                break;

            case "wx_synDeviceService":
                Trans.Result = WX_SyncDeviceService(Row);    //激活访客钥匙
                break;

            case "wx_OpenDoor":
                Trans.Result = WX_OpenDoor(Row);    //获取微信开门密钥
                break;

            case "CreateShareKey":
                Trans.Result = CreateShareKey(Row);    //获取微信开门密钥
                break;

            default:
                break;
            }
        }
Exemplo n.º 13
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            try
            {
                Common.Transfer Trans = new Common.Transfer();

                HttpRequest Request = context.Request;
                if (!Request.Params.AllKeys.Contains("Class"))
                {
                    context.Response.Write(new ApiResult(false, "缺少参数Class").toJson());
                    return;
                }

                //获取要执行的类名称
                Trans.Class = Request["Class"].ToString();
                if (string.IsNullOrEmpty(Trans.Class))
                {
                    context.Response.Write(new ApiResult(false, "Class不能为空").toJson());
                    return;
                }
                if (!Request.Params.AllKeys.Contains("Command"))
                {
                    context.Response.Write(new ApiResult(false, "缺少参数Command").toJson());
                    return;
                }

                //wlg 20191204 没有地方使用???
                if (Request["QYID"] != null)
                {
                    Trans.QYID = Request["QYID"].ToString();
                }

                //wlg 20191204 没有地方使用???
                if (Request["QYUnitType"] != null)
                {
                    Trans.QYUnitType = Request["QYUnitType"].ToString();
                }

                //获取命令类型
                Trans.Command = Request["Command"].ToString();

                if (string.IsNullOrEmpty(Trans.Command))
                {
                    context.Response.Write(new ApiResult(false, "Command不能为空").toJson());
                    return;
                }
                if (Request.Params.AllKeys.Contains("Agreement"))
                {
                    Trans.Agreement = HttpUtility.UrlDecode(Request["Agreement"].ToString());//碧桂园 获取协议html代码
                }

                //获取属性xml格式字符串
                if (!Request.Params.AllKeys.Contains("Attribute"))
                {
                    context.Response.Write(new ApiResult(false, "缺少参数Attribute").toJson());
                    return;
                }
                Trans.Attribute = HttpUtility.UrlDecode(Request["Attribute"].ToString());
                if (string.IsNullOrEmpty(Trans.Attribute))
                {
                    context.Response.Write(new ApiResult(false, "Attribute不能为空").toJson());
                    return;
                }

                if (!Request.Params.AllKeys.Contains("Mac"))
                {
                    context.Response.Write(new ApiResult(false, "缺少参数Mac").toJson());
                    return;
                }
                Trans.Mac = Request["Mac"].ToString();
                if (string.IsNullOrEmpty(Trans.Mac))
                {
                    context.Response.Write(new ApiResult(false, "Mac不能为空").toJson());
                    return;
                }


                //如果是文件类型
                if (Trans.Class == "Files")
                {
                    new Files().ProcessRequest(context);
                }
                else
                {
                    //wlg 20200110 增加操作日志记录
                    Common.Transfer tranNew = new Transfer()
                    {
                        Result     = Trans.Result,
                        Attribute  = Trans.Attribute,
                        Command    = Trans.Command,
                        Class      = Trans.Class,
                        Mac        = Trans.Mac,
                        QYID       = Trans.QYID,
                        QYUnitType = Trans.QYUnitType
                    };
                    RecordOperationLog(tranNew);

                    PubContext.Operate(ref Trans);
                }

                Compress(context);
                context.Response.Write(Trans.Output());
            }
            catch (Exception ex)
            {
                context.Response.Write(new ApiResult(false, ex.Message + Environment.NewLine + ex.StackTrace).toJson());
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// 提供给其他接口判断是否登录
        /// </summary>
        /// <param name="Trans"></param>
        /// <returns></returns>
        public bool isLogin(ref Common.Transfer Trans, bool verifyPassword = true)
        {
            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];
            string    NetType         = Row["Net"].ToString();
            string    Account         = Row["Account"].ToString();
            string    LoginPwd        = Row["LoginPwd"].ToString();

            Global_Var.SystemType = "property";

            string[] arrUser = Account.Split('-');
            if (arrUser.Length > 1)
            {
                Global_Var.CorpId    = arrUser[0].ToString();
                Global_Var.CorpID    = Global_Var.CorpId;
                Account              = arrUser[1].ToString();
                Global_Var.LoginCode = Account;
            }
            else
            {
                Trans.Result = JSONHelper.FromString(false, "用户名格式错误!");
                return(false);
            }

            PubConstant.tw2bsConnectionString = Global_Fun.Tw2bsConnectionString(NetType);
            DbHelperSQL.ConnectionString      = PubConstant.tw2bsConnectionString;
            //获得所在公司的数据库连接字符串
            AppGlobal.GetHmWyglConnection();

            string IsAd = "true";

            try
            {
                IsAd = Global_Fun.AppWebSettings("IsAd");
            }
            catch (Exception)
            {
                IsAd = "false";
            }

            string strSQLUser = "";

            if (IsAd == "true")
            {
                //AD域进行验证
                string CheckResult = IsAuthenticated(Account, LoginPwd);
                if (CheckResult == "true")
                {
                    strSQLUser = "******" + Account + "' and IsDelete = 0 ";
                }
                else
                {
                    strSQLUser = "******";
                }
            }
            else
            {
                // 中南版本、金辉版本及其分支、保利版本及其分支
                if (LoginPwd.Length == 32)
                {
                    strSQLUser = string.Format(" LoginCode='{0}' AND (PassWord='******' OR dbo.GetMD5(PassWord)='{1}') AND IsDelete = 0 ",
                                               Account, LoginPwd);
                }
                else if (Global_Var.CorpId == "1971")
                {
                    //2018-1-21 新增敏捷AD域登录验证
                    if (NetType == "99")
                    {
                        strSQLUser = "******" + Account + "'  AND PassWord='******' AND IsDelete = 0 ";
                    }
                    else
                    {
                        string urlmj  = @"http://172.27.1.240/Api/ADLogin/Login?userName="******"&userPwd=" + LoginPwd;
                        string mjsuss = TWRequest.HttpGet(urlmj);
                        if (mjsuss == "\"success\"")
                        {
                            strSQLUser = "******" + Account + "' and IsDelete = 0 ";
                        }
                        else
                        {
                            strSQLUser = "******" + Account + "'  AND PassWord='******' AND IsDelete = 0 ";
                        }
                    }
                }
                else
                {
                    strSQLUser = string.Format(" LoginCode='{0}' AND IsDelete = 0 ", Account);
                    // 强制要求验证密码
                    if (verifyPassword == true)
                    {
                        strSQLUser += $" AND PassWord='******'";
                    }
                }
            }
            #region 实地单点登录判断
            if (SDLogin(Account, LoginPwd))
            {
                // 如果实地单点登录成功,无需密码
                strSQLUser = string.Format(" LoginCode='{0}' AND IsDelete = 0", Account);
            }
            #endregion
            DbHelperSQL.ConnectionString = PubConstant.hmWyglConnectionString;

            Bll_Tb_Sys_User Bll    = new Bll_Tb_Sys_User();
            DataTable       dTable = Bll.GetList(strSQLUser).Tables[0];

            if (dTable.Rows.Count > 0)
            {
                DataRow DRow = dTable.Rows[0];

                if (DRow["IsMobile"].ToString() != "1")
                {
                    Trans.Result = JSONHelper.FromString(false, "不允许手机端登录!");
                    return(false);
                }
                else
                {
                    //存在此用户,登陆成功
                    Global_Var.UserCode      = DRow["UserCode"].ToString();
                    Global_Var.LoginUserCode = DRow["UserCode"].ToString();
                    Global_Var.UserName      = DRow["UserName"].ToString();
                    Global_Var.LoginUserName = DRow["UserName"].ToString();
                    Global_Var.LoginDepCode  = DRow["DepCode"].ToString();
                    Global_Var.LoginMobile   = DRow["MobileTel"].ToString();

                    // 2017年6月12日16:16:01,谭洋,新增LoginSortDepCode
                    Global_Var.LoginSortDepCode = DRow["SortDepCode"].ToString();

                    //WriteLog(DRow, "登陆系统");

                    return(true);
                }
            }
            else
            {
                Trans.Result = JSONHelper.FromString(false, "帐号或密码错误!");
                return(false);
            }
        }
Exemplo n.º 15
0
        public override void Operate(ref Common.Transfer Trans)
        {
            Trans.Result = JSONHelper.FromString(false, "未知错误!");

            string    strEntryID      = "";
            string    strOrganCode    = "";
            bool      bCanEntry       = false;
            DataTable dAttributeTable = base.XmlToDatatTable(Trans.Attribute);
            DataRow   Row             = dAttributeTable.Rows[0];
            string    NetType         = Row["Net"].ToString();
            string    Account         = Row["Account"].ToString();
            string    LoginPwd        = Row["LoginPwd"].ToString();

            Global_Var.SystemType = "property";

            string[] arrUser = Account.Split('-');
            if (arrUser.Length > 1)
            {
                Global_Var.CorpId    = arrUser[0].ToString();
                Global_Var.CorpID    = Global_Var.CorpId;
                Account              = arrUser[1].ToString();
                Global_Var.LoginCode = Account;
            }
            else
            {
                Trans.Result = JSONHelper.FromString(false, "用户名格式错误!");
                return;
            }

            PubConstant.tw2bsConnectionString = Global_Fun.Tw2bsConnectionString(NetType);
            DbHelperSQL.ConnectionString      = PubConstant.tw2bsConnectionString;
            //获得所在公司的数据库连接字符串
            AppGlobal.GetHmWyglConnection();

            // 登出,记录登出日志
            if (Trans.Command == "2")
            {
                WriteLogout(Account);
                return;
            }

            // 鸿坤EAC系统访问令牌
            string eacToken = null;

            string IsAd = "true";

            try
            {
                IsAd = Global_Fun.AppWebSettings("IsAd");
            }
            catch (Exception)
            {
                IsAd = "false";
            }

            string strSQLUser = "";

            if (IsAd == "true")
            {
                //AD域进行验证
                string CheckResult = IsAuthenticated(Account, LoginPwd);
                if (CheckResult == "true")
                {
                    strSQLUser = "******" + Account + "' and IsDelete = 0 ";
                }
                else
                {
                    strSQLUser = "******";
                }
            }
            else
            {
                // 中南、实地
                // 保利、隆泰、丽创
                if (LoginPwd.Length == 32 || Global_Var.LoginCorpID == "1329" || Global_Var.LoginCorpID == "2009" || Global_Var.LoginCorpID == "2022")
                {
                    strSQLUser = string.Format(" LoginCode='{0}' AND (PassWord='******' OR dbo.GetMD5(PassWord)='{2}') AND IsDelete = 0",
                                               Account, LoginPwd, LoginPwd.ToUpper());
                }
                else if (Global_Var.CorpId == "1971")
                {
                    if (NetType == "99")
                    {
                        strSQLUser = string.Format(" LoginCode='{0}' AND PassWord='******' AND IsDelete = 0 ", Account, LoginPwd);
                    }
                    else
                    {
                        //2018-1-21 新增敏捷AD域登录验证
                        string urlmj  = @"http://172.27.1.240/Api/ADLogin/Login?userName="******"&userPwd=" + LoginPwd;
                        string mjsuss = TWRequest.HttpGet(urlmj);
                        if (mjsuss == "\"success\"")
                        {
                            strSQLUser = "******" + Account + "' and IsDelete = 0 ";
                        }
                        else
                        {
                            strSQLUser = "******" + Account + "'  AND PassWord='******' AND IsDelete = 0 ";
                        }
                    }
                }
                else
                {
                    strSQLUser = string.Format(" LoginCode='{0}' AND PassWord='******' AND IsDelete = 0 ", Account, LoginPwd);
                }
            }

            #region 实地单点登录判断
            if (SDLogin(Account, LoginPwd))
            {
                // 如果实地单点登录成功,无需密码
                strSQLUser = string.Format(" LoginCode='{0}' AND IsDelete = 0 ", Account);
            }
            #endregion
            Bll_Tb_Sys_User Bll = new Bll_Tb_Sys_User();

            DataTable dTable = Bll.GetList(strSQLUser).Tables[0];

            if (dTable.Rows.Count > 0)
            {
                DataRow DRow = dTable.Rows[0];

                if (DRow["IsMobile"].ToString() != "1")
                {
                    Trans.Result = JSONHelper.FromString(false, "不允许手机端登录!");
                    return;
                }
                else
                {
                    //存在此用户,登陆成功
                    Global_Var.UserCode      = DRow["UserCode"].ToString();
                    Global_Var.LoginUserCode = DRow["UserCode"].ToString();
                    Global_Var.UserName      = DRow["UserName"].ToString();
                    Global_Var.LoginUserName = DRow["UserName"].ToString();
                    Global_Var.LoginDepCode  = DRow["DepCode"].ToString();
                    Global_Var.LoginMobile   = DRow["MobileTel"].ToString();

                    WriteLog(DRow, "登陆系统");

                    #region 可进入的系统

                    string strSQL = " AND UserCode  = '" + Global_Var.LoginUserCode.ToString() + "' ";
                    //DataTable dTableEntry = (new BusinessRule.TWBusinRule(LoginSQLConnStr)).Sys_User_RoleData_Filter(strSQL);
                    MobileSoft.BLL.Sys.Bll_Tb_Sys_RoleData A = new Bll_Tb_Sys_RoleData();
                    DataTable dTableEntry = A.Sys_User_RoleData_Filter(strSQL);
                    if (dTableEntry.Rows.Count > 0)
                    {
                        //查询默认项目
                        DataRow[] DSelRows = dTableEntry.Select(" EntryType = 1 ");
                        if (DSelRows.Length > 0)
                        {
                            strEntryID   = DSelRows[0]["CommID"].ToString();
                            strOrganCode = DSelRows[0]["OrganCode"].ToString();
                        }
                        else
                        {
                            strEntryID   = dTableEntry.Rows[0]["CommID"].ToString();
                            strOrganCode = dTableEntry.Rows[0]["OrganCode"].ToString();
                        }
                        bCanEntry = true;
                    }
                    else
                    {
                        bCanEntry = false;
                    }

                    dTableEntry.Dispose();

                    #endregion

                    if (bCanEntry)
                    {
                        int iCommID = AppGlobal.StrToInt(strEntryID);

                        if (iCommID != 0)
                        {
                            #region 加载管理处信息
                            string strSQLComm = " IsDelete = 0 and CorpID = " + Global_Var.CorpId.ToString() + " and CommID = " + iCommID.ToString() + " ";
                            MobileSoft.BLL.HSPR.Bll_Tb_HSPR_Community B = new MobileSoft.BLL.HSPR.Bll_Tb_HSPR_Community();
                            DataTable dTableComm = B.GetList(strSQLComm).Tables[0];

                            if (dTableComm.Rows.Count > 0)
                            {
                                DataRow DRowComm = dTableComm.Rows[0];

                                dTable.Rows[0]["CommID"]       = DRowComm["CommID"];
                                Global_Var.LoginCommID         = DRowComm["CommID"].ToString();
                                Global_Var.LoginCommName       = DRowComm["CommName"].ToString();
                                Global_Var.LoginCorpID         = DRowComm["CorpID"].ToString();
                                Global_Var.LoginBranchID       = DRowComm["BranchID"].ToString();
                                Global_Var.LoginOrganCode      = DRowComm["OrganCode"].ToString();
                                Global_Var.LoginCorpRegionCode = DRowComm["CorpRegionCode"].ToString();
                                Global_Var.LoginCommType       = DRowComm["CommType"].ToString();
                            }
                            dTableComm.Dispose();
                            #endregion

                            //查询人员可进入小区的岗位
                            MobileSoft.BLL.Sys.Bll_Tb_Sys_User C = new Bll_Tb_Sys_User();
                            Global_Var.LoginRoles    = C.Sys_User_FilterRoles(Global_Var.LoginUserCode, Global_Var.LoginOrganCode, AppGlobal.StrToInt(Global_Var.LoginCommID));
                            Global_Var.LoginSysTitle = Global_Var.LoginCommName;
                            Global_Var.LoginFunType  = "5";//进入管理处系统
                        }
                        else
                        {
                            if (strOrganCode != "")
                            {
                                #region 查询区域
                                string strSQLOrgan = "";
                                if (strOrganCode == "" || strOrganCode == "01")
                                {
                                    strSQLOrgan = " IsDelete = 0 and OrganCode = '01'";
                                    Global_Var.LoginOrganCode = "01";
                                }
                                else
                                {
                                    strSQLOrgan = " IsDelete = 0 and OrganCode = '" + strOrganCode + "' and IsComp = 1 ";
                                    Global_Var.LoginOrganCode = strOrganCode;
                                }

                                MobileSoft.BLL.Sys.Bll_Tb_Sys_Organ D = new Bll_Tb_Sys_Organ();
                                DataTable dTableOrgan = D.GetList(strSQLOrgan).Tables[0];
                                if (dTableOrgan.Rows.Count > 0)
                                {
                                    DataRow DRowOrgan = dTableOrgan.Rows[0];
                                    Global_Var.LoginOrganName = DRowOrgan["OrganName"].ToString();
                                    Global_Var.LoginCorpID    = Global_Var.CorpId.ToString();
                                    Global_Var.LoginCommID    = "0";
                                    Global_Var.LoginOrganCode = DRowOrgan["OrganCode"].ToString();
                                    Global_Var.LoginCommType  = "";
                                }
                                dTableOrgan.Dispose();
                                #endregion

                                //查询人员可进入小区的岗位

                                MobileSoft.BLL.Sys.Bll_Tb_Sys_User C = new Bll_Tb_Sys_User();
                                Global_Var.LoginRoles    = C.Sys_User_FilterRoles(Global_Var.LoginUserCode, Global_Var.LoginOrganCode, AppGlobal.StrToInt(Global_Var.LoginCommID));
                                Global_Var.LoginSysTitle = Global_Var.LoginOrganName.ToString();
                                Global_Var.LoginFunType  = "1";//进入公司系统
                            }
                        }
                    }
                    else
                    {
                        Global_Var.LoginFunType = "1";
                        string strSQLOrgan = "";
                        if (strOrganCode == "" || strOrganCode == "01")
                        {
                            strSQLOrgan = " IsDelete = 0 and OrganCode = '01'";
                            Global_Var.LoginOrganCode = "01";
                        }
                        else
                        {
                            strSQLOrgan = " IsDelete = 0 and OrganCode = '" + strOrganCode + "' and IsComp = 1 ";
                            Global_Var.LoginOrganCode = strOrganCode;
                        }

                        MobileSoft.BLL.Sys.Bll_Tb_Sys_Organ D = new MobileSoft.BLL.Sys.Bll_Tb_Sys_Organ();
                        DataTable dTableOrgan = D.GetList(strSQLOrgan).Tables[0];
                        if (dTableOrgan.Rows.Count > 0)
                        {
                            DataRow DRowOrgan = dTableOrgan.Rows[0];
                            Global_Var.LoginOrganName = DRowOrgan["OrganName"].ToString();
                            Global_Var.LoginCorpID    = Global_Var.CorpId.ToString();
                            Global_Var.LoginCommID    = "0";
                            Global_Var.LoginOrganCode = DRowOrgan["OrganCode"].ToString();
                            Global_Var.LoginCommType  = "";
                        }
                        dTableOrgan.Dispose();

                        MobileSoft.BLL.Sys.Bll_Tb_Sys_User E = new MobileSoft.BLL.Sys.Bll_Tb_Sys_User();
                        Global_Var.LoginRoles = E.Sys_User_FilterRoles(Global_Var.LoginUserCode, Global_Var.LoginOrganCode, DataSecurity.StrToInt(Global_Var.LoginCommID));

                        Global_Var.LoginSysTitle = Global_Var.LoginOrganName.ToString();
                    }

                    MobileSoft.BLL.Sys.Bll_Tb_Sys_Organ F = new MobileSoft.BLL.Sys.Bll_Tb_Sys_Organ();
                    Global_Var.LoginOrganCorp = F.Sys_Organ_GetComp(Global_Var.LoginOrganCode);
                    if (Global_Var.SysVersion.ToString().ToLower() != "group")
                    {
                        Global_Var.LoginOrganCorp = Global_Var.LoginOrganCode.Substring(0, 2);
                    }

                    Trans.Result = JSONHelper.FromString(dTable);
                }
            }
            else
            {
                Trans.Result = JSONHelper.FromString(false, "账号或密码错误!");
                return;
            }
        }