/// <summary> /// 投稿 /// </summary> /// <param name="model"></param> /// <returns></returns> public ExecResult SaveContributionInfo(ContributionInfoEntity model) { HttpClientHelper clientHelper = new HttpClientHelper(); ExecResult result = clientHelper.Post<ExecResult, ContributionInfoEntity>(GetAPIUrl(APIConstant.CONTRIBUTIONINFO_SAVE), model); if (result.result.Equals(EnumJsonResult.success.ToString()) && model.CID == 0 && model.Status != -1)//新投稿,不是草稿 { #region 投稿回执 Action action = () => { try { SiteConfigFacadeAPIService service = new SiteConfigFacadeAPIService(); MessageTemplateQuery queryTemp = new MessageTemplateQuery(); queryTemp.JournalID = model.JournalID; queryTemp.TCategory = -5;//回执 var tempList = service.GetMessageTempList(queryTemp).ToList(); if (tempList == null) return; var EmailModel = tempList.Find(p => p.TType == 1); var SmsModel = tempList.Find(p => p.TType == 2); if (EmailModel == null && SmsModel == null) return; MessageRecodeEntity LogModel = new MessageRecodeEntity(); LogModel.JournalID = model.JournalID; LogModel.SendType = -5; LogModel.SendUser = model.AuthorID; IDictionary<string, string> dict = service.GetEmailVariable(); var user = new AuthorFacadeAPIService().GetAuthorInfo(new AuthorInfoQuery() { JournalID = model.JournalID, AuthorID = model.AuthorID }); dict["${接收人}$"] = user.RealName; dict["${邮箱}$"] = user.LoginName; dict["${手机}$"] = user.Mobile; dict["${稿件编号}$"] = result.resultStr; dict["${稿件标题}$"] = model.Title; dict["$稿件主键$"] = result.resultID.ToString(); ExecResult execResult = new ExecResult(); if (EmailModel != null) { LogModel.MsgType = 1; execResult = service.SendEmailOrSms(new Dictionary<Int64, IDictionary<string, string>>() { { model.AuthorID, dict } }, LogModel); } if (SmsModel != null) { LogModel.MsgType = 2; execResult = service.SendEmailOrSms(new Dictionary<Int64, IDictionary<string, string>>() { { model.AuthorID, dict } }, LogModel); } if (!execResult.result.Equals(EnumJsonResult.success.ToString())) throw new Exception(execResult.msg); } catch (Exception ex) { LogProvider.Instance.Error("发送投稿回执失败,稿件编码【" + result.resultStr + "】:" + ex.ToString()); } }; action.BeginInvoke(null, null); #endregion } return result; }
/// <summary> /// 获取专家信息 为了发贺卡 /// </summary> /// <param name="userList"></param> /// <param name="isEmail"></param> /// <returns></returns> private IDictionary<Int64, string> GetAuthorDcit(IList<Int64> userList, Int64 JournalID) { AuthorInfoQuery query = new AuthorInfoQuery(); query.AuthorIDs = userList.Distinct().ToArray(); query.JournalID = JournalID; query.PageSize = userList.Count; query.CurrentPage = 1; AuthorFacadeAPIService service = new AuthorFacadeAPIService(); var list = service.GetAuthorList(query).ItemList; if (list == null || list.Count == 0) return null; return list.Where(p => !string.IsNullOrWhiteSpace(p.LoginName)) .ToDictionary(p => p.AuthorID, q => { return q.LoginName + "," + q.RealName; }); }
/// <summary> /// 获取缴费通知实体 /// </summary> /// <param name="query"></param> /// <returns></returns> public PayNoticeEntity GetPayNoticeModel(PayNoticeQuery query) { PayNoticeEntity model = null; try { if (query.NoticeID > 0) { HttpClientHelper clientHelper = new HttpClientHelper(); model = clientHelper.Post<PayNoticeEntity, PayNoticeQuery>(GetAPIUrl(APIConstant.PAYNOTICE_GETMODEL), query); } if (model == null) { model = new PayNoticeEntity(); model.JournalID = query.JournalID; model.PayType = query.PayType.Value; model.CID = query.CID.Value; SiteConfigFacadeAPIService service = new SiteConfigFacadeAPIService(); MessageTemplateEntity temp = null; if (model.PayType == 1) temp = service.GetMessageTemplate(model.JournalID, -3, 1); else if (model.PayType == 2) temp = service.GetMessageTemplate(model.JournalID, -4, 1); if (temp != null) model.Body = temp.TContent; if (!string.IsNullOrWhiteSpace(model.Body)) { AuthorPlatformFacadeAPIService authorService = new AuthorPlatformFacadeAPIService(); ContributionInfoQuery authorQuery = new ContributionInfoQuery(); authorQuery.JournalID = model.JournalID; authorQuery.CID = model.CID; authorQuery.IsAuxiliary = false; var contribution = authorService.GetContributionInfoModel(authorQuery); if (contribution != null) { IDictionary<string, string> dict = service.GetEmailVariable(); var user = new AuthorFacadeAPIService().GetAuthorInfo(new AuthorInfoQuery() { JournalID = model.JournalID, AuthorID = contribution.AuthorID }); if (!query.IsBatch) { dict["${接收人}$"] = user.RealName; dict["${邮箱}$"] = user.LoginName; dict["${手机}$"] = user.Mobile; dict["${稿件编号}$"] = contribution.CNumber; dict["${稿件标题}$"] = contribution.Title; model.Body = service.GetEmailOrSmsContent(dict, service.GetSiteConfig(model.JournalID), model.Body); } else { query.AuthorName = user.RealName; query.LoginName = user.LoginName; query.Mobile = user.Mobile; query.CNumber = contribution.CNumber; query.Title = contribution.Title; } } } } } catch (Exception ex) { LogProvider.Instance.Error("获取通知单失败:" + ex.ToString()); model = new PayNoticeEntity(); model.JournalID = query.JournalID; model.PayType = query.PayType.Value; model.CID = query.CID.Value; } return model; }
/// <summary> /// 获取作者信息 /// </summary> /// <param name="userList"></param> /// <param name="isEmail"></param> /// <returns></returns> private IDictionary<Int64, string> GetAuthorDcit(IList<Int64> userList, Int64 JournalID, bool isEmail) { if (isEmail) { AuthorInfoQuery query = new AuthorInfoQuery(); query.AuthorIDs = userList.Distinct().ToArray(); query.JournalID = JournalID; query.PageSize = userList.Count; query.CurrentPage = 1; AuthorFacadeAPIService service = new AuthorFacadeAPIService(); var list = service.GetAuthorList(query).ItemList; if (list == null || list.Count == 0) return null; return list.Where(p => !string.IsNullOrWhiteSpace(p.LoginName)) .ToDictionary(p => p.AuthorID, q => q.LoginName); } else { AuthorDetailQuery query = new AuthorDetailQuery(); query.AuthorIDs = userList.Distinct().ToArray(); query.JournalID = JournalID; query.PageSize = userList.Count; query.CurrentPage = 1; AuthorPlatformFacadeAPIService service = new AuthorPlatformFacadeAPIService(); var list = service.GetAuthorDetailList(query); return list.Where(p => !string.IsNullOrWhiteSpace(p.Mobile)) .Where(p => p.Mobile.IsMobilePhone()) .ToDictionary(p => p.AuthorID, q => q.Mobile); } }