public IActionResult OnPostSignForUser(string openId, string lessonCode, MemberType memberType, string date) { ResultNormal result = new ResultNormal(); try { var csType = _UserSrv.GetCurrentCourseScheduleType(openId, memberType); var us = GetUserSession(false); if (us != null) { DateTime signDate = DateTime.Parse(date); var log = _BusinessSrv.UpdateCourseLogToSigned(openId, memberType, csType, lessonCode, signDate, us.OpenId); //wx通知 --Begin var course = _CourseSrv.GetCourseSchedule(log.LessonCode); if (course == null) { result.ErrorMsg = "已签到,但未发送消息通知,请告知管理员!"; return(new JsonResult(result)); } var userAccount = _UserSrv.GetUserAccount(openId); if (userAccount.ReduceTime == 0) { userAccount.ReduceTime = 2; } var time = StaticDataSrv.CourseTime; UserSignTemplate wxMessage = new UserSignTemplate(); wxMessage.data = wxMessage.GenerateData(openId, log.SignName, $"{log.CourseDateTime} | {time[course.Lesson].TimeRange}", course.CourseName, userAccount.ReduceTime, userAccount.RemainCourseTime, userAccount.RemainSummerTime, userAccount.RemainWinterTime); WXApi.SendTemplateMessage <UserSignTemplate>(wxMessage); //wx通知 --End } else { result.IntMsg = -1; result.ErrorMsg = "请重新登陆"; } result.SuccessMsg = BaseEnumSrv.GetUserCourseLogStatusNameForTec(UserCourseLogStatus.SignIn); } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(new JsonResult(result)); }
public IActionResult OnPostSignCourse(string LessonCode) { ResultNormal result = new ResultNormal(); try { var us = base.GetUserSession(false); if (us != null) { _BusinessSrv.UpdateCourseLogToSigned(us.OpenId, us.MemeberType, us.CurrentScheduleType, LessonCode, DateTime.Now, us.OpenId, true, true); } else { result.IntMsg = -1; result.ErrorMsg = "请重新登陆!"; } } catch (EduException eex) { if (eex.EduErrorMessage == EduErrorMessage.NoCourseTime) { result.IntMsg = (long)EduErrorMessage.NoCourseTime; result.ErrorMsg = BaseEnumSrv.EduErrorMessageName(eex.EduErrorMessage); } result.ErrorMsg = eex.Message; } catch (Exception ex) { result.ErrorMsg = "签到失败,请联系工作人员"; NLogHelper.ErrorTxt($"签到页面[OnPostSignCourse]:{ex.Message}"); } return(new JsonResult(result)); }