コード例 #1
0
ファイル: SmsChannel.cs プロジェクト: aleczhminr/systemManage
        /// <summary>
        /// 获得通道列表
        /// </summary>
        /// <returns></returns>
        public ChannelList GetChannel()
        {
            var oChannel = new ChannelList();
            var oList    = new List <SmsChannelUnit>();

            foreach (int i in Enum.GetValues(typeof(smsEnum.smsChannel)))
            {
                var oItem = new SmsChannelUnit();
                oItem.ChannelId   = i;
                oItem.ChannelName = Enum.GetName(typeof(smsEnum.smsChannel), i);
                oList.Add(oItem);
            }
            oChannel.Channel = oList;
            return(oChannel);
        }
コード例 #2
0
        /// <summary>
        /// 获得短信通道设置信息
        /// </summary>
        /// <returns></returns>
        public SmsChannelInfo GetChannelInfo()
        {
            SmsConfigInfoTmp tmpResult      = new SmsConfigInfoTmp();
            SmsChannelInfo   smsChannelInfo = new SmsChannelInfo();
            StringBuilder    strSql         = new StringBuilder();

            strSql.Append("declare @SendMode int;");
            strSql.Append(" select @SendMode=Value from T_SysConfig where Item='sms_SendMode';");
            strSql.Append(" if(@SendMode=1)");
            strSql.Append(" begin");
            strSql.Append("   SELECT @SendMode as sendmode,max(case when Item='sms_channel_sys' then Value end) as sms_channel_sys,max(case when Item='sms_channel_f' then Value end) as sms_channel_f,max(case when Item='sms_channel_s' then Value end) as sms_channel_s FROM T_SysConfig where Item='sms_channel_f' or Item='sms_channel_s' or Item='sms_channel_sys';");
            strSql.Append(" end");
            strSql.Append(" else");
            strSql.Append(" begin");
            strSql.Append("  SELECT @SendMode as sendmode,Value from T_SysConfig where Item='sms_option';");
            strSql.Append(" end");


            try
            {
                tmpResult = HelperForFrontend.Query <SmsConfigInfoTmp>(strSql.ToString()).ToList()[0];
            }
            catch (Exception ex)
            {
                tmpResult = null;
            }

            if (tmpResult != null)
            {
                if (tmpResult.sendmode != null)
                {
                    smsChannelInfo.SendMode = tmpResult.sendmode;

                    if (smsChannelInfo.SendMode == 2)
                    {
                        //运营商绑定模式
                        if (tmpResult.Value != null)
                        {
                            string     objVal     = tmpResult.Value.ToString();
                            SmsChannel smsChannel = new SmsChannel();
                            smsChannel = Helper.JsonDeserializeObject <SmsChannel>(objVal.Trim());
                            smsChannelInfo.SmsOperator = smsChannel;
                        }
                    }
                    else
                    {
                        //通道绑定模式

                        SmsPriorityItem smsPriorityItem     = new SmsPriorityItem();
                        SmsChannelUnit  smsChannelUnitSys   = new SmsChannelUnit();
                        SmsChannelUnit  smsChannelUnitFast  = new SmsChannelUnit();
                        SmsChannelUnit  smsChannelUnitGroup = new SmsChannelUnit();
                        smsPriorityItem.SysPriority   = smsChannelUnitSys;
                        smsPriorityItem.FastPriority  = smsChannelUnitFast;
                        smsPriorityItem.GroupPriority = smsChannelUnitGroup;

                        smsPriorityItem.SysPriority.ChannelId   = tmpResult.sms_channel_sys;
                        smsPriorityItem.FastPriority.ChannelId  = tmpResult.sms_channel_f;
                        smsPriorityItem.GroupPriority.ChannelId = tmpResult.sms_channel_s;

                        smsChannelInfo.SmsPriority = smsPriorityItem;
                    }
                }
            }

            return(smsChannelInfo);
        }