示例#1
0
        public IActionResult OnPostUpdateTrial(RTrialLog updateTrial)
        {
            ResultNormal result = new ResultNormal();
            var          times  = StaticDataSrv.TrialTime;
            bool         needWX = false;

            try
            {
                if (updateTrial.Id <= 0)
                {
                    result.ErrorMsg = "没有找到试听课,无法保存!";
                }
                else
                {
                    ETrialLog origTrial = _CourseSrv.GetTrialLog(updateTrial.Id);

                    origTrial.Lesson        = updateTrial.Lesson;
                    origTrial.TrialDateTime = updateTrial.TrialDateTime;
                    origTrial.CourseCode    = updateTrial.CourseCode;

                    var cls = _CourseSrv.GetCourseInfoClass(origTrial.CourseCode);
                    origTrial.TecCode    = cls.TecCode;
                    origTrial.TecName    = cls.TecName;
                    origTrial.CourseType = (int)cls.CourseType;
                    origTrial.CourseName = cls.CourseName;

                    var ui = _UserSrv.GetUserInfo(updateTrial.OpenId);

                    ui.Phone       = updateTrial.UserPhone;
                    ui.SalesOpenId = updateTrial.SalesOpenId;

                    if (origTrial.TrialLogStatus == (int)TrialLogStatus.UserApply)
                    {
                        needWX = true;
                        origTrial.TrialLogStatus = (int)TrialLogStatus.TecConfirm;
                        //返佣
                    }
                    _CourseSrv.SaveChanges();

                    //微信发送
                    if (needWX)
                    {
                        TecTrialRemindTemplate wxMessage = new TecTrialRemindTemplate();
                        RTrialLog rTrialLog = new RTrialLog();
                        rTrialLog.InitFromETrialLog(origTrial);
                        rTrialLog.SalesOpenId  = updateTrial.SalesOpenId;
                        rTrialLog.SalesName    = updateTrial.SalesName;
                        rTrialLog.TrialTimeStr = times[rTrialLog.Lesson].TimeRange;
                        rTrialLog.UserRealName = ui.ChildName;
                        var teacher = _TecSrv.Get(origTrial.TecCode);
                        if (teacher != null)
                        {
                            //  teacher.UserOpenId = "oh6cV1QhPLj6XPesheYUQ4XtuGTs";
                            wxMessage.data = wxMessage.GenerateData(teacher.UserOpenId, rTrialLog);
                            result         = WXApi.SendTemplateMessage <TecTrialRemindTemplate>(wxMessage);
                            result.IntMsg  = 10;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }