using Edu.Model.Entity.Mall; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Edu.Repository.Mall { /// <summary> /// 问卷调查仓储层 /// </summary> public class RB_ActivitySurveyRepository : BaseRepository<RB_ActivitySurvey> { /// <summary> /// 表名称 /// </summary> public string TableName { get { return nameof(RB_ActivitySurvey); } } /// <summary> /// 获取问卷调查列表 /// </summary> /// <param name="where"></param> /// <param name="StuAccountId"></param> /// <returns></returns> public List<RB_ActivitySurvey> GetActivitySurveyListRepository(RB_ActivitySurvey where,string StuAccountId) { string dateStr = Common.ConvertHelper.FormatTime(DateTime.Now); StringBuilder sb = new StringBuilder(); sb.AppendFormat(@" SELECT A.*,(SELECT Id FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND StartTime<='{0}' AND '{0}'<=EndTime AND GuestId={1} LIMIT 1) AS ActivitySurveyGuestId FROM RB_ActivitySurvey AS A WHERE A.State=0 ", dateStr, StuAccountId); sb.AppendFormat(" AND A.StartDate<='{0}' AND '{0}'<= A.EndDate ", dateStr); if (!string.IsNullOrEmpty(StuAccountId)) { //sb.AppendFormat(" AND NOT EXISTS(SELECT 1 FROM rb_guestsurvey WHERE UserType=2 AND ActivitySurveyId=A.ID AND UserId={0}) ", StuAccountId); sb.AppendFormat(" AND EXISTS(SELECT 1 FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND GuestId={0} AND StartTime<='{1}' AND '{1}'<=EndTime )", StuAccountId, dateStr); } if (where != null) { if (where.TenantId > 0) { sb.AppendFormat(" AND A.TenantId={0}", where.TenantId); } if (where.MallBaseId > 0) { sb.AppendFormat(" AND A.MallBaseId={0}", where.MallBaseId); } } return Get<RB_ActivitySurvey>(sb.ToString()).ToList(); } } }