Ejemplo n.º 1
0
        /// <summary>
        /// 向服务器发送压缩目录命令
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1">目录ID</param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void COMPRESSFOLDER(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string strCode = P1;

            FT_FolderB.FoldFile Mode = new FT_FolderB.FoldFile();
            Mode.FolderID  = -1;
            Mode.Name      = "压缩文件";
            Mode.SubFileS  = new List <FT_File>();
            Mode.SubFolder = new List <FT_FolderB.FoldFile>();
            foreach (string item in P1.SplitTOList(','))
            {
                int    FileID  = int.Parse(item.Split('|')[0].ToString());
                string strType = item.Split('|')[1].ToString();
                if (item.Split('|')[1].ToString() == "file")
                {
                    FT_File file = new FT_FileB().GetEntity(d => d.ID == FileID);
                    file.YLUrl = "";
                    Mode.SubFileS.Add(file);
                }
                else
                {
                    List <FT_FolderB.FoldFileItem> ListID = new List <FT_FolderB.FoldFileItem>();
                    FT_FolderB.FoldFile            obj    = new FT_FolderB().GetWDTREE(FileID, ref ListID);
                    Mode.SubFolder.Add(obj);
                }
            }
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();

            timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            string Result  = JsonConvert.SerializeObject(Mode, Formatting.Indented, timeConverter).Replace("null", "\"\"");
            string strData = new FileHelp().CompressZip(Result, UserInfo.QYinfo);

            msg.Result = strData;
        }
Ejemplo n.º 2
0
        public void DFile(string fileID)
        {
            if (!string.IsNullOrEmpty(fileID))
            {
                int     fileId = int.Parse(fileID.Split(',')[0]);
                FT_File file   = new FT_FileB().GetEntity(d => d.ID == fileId);

                JH_Auth_QY QYMODEL = new JH_Auth_QYB().GetALLEntities().FirstOrDefault();

                var    context  = _accessor.HttpContext;
                string width    = context.Request.Query["width"].ToString();
                string height   = context.Request.Query["height"].ToString();
                string filename = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/" + file.zyid;
                if (width + height != "")
                {
                    filename = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/image/" + file.zyid + (width + height != "" ? ("/" + width + "/" + height) : "");
                }
                context.Response.Redirect(filename);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取页面html(excel)
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void GETHTML(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string strWDYM = CommonHelp.GetConfig("WDYM");

            FT_File ff = new FT_FileB().GetEntities(p => p.YLCode == P1).FirstOrDefault();

            if (ff != null)
            {
                //定义局部变量
                HttpWebRequest  httpWebRequest  = null;
                HttpWebResponse httpWebRespones = null;
                Stream          stream          = null;
                string          htmlString      = string.Empty;
                string          url             = strWDYM + ff.YLPath;

                //请求页面
                try
                {
                    httpWebRequest = WebRequest.Create(url + ".html") as HttpWebRequest;
                }
                //处理异常
                catch
                {
                    msg.ErrorMsg = "建立页面请求时发生错误!";
                }
                httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; Maxthon 2.0)";
                //获取服务器的返回信息
                try
                {
                    httpWebRespones = (HttpWebResponse)httpWebRequest.GetResponse();
                    stream          = httpWebRespones.GetResponseStream();
                }
                //处理异常
                catch
                {
                    msg.ErrorMsg = "接受服务器返回页面时发生错误!";
                }

                StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.UTF8);
                //读取返回页面
                try
                {
                    htmlString = streamReader.ReadToEnd();
                }
                //处理异常
                catch
                {
                    msg.ErrorMsg = "读取页面数据时发生错误!";
                }
                //释放资源返回结果
                streamReader.Close();
                stream.Close();

                msg.Result  = htmlString;
                msg.Result1 = url;
            }
            else
            {
                msg.ErrorMsg = "此文件不存在或您没有权限!";
            }
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                JH_Auth_QY QYMODEL = new JH_Auth_QYB().GetALLEntities().FirstOrDefault();

                if (szhlcode != "")
                {
                    if (!string.IsNullOrEmpty(FileId))//如果FileID不为空
                    {
                        string  filename = "";
                        int     fileId   = int.Parse(FileId.Split(',')[0]);
                        FT_File file     = new FT_FileB().GetEntity(d => d.ID == fileId);
                        if (type == "file") //默认下载文件
                        {
                            List <string> extends = new List <string>()
                            {
                                "jpg", "png", "gif", "jpeg"
                            };
                            if (extends.Contains(file.FileExtendName.ToLower()))
                            {
                                string width  = Request["width"] ?? "";
                                string height = Request["height"] ?? "";
                                Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
                                Response.ContentType = "application/octet-stream";
                                filename             = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/" + file.zyid;
                                if (width + height != "")
                                {
                                    filename = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/image/" + file.zyid + (width + height != "" ? ("/" + width + "/" + height) : "");
                                }
                                Response.Redirect(filename);
                            }
                            else
                            {
                                Response.AddHeader("Content-Disposition", "attachment;filename=" + Name);
                                Response.ContentType = "application/octet-stream";
                                filename             = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/" + file.zyid;
                                Response.Redirect(filename);
                            }
                        }
                        else //返回代表类型的图片
                        {
                            Response.AddHeader("Content-Disposition", "attachment;filename=" + Name);
                            Response.ContentType = "application/octet-stream";
                            filename             = "/ViewV5/images/qywd/" + file.FileExtendName + ".png";
                            Response.Redirect(filename);
                        }
                    }
                    else
                    {
                        if (type == "folder" && MD5 != "")//下载压缩文件
                        {
                            Response.AddHeader("Content-Disposition", "attachment;filename=" + Name);
                            Response.ContentType = "application/octet-stream";
                            string filename = QYMODEL.FileServerUrl + "/zipfile/" + MD5;
                            Response.Redirect(filename);
                        }
                        if (type == "video" && MD5 != "")
                        {
                            string url   = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/" + MD5;
                            Byte[] bytes = new WebClient().DownloadData(url);
                            Response.OutputStream.Write(bytes, 0, bytes.Length);
                        }
                        if (type == "TX" && !string.IsNullOrEmpty(userName))                           //获取用户头像
                        {
                            var userinfo = new JH_Auth_UserB().GetEntity(p => p.UserName == userName); //抓取当前用户信息
                            //JH_Auth_User userinfo = UserInfo.User;
                            if (userinfo != null)
                            {
                                string filename = "";
                                if (userinfo.UserLogoId != null)
                                {
                                    FT_File       file    = new FT_FileB().GetEntity(d => d.ID == userinfo.UserLogoId);
                                    List <string> extends = new List <string>()
                                    {
                                        "jpg", "png", "gif", "jpeg"
                                    };
                                    if (!extends.Contains(file.FileExtendName.ToLower()))//文件不是图片的不返回地址,此方法只用于图片查看
                                    {
                                        return;
                                    }
                                    filename = QYMODEL.FileServerUrl + "/" + QYMODEL.QYCode + "/document/" + file.zyid;
                                    Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
                                    Response.ContentType = "application/octet-stream";
                                }
                                else if (!string.IsNullOrEmpty(userinfo.txurl))
                                {
                                    Response.AddHeader("Content-Disposition", "attachment;filename=" + Name);
                                    Response.ContentType = "application/octet-stream";
                                    filename             = userinfo.txurl;
                                }
                                else
                                {
                                    Response.AddHeader("Content-Disposition", "attachment;filename=" + Name);
                                    Response.ContentType = "application/octet-stream";
                                    filename             = "/ViewV5/images/tx.png";
                                }
                                Response.Redirect(filename);
                                return;
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { }
            // Response.ContentType = "application/x-zip-compressed";
        }
Ejemplo n.º 5
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作
            context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization");
            context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
            context.Response.AddHeader("pragma", "no-cache");
            context.Response.AddHeader("cache-control", "");
            context.Response.CacheControl = "no-cache";
            string strAction = context.Request["Action"] ?? "";
            string UserName  = context.Request["UserName"] ?? "";
            string strIP     = CommonHelp.getIP(context);

            Msg_Result Model = new Msg_Result()
            {
                Action = strAction.ToUpper(), ErrorMsg = ""
            };

            if (!string.IsNullOrEmpty(strAction))
            {
                #region 企业号应用callback
                if (strAction == "XXJS")
                {
                    String strCorpID = context.Request["corpid"] ?? "";
                    string strCode   = context.Request["Code"] ?? "";
                    try
                    {
                        JH_Auth_QY    jaq = new JH_Auth_QYB().GetALLEntities().FirstOrDefault();
                        JH_Auth_Model jam = new JH_Auth_ModelB().GetEntity(p => p.ModelCode == strCode);
                        //if (jaq != null && jam != null && !string.IsNullOrEmpty(jam.TJId))
                        if (jaq != null && jam != null)
                        {
                            #region POST
                            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
                            {
                                string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature
                                string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
                                string nonce     = HttpContext.Current.Request.QueryString["nonce"];

                                // 获得客户端RAW HttpRequest
                                StreamReader srResult    = new StreamReader(context.Request.InputStream);
                                string       str         = srResult.ReadToEnd();
                                XmlDocument  XmlDocument = new XmlDocument();
                                XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str));
                                string ToUserName = string.Empty;
                                string strde      = string.Empty;
                                string msgtype    = string.Empty;//微信响应类型
                                foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes)
                                {
                                    if (xn.Name == "ToUserName")
                                    {
                                        ToUserName = xn.InnerText;
                                    }
                                }
                                var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == jam.TJId);
                                //Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(pj.Token, pj.EncodingAESKey, ToUserName);
                                //int n = wxcpt.DecryptMsg(signature, timestamp, nonce, str, ref strde);
                                XmlDocument XmlDocument1 = new XmlDocument();
                                XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde));
                                foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes)
                                {
                                    if (xn1.Name == "MsgType")
                                    {
                                        msgtype = xn1.InnerText;
                                    }
                                    //CommonHelp.WriteLOG(XmlDocument1.OuterXml);
                                }
                                if (msgtype == "event")//处理事件
                                {
                                    //需要处理进入应用的菜单更改事件
                                    string strEvent    = XmlDocument1.ChildNodes[0]["Event"].InnerText;
                                    string strUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText;
                                    string strAgentID  = XmlDocument1.ChildNodes[0]["AgentID"].InnerText;
                                    string strEventKey = XmlDocument1.ChildNodes[0]["EventKey"].InnerText;

                                    if (strEvent.ToLower() == "enter_agent" || strEvent.ToLower() == "view")
                                    {
                                        //进入应用和点击菜单
                                        //JH_Auth_User jau = new JH_Auth_UserB().GetEntity(p => p.ComId == jaq.ComId && p.UserName == strUserName);
                                        //JH_Auth_QY_Model jhqm = new JH_Auth_QY_ModelB().GetEntity(p => p.ComId == jaq.ComId && p.AgentId == strAgentID);
                                        //if (jau != null && jhqm != null)
                                        //{
                                        //    JH_Auth_YYLog jay = new JH_Auth_YYLog();
                                        //    jay.ComId = jaq.ComId;
                                        //    jay.AgentID = strAgentID;
                                        //    jay.CorpID = strCorpID;
                                        //    jay.CRDate = DateTime.Now;
                                        //    jay.CRUser = strUserName;
                                        //    jay.Event = strEvent;
                                        //    jay.EventKey = strEventKey;
                                        //    jay.ModelCode = strCode;
                                        //    jay.ModelID = jhqm.ModelID;
                                        //    jay.QYName = jaq.QYName;
                                        //    jay.TJID = jam.TJId;
                                        //    jay.Type = msgtype;
                                        //    jay.UserName = strUserName;
                                        //    jay.UserRealName = jau.UserRealName;

                                        //    new JH_Auth_YYLogB().Insert(jay);

                                        //    if (strEvent.ToLower() == "enter_agent")
                                        //    {
                                        //        var jays = new JH_Auth_YYLogB().GetEntities(p => p.ComId == jaq.ComId && p.Event == "enter_agent" && p.AgentID == strAgentID && p.CRUser == strUserName);
                                        //        if (jays.Count() <= 1)
                                        //        {
                                        //        }
                                        //    }
                                        //}
                                    }
                                }
                                if (new List <string> {
                                    "text", "image", "voice", "video", "shortvideo", "link"
                                }.Contains(msgtype))                                                                               //处理消息事件
                                {
                                    if (XmlDocument1.ChildNodes.Count > 0)
                                    {
                                        JH_Auth_WXMSG wxmsgModel = new JH_Auth_WXMSG();
                                        wxmsgModel.AgentID      = int.Parse(XmlDocument1.ChildNodes[0]["AgentID"].InnerText);
                                        wxmsgModel.ComId        = jaq.ComId;
                                        wxmsgModel.ToUserName   = XmlDocument1.ChildNodes[0]["ToUserName"].InnerText;
                                        wxmsgModel.FromUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText;
                                        wxmsgModel.CRDate       = DateTime.Now;
                                        wxmsgModel.CRUser       = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText;
                                        wxmsgModel.MsgId        = XmlDocument1.ChildNodes[0]["MsgId"].InnerText;
                                        wxmsgModel.MsgType      = msgtype;
                                        wxmsgModel.ModeCode     = strCode;
                                        wxmsgModel.Tags         = "微信收藏";

                                        switch (msgtype)
                                        {
                                        case "text":
                                            wxmsgModel.MsgContent = XmlDocument1.ChildNodes[0]["Content"].InnerText;
                                            break;

                                        case "image":
                                            wxmsgModel.PicUrl  = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText;
                                            wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText;
                                            break;

                                        case "voice":
                                            wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText;
                                            wxmsgModel.Format  = XmlDocument1.ChildNodes[0]["Format"].InnerText;
                                            break;

                                        case "video":
                                            wxmsgModel.MediaId      = XmlDocument1.ChildNodes[0]["MediaId"].InnerText;
                                            wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText;
                                            break;

                                        case "shortvideo":
                                            wxmsgModel.MediaId      = XmlDocument1.ChildNodes[0]["MediaId"].InnerText;
                                            wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText;
                                            break;

                                        case "link":
                                            wxmsgModel.Description = XmlDocument1.ChildNodes[0]["Description"].InnerText;
                                            wxmsgModel.Title       = XmlDocument1.ChildNodes[0]["Title"].InnerText;
                                            wxmsgModel.URL         = XmlDocument1.ChildNodes[0]["Url"].InnerText;
                                            wxmsgModel.PicUrl      = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText;
                                            break;
                                        }
                                        if (new List <string>()
                                        {
                                            "link", "text"
                                        }.Contains(msgtype))
                                        {
                                            if (msgtype == "link")
                                            {
                                                var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MsgId == wxmsgModel.MsgId);
                                                if (jaw == null)
                                                {
                                                    string strMedType = ".jpg";
                                                    JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo();
                                                    UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName);
                                                    //  string fileID = CommonHelp.ProcessWxIMGUrl(wxmsgModel.PicUrl, UserInfo, strMedType);

                                                    //wxmsgModel.FileId = fileID;
                                                    //new JH_Auth_WXMSGB().Insert(wxmsgModel);

                                                    //if (strCode == "TSSQ")
                                                    //{
                                                    //    SZHL_TXSX tx1 = new SZHL_TXSX();
                                                    //    tx1.ComId = jaq.ComId;
                                                    //    tx1.APIName = "TSSQ";
                                                    //    tx1.MsgID = wxmsgModel.ID.ToString();
                                                    //    tx1.FunName = "SENDWXMSG";
                                                    //    tx1.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                                                    //    tx1.CRUser = wxmsgModel.CRUser;
                                                    //    tx1.CRDate = DateTime.Now;
                                                    //    TXSX.TXSXAPI.AddALERT(tx1); //时间为发送时间
                                                    //}
                                                }
                                            }
                                            else
                                            {
                                                new JH_Auth_WXMSGB().Insert(wxmsgModel);
                                            }
                                        }
                                        if (!string.IsNullOrEmpty(wxmsgModel.MediaId))
                                        {
                                            var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MediaId == wxmsgModel.MediaId);
                                            if (jaw == null)
                                            {
                                                string strMedType = ".jpg";
                                                if (strCode == "QYWD" || strCode == "CRM")             //判断模块
                                                {
                                                    if (msgtype == "shortvideo" || msgtype == "video") //视频,小视频
                                                    {
                                                        strMedType = ".mp4";
                                                    }
                                                    if (new List <string>()
                                                    {
                                                        "image", "shortvideo", "video", "voice"
                                                    }.Contains(msgtype))                                                                 //下载到本地服务器
                                                    {
                                                        JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo();
                                                        UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName);
                                                        //  string fileID = CommonHelp.ProcessWxIMG(wxmsgModel.MediaId, strCode, UserInfo, strMedType);
                                                        //  wxmsgModel.FileId = fileID;
                                                        // new JH_Auth_WXMSGB().Insert(wxmsgModel);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            #endregion

                            #region GET
                            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "GET")
                            {
                                Auth(jam.Token, jam.EncodingAESKey, jaq.corpId);
                            }
                            #endregion
                        }
                    }
                    catch (Exception ex)
                    {
                        Model.ErrorMsg = ex.ToString();
                        CommonHelp.WriteLOG(ex.ToString());
                    }
                }
                #endregion



                #region 获取唯一code
                if (strAction.ToUpper() == "GetUserCodeByCode".ToUpper())
                {
                    #region 获取Code
                    Model.ErrorMsg = "获取Code错误,请重试";

                    string strCode      = context.Request["code"] ?? "";
                    string strCorpID    = context.Request["corpid"] ?? "";
                    string strModelCode = context.Request["funcode"] ?? "";

                    if (!string.IsNullOrEmpty(strCode))
                    {
                        var qy = new JH_Auth_QYB().GetEntity(p => p.corpId == strCorpID);
                        if (qy != null)
                        {
                            try
                            {
                                //通过微信接口获取用户名
                                WXHelp wx       = new WXHelp(qy);
                                string username = wx.GetUserDataByCode(strCode, strModelCode);
                                CommonHelp.WriteLOG(username);
                                if (!string.IsNullOrEmpty(username))
                                {
                                    var jau = new JH_Auth_UserB().GetUserByUserName(qy.ComId, username);
                                    CommonHelp.WriteLOG(JsonConvert.SerializeObject(jau));

                                    if (jau != null)
                                    {
                                        //如果PCCode为空或者超过60分钟没操作,统统重新生成PCCode,并更新最新操作时间
                                        if (jau.logindate == null)
                                        {
                                            jau.logindate = DateTime.Now;
                                        }
                                        TimeSpan ts = new TimeSpan(jau.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration();
                                        if (string.IsNullOrEmpty(jau.pccode) || ts.TotalMinutes > 60)
                                        {
                                            string strGuid = CommonHelp.CreatePCCode(jau);
                                            jau.pccode    = strGuid;
                                            jau.logindate = DateTime.Now;
                                            new JH_Auth_UserB().Update(jau);
                                        }
                                        Model.ErrorMsg = "";
                                        Model.Result   = jau.pccode;
                                        Model.Result1  = jau.UserName;
                                        Model.Result2  = ts.TotalMinutes;
                                        Model.Result3  = qy.FileServerUrl;
                                    }
                                }
                                else
                                {
                                    Model.ErrorMsg = "当前用户不存在";
                                }
                            }
                            catch (Exception ex)
                            {
                                Model.ErrorMsg = ex.ToString();
                            }
                        }
                        else
                        {
                            Model.ErrorMsg = "当前企业号未在电脑端注册";
                        }
                    }
                    else
                    {
                        Model.ErrorMsg = "Code为空";
                    }
                    #endregion
                }
                #endregion
                #region 是否存在
                if (strAction.ToUpper() == "isexist".ToUpper())
                {
                    if (context.Request["szhlcode"] != null)
                    {
                        //通过Cookies获取Code
                        //string szhlcode = "5ab470be-4988-4bb3-9658-050481b98fca";
                        string szhlcode = context.Request["szhlcode"].ToString();
                        //通过Code获取用户名,然后执行接口方法
                        var jau = new JH_Auth_UserB().GetUserByPCCode(szhlcode);
                        if (jau == null)
                        {
                            Model.Result = "NOCODE";
                        }
                    }
                }
                #endregion
                #region 发送提醒
                if (strAction.ToUpper() == "AUTOALERT")
                {
                    TXSX.TXSXAPI.AUTOALERT();
                }
                //阿里云转码通知
                if (strAction.ToUpper() == "ZMNOTICE")
                {
                    #region 转码通知


                    Stream       stream = context.Request.InputStream;
                    StreamReader reader = new StreamReader(stream);
                    string       text   = reader.ReadToEnd();
                    reader.Close();

                    if (!string.IsNullOrEmpty(text))
                    {
                        JObject jo      = JObject.Parse(text);
                        JObject message = JObject.Parse(jo["Message"].ToString());

                        string RunId = message["RunId"].ToString();
                        string State = message["State"].ToString();
                        if (State.ToUpper() == "SUCCESS")
                        {
                            JObject MediaWorkflowExecution = JObject.Parse(message["MediaWorkflowExecution"].ToString());
                            string  InputFileobject        = MediaWorkflowExecution["Input"]["InputFile"]["Object"].ToString();

                            if (MediaWorkflowExecution["State"].ToString().ToUpper() == "COMPLETED")
                            {
                                JArray ActivityList = JArray.Parse(MediaWorkflowExecution["ActivityList"].ToString());
                                foreach (var al in ActivityList)
                                {
                                    string alType = al["Type"].ToString();
                                    CommonHelp.WriteLOG("alType:" + alType);

                                    if (alType.ToUpper() == "TRANSCODE")
                                    {
                                        string alname = al["Name"].ToString();
                                        string md5    = InputFileobject.Substring(0, InputFileobject.LastIndexOf("."));

                                        var files = new FT_FileB().GetEntities(p => p.FileMD5 == md5);
                                        foreach (var v in files)
                                        {
                                            v.YLUrl = string.Format("http://chengyanout.oss-cn-beijing.aliyuncs.com/{0}/{1}/{2}", alname, RunId, InputFileobject);
                                            new FT_FileB().Update(v);
                                        }
                                    }
                                }
                            }
                        }

                        //转码成功则删除原始文件
                        //OssClient client = new OssClient("",);

                        context.Response.Write("HTTP/1.1 204 No Content");
                        //}
                    }
                    context.Response.Write("HTTP/1.1 500 No Content");

                    #endregion
                }
                if (strAction.ToUpper() == "WXAPPSIGNATURE")//上传签名
                {
                    var sign = QJY.API.BusinessCode.Signature.GetUploadSignature();
                    Model.Result = sign;
                }
                if (strAction.ToUpper() == "CHECKBINDYH")//判断是否绑定账号
                {
                    //string code = context.Request["code"] ?? "";
                    //if (string.IsNullOrEmpty(code))
                    //{
                    //    Model.ErrorMsg = "请先获取微信code";
                    //}
                    //else
                    //{
                    //    string openid = WXApp.OnLogin(code);
                    //    if (openid == "")
                    //    {
                    //        Model.ErrorMsg = "获取openid失败,请重试";
                    //    }
                    //    else
                    //    {
                    //        Model.Result = openid;
                    //        //判断是否绑定
                    //        var user = new JH_Auth_UserB().GetEntity(p => p.weixinCard == openid);
                    //        if (user != null)
                    //        {
                    //            Model.Result1 = "Y";
                    //            Model.Result2 = user;
                    //        }
                    //    }

                    //}
                }
                if (strAction.ToUpper() == "BINDYH")//绑定用户
                {
                    string password = context.Request["password"] ?? "";
                    string username = context.Request["UserName"] ?? "";
                    string wxopenid = context.Request["wxopenid"] ?? "";
                    string nickname = context.Request["nickname"] ?? "";
                    string txurl    = context.Request["txurl"] ?? "";


                    JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First();
                    password = CommonHelp.GetMD5(password);
                    JH_Auth_User userInfo = new JH_Auth_User();

                    List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList();
                    if (userList.Count() == 0)
                    {
                        Model.ErrorMsg = "用户名或密码不正确";
                    }
                    else
                    {
                        userInfo = userList[0];
                        if (userInfo.IsUse != "Y")
                        {
                            Model.ErrorMsg = "用户被禁用,请联系管理员";
                        }
                        if (Model.ErrorMsg == "")
                        {
                            userInfo.weixinCard = wxopenid;
                            userInfo.NickName   = nickname;
                            userInfo.txurl      = txurl;
                            new JH_Auth_UserB().Update(userInfo);
                            Model.Result  = userInfo.pccode;
                            Model.Result1 = userInfo.UserName;
                            Model.Result2 = qyModel.FileServerUrl;
                            Model.Result4 = userInfo;
                        }
                    }
                }

                if (strAction.ToUpper() == "LOGIN")
                {
                    string password = context.Request["password"] ?? "";
                    string username = context.Request["UserName"] ?? "";
                    string chkcode  = context.Request["chkcode"] ?? "";
                    Model.ErrorMsg = "";

                    if (chkcode.ToUpper() != "APP")
                    {
                        if (context.Session["chkcode"] != null)
                        {
                            if (!chkcode.ToUpper().Equals(context.Session["chkcode"].ToString()))
                            {
                                Model.ErrorMsg = "验证码不正确";
                            }
                        }
                        else
                        {
                            Model.ErrorMsg = "验证码已过期";
                        }
                    }



                    JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First();
                    password = CommonHelp.GetMD5(password);
                    JH_Auth_User userInfo = new JH_Auth_User();

                    List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList();
                    if (userList.Count() == 0)
                    {
                        Model.ErrorMsg = "用户名或密码不正确";
                    }
                    else
                    {
                        userInfo = userList[0];
                        if (userInfo.IsUse != "Y")
                        {
                            Model.ErrorMsg = "用户被禁用,请联系管理员";
                        }
                        if (Model.ErrorMsg == "")
                        {
                            if (string.IsNullOrEmpty(userInfo.pccode))
                            {
                                userInfo.pccode = CommonHelp.CreatePCCode(userInfo);
                            }
                            userInfo.logindate = DateTime.Now;
                            new JH_Auth_UserB().Update(userInfo);
                            CacheHelp.Remove(userInfo.pccode);//登陆时清理缓存

                            Model.Result  = userInfo.pccode;
                            Model.Result1 = userInfo.UserName;
                            Model.Result2 = qyModel.FileServerUrl;
                            Model.Result4 = userInfo;
                        }
                    }
                }

                #endregion
            }
            else
            {
                #region 获取SuiteTicket
                if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
                {
                    string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature
                    string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
                    string nonce     = HttpContext.Current.Request.QueryString["nonce"];

                    // 获得客户端RAW HttpRequest
                    StreamReader srResult = new StreamReader(context.Request.InputStream);
                    string       str      = srResult.ReadToEnd();

                    XmlDocument XmlDocument = new XmlDocument();
                    XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str));

                    string ToUserName = string.Empty;
                    string Encrypt    = string.Empty;

                    string strde       = string.Empty;
                    string strinfotype = string.Empty;


                    foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes)
                    {
                        if (xn.Name == "ToUserName")
                        {
                            ToUserName = xn.InnerText;
                        }
                        if (xn.Name == "Encrypt")
                        {
                            Encrypt = xn.InnerText;
                        }
                    }

                    var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == ToUserName);


                    int    n              = new WXHelp().DecryptMsg(pj.Token, pj.EncodingAESKey, ToUserName, signature, timestamp, nonce, str, ref strde);
                    string strtct         = string.Empty;
                    string strSuiteId     = string.Empty;
                    string strtAuthCorpId = string.Empty;

                    XmlDocument XmlDocument1 = new XmlDocument();
                    XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde));

                    foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes)
                    {
                        if (xn1.Name == "SuiteId")
                        {
                            strSuiteId = xn1.InnerText;
                        }
                        if (xn1.Name == "SuiteTicket")
                        {
                            strtct = xn1.InnerText;
                        }
                        if (xn1.Name == "InfoType")
                        {
                            strinfotype = xn1.InnerText;
                        }
                        if (xn1.Name == "AuthCorpId")
                        {
                            strtAuthCorpId = xn1.InnerText;
                        }
                    }
                    if (strinfotype == "suite_ticket")
                    {
                        pj.Ticket = strtct;

                        new JH_Auth_WXPJB().Update(pj);
                    }


                    HttpContext.Current.Response.Write("success");
                    HttpContext.Current.Response.End();
                }

                #endregion
            }

            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
            timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            string Result = JsonConvert.SerializeObject(Model, Newtonsoft.Json.Formatting.Indented, timeConverter).Replace("null", "\"\"");
            context.Response.Write(Result);
        }
Ejemplo n.º 6
0
        public APIHandler()
            : base()
        {
            Msg_Result msg = new Msg_Result()
            {
                Action = "", ErrorMsg = ""
            };

            JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo();

            Before += ctx =>
            {
                try
                {
                    //Logger.LogInfo("请求地址" + ctx.Request.Path);
                    if (ctx.Request.Path == "/adminapi/login")
                    {
                        return(ctx.Response);
                    }
                    else
                    if (ctx.Request.Path == "/adminapi/getuser")
                    {
                        return(ctx.Response);
                    }
                    else
                    if (ctx.Request.Path == "/")
                    {
                        return(Response.AsRedirect("/Web/Login.html"));
                    }
                    else
                    if (ctx.Request.Path.StartsWith("/adminapi/dfile"))
                    {
                        return(ctx.Response);
                    }
                    else
                    if (ctx.Request.Path.StartsWith("/adminapi/ExeActionPub"))
                    {
                        return(ctx.Response);
                    }
                    else
                    {
                        string      strUser  = "";
                        string      strpasd  = "";
                        string      strDay   = "";
                        string      filecode = "";
                        List <user> users    = new List <user>();
                        if (ctx.Request.Cookies.ContainsKey("user"))
                        {
                            strUser = ctx.Request.Cookies["user"];
                        }
                        if (ctx.Request.Cookies.ContainsKey("filecode"))
                        {
                            filecode = ctx.Request.Cookies["filecode"];
                        }
                        if (string.IsNullOrEmpty(filecode))
                        {
                            filecode = ctx.Request.Query["filecode"];
                        }
                        if (string.IsNullOrEmpty(filecode))
                        {
                            filecode = ctx.Request.Form["filecode"];
                        }
                        if (!string.IsNullOrEmpty(filecode))
                        {
                            strUser = new CacheHelp().Get(filecode);
                            users   = new JH_Auth_UserB().GetEntities(d => d.username == strUser).ToList();
                            new CacheHelp().Set(filecode, strUser);
                        }
                        if (users.Count() != 1)
                        {
                            msg.ErrorMsg = "NOSESSIONCODE";
                            return(Response.AsText(JsonConvert.SerializeObject(msg), "text/html; charset=utf-8"));
                        }
                        else
                        {
                            UserInfo.User = users[0];
                        }
                        return(ctx.Response);
                    }
                }
                catch (Exception ex)
                {
                    msg.ErrorMsg = ex.Message.ToString();
                    return(Response.AsText(JsonConvert.SerializeObject(msg), "text/html; charset=utf-8"));
                }
            };
            Get["/"] = p =>
            {
                return(Response.AsRedirect("/Web/Login.html"));
                //return View["login"];
            };
            ///获取文件
            Get["/adminapi/dfile/{fileid}"] = p =>
            {
                int fileId = 0;
                int.TryParse(p.fileid.Value.Split(',')[0], out fileId);
                FT_File file    = new FT_FileB().GetEntity(d => d.ID == fileId);
                string  strzyid = p.fileid.Value;
                if (file != null)
                {
                    strzyid = file.zyid;
                }

                string width    = Context.Request.Query["width"].Value ?? "";
                string height   = Context.Request.Query["height"].Value ?? "";
                Qycode qy       = new QycodeB().GetALLEntities().FirstOrDefault();
                string filename = Context.Request.Url.SiteBase + "/" + qy.Code + "/document/" + strzyid;
                if (width + height != "")
                {
                    filename = Context.Request.Url.SiteBase + "/" + qy.Code + "/document/image/" + strzyid + (width + height != "" ? ("/" + width + "/" + height) : "");
                }
                return(Response.AsRedirect(filename));
            };
            //登录接口
            Post["/adminapi/login"] = p =>
            {
                string strUser = Context.Request.Form["user"];
                string strpasd = Context.Request.Form["pasd"];
                var    users   = new JH_Auth_UserB().GetEntities(d => d.username == strUser && d.pasd == CommonHelp.GetMD5(strpasd));
                if (users.Count() == 1)
                {
                    msg.Result = "Y";
                    string strToken = CommonHelp.GenerateToken(strUser);
                    msg.Result2 = strToken;
                    new CacheHelp().Set(strToken, strUser);
                }
                else
                {
                    msg.Result = "N";
                }
                //JsonConvert.SerializeObject(Model).Replace("null", "\"\"");
                return(Response.AsJson(msg));
            };
            Post["/adminapi/getuser"] = p =>
            {
                string strUser        = Context.Request.Form["user"];
                string Secret         = Context.Request.Form["Secret"];
                string strlotusSecret = CommonHelp.GetConfig("lotusSecret", "www.qijiekeji.com");
                Logger.LogError("用户" + strUser + strlotusSecret + "获取Code" + Secret);
                if (Secret == strlotusSecret)
                {
                    var users = new JH_Auth_UserB().GetEntities(d => d.username == strUser);
                    if (users.Count() == 1)
                    {
                        string strToken = CommonHelp.GenerateToken(strUser);
                        msg.Result = strToken;
                        new CacheHelp().Set(strToken, strUser);
                    }
                    else
                    {
                        msg.ErrorMsg = "找不到用户信息";
                        return(Response.AsText(JsonConvert.SerializeObject(msg), "text/html; charset=utf-8"));
                    }
                }
                else
                {
                    msg.ErrorMsg = "Secret不匹配";
                    return(Response.AsText(JsonConvert.SerializeObject(msg), "text/html; charset=utf-8"));
                }

                //JsonConvert.SerializeObject(Model).Replace("null", "\"\"");
                return(Response.AsJson(msg));
            };

            //普通用户接口
            Post["/adminapi/ExeAction/{action}"] = p =>
            {
                JObject JsonData = new JObject();

                foreach (string item in Context.Request.Form.Keys)
                {
                    JsonData.Add(item, Context.Request.Form[item].Value);
                }
                string PostData  = "";
                string P1        = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string P2        = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();
                string strAction = p.action;


                Qycode     qy     = new QycodeB().GetALLEntities().FirstOrDefault();
                JH_Auth_QY QYinfo = new JH_Auth_QY();
                QYinfo.FileServerUrl = Context.Request.Url.SiteBase;
                QYinfo.QYCode        = qy.Code;
                UserInfo.QYinfo      = QYinfo;
                //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString());
                var function = Activator.CreateInstance(typeof(QYWDManage)) as QYWDManage;
                var method   = function.GetType().GetMethod(strAction.ToUpper());
                method.Invoke(function, new object[] { JsonData, msg, P1, P2, UserInfo });

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                string Result = JsonConvert.SerializeObject(msg, Formatting.Indented, timeConverter).Replace("null", "\"\"");
                return(Response.AsText(Result, "text/html; charset=utf-8"));
            };

            //管理用户接口
            Post["/adminapi/ExeActionAuth/{action}"] = p =>
            {
                JObject JsonData = new JObject();

                foreach (string item in Context.Request.Form.Keys)
                {
                    JsonData.Add(item, Context.Request.Form[item].Value);
                }
                string PostData  = "";
                string P1        = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string P2        = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();
                string strAction = p.action;


                Qycode     qy     = new QycodeB().GetALLEntities().FirstOrDefault();
                JH_Auth_QY QYinfo = new JH_Auth_QY();
                QYinfo.FileServerUrl = Context.Request.Url.SiteBase;
                QYinfo.QYCode        = qy.Code;
                UserInfo.QYinfo      = QYinfo;
                //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString());
                var function = Activator.CreateInstance(typeof(QYWDManage)) as QYWDManage;
                var method   = function.GetType().GetMethod(strAction.ToUpper());
                method.Invoke(function, new object[] { JsonData, msg, P1, P2, UserInfo });

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                string Result = JsonConvert.SerializeObject(msg, Formatting.Indented, timeConverter).Replace("null", "\"\"");
                return(Response.AsText(Result, "text/html; charset=utf-8"));
            };

            //外部接口
            Post["/adminapi/ExeActionPub/{action}"] = p =>
            {
                JObject JsonData = new JObject();

                foreach (string item in Context.Request.Form.Keys)
                {
                    JsonData.Add(item, Context.Request.Form[item].Value);
                }
                string PostData  = "";
                string P1        = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string P2        = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();
                string strAction = p.action;


                Qycode     qy     = new QycodeB().GetALLEntities().FirstOrDefault();
                JH_Auth_QY QYinfo = new JH_Auth_QY();
                QYinfo.FileServerUrl = Context.Request.Url.SiteBase;
                QYinfo.QYCode        = qy.Code;
                UserInfo.QYinfo      = QYinfo;
                //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString());
                var function = Activator.CreateInstance(typeof(PubManage)) as PubManage;
                var method   = function.GetType().GetMethod(strAction.ToUpper());
                method.Invoke(function, new object[] { JsonData, msg, P1, P2, UserInfo });

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                string Result = JsonConvert.SerializeObject(msg, Formatting.Indented, timeConverter).Replace("null", "\"\"");
                return(Response.AsText(Result, "text/html; charset=utf-8"));
            };

            After += ctx =>
            {
                msg.Action = Context.Request.Path;
                //添加日志
            };
        }
Ejemplo n.º 7
0
        public ActionResult <string> EXPORTWORD()
        {
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Cookies["szhlcode"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);


            string P1   = context.Request.Query["P1"].ToString();
            string P2   = context.Request.Query["P2"].ToString();
            int    pdid = 0;

            int.TryParse(P1, out pdid);

            int piid = 0;

            int.TryParse(P2, out piid);


            Yan_WF_PD PD = new Yan_WF_PDB().GetEntity(d => d.ID == pdid && d.ComId == UserInfo.User.ComId);
            Yan_WF_PI PI = new Yan_WF_PIB().GetEntity(d => d.ID == piid && d.ComId == UserInfo.User.ComId);

            if (PD.ExportFile == null)
            {
                return("");
            }
            int     fileID = int.Parse(PD.ExportFile);
            FT_File MBFile = new FT_FileB().GetEntities(d => d.ID == fileID).FirstOrDefault();
            Dictionary <string, string> dictSource = new Dictionary <string, string>();

            List <JH_Auth_ExtendMode> ExtendModes = new List <JH_Auth_ExtendMode>();

            ExtendModes = new JH_Auth_ExtendModeB().GetEntities(D => D.ComId == UserInfo.User.ComId && D.PDID == pdid).ToList();
            foreach (JH_Auth_ExtendMode item in ExtendModes)
            {
                string strValue = new JH_Auth_ExtendDataB().GetFiledValue(item.TableFiledColumn, pdid, piid);
                dictSource.Add("qj_" + item.TableFiledColumn, strValue);
            }

            dictSource.Add("qj_CRUser", PI.CRUserName);
            dictSource.Add("qj_BranchName", PI.BranchName);
            dictSource.Add("qj_CRDate", PI.CRDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
            dictSource.Add("qj_PINUM", PI.ID.ToString());


            List <Yan_WF_TI> tiModels = new Yan_WF_TIB().GetEntities(d => d.PIID == piid).ToList();

            for (int i = 0; i < tiModels.Count; i++)
            {
                dictSource.Add("qj_Task" + i + ".TaskUser", new JH_Auth_UserB().GetUserRealName(UserInfo.User.ComId.Value, tiModels[i].TaskUserID));
                dictSource.Add("qj_Task" + i + ".TaskUserView", tiModels[i].TaskUserView);
                if (tiModels[i].EndTime != null)
                {
                    dictSource.Add("qj_Task" + i + ".EndTime", tiModels[i].EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                }
            }
            string strFileUrl = UserInfo.QYinfo.FileServerUrl + "/" + UserInfo.QYinfo.QYCode + "/document/" + MBFile.zyid;

            Aspose.Words.Document doc = new Aspose.Words.Document(strFileUrl);

            //使用文本方式替换
            foreach (string name in dictSource.Keys)
            {
                doc.Range.Replace(name, dictSource[name]);
            }

            #region 使用书签替换模式


            #endregion
            string Filepath    = hostingEnv.WebRootPath + "/Export/";
            string strFileName = PD.ProcessName + DateTime.Now.ToString("yyMMddHHss") + ".doc";

            doc.Save(Filepath + strFileName, Aspose.Words.Saving.DocSaveOptions.CreateSaveOptions(SaveFormat.Doc));
            return(File("~/excels/report.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"));
        }