/// <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(""); }
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; }
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; }
/// <summary> /// 获取一个实体对象 /// </summary> /// <param name="tokenQuery"></param> /// <returns>获取一个实体,如果数据不存在返回Null</returns> public TokenEntity GetToken(TokenQuery tokenQuery) { return TokenBusProvider.GetToken(tokenQuery); }
/// <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; }
/// <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 = "失败"; } }