Beispiel #1
0
        /// <summary>
        /// 激活用户账号
        /// </summary>
        public ActionResult Activate(long AuthorID, string Token)
        {
            if (!string.IsNullOrEmpty(Token))
            {
                // 验证令牌正确性
                TokenQuery tokenQuery = new TokenQuery();
                tokenQuery.JournalID = SiteConfig.SiteID;
                tokenQuery.AuthorID = AuthorID;
                tokenQuery.Token = Token;
                tokenQuery.ExpireDate = DateTime.Now.AddMonths(-3);
                IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>();
                TokenEntity tokenEntity = authorService.GetToken(tokenQuery);
                if (tokenEntity == null)
                {
                    return Content("自动登录令牌不存在或已过期,请重新获取登录链接或<a href=\"" + SiteConfig.RootPath + "/\">输入用户名密码进行登录.</a>");
                }
                AuthorInfoEntity currentAuthorEntity = new AuthorInfoEntity() { Status=1,AuthorID=AuthorID,GroupID=2};
                //跟新作者账号为有效
                authorService.EditMember(currentAuthorEntity);
                // 保存登录ticket

                // 验证是否是作者
                IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>();
                AuthorDetailQuery authorQuery = new AuthorDetailQuery();
                authorQuery.JournalID = SiteConfig.SiteID;
                authorQuery.GroupID = 2;
                authorQuery.CurrentPage = 1;
                authorQuery.PageSize = 1;
                authorQuery.AuthorIDs = new long[] { AuthorID };
                Pager<AuthorDetailEntity> authorPager = service.GetAuthorDetailPageList(authorQuery);
                if (authorPager != null && authorPager.ItemList.Count == 1)
                {
                    AuthorInfoEntity authorEntity = new AuthorInfoEntity();
                    authorEntity.AuthorID = AuthorID;
                    authorEntity.GroupID = 2;
                    authorEntity.JournalID = SiteConfig.SiteID;
                    authorEntity.Status = 1;
                    authorEntity.RealName = authorPager.ItemList[0].AuthorModel.RealName;
                    authorEntity.LoginName = authorPager.ItemList[0].AuthorModel.LoginName;

                    TicketTool.SetCookie(authorEntity.AuthorID.ToString(), JsonConvert.SerializeObject(authorEntity), false);
                }
                else
                {
                    return Content("请确认您的ID正确,或<a href=\"" + SiteConfig.RootPath + "/\">输入用户名密码进行登录.</a>");
                }
            }
            Response.Redirect(SiteConfig.RootPath + "/", true);
            return Content("");
        }
Beispiel #2
0
        public XmlDocument GetMagazineDoc(string strManuId, string strUserID, string strSafetyCode)
        {
            docs rootDoc = new docs();
            docmodel docEntity = new docmodel();
            try
            {
                // 验证令牌正确性
                TokenQuery tokenQuery = new TokenQuery();
                tokenQuery.JournalID = TypeParse.ToLong(strUserID,0);
                tokenQuery.AuthorID = 0;
                tokenQuery.Token = strSafetyCode;
                tokenQuery.ExpireDate = DateTime.Now.AddDays(-7);
                IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>();
                TokenEntity tokenEntity = authorService.GetToken(tokenQuery);

                if (tokenEntity != null)
                {
                    IAuthorPlatformFacadeService cService = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>();
                    // 得到稿件路径
                    ContributionInfoQuery cQuery = new ContributionInfoQuery();
                    cQuery.JournalID = SiteConfig.SiteID;
                    cQuery.CID = TypeParse.ToLong(strManuId);
                    ContributionInfoEntity cEntity = cService.GetContributionInfoModel(cQuery);
                    if (cEntity != null)
                    {
                        docEntity.title = cEntity.Title;
                        docEntity.manuid = cEntity.CID.ToString();
                        docEntity.name = SiteConfig.SiteName;
                        docEntity.state = "true";
                        docEntity.author = new authorentity { chinesename = "", englishname = "" };
                        docEntity.url = "http://" + Utils.GetHost() + SiteConfig.RootPath + "/Plugins/Download.aspx?CID=" + cEntity.CID;
                    }
                    else
                    {
                        docEntity.title = "对不起,没有该稿件信息";
                        docEntity.manuid = "0";
                        docEntity.name = SiteConfig.SiteName;
                        docEntity.state = "false";
                        docEntity.url = "";
                    }
                }
                else
                {
                    docEntity.title = "安全码无效,请检查";
                    docEntity.manuid = "0";
                    docEntity.name = "";
                    docEntity.state = "false";
                    docEntity.url = "";
                }
                docEntity.author = new authorentity { chinesename = "", englishname = "" };
                docEntity.date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                rootDoc.doc = docEntity;
            }
            catch (Exception ex)
            {
                LogProvider.Instance.Error("方正获取稿件信息出现异常:" + ex.Message);
            }

            string retrun = XmlUtils.Serialize(rootDoc);
            XmlDocument  xd=new XmlDocument ();
            XmlDeclaration xmldecl;
            xmldecl = xd.CreateXmlDeclaration("1.0","utf-8", null);
            XmlElement root = xd.DocumentElement;
            xd.InsertBefore(xmldecl, root);
            xd.LoadXml(retrun);
            return xd;
        }
Beispiel #3
0
        public string UploadSingleFile(string strManuId, string strUserID, string strSafetyCode, string indexXml)
        {
            // 验证令牌正确性
            TokenQuery tokenQuery = new TokenQuery();
            tokenQuery.JournalID = TypeParse.ToLong(strUserID, 0);
            tokenQuery.AuthorID = 0;
            tokenQuery.Token = strSafetyCode;
            tokenQuery.ExpireDate = DateTime.Now.AddDays(-7);
            IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>();
            TokenEntity tokenEntity = authorService.GetToken(tokenQuery);

            if (tokenEntity != null)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(indexXml);
                XmlNode node = doc.SelectSingleNode("/doc/file[@type='previewPdf']");
                if (node != null)
                {
                    try
                    {
                        string path = Server.MapPath("/UploadFile/Fangzheng/");
                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }
                        string fileName = strManuId + "_single.pdf";
                        using (WebClient wclient = new WebClient())
                        {
                            string savefile = path + fileName;
                            wclient.DownloadFile(node.InnerText, savefile);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogProvider.Instance.Error("下载方正排版后文件异常:" + ex.Message);
                        return "error:" + ex.Message;
                    }
                }
                else
                {
                    return "node null";
                }
            }
            return "ok";
        }
 public TokenEntity GetToken(TokenQuery tokenQuery)
 {
     TokenEntity tokenEntity = null;
     try
     {
         ITokenService tokenService = ServiceContainer.Instance.Container.Resolve<ITokenService>();
         tokenEntity = tokenService.GetToken(tokenQuery);
     }
     catch (Exception ex)
     {
         LogProvider.Instance.Error("获取令牌出现异常:" + ex.Message);
     }
     return tokenEntity;
 }
Beispiel #5
0
 /// <summary>
 /// 获取一个实体对象
 /// </summary>
 /// <param name="tokenQuery"></param>
 /// <returns>获取一个实体,如果数据不存在返回Null</returns>
 public TokenEntity GetToken(TokenQuery tokenQuery)
 {
     return TokenBusProvider.GetToken(tokenQuery);
 }
Beispiel #6
0
        /// <summary>
        /// 获取令牌
        /// </summary>
        /// <param name="tokenID"></param>
        /// <returns></returns>
        public TokenEntity GetToken(TokenQuery tokenQuery)
        {
            TokenEntity tokenEntity=null;
            StringBuilder sqlCommandText = new StringBuilder();
            sqlCommandText.Append("SELECT TOP 1 TokenID,AuthorID,Token,Type,AddDate FROM dbo.Token WITH(NOLOCK)");
            sqlCommandText.Append(" WHERE  JournalID=@JournalID AND AuthorID=@AuthorID AND AddDate>=@ExpireDate");
            if (!string.IsNullOrEmpty(tokenQuery.Token))
            {
                sqlCommandText.Append(" AND Token=@Token");
            }
            if (tokenQuery.Type > 0)
            {
                sqlCommandText.Append(" AND Type=@Type");
            }

            DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
            db.AddInParameter(cmd, "@JournalID", DbType.Int64, tokenQuery.JournalID);
            db.AddInParameter(cmd, "@AuthorID", DbType.Int64, tokenQuery.AuthorID);
            if (!string.IsNullOrEmpty(tokenQuery.Token))
            {
                db.AddInParameter(cmd, "@Token", DbType.String, tokenQuery.Token);
            }
            if (tokenQuery.Type > 0)
            {
                db.AddInParameter(cmd, "@Type", DbType.Int16, tokenQuery.Type);
            }
            db.AddInParameter(cmd, "@ExpireDate", DbType.DateTime, tokenQuery.ExpireDate);

            using(IDataReader dr = db.ExecuteReader(cmd))
            {
                if (dr.Read())
                {
                    tokenEntity = new TokenEntity();
                    tokenEntity.TokenID = (Int64)dr["TokenID"];
                    tokenEntity.AuthorID = (Int64)dr["AuthorID"];
                    tokenEntity.Token = (String)dr["Token"];
                    tokenEntity.Type = (Byte)dr["Type"];
                    tokenEntity.AddDate = (DateTime)dr["AddDate"];
                }
                dr.Close();
            }
            return tokenEntity;
        }
Beispiel #7
0
 /// <summary>
 /// 获取令牌实体对象
 /// </summary>
 /// <param name="tokenQuery"></param>
 /// <returns>获取一个实体,如果数据不存在返回Null</returns>
 public TokenEntity GetToken(TokenQuery tokenQuery)
 {
     return TokenDataAccess.Instance.GetToken(tokenQuery);
 }
        /// <summary>
        /// 单篇送排
        /// </summary>
        /// <param name="CID"></param>
        /// <returns></returns>
        public ActionResult SingleSendTypesetting(long CID)
        {
            ExecResult eResult = new ExecResult();
            FangZService.JournalXService jService = new FangZService.JournalXService();
            try
            {
                # region get token

                // 验证令牌正确性
                TokenQuery tokenQuery = new TokenQuery();
                tokenQuery.JournalID = SiteConfig.SiteID;
                tokenQuery.AuthorID = 0;
                tokenQuery.Type = 3;
                tokenQuery.ExpireDate = DateTime.Now.AddDays(-7);
                IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>();
                TokenEntity tokenEntity = authorService.GetToken(tokenQuery);
                string SafetyCode = "";
                if (tokenEntity != null)
                {
                    SafetyCode = tokenEntity.Token;
                }

                # endregion

                magorder orderEntity = new magorder();
                orderEntity.magName = SiteConfig.SiteName;
                orderEntity.magEname = "";
                orderEntity.magId = SiteConfig.SiteID.ToString();
                orderEntity.manuId = CID.ToString();
                orderEntity.date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                //1:正确
                //0:未知异常
                //-1:组版设置错误,请到方正书畅管理端检查组版设置.
                //-2:更新刊物结构失败
                //-3:获取刊期结构失败
                //-4:任务正在处理中,请稍后送排.
                //-5:请传送排版结构并完成管理平台的“组版管理设置”后再进行“送排”
                //-6:请指定栏目或稿件后再进行“送排”
                //-7:请完成单稿件任务后再进行“送排”
                //-8:该单篇稿件已通过整期送排,无法再次“送排”
                //-9:方正书畅管理平台刊物信息未配置或配置有误,请确认后再试
                string resultXml = jService.MessageNotification(SafetyCode, "PublishMagazineDoc", XmlUtils.Serialize(orderEntity));
                if (resultXml == "1")
                {
                    eResult.result = "success";
                }
                else if (resultXml == "0")
                {
                    eResult.result = "failure";
                    eResult.msg = "未知异常";
                }
                else if (resultXml == "-1")
                {
                    eResult.result = "failure";
                    eResult.msg = "组版设置错误,请到方正书畅管理端检查组版设置";
                }
                else if (resultXml == "-2")
                {
                    eResult.result = "failure";
                    eResult.msg = "更新刊物结构失败";
                }
                else if (resultXml == "-3")
                {
                    eResult.result = "failure";
                    eResult.msg = "获取刊期结构失败";
                }
                else if (resultXml == "-4")
                {
                    eResult.result = "failure";
                    eResult.msg = "任务正在处理中,请稍后送排";
                }
                else if (resultXml == "-5")
                {
                    eResult.result = "failure";
                    eResult.msg = "请传送排版结构并完成管理平台的“组版管理设置”后再进行“送排”";
                }
                else if (resultXml == "-6")
                {
                    eResult.result = "failure";
                    eResult.msg = "请指定栏目或稿件后再进行“送排”";
                }
                else if (resultXml == "-7")
                {
                    eResult.result = "failure";
                    eResult.msg = "请完成单稿件任务后再进行“送排”";
                }
                else if (resultXml == "-8")
                {
                    eResult.result = "failure";
                    eResult.msg = "该单篇稿件已通过整期送排,无法再次“送排”";
                }
                else if (resultXml == "-9")
                {
                    eResult.result = "failure";
                    eResult.msg = "方正书畅管理平台刊物信息未配置或配置有误,请确认后再试";
                }
                else
                {
                    eResult.result = "failure";
                    eResult.msg = "失败";
                }
            }