1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using System.Data.SqlClient;
- using Interface;
- using Services;
- using Common;
- using Models;
- namespace Services
- {
- /// <summary>
- /// 邮件相关服务
- /// </summary>
- public class EmailServices : BaseServices, IEmail
- {
- /// <summary>
- /// 添加邮件提醒记录
- /// </summary>
- /// <param name="LotteryName">彩种名称</param>
- /// <param name="QiHao">期号</param>
- /// <param name="OpenTime">开奖时间</param>
- /// <returns></returns>
- public bool AddEmail(string LotteryName, string QiHao, DateTime OpenTime, string Spare = "")
- {
- var param = new SqlParameter[]{
- new SqlParameter("@LotteryName",LotteryName),
- new SqlParameter("@QiHao",QiHao),
- new SqlParameter("@OpenTime",OpenTime),
- new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-", "")),
- new SqlParameter("@Spare",Spare)
- };
- var result = SqlHelper.ExecuteNonQuery(CommandType.Text, AddEmailSql, param);
- return result > 0;
- }
- /// <summary>
- /// 获取所有待发送邮件列表
- /// </summary>
- /// <returns></returns>
- public List<EmailModel> GetAllNeedSendEmail()
- {
- List<EmailModel> result = new List<EmailModel>();
- var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetAllNeedSendEmailSql);
- if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
- {
- result = LoadDataList<EmailModel>(ds.Tables[0]);
- }
- return result;
- }
- /// <summary>
- /// 更新邮件列表为已发送
- /// </summary>
- /// <param name="models">邮件列表</param>
- public void UpdateEmailToSend(List<EmailModel> models)
- {
- if (models.Count == 0) return;
- StringBuilder sb = new StringBuilder();
- foreach (var model in models)
- {
- sb.Append(string.Format("{0},", model.Id));
- }
- var exeSql = string.Format(UpdateEmailToSendSql, sb.ToString().Trim(','));
- SqlHelper.ExecuteNonQuery(CommandType.Text, exeSql, null);
- }
- #region Sql语句
- /// <summary>
- /// 添加邮件记录的Sql语句
- /// </summary>
- private static string AddEmailSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM SCCEmail WHERE LotteryName=@LotteryName AND QiHao=@QiHao)
- BEGIN
- INSERT INTO SCCEmail
- SELECT @ID,@LotteryName,@QiHao,@OpenTime,0,GETDATE(),@Spare
- END";
- /// <summary>
- /// 获取所有待发送邮件列表的Sql语句
- /// </summary>
- private static string GetAllNeedSendEmailSql = @"SELECT ID,LotteryName,QiHao,OpenTime From SCCEmail WHERE IsSend = 0";
- /// <summary>
- /// 更新邮件为已发送的Sql语句
- /// </summary>
- private static string UpdateEmailToSendSql = @"Update SCCEmail SET IsSend = 1 WHERE ID in ({0})";
- #endregion
- }
- }
|