Example #1
0
        public IActionResult OnPostSave(List <EUserChild> list)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                var us = GetUserSession(false);
                if (us != null)
                {
                    foreach (var c in list)
                    {
                        c.UserOpenId = us.OpenId;
                    }
                    _UserSrv.SaveChildList(list);
                }
                else
                {
                    result.IntMsg   = -1;
                    result.ErrorMsg = "超时,请重新登陆!";
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "保存数据错误!请联系管理员或稍后再试";
                NLogHelper.ErrorTxt(ex.Message);
            }
            return(new JsonResult(result));
        }
        public ResultNormal RegistRebot(string userAccount)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                if (string.IsNullOrEmpty(userAccount))
                {
                    userAccount = DateTime.Now.ToString("yyyy-MM-dd") + ToolUtil.GetRnd(2, true, false, false, false);
                }
                var     phone   = "199" + ToolUtil.GetRnd(8, true, false, false, false);
                RegUser regUser = new RegUser
                {
                    Account = $"r{userAccount}",
                    Phone   = phone,
                    Pwd     = "111111",
                };
                var ui = _userServices.Register(regUser);
                result.Message = ui.UerInfo.UserAccount;
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal submit(SubmitPraize submitPraize)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                if (string.IsNullOrEmpty(submitPraize.userId))
                {
                    submitPraize.userId = this.getUserId();
                }
                else
                {
                    if (submitPraize.userId != this.getUserId())
                    {
                        throw new CCException("身份不明确,请登录后再尝试");
                    }
                }
                result.ResultId = _praizeServices.handlePraize(submitPraize);

                //创建通知消息
                asyncCreateMessage(submitPraize, result.ResultId);
                // Console.WriteLine("controller return");
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal downloadFileByUrl(panReqDownload reqDownload)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                string filePath = _webHostEnvironment.ContentRootPath + _configuration["baiduConfig:downloadPath"] + reqDownload.filename;
                using (HttpClient httpClient = new HttpClient())
                {
                    var clientResult = httpClient.GetAsync(reqDownload.url).Result;
                    while (clientResult.StatusCode == HttpStatusCode.Redirect)
                    {
                        var url = clientResult.Headers.Location.AbsoluteUri;
                        clientResult = httpClient.GetAsync(url).Result;
                    }
                    var bytes = clientResult.Content.ReadAsByteArrayAsync().Result;
                    using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate))
                    {
                        fs.Write(bytes, 0, bytes.Length);
                        fs.Close();
                    }
                }
            }

            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
Example #5
0
        public ResultNormal deleteResource(DeleteRes deleteRes)
        {
            ResultNormal result = new ResultNormal();

            if (string.IsNullOrEmpty(deleteRes.resCode) || string.IsNullOrEmpty(deleteRes.bookCode))
            {
                throw new Exception("没有删除的资源");
            }
            var resInfo = _ResourceReponsitory.GetByKey(deleteRes.resCode).Result;

            if (resInfo != null)
            {
                if (resInfo.ResType == ResType.BookOss)
                {
                    var toPath = OssKeyManager.BookDeletedKey(resInfo.OssPath);
                    result = ossMove(resInfo.OssPath, toPath);
                }
                if (result.IsSuccess)
                {
                    deleteResInDb(deleteRes);
                }

                //  result.Message = _ResourceReponsitory.LogicDelete(deleteRes.resCode) ? "1" : "0";
            }
            else
            {
                result.ErrorMsg = "没有找到删除资源";
            }

            return(result);
        }
        public IActionResult OnPostQRGen(double payAmount, int courseTime = 0)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                var           url      = $"{Request.Scheme}://{Request.Host}/WX/PayQRMoney?amt={payAmount}&ct={courseTime}";
                var           fileName = $"{payAmount}_{DateTime.Now.ToString("yyyyMMdd_hhmmss")}.png";
                var           savePath = EduEnviroment.DicPath_QRPay + fileName;
                List <string> desc     = new List <string>();
                desc.Add($"请用户扫码付款,支付金额【{payAmount}】元");
                if (courseTime > 0)
                {
                    desc.Add($"共计: 【{courseTime}】节课时");
                }
                QRHelper.GenQR(url, savePath, desc);
                result.SuccessMsg = EduEnviroment.VirPath_QRPay + fileName;
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "生成失败:" + ex.Message;
                NLogHelper.ErrorTxt($"二维码生成失败:{ex.Message}");
            }
            return(new JsonResult(result));
        }
        protected ResultNormal GetError(string errorMsg)
        {
            ResultNormal response = new ResultNormal();

            response.ErrorMsg = errorMsg;
            return(response);
        }
Example #8
0
        public ResultNormal ossMove(string fromPath, string toPath)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                if (OssClient.DoesObjectExist(_OssConfig.bucketName, fromPath))
                {
                    var metadata = new ObjectMetadata();
                    //metadata.AddHeader("mk1", "mv1");
                    //metadata.AddHeader("mk2", "mv2");
                    var req = new CopyObjectRequest(_OssConfig.bucketName, fromPath, _OssConfig.bucketName, toPath)
                    {
                        NewObjectMetadata = metadata
                    };
                    // 拷贝文件。
                    OssClient.CopyObject(req);
                    OssClient.DeleteObject(_OssConfig.bucketName, fromPath);
                }
            }
            catch (Exception ex)
            {
                NLogUtil.cc_ErrorTxt("Oss Services-moveOss:" + ex.Message);
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
Example #9
0
        public IActionResult OnPostDelete(long Id)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                var DelObj = _CourseSrv.GetCourseSchedule(Id);
                if (DelObj != null)
                {
                    if (DelObj.ApplyNum > 0)
                    {
                        result.ErrorMsg = "已经有用户报名,不能删除此课程";
                    }
                    else
                    {
                        _CourseSrv.DeleteCourseSchdule(DelObj);
                        _CourseSrv.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(new JsonResult(result));
        }
Example #10
0
        public IActionResult OnPostSave(List <ECourseSchedule> list)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                List <ECourseSchedule> newList = new List <ECourseSchedule>();
                foreach (ECourseSchedule es in list)
                {
                    es.LessonCode = $"{es.Year}_{es.Day}_{es.Lesson}_{es.CourseCode}_{es.LessonNo}_{es.CourseScheduleType}";
                    if (es.Id == 0)
                    {
                        newList.Add(es);
                    }
                }

                if (newList.Count > 0)
                {
                    _CourseSrv.AddRange(newList);

                    _CourseSrv.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(new JsonResult(result));
        }
        public ResultNormal submitRes(SubmitComment commentRes)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                if (string.IsNullOrEmpty(commentRes.userId))
                {
                    commentRes.userId = this.getUserId();
                }
                else
                {
                    if (commentRes.userId != this.getUserId())
                    {
                        throw new CCException("身份不明确,请登录后再尝试");
                    }
                }
                result.ResultId = _commentServices.submitResComment(commentRes);
                //创建通知消息
                this.async_CreateCommentMessage(commentRes, result.ResultId);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        //用户试听课微信提醒
        public IActionResult OnPostWxRemind(long Id)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                var trial = _CourseSrv.GetTrialLogById(Id);

                //微信发送
                UserTrialRemindTemplate wxMessage = new UserTrialRemindTemplate();
                wxMessage.data = wxMessage.GenerateData(trial.OpenId, trial);
                WXApi.SendTemplateMessage <UserTrialRemindTemplate>(wxMessage);

                if (result.IsSuccess)
                {
                    _CourseSrv.AddTrialRemindCount(Id);
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }
        /// <summary>
        /// 发送奖励金
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public IActionResult OnPostSendReward(long invitelogId, string invitedOpenId, string ownOpenId)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                AmountTransType amountTransType = AmountTransType.Invited_TrialReward;
                EUserAccount    ownAccount;
                bool            needWx = _SalesSrv.CreateRewardTrans(invitelogId, ownOpenId, amountTransType, out ownAccount);

                if (ownAccount != null)
                {
                    var ui = _UserSrv.GetUserInfo(invitedOpenId);
                    NLogHelper.InfoTxt($"wxMessage:OpenId-{ownOpenId}");
                    //微信提醒
                    UserAccountChangeTemplate wxMessage = new UserAccountChangeTemplate();
                    wxMessage.data = wxMessage.GenerateData(ownOpenId,
                                                            ui.Name,
                                                            amountTransType,
                                                            DateTime.Now,
                                                            ownAccount.InviteRewards,
                                                            GlobalSrv.GetRewardAmount(amountTransType)
                                                            );
                    WXApi.SendTemplateMessage <UserAccountChangeTemplate>(wxMessage);
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }
Example #14
0
        public ResultNormal getNoAuth()
        {
            var          a = HttpContext.User;
            ResultNormal r = new ResultNormal();

            r.Message = "获取Token.Pass Auth";
            return(r);
        }
Example #15
0
        public IActionResult OnPostCourseLeave(List <EUserCourseLog> list)
        {
            ResultNormal result = new ResultNormal();
            var          us     = base.GetUserSession(false);

            try
            {
                if (us != null)
                {
                    _UserSrv.UpdateCourseLogToLeave(list, us.OpenId);


                    //wx通知
                    var time = StaticDataSrv.CourseTime;
                    UserLeaveTemplate wxMessage = new UserLeaveTemplate();
                    foreach (var c in list)
                    {
                        var ui   = _UserSrv.GetUserInfo(us.OpenId);
                        var cs   = _CourseSrv.GetCourseSchedule(c.LessonCode);
                        var desc = $"{cs.CourseName} | [{time[cs.Lesson].TimeRange}]";

                        var tec = _TecSrv.GetOpenIdByLessonCode(c.LessonCode, c.CourseDateTime);

                        if (!string.IsNullOrEmpty(ui.SalesOpenId))
                        {
                            wxMessage.data = wxMessage.GenerateData(ui.SalesOpenId, ui.ChildName, DateTime.Parse(c.CourseDateTime), desc);
                            WXApi.SendTemplateMessage <UserLeaveTemplate>(wxMessage);
                        }
                        if (tec != null)
                        {
                            wxMessage.data = wxMessage.GenerateData(tec.UserOpenId, ui.ChildName, DateTime.Parse(c.CourseDateTime), desc, true);
                            WXApi.SendTemplateMessage <UserLeaveTemplate>(wxMessage);
                        }
                    }
                }
                else
                {
                    result.IntMsg   = -1;
                    result.ErrorMsg = "请重新登陆!";
                }
            }
            catch (EduException eex)
            {
                result.ErrorMsg = eex.Message;
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "请假失败,请联系工作人员";
                if (us != null)
                {
                    NLogHelper.ErrorTxt($"用户请假OpenId:{us.OpenId}");
                }
                NLogHelper.ErrorTxt($"MyLeaveModel[OnPostCourseLeave]:{ex.Message}");
            }
            return(new JsonResult(result));
        }
        public IActionResult OnPostSubmitTrial(string courseCode, int Lesson, string date)
        {
            ResultNormal result = new ResultNormal();
            var          times  = StaticDataSrv.TrialTime;

            try
            {
                var us = base.GetUserSession(false);
                if (us != null)
                {
                    var cls = _CourseSrv.GetCourseInfoClass(courseCode);

                    var errorMsg = _CourseSrv.VerifyUserTrial(us.OpenId, (int)cls.CourseType, date, Lesson);
                    if (errorMsg == EduErrorMessage.ApplyTrial_OverSingleLimit)
                    {
                        result.ErrorMsg = "同类型课不能试听超过2次";
                    }
                    else if (errorMsg == EduErrorMessage.ApplyTrial_SameTypeExist)
                    {
                        result.ErrorMsg = "同时段已经有申请试听";
                    }
                    else
                    {
                        ETrialLog log = new ETrialLog
                        {
                            OpenId = us.OpenId,
                            //UserName = us.UserName,
                            TecCode        = cls.TecCode,
                            TecName        = cls.TecName,
                            CourseCode     = cls.CourseCode,
                            CourseName     = cls.CourseName,
                            CourseType     = (int)cls.CourseType,
                            ApplyDateTime  = DateTime.Now,
                            Lesson         = Lesson,
                            TrialDateTime  = DateTime.Parse(date),
                            TrialLogStatus = (int)TrialLogStatus.UserApply,
                        };
                        _CourseSrv.AddTrial(log);
                        _CourseSrv.SaveChanges();
                    }
                }
                else
                {
                    result.IntMsg   = -1;
                    result.ErrorMsg = "需要您重新登录!";
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "提交申请失败,请联系工作人员";
                NLogHelper.ErrorTxt($"ApplyTrialModel[OnPostSubmitTrial]:{ex.Message}");
            }
            return(new JsonResult(result));
        }
Example #17
0
        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));
        }
Example #18
0
        public IActionResult OnPostSubmit(List <string> lessonCodeList, bool useRightNow = false)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                var us = base.GetUserSession(false);
                if (us != null)
                {
                    var needRecharge = UserSession.NeedRecharge(us, CourseScheduleType.Standard);
                    if (needRecharge < 0)
                    {
                        string errorMsg = $"您的余额不足,请去充值";
                        result.ErrorMsg = errorMsg;
                        result.IntMsg   = -2;
                        return(new JsonResult(result));
                    }
                    List <EUserCourse> ucList = new List <EUserCourse>();
                    foreach (var lc in lessonCodeList)
                    {
                        EUserCourse uc = new EUserCourse
                        {
                            CourseScheduleType = CourseScheduleType.Standard,
                            CreateDateTime     = DateTime.Now,
                            LessonCode         = lc,
                            UseRightNow        = useRightNow,
                            UserOpenId         = us.OpenId
                        };
                        ucList.Add(uc);
                    }
                    _BusinessSrv.UserSelectNewCourses(us.OpenId, ucList, CourseScheduleType.Standard, useRightNow);

                    //更新Session是否跳过当天
                    us.CourseSkipToday = useRightNow;

                    SetUserSesion(us);
                }
                else
                {
                    result.IntMsg   = -1;
                    result.ErrorMsg = "请重新登陆";
                }
            }
            catch (EduException ex)
            {
                result.ErrorMsg = ex.Message;
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "提交数据错误!请联系管理员或稍后再试";
                NLogHelper.ErrorTxt($"标准班课程选择[OnPostSubmit]:{ex.Message}");
            }
            return(new JsonResult(result));
        }
Example #19
0
        /// <summary>
        /// 页面登陆按钮点击
        /// </summary>
        /// <returns></returns>
        public IActionResult OnPostUserLogin()
        {
            ResultNormal result      = new ResultNormal();
            UserSession  userSession = null;

            try
            {
                if (!EduConfig.IsTest)
                {
                    userSession = GetUserSession(false);
                    if (userSession == null)
                    {
                        result.ErrorMsg = "登陆失败,请联系客服";
                    }
                }
                else
                {
                    //oh6cV1dh0hjoGEizCoKH1KU70UwQ 童老师
                    //oh6cV1UUH2cg1p3--SPVnJdDpgbM 电子商务
                    //oh6cV1QhPLj6XPesheYUQ4XtuGTs jacky
                    var ui = _UserSrv.GetUserInfo("oh6cV1QhPLj6XPesheYUQ4XtuGTs");
                    WXLoginCallBack(ui);
                    userSession   = GetUserSession(false);
                    result.IntMsg = (int)ui.UserRole;
                }

                if (result.IsSuccess)
                {
                    if (userSession.UserRole == UserRole.Teacher)
                    {
                        NLogHelper.InfoTxt($"User OpenId:{userSession.OpenId}");

                        var tec = _TecSrv.GetByOpenId(userSession.OpenId);
                        NLogHelper.InfoTxt($"TecCode:{tec.Code}");
                        if (tec != null)
                        {
                            userSession.TecCode = tec.Code;
                            SetUserSesion(userSession);
                            result.IntMsg = (int)UserRole.Teacher;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "登陆失败";

                NLogHelper.ErrorTxt(ex.Message);
            }
            return(new JsonResult(result));
        }
        public ResultNormal updateTempFile(submitUpdateBook submitUpdateBook)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _baiduPanService.updateTempFile(submitUpdateBook);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal deleteRes(DelComment delComment)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _commentServices.deleteComment_Res(delComment.commentId);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal SaveSystemNotification(EMsgContent_System newContent)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _adminServices.SaveSystemNotification(newContent);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal UploadHeander([FromForm] IFormFile file)
        {
            ResultNormal result   = new ResultNormal();
            string       filePath = null;

            try
            {
                if (file == null)
                {
                    result.ErrorMsg = "没有上传图片";
                    return(result);
                }
                var userId = this.getUserId();
                var fn     = userId + "_" + file.FileName;

                filePath = _webHostEnvironment.ContentRootPath + _configuration["BookSiteConfig:uploadTemp"] + fn;

                //写入到磁盘
                using (FileStream fs = System.IO.File.Create(filePath))
                {
                    file.CopyTo(fs); //将上传的文件文件流,复制到fs中
                    fs.Flush();      //清空文件流
                }
                var ossKey       = OssKeyManager.UserAvatorKey(fn);
                var uploadResult = _resourceServices.uploadToOss(filePath, ossKey);
                if (uploadResult.IsSuccess)
                {
                    var url = _configuration["ossConfig:userHeaderRoot"] + fn;
                    url += $"?{ToolUtil.GetRnd(5, true, false, false, false)}";
                    _userServices.updateHeader(userId, url);
                    result.Message = url;
                }
                else
                {
                    result.IsSuccess = false;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            finally
            {
                if (filePath != null && System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }
            }
            return(result);
        }
        public ResultNormal saveToTempDb(submitSaveBooks submitData)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _baiduPanService.SaveToTempDb(submitData);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
Example #25
0
        public ResultNormal DeleteResource(DeleteRes deleteRes)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                result = _resourceServices.deleteResource(deleteRes);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
        public ResultNormal UploadInfo(VueSubmitUserInfo submitData)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                submitData.userId = this.getUserId();
                _userServices.updateInfo(submitData);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }
            return(result);
        }
Example #27
0
        public IActionResult OnPostDelete(string delCode)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _CourseSrv.Delete(delCode);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }
Example #28
0
        public IActionResult OnPostUserLogOut()
        {
            ResultNormal result = new ResultNormal();

            try
            {
                ClearUserSession();
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }
Example #29
0
        public IActionResult OnPostSaveSkillLevel(ETecSkill sk)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _TecSrv.UpdateTecSkillLevel(sk);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }
        public IActionResult OnPostConfirmTrialStatus(long Id)
        {
            ResultNormal result = new ResultNormal();

            try
            {
                _CourseSrv.UpdateTrialStatus(Id, TrialLogStatus.TecConfirm);
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            return(new JsonResult(result));
        }