Ejemplo n.º 1
0
        public void BothTest()
        {
            CourseStudyTaskMessage msg = new CourseStudyTaskMessage();

            msg.AsOfDate     = DateTime.Now;
            msg.CourseId     = 10000;
            msg.LessonId     = 10000;
            msg.StudentId    = 10002;
            msg.StudySeconds = 60;
            string     msgBody = JsonConvert.SerializeObject(msg);
            MessageBll bll     = new MessageBll();

            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课程学习, msgBody);

            bll.PublishMessage(MessageChannel.ADVERTISING_CHANNEL, MessageTypeEnum.课程学习, msgBody);
            List <Task> tasks = new List <Task>();

            tasks.Add(Task.Factory.StartNew(GetMsg));
            tasks.Add(Task.Factory.StartNew(GetMsg1));

            Task.WaitAll(tasks.ToArray());
            string msgx = bll.ReceiveMessage(MessageChannel.REPORT_CHANNEL);
            //StudentDailyBll dailyBll = new StudentDailyBll();
            //dailyBll.SaveData(msgx);
        }
Ejemplo n.º 2
0
        public void PublishMessageTest()
        {
            MessageBll bll = new MessageBll();

            CourseStudyTaskMessage msg = new CourseStudyTaskMessage();

            msg.AsOfDate = new DateTime(2019, 11, 11);
            //msg.AsOfDate = new DateTime(2019, 10, 31, 1, 1, 1);
            msg.CourseId     = 10000;
            msg.LessonId     = 10000;
            msg.StudentId    = 10002;
            msg.StudySeconds = 60;
            msg.GetCoins     = 10;
            msg.SubjectCount = 5;
            string msgBody = JsonConvert.SerializeObject(msg);

            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课程学习, msgBody);

            msg              = new CourseStudyTaskMessage();
            msg.AsOfDate     = new DateTime(2019, 11, 11);
            msg.CourseId     = 10000;
            msg.LessonId     = 10000;
            msg.StudentId    = 10002;
            msg.StudySeconds = 60;
            msg.GetCoins     = 10;
            msg.SubjectCount = 5;
            msgBody          = JsonConvert.SerializeObject(msg);
            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课程学习, msgBody);

            msg              = new CourseStudyTaskMessage();
            msg.AsOfDate     = new DateTime(2019, 11, 11);
            msg.CourseId     = 10000;
            msg.LessonId     = 10000;
            msg.StudentId    = 10002;
            msg.StudySeconds = 60;
            msg.GetCoins     = 10;
            msg.SubjectCount = 5;
            msgBody          = JsonConvert.SerializeObject(msg);
            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课程学习, msgBody);

            msg              = new CourseStudyTaskMessage();
            msg.AsOfDate     = new DateTime(2019, 11, 12);
            msg.CourseId     = 10000;
            msg.LessonId     = 10000;
            msg.StudentId    = 10002;
            msg.StudySeconds = 60;
            msg.GetCoins     = 10;
            msg.SubjectCount = 5;
            msgBody          = JsonConvert.SerializeObject(msg);
            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课程学习, msgBody);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 发送学生的课后任务消息(进行数据统计)
        /// </summary>
        public void PublishStudyTaskMessage(int courseId, int lessonId, int studentId, int studySeconds, int subjectCount, int getCoins)
        {
            MessageBll bll = new MessageBll();

            CourseStudyTaskMessage msg = new CourseStudyTaskMessage();

            msg.AsOfDate     = DateTime.Now.Date;
            msg.CourseId     = courseId;
            msg.LessonId     = lessonId;
            msg.StudentId    = studentId;
            msg.StudySeconds = studySeconds;
            msg.SubjectCount = subjectCount;
            msg.GetCoins     = getCoins;
            string msgBody = JsonConvert.SerializeObject(msg);

            bll.PublishMessage(MessageChannel.REPORT_CHANNEL, MessageTypeEnum.课后任务, msgBody);
        }
Ejemplo n.º 4
0
        public override void Handle()
        {
            CourseStudyTaskMessage   msgObject = JsonConvert.DeserializeObject <CourseStudyTaskMessage>(message);
            SumStudentBll            bll       = new SumStudentBll();
            StudentStudyBll          studyBll  = new StudentStudyBll();
            Yw_StudentCourseProgress progress  = studyBll.GetProgressByStudentCourse(msgObject.StudentId, msgObject.CourseId);

            if (progress == null)
            {
                throw new AbhsException(ErrorCodeEnum.StudentCourseProgressNotFound, AbhsErrorMsg.ConstStudentCourseProgressNotFound, msgObject.StudentId + "," + msgObject.CourseId);
            }

            bool newDay = false;

            Sum_StudyFactDaily daily = bll.GetDailyData(msgObject.StudentId, progress.Yps_ClassId, msgObject.AsOfDate.Date);

            if (daily == null)
            {
                newDay = true;
                daily  = new Sum_StudyFactDaily();
                daily.Ssd_StudentId        = msgObject.StudentId;
                daily.Ssd_SchoolId         = progress.Yps_SchoolId;
                daily.Ssd_ClassId          = progress.Yps_ClassId;
                daily.Ssd_Date             = msgObject.AsOfDate.Date;
                daily.Ssd_UpdateTime       = DateTime.Now;
                daily.Ssd_StudySeconds     = msgObject.StudySeconds;
                daily.Ssd_IncomeCoins      = msgObject.GetCoins;
                daily.Ssd_SubjectCount     = msgObject.SubjectCount;
                daily.Ssd_TaskCount        = 1;
                daily.Ssd_ExperiencePoints = msgObject.GetCoins;
            }
            else
            {
                daily.Ssd_UpdateTime       = DateTime.Now;
                daily.Ssd_StudySeconds     = daily.Ssd_StudySeconds + msgObject.StudySeconds;
                daily.Ssd_IncomeCoins      = daily.Ssd_IncomeCoins + msgObject.GetCoins;
                daily.Ssd_SubjectCount     = daily.Ssd_SubjectCount + msgObject.SubjectCount;
                daily.Ssd_TaskCount        = daily.Ssd_TaskCount + 1;
                daily.Ssd_ExperiencePoints = daily.Ssd_ExperiencePoints + msgObject.GetCoins;
            }
            bll.SaveDailyData(daily);

            Dictionary <DateCycleTypeEnum, Sum_StudyFactDateCycle> dic = bll.FetchOrCreateCycleData(msgObject.StudentId, progress.Yps_ClassId, msgObject.AsOfDate.Date);

            foreach (KeyValuePair <DateCycleTypeEnum, Sum_StudyFactDateCycle> item in dic)
            {
                item.Value.Sdc_StudentId        = msgObject.StudentId;
                item.Value.Sdc_SchoolId         = progress.Yps_SchoolId;
                item.Value.Sdc_ClassId          = progress.Yps_ClassId;
                item.Value.Sdc_UpdateTime       = DateTime.Now;
                item.Value.Sdc_StudySeconds     = item.Value.Sdc_StudySeconds + msgObject.StudySeconds;
                item.Value.Sdc_IncomeCoins      = item.Value.Sdc_IncomeCoins + msgObject.GetCoins;
                item.Value.Sdc_SubjectCount     = item.Value.Sdc_SubjectCount + msgObject.SubjectCount;
                item.Value.Sdc_ExperiencePoints = item.Value.Sdc_ExperiencePoints + msgObject.GetCoins;
                item.Value.Sdc_TaskCount        = item.Value.Sdc_TaskCount + 1;
                item.Value.Sdc_StudyDayCount    = newDay ? item.Value.Sdc_StudyDayCount + 1 : item.Value.Sdc_StudyDayCount;
                bll.SaveCycleData(item.Value);
            }

            if (newDay)
            {
                int            dayCount = bll.GetStudyDayCountOfStudent(msgObject.StudentId);
                StudentInfoBll infoBll  = new StudentInfoBll();
                infoBll.UpdateStudyDayCountOfStudent(msgObject.StudentId, dayCount);
            }
        }