예제 #1
0
        /// <summary>
        /// 批量保存缴费通知数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult BatchSavePayNotice(IList <PayNoticeEntity> list)
        {
            ExecResult result = new ExecResult();

            if (list != null && list.Count > 0)
            {
                HttpClientHelper clientHelper = new HttpClientHelper();
                result = clientHelper.Post <ExecResult, IList <PayNoticeEntity> >(GetAPIUrl(APIConstant.PAYNOTICE_BATCHSAVE), list);
                if (result.result == EnumJsonResult.success.ToString())
                {
                    int    index      = 0;
                    string returnData = string.Empty;
                    foreach (var model in list)
                    {
                        SiteConfigFacadeAPIService service  = new SiteConfigFacadeAPIService();
                        MessageRecodeEntity        logModel = new MessageRecodeEntity();
                        logModel.MsgType    = 1;
                        logModel.JournalID  = model.JournalID;
                        logModel.SendUser   = model.SendUser;
                        logModel.MsgTitle   = model.Title;
                        logModel.MsgContent = model.Body;
                        logModel.CID        = model.CID;
                        if (model.PayType == 1)
                        {
                            logModel.SendType = -3;
                        }
                        else if (model.PayType == 2)
                        {
                            logModel.SendType = -4;
                        }
                        IList <Int64> userList = new List <Int64>()
                        {
                            model.AuthorID
                        };
                        var emailResult = service.SendEmailOrSms(userList, logModel);
                        index++;
                        returnData = emailResult.msg;
                        if (model.IsSms && !string.IsNullOrWhiteSpace(model.SmsContent))
                        {
                            logModel.MsgType    = 2;
                            logModel.MsgContent = model.SmsContent;
                            var smsResult = service.SendEmailOrSms(userList, logModel);
                            result.msg += smsResult.msg;
                        }
                    }
                    result.msg += returnData + "共计通知 " + index + " 人";
                }
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        /// 保存缴费通知数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult SavePayNotice(PayNoticeEntity model)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult       result       = clientHelper.Post <ExecResult, PayNoticeEntity>(GetAPIUrl(APIConstant.PAYNOTICE_SAVE), model);

            if (result.result == EnumJsonResult.success.ToString())
            {
                SiteConfigFacadeAPIService service  = new SiteConfigFacadeAPIService();
                MessageRecodeEntity        logModel = new MessageRecodeEntity();
                logModel.MsgType    = 1;
                logModel.JournalID  = model.JournalID;
                logModel.SendUser   = model.SendUser;
                logModel.MsgTitle   = model.Title;
                logModel.MsgContent = model.Body;
                logModel.CID        = model.CID;
                if (model.PayType == 1)
                {
                    logModel.SendType = -3;
                }
                else if (model.PayType == 2)
                {
                    logModel.SendType = -4;
                }
                IList <Int64> userList = new List <Int64>()
                {
                    model.AuthorID
                };
                var emailResult = service.SendEmailOrSms(userList, logModel);
                result.msg += emailResult.msg;
                if (model.IsSms && !string.IsNullOrWhiteSpace(model.SmsContent))
                {
                    logModel.MsgType    = 2;
                    logModel.MsgContent = model.SmsContent;
                    var smsResult = service.SendEmailOrSms(userList, logModel);
                    result.msg += smsResult.msg;
                }
            }
            return(result);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }