【维普】软件工程-基于Vue+Springboot的线上学习平台的设计与开发_第1页
【维普】软件工程-基于Vue+Springboot的线上学习平台的设计与开发_第2页
【维普】软件工程-基于Vue+Springboot的线上学习平台的设计与开发_第3页
【维普】软件工程-基于Vue+Springboot的线上学习平台的设计与开发_第4页
【维普】软件工程-基于Vue+Springboot的线上学习平台的设计与开发_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录PAGEPAGE17基于Vue+Springboot的线上学习平目录TOC\o"1-2"\h\u3901目录 I2613摘要 III2613Abstract IV148471绪论 1115811.1课题研究背景及意义 1239691.2课题研究现状 1144131.3课题研究内容及目标 215811.4介绍论文结构安排 2242132使用技术介绍 3154172.1Vue框架介绍 3102152.2JAVA技术介绍 3275192.3数据库技术 439712.4springboot技术介绍 438402.5本章小结 5261443系统分析 6223773.1功能需求分析 6310373.2系统UML用例分析 6260173.3可行性分析 8209973.4性能需求可行性 9170503.5本章小结 9123624总体设计 10181444.1系统概述 10190414.2系统功能架构 10305924.3系统流程分析 11248144.4数据库的概念结构设计 16192544.5数据库的物理设计 17281164.6本章小结 2287145系统实现 23122655.1用户模块实现 23191315.1.2购买课程 2484855.2管理员模块实现 2732495.3讲师模块实现 3049615.4本章小结 3387786系统的测试与维护 34204416.1测试介绍 34119616.2测试目的 34143646.3测试用例 34214716.4测试总结 3769177总结与展望 38285967.1总结 38181627.2展望 381603参考文献 3927232致谢 4017481附录A 417810附录B 4210220附录C 445020附录D 462099附录E 4721797附录F 49摘要PAGEPAGE17基于Vue+SpringBoot的线上学习平台的设计与开发摘要本文首先对在线学习平台的研究背景和意义进行了介绍。并对开发此系统所用到的技术如:JavaScript、Vue前端框架、springboot框架、MySQL数据库等技术的介绍。包括这些技术的主要功能和和特色。并介绍了本次基于Vue+Springboot开发的线上学习平台功能模块的实现,系统的完成包括对管理员和用户的功能模块设计,管理员能够对系统用户、课程、课程、讲师等内容进行管理,用户能够在线查看名师列表、课程详情,能够在线学,能够修改个人信息。在管理员上传课程视频资源后,用户可在前台页面观看学习。在开发完成后,进行了详细的测试,测试结果证实基于Vue+Springboot的线上学习平台具备了安全性、正确性、实用性、易操作性等一系列优良特点,能够很好的完成信息工程学院信息展示和信息管理的完整过程,能够让用户拥有良好的使用体验。因此,本次开发的基于Vue+Springboot的线上学习平台具有实际实用意义,是一款良好的应用型计算机系统。关键字:Vue;MySQL;Springboot;线上学习平台AbstractPAGEPAGE17DesignandDevelopmentofanOnlineLearningPlatformBasedonVue+SpringBootAbstractThisarticlefirstintroducestheresearchbackgroundandsignificanceofonlinelearningplatforms.Andanintroductiontothetechnologiesusedindevelopingthissystem,suchasJavaScript,Vuefront-endframework,springbootframework,MySQLdatabase,etc.Includingthemainfunctionsandfeaturesofthesetechnologies.AndintroducedtheimplementationoftheonlinelearningplatformfunctionalmoduledevelopedbasedonVue+Springboot.Thecompletionofthesystemincludesthedesignoffunctionalmodulesforadministratorsandusers.Administratorscanmanagesystemusers,courses,courses,lecturers,andothercontent.Userscanviewthelistoffamousteachersandcoursedetailsonline,learnonline,andmodifypersonalinformation.Aftertheadministratoruploadscoursevideoresources,userscanwatchandlearnonthefrontpage.Afterthecompletionofthedevelopment,adetailedtestwascarriedout,andthetestresultsconfirmedthattheonlinelearningplatformbasedonVue+Springboothasaseriesofexcellentfeaturessuchassecurity,correctness,practicality,andeaseofoperation,whichcanwellcompletetheentireprocessofinformationdisplayandinformationmanagementoftheinformationengineeringCollege,andenableuserstohaveagooduseexperience.Therefore,theonlinelearningplatformdevelopedbasedonVue+Springboothaspracticalsignificanceandisagoodappliedcomputersystem.Keyword:Vue;MySQL;Springboot;Onlinelearningplatfor绪论PAGEPAGE171绪论1.1课题研究背景及意义随着信息时代的进步,信息科技化产物不断更新换代,造福了人类社会,让人们的生活越来越便利,享受到越来越多的服务。人们对于软件产品有了依赖性,为了让人们的生活越来越美好,应该加快软件服务进程[1],致力于创造出帮助人们解决生活中、工作上各种烦恼的软件。基于这样条件下大趋势的背景现状,各行各业纷纷提出了既能够满足自身工作需求又能满足客户需求的软件系统,比如宠物店管理系统、家用电器销售系统[2]、超市管理系统、企业管理系统、酒店管理系统等等,这些软件系统在规范自身工作流程,减少相关工作的前提下,有很好的满足了客户需求,吸引了大批的客户,由此可见软件应用的价值。因此为了能够帮助加强管理线上学习过程,减轻管理人员的工作,规范线上学习的流程,并为客户提供便利的线上学习方式,让学生享受到更好的服务,开发了本次线上学习平台。通过线上学习平台,让学生查看讲师信息以及课程信息更为简单,管理员管理信息更为轻松。因此,本次线上学习平台的开发,具有深刻的研究意义。1.2课题研究现状软件的应用与一个国家的发展息息相关,因此在软件开发技术的研究上受到国内外的关注。软件不仅在办公领域上为人们的工作提供极大的帮助,让人们以更短的时间完成相同的工作,在生活中能够让人们实现在线交流,在线购物,在线订票等操作,不仅提高人们的幸福感,还能够拉动经济增长。因此,各个国家都十分注重软件开发技术的研究。随着信息科技的发展,线上教学进入了我们的视野。作为一种全新的教学模式,它正受到越来越多的关注。一、诞生阶段(1990年代)最早的线上教学可以追溯到上世纪90年代初。那时,全球范围内的大学和高校开始测试使用各种让算机软件,将教育资源上传到网上。所谓的“远程教学”开始受到关注,然而,这种模式还不够成熟。这只是线上学习的简单实现。二、发展阶段(2000年代)进入21世纪之后,网络技术发展迅速,带来了大量的在线课程和培训平台。2002年,国外著名的在线教育平台“Coursera”应运而生,它为用户提供了高质量的在线课程,可谓是线上教学的里程碑。此后,越来越多的在线教育平台纷纷涌现,如“优达学城”、“Udemy”等。三、拓展阶段(2010年代)进入2010年代,人工智能和大数据技术的发展,为在线教育提供了更好的支持。OnlineTutoring和MOOCs(大规模开放在线课程)逐渐兴起,并且受到了广泛的认可。2018年,教育部发布了GuidetoQualityOnlineEducation,对线上教学进行了规范和指导。四、变革阶段(2020年代)进入2020年代,新冠疫情带来了巨大的冲击,许多学生无法前往学校,于是线上教学成为了他们的重要选择。远程课程、在线考试、云计算教学平台等应运而生。随着时间的推移,线上教学也在不断升级,许多新技术也被应用于在线教育[3],如VR、AR等。中国对于科技的发展非常重视,虽然对科技的研究起步较迟,时间较短,但发展速度很快。到目前为止,市场上已经存在很多类型的学习网站。但软件技术应该得到不断的发展,不断地更新,才能够更好的满足人们不断增长的需求,提供更好的服务。综上所述,线上教学已经成为一种越来越流行的教学模式。虽然它也有一些缺点和局限性,但是随着技术的不断变革和升级,线上教学将会变得更加完善。相信在线教育会越来越地成为未来教育的一部分。1.3课题研究内容及目标首先线上学习平台开发的任务是对开发的研究背景、意义以及开发现状进行介绍。其次,从用户访问者和管理员使用者的角度出发,对线上学习平台的实际使用功能和系统初步开发时的设想进行分析设计。同时也为了设计出更符合用户的程序,通过对系统主要功能分析后,需要对实现系统开发的技术进行选择,使用现在行业流行的B/S架构可以对后期的更新和功能拓展带来方便。前台采用了VUE框架,后台采用的是Springboot框架。编程语言选择使用JAVA开发语言,线上学习平台后台数据库采用MySQL进行对数据存储。最后,系统完成后需要逐步对系统中的功能进行测试[4],才可以保证该系统在以后的使用中能够达到最初开发线上学习平台的使用构想。目标是实现线上学习平台的开发,能够完成其功能模块的开发。让学生能够在此平台上学洗。1.4介绍论文结构安排第一章:绪论,简述线上学习平台在什么背景下完成的,通过系统的开发,创造的价值和意义,分析线上学习平台在国内和国外的研究情况。第二章:选取其中几个所采用的关键性的开发技术,分析这些技术的优缺点,从而说明为什么选用这些技术。第三章:系统分析,经过本章节的分析过程,可以确定线上学习平台的开发时可以实现的,并介绍了线上学习平台开发中所需要实现的功能设计,以及系统后期运行时的环境需求。第四章:系统设计,本章涵盖了大量的图表,详细叙述了系统流程以及线上学习平台的整个功能结构、时序流程数据库实体联系和表格结构。第五章:系统实现,在此部分,主要描绘了完整的线上学习平台的部分功能模块的实现,以图片结合文字的形式进行了介绍。第六章:系统测试,分别对系统各个功能进行测试,选取其中几个例子,介绍测试及测试结果,证明系统功能完善,可实际运用。使用技术介绍2使用技术介绍2.1Vue框架介绍线上学习平台的开发,在前台部分采用了Vue框架技术,Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue.js是用于构建交互式的Web界面的库。并且它提供了

\t"/weixin_71170361/article/details/_blank"MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。从技术上讲,Vue.js集中在MVVM模式上的视图模型层,并通过双向数据绑定连接视图和模型。而且在实际的操作过程中实际的DOM操作和输出格式被抽象出来成指令和过滤器。相比其它的MVVM框架,Vue.js更容易上手。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种\t"/v2/guide/_blank"支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。Vue框架的优点是1.轻量级的数据框架、2.\t"/weixin_71170361/article/details/_blank"双向数据绑定、3.提供了指令、4.组件化开发、5.客户端路由、6.状态管理:同cookie、session、本地存储类似。所以在前端的开发上,选择Vue框架。2.2JAVA技术介绍线上学习平台在开发语言的选择上,优先选用标准化程度高的开发语言,并且要求该开发语言具备可学性高、具有高平安性技能且能够应用在目前大部分主流操作系统的特点REF_Ref29044\r\h。因此,线上学习平台的开发,选择了满足以上所有要求的JAVA语言。JAVA是目前使用最为广泛的网络编程语言之一。它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。而其中面向对象基于对象的编程更符合人的思维模式,使人们更容易编写程序。在实际生活中,我们每时每刻都与对象在打交道。我们用的钢笔,骑的自行车,乘的公共汽车等。而我们经常见到的卡车,公共汽车,轿车等都会涉及以下几个重要的物理量可乘载的人数,运行速度,发动机的功率,耗油量,自重,轮子数目等。另外,还有几个重要的功能加速功能,减速功能,刹车,转弯功能等。我们也可以把这些功能称作是他们具有的方法,而物理量是它们的状态描述。仅仅用物理量或功能不能很好的描述它们。在现头生活中,我们用这些共有的属性和功能给出一个概念机动车类。一个具体的轿车就是机动车类的一个实例对象.Java语言与其它面向对象语言一样,引入了类的概念,类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。并且其中多线程也是Java的特点之一,就是内置对多线程的支持。多线程允许同时完成多个任务。实际上多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机的处理器在同一时刻只能执行一个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好象多个任务在同时执行。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。此外JAVA还有许多优点,JAVA发表第一个版本后,其应用展现出更大的实力,因此得到了不断完善和扩展,并成为流行的编程语言。JAVA具有强大的功能和易用性两大功能,将面向对象理论广泛应用于实践。在这个物联网的时代,JAVA以一种看不见的方式存在于每一个角落,无论是人们日常使用的手机还是工作常见电脑,无论是游戏娱乐产品还是家居智能产品,都充斥着JAVA的身影,彰显着JAVA的价值。JAVA简单、面向对象、分散、安全和跨平台。还能选择JAVA作为我们学位的设计和开发技术,因为我们可以创建许多广泛使用的程序,例如桌面应用程序、Web应用程序、分布式系统和嵌入式系统。所以在后端开发上,选择了JAVA编程语言。

2.3数据库技术数据库是每个系统的大心脏,所有在系统开发的初期,首先就是对数据库的选型,同样在本次系统上使用的关系型数据库首选MySQL。MySQL数据库在绝大多数系统中都属于重中之重的一部分[5],它存储了整个系统所需要的所有数据。系统运行的流畅与否都与数据库息息相关,在众多版本当中MySQL6.0以上的版本做了很多优化,包括数据库对字段类型、存储的类型、索引类型都做了很大的调整,以至于现在在市面上广大企业的欢迎。之后便进行表的设计,在表设计的过程中也是至关重要的一个步骤,要把每个字段的大小、类型都要考虑周到,以便后期进行数据库的维护,表与表之间的关系要明确,必须使用唯一键进行关联,在数据量大的表必要的时候需要创建索引,通常索引的创建在很大程度上能够提升系统检索效率同时提高用户的体验感。基于MySQL的各种优点,所以在此在线学习平台的开发上,数据库选择了MySQL[6]。2.4springboot技术介绍本次线上学习平台采用了SpringBoot框架,利用它的“约定由于配置”,提升Java开发的效率,解决Java配置繁多的问题。SpringBoot框架有许多特点,例如:1、可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;2、使用嵌入式的Servlet容器(例Tomcat、Jetty等),应用无需打成WAR包;3、提供starter简化Maven配置;4、提供了大量的自动配置,可尽可能自动配置Spring容器;5、自带应用监控;6、无代码生成和xml配置。通过SpringBoot的使用,益于缩短项目开发的周期,它能够简化新Spring应用过程,提供一些非常使用的组件包,开箱即用,让编程变得简单,能够轻松监控服务各项状态,无需XML配置,简化开发流程。对本次线上学习平台的开发具有提升开发速度的作用。所以优先选择了SpringBoot框架。利用它的“约定由于配置”,提升Java开发的效率,解决Java配置繁多的问题。

2.5本章小结在本章节中总体介绍了开发本系统所需要的技术。在前端技术的选择中,我选择了JavaScript作为编程语言,并且在此之上选择了Vue框架作为前端的技术支撑。Vue框架的优点是1.轻量级的数据框架、2.\t"/weixin_71170361/article/details/_blank"双向数据绑定、3.提供了指令、4.组件化开发、5.客户端路由、6.状态管理:同cookie、session、本地存储类似。所以在前端的开发上,选择Vue框架。在后端的编程语言选择上选择了JAVA作为本线上学习平台的开发编程语言。JAVA是目前使用最为广泛的网络编程语言之一[7]。它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。而其中面向对象基于对象的编程更符合人的思维模式,使人们更容易编写程序。后端框架选择了springboot,利用它的“约定由于配置”,提升Java开发的效率,解决Java配置繁多的问题。在数据库的选择上,挑选了MySQL数据库。MySQL数据库在绝大多数系统中都属于重中之重的一部分,它存储了整个系统所需要的所有数据。系统运行的流畅与否都与数据库息息相关。系统分析3系统分析3.1功能需求分析线上学习平台分为后台管理和前端,具体功能需求如下:前端业务前端业务,学生用户注册、登录或者微信扫描二维码登录进入前台系统,能够进行对想要学习课程的搜索,浏览,学习。对学习的课程进行评价,评论,收藏等操作。其中课程资源分为免费和付费学习,对需要收费的课程进行学习,需要先对该课程进行购买操作之后才能进行学习。如对某一老师的课程感兴趣可根据讲师进行搜索从而得到该讲师教授的所有课程。后端业务后端业务主要包括用户管理,课程管理,科目管理,讲师管理,轮播图管理,订单管理,学习记录管理,用户权限管理等功能。其中用户管理可对违规用户进行禁用,课程管理可对所有课程进行管理,添加课程,添加课程资源。科目管理,可添加讲师所讲述的大体科目类别,细分为一级科目,二级科目。讲师管理可对所有讲师进行管理。轮播图管理操作可对轮播图进行禁用或启用,订单管理可查询用户已支付和未支付订单。学习记录可根据学生用户查看其学习记录,用户权限管理,可对所有用户的权限进行管理。3.2系统UML用例分析线上学习平台需要满足用户需求,根据用户需求的内容,整理出用户功能,将这些功能细化的同时又使其互不影响,接着用绘图软件以图片的形式绘制出来,就可以得到系统UML用例图。UML用例图的呈现方式非常直白,语句描述用户需求会比较陈杂,需要用比较长的时间才能理清其中的关系。而UML用例图却具有让人一眼看懂的效果。以下是对本线上学习平台进行UML建模分析。本线上学习平台系统用户UML用例图如图3.1所示。图3.1用户用例图管理员UML用例图如图3.2所示。图3.2管理员UML用例图图3.3教师用户UML用例图3.3可行性分析本次线上学习平台的开发,需要保证开发过程的顺利。进行可行性分析,将一切可能影响线上学习平台开发的因素陈列出来,分析问题是否可以解决。经过这样一个流程,证明系统具有可行性,同时可以为系统的开发排除一些隐性的问题,帮助开发的顺利进行。3.3.1技术可行性本系统的主要开发技术有:JAVA语言和Mysql数据库。在开发语言选用时,PHP和JAVA都极具吸引力。PHP应用能力强,涉足范围广,而JAVA比较具有限制性。但JAVA在开发Web应用方面,比PHP更具优势。因此选择JAVA。在大学课程中,对JAVA也比较熟练,所以采用JAVA开发是没有问题的。线上学习平台需要解决大多数此类系统存在的信息检索慢,操作卡顿等现象,Mysql数据库能够很好的解决。因此,在开发技术上,本系统的选择是可行的。3.3.2管理可行性为了实现线上学习更好的进行,需要具备管理可行性。系统设置了管理员功能模块,采用Mysql数据库储存信息,管理员维护系统信息时,不会对其他信息造成影响。在系统后期也可通过编程直接扩展其他功能[8],以达到系统以更完善的服务面向客户。因此,满足管理可行性。3.3.3经济可行性在开发系统时,比较常见的一个问题就是经济透支,而难以继续维持开发。遇到这样的问题将会造成很大的损失。线上学习平台的开发,经济需求较小,选择的开发技术都是开源的,而系统运行也只需要一台windows电脑。因此,满足经济可行性。3.3.4操作可行性线上学习平台的开发目的是满足线上学习,是一个主要为用户提高线上学习效率的产物,需要实现用户通过系统可快速操作,满足用户对线上学习信息的快速检索需求,系统在界面设计上要符合用户操作逻辑,尽量简洁美观,界面功能操作不明显时,应该设计一些简单的提示,使用相应按键能够迅速响应操作。同时,需要采取措施,使系统响应更快。本次开发均可满足以上需求,在操作上是可行的。3.4性能需求可行性线上学习平台非功能需求如下:(1)安全性:评判一个系统的性能好坏,首先需要对系统安全性进行判断,人们也会根据系统安全性选择使不使用这个系统。安全性不高的系统,容易发生信息泄露的现象,而线上学习平台需要确保用户信息的保密性。同时,安全性不高的系统容易被病毒入侵,严重时会导致使用设备受到威胁,因此,线上学习平台尤其需要注重安全性。开发出一款安全性高的系统。(2)美观性:当用户开始操作系统时,首先注意到的就是系统的界面设计,系统具有一个美观的界面不仅使用户心情更好,还能帮助用户快速适应系统,迅速实现相关操作。(3)响应速度:用户在使用系统时,最能影响用户对系统的评价的地方就是系统的响应速度。当用户进行功能操作后,系统迟迟没有反应,或者直接出现卡顿的现象,这是十分影响用户心情的。系统响应速度决定着用户是否会摒弃这个系统,因此,线上学习平台对响应速度需求较高。(4)可扩展性:当系统投入使用后,往往会发现有些功能没有满足用户需求,或者一些功能的缺失。这时,就要求系统具备可扩展性,帮助系统维护人员对系统功能进行扩展,并且这个过程进行的同时,不会影响到系统其他完善的功能。3.5本章小结在本章节中,对本线上学习平台的开发进行了系统分析。首先进行了系统的功能需求分析,随后进行了系统UML用例分析。再然后进行了可行性分析,可行性分析即为技术可行性分析,管理可行性分析,经济可行性分析,操作可行性分析,性能需求可行性分析。明确了系统的需求和目标。通过对系统功能的分析,可以确定每个模块的职责和功能,以便进行系统设计和实现。总体设计PAGEPAGE174总体设计4.1系统概述本次开发的线上学习平台要求支持用户快速浏览信息,以及所有信息都能保存,支持管理。因此,在开发上采用了支持上述需求的B/S结构,这也是一个常规的开发结构,是开发常用技术之一。在这种结构中,用户访问层主要向系统用户服务,它是用户端与系统交互的接口,用以展示用户所浏览信息。Web服务层主要向数据库信息服务[9],可以实现数据库信息的管理需求,同时,也是实现事务控制和处理由访问层发出请求的服务层。数据库访问层主要面向数据的接收、储存,通过数据库表储存信息,可以实现数据的操作。图4.1系统工作原理图4.2系统功能架构系统功架构的作用是将系统各部分功能,以一种直白明了的层次图的方式清晰的描述出来,形成一个具有各个模块功能及其分支的系统工作原理图,帮助开发明确方向,以完成系统各个用户功能需求的完整性。本线上学习平台具有用户模块和后台管理功能模块,根据功能模块的需求,做出了以下线上学习平台的功能组织架构如图所示:图4.2系统工作原理图4.3系统流程分析4.3.1登录流程在登录流程中,任意用户都需要输入账号密码,在提交信息登录时,提交信息为空或错误,就会直接返回登录页面。因此,登录流程仅在正确信息输入时成功登录,登录系统的用户会进入个人账号的主界面,具有相应的功能权限。登录流程如图4.3所示。图4.3登录流程4.3.2添加信息流程线上学习平台是一个可以添加相应信息的系统,添加信息时,仅对信息的正误有所要求,信息正确即添加成功,与此相反则添加失败。添加信息流程如图4.4所示。图4.4数据删除流程4.3.3修改信息流程线上学习平台是一个可以修改相应信息的系统,修改信息时,仅对信息的正误有所要求,信息正确即修改成功,与此相反则修改失败。修改信息流程如图4.5所示。图4.5修改信息流程4.3.4删除信息流程线上学习平台是一个可以删除相应信息的系统,删除信息时,仅需要用户确认删除,用户可以选择删除或取消删除信息,以此避免信息的误删,从而给用户带来困扰。删除信息流程如图4.6所示。图4.6删除信息流程4.3.5添加课程流程线上学习平台是一个可以在线学习的平台,所以可以在此平台上添加课程。添加课程流程如图4.7所示。图4.7添加课程流程4.3.6上传视频流程在本线上学习平台中,管理员可在课程添加小节时上传或删除视频。上传或删除视频资源流程,如图4.8所示。图4.8上传或删除视频流程4.3.7购买课程流程用户在课程详情界面,用户可购买平台中收费的课程资源,其功能模块流程图如图4.9所示。图4.9购买课程流程4.3.8课程管理流程在本线上学习平台中,管理员可在后台进行课程管理,可在后台系统中添加课程,上传课程资源,以供用户学习。添加课程流程如图4.10所示。图4.10课程管理流程4.4数据库的概念结构设计线上学习平台的信息处理过程,是依靠数据库来完成的。数据库将线上学习过程中产生的所有信息,集中储存起来。同时,这种储存方式又是条理清晰的[10],用户根据相关字句,就能够查找到相应的数据表,这样的方式对加快系统的相应速度十分有帮助。在管理员管理信息时,数据库的存在,可实现管理员对信息更好的管理。因此,数据库是系统开发重中之重,需要开发者在开发系统时,充分发挥数据库优势,进行更好的数据库设计。系统总体E-R图如下图所示。图4.7系统总体E-R模型4.5数据库的物理设计该次数据库设计主要是对线上学习平台系统中使用的数据和数据结构进行设计,为了有利于数据维护和存储,所以设计了数据表之间没有联系的数据库,从系统分析中解析出数据库的字段,并将相应的信息数据写入到相应的表中形成数据表。在本线上学习平台系统中,主要采用数据库表实现对相关信息的管理和存储,主要表结构有:表4.1auth_user表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否0后台管理用户id是usernamevarchar(20)varchar20否用户名否passwordvarchar(100)varchar100否密码否is_enabletinyint(1)tinyint否1是否启用(1:启用,0:禁止)否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.2cms_banner表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否0主键id是titlevarchar(20)varchar20是标题否image_urlvarchar(500)varchar500否图片地址否link_urlvarchar(500)varchar500是链接地址否sortint(10)unsignedint否0排序否is_enabletinyint(3)unsignedtinyint否1是否启用1(true)已启用,0(false)已禁用否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.3edu_chapter表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否章节ID是course_idbigint(20)bigint否课程ID否titlevarchar(50)varchar50否章节名称否sortint(10)unsignedint否0显示排序否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.4edu_comment表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否评论id是course_idbigint(20)bigint否课程id否member_idbigint(20)bigint否会员id否nicknamevarchar(50)varchar50是会员昵称否avatarvarchar(255)varchar255是会员头像否contentvarchar(500)varchar500是评论内容否startinyint(4)tinyint是5评论星级否is_deletedtinyint(3)unsignedtinyint否0逻辑删除1(true)已删除,0(false)未删除否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.5edu_course表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否课程ID是titlevarchar(50)varchar50否课程标题否teacher_idbigint(20)bigint否课程讲师ID否covervarchar(255)varchar255否课程封面图片路径否descriptiontexttext65535否课程描述否subject_idchar(19)char19否具体学科下的课程类别否type_idchar(19)char19否课程专业ID否pricedecimal(10,2)unsigneddecimal否0.00课程销售价格,设置为0则可免费观看否lesson_numint(10)unsignedint否0总课时否sale_countbigint(20)unsignedbigint否0销售数量否view_countbigint(20)unsignedbigint否0浏览数量否versionbigint(20)unsignedbigint否1乐观锁否statustinyint(4)tinyint否0课程状态0未发布1已发布否is_deletedtinyint(4)tinyint是逻辑删除1(true)已删除,0(false)未删除否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.6edu_subject表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否课程类别ID是pidbigint(20)bigint否0父课程ID否titlevarchar(10)varchar10否类别名称否sortint(10)unsignedint否0排序字段否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.7edu_teacher表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否讲师ID是namevarchar(20)varchar20否讲师姓名否careervarchar(500)varchar500是讲师资历,一句话说明讲师否introvarchar(500)varchar500否讲师简介否levelint(10)unsignedint否头衔1高级讲师2首席讲师否avatarvarchar(999)varchar999是讲师头像否sortint(10)unsignedint否0排序否is_deletedtinyint(3)unsignedtinyint否0逻辑删除1(true)已删除,0(false)未删除否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.8pay_order表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否主键id是order_否bigint(20)bigint否订单号否course_idbigint(20)bigint否课程id否member_idbigint(20)bigint否会员id否course_titlevarchar(100)varchar100是课程名称否course_covervarchar(255)varchar255是课程封面否teacher_namevarchar(20)varchar20是讲师名称否nicknamevarchar(50)varchar50是会员昵称否mobilevarchar(11)varchar11是会员手机否total_feedecimal(10,2)decimal是0.01订单金额(分)否pay_typetinyint(4)tinyint是支付类型(1:微信2:支付宝)否statustinyint(4)tinyint是订单状态(0:未支付1:已支付)否is_deletedtinyint(3)unsignedtinyint否0逻辑删除1(true)已删除,0(false)未删除否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否表4.9student_member表字段名称数据类型字段类型长度是否可空默认值备注是否主键idbigint(20)bigint否会员id是openidvarchar(128)varchar128是微信openid否mobilevarchar(11)varchar11是手机号否passwordvarchar(255)varchar255是密码否nicknamevarchar(50)varchar50是昵称否sextinyint(3)unsignedtinyint是性别1女,2男否agetinyint(3)unsignedtinyint是年龄否avatarvarchar(255)varchar255是/Element/00/88/08/84/72f298b9_E880884_d0f63115.png用户头像否signvarchar(100)varchar100是用户签名否is_enabletinyint(1)tinyint否1是否启用1(true)已启用,0(false)已禁用否is_deletedtinyint(1)tinyint否0逻辑删除1(true)已删除,0(false)未删除否create_timedatetimedatetime否创建时间否update_timedatetimedatetime否更新时间否4.6本章小结在本章节中,对系统进行了总体设计,分为:系统概述,系统功能架构,系统流程分析,数据库的概念结构设计,数据库的物理设计。对于线上学习平台的基础功能模块进行流程分析。明确开发过程中的需求及目标。分析三种种用户需要的功能,以及相对应的权限接口。根据这些功能和权限划分出两个子模块。运用SpringBoot、Vue.js等相关技术,本着系统安全、可维护性强、以及代码健壮性的理念予以实现。系统先进行子模块设计,最后将所有子模块合成,最终完成了线上学习平台的全部实现。系统实现5系统实现5.1用户模块实现5.1.1学习课程用户可以通过浏览器进入系统,在系统首页界面可以浏览系统内各种系统的信息,可以选择具体查看详情,如图5.1所示。进入课程页面后具体界面如图5.2所示。学习课程的流程图如图5.3所示。图5.1首页图5.2课程页面图5.3学习课程流程图在本线上学习平台中,学习课程即为观看讲师上传的视频资源,其核心代码如下:获取视频:根据阿里云配置的密钥:ACCESS_KEY_ID,ACCESS_KEY_SECRET,与阿里云进行链接,根据视频id获取视频。View视窗发送(get)请求至VodUserController层调用getPlayAuth接口至VodServiceImpl层,通过ACCESS_KEY_ID,ACCESS_KEY_SECRET与阿里云进行连接,得到视频播放凭证。具体代码实现详见附录A。5.1.2购买课程用户在课程详情界面,用户可购买平台中收费的课程资源。如图5.4,图5.5所示。其功能模块流程图如图5.6所示。图5.4课程详情界面图5.5课程购买界面图5.6课程购买流程图在本线上学习平台中,购买课程的核心代码如下:先根据课程信息和用户信息生产订单,再根据订单id生产微信支付二维码进行支付购买。前端view视窗发送(post)请求生成订单至PayOrderUserController层调用generateOrder接口至PayOrderServiceImpl层通过courseInfo获取课程信息,memberId获取用户信息,据此创建order对象创建订单。再根据订单id生成支付二维码进行支付购买。具体代码实现详见附录B。5.2管理员模块实现5.2.1课程管理在本线上学习平台中,管理员可在后台进行课程管理如图5.7所示,可在后台系统中添加课程,上传课程资源,以供用户学习,如图5.8所示。添加课程流程如图5.9所示。图5.7课程管理界面图5.8添加课程界面图5.9添加课程流程图在本线上学习平台中,添加课程的核心代码为:先获取所有课程信息,进行课程管理页面的展示,然后可进行课程添加等一系列操作。前端view视窗发送(get)请求至CourseAdminController层调用getAllCourse接口至CourseServiceImpl层获取所有课程信息。再对课程管理进行课程添加。点击添加课程,前端view视窗发送(post)请求至CourseAdminController层调用addCourse接口至CourseServiceImpl层添加课程基本信息,据此生成课程id。最后所有流程走完时进行发布课程操作,前端view视窗发送(post)请求至CourseAdminController层调用publishCourse接口至CourseServiceImpl层,根据课程id发布课程。具体代码实现详见附录C。5.2.3用户管理管理员能够在后台用户管理中管理用户,因用户发出不当言论或有其他违规行为时,可禁用该用户。如图5.10所示。用户管理流程如图5.11所示。图5.10用户管理图5.11用户管理流程图在本线上学习平台中,用户管理实现的核心代码:先获取所有用户信息,进行用户管理页面的展示,随后可以进行禁用或启用用户的操作。前端view视窗发送(post)请求至MemberAdminController层调用pageQueryMember接口至MemberServiceImpl层根据openId获取所有用户信息。如要禁用某一个违规用户即前端view视窗发送(post)请求至MemberAdminController层调用enableOrDisableMember接口至MemberServiceImpl层进行禁用的实际实现。具体代码实现详见附录D。5.3讲师模块实现5.3.1上传视频在本线上学习平台中,管理员可在课程添加小节时(如图5.12所示)上传或删除视频如图5.13所示。上传或删除视频资源流程,如图5.14所示。图5.12课程管理添加小节界面图5.13上传或删除视频图5.14上传或删除视频流程图在本线上学习平台中,上传或删除视频实现的核心代码为:在添加课程界面进行添加小节时可上传课程的视频资源。前端view视窗发送请求(post)至VodAdminController层调用addVideo接口至VodServiceImpl层上传视频至阿里云平台。实现上传视频的具体实现。具体代码实现详见附录E。5.3.2讲师管理在本线上学习平台中讲师可以在后台添加讲师信息如图5.15所示,可以上传头像如图5.16所示,添加讲师信息及上传头像流程如图5.17所示。图5.15添加讲师信息图5.16上传头像图5.17添加讲师信息上传头像流程图在本线上学习平台中,添加讲师信息和上传头像核心代码:先获取所有讲师信息,对讲师管理页面进行展示。随后可进行添加讲师操作。前端view视窗发送请求(get)请求至TeacherAdminController层调用getAllTeacher接口至TeacherServiceImpl层获取所有讲师信息。随后进行讲师添加,前端view视窗发送请求(post)至TeacherAdminControll层调用addTeacher接口至TeacherServiceImpl层进行讲师的添加在此阶段生成讲师id,然后继续发送(post)请求调用updateTeacher接口实现讲师信息的更新,也可根据讲师id对讲师进行删除。具体代码实现详见附录F。5.4本章小结在本章节中,对系统的具体实现进行了介绍。将本线上学习平台分为三个模块,分别为用户模块的实现,管理员模块的实现,讲师模块的实现。在用户模块中着重介绍了学生用户进行学习课程和购买课程功能模块的具体实现,在管理员模块中着重介绍了课程管理和用户管理功能模块的具体实现,在讲师模块中着重介绍了上传视频和讲师管理功能模块的具体实现。本着系统安全、可维护性强、以及代码健壮性的理念予以实现。系统先进行子模块设计,最后将所有子模块合成,最终完成了线上学习平台系统的全部实现。系统的测试与维护6系统的测试与维护6.1测试介绍测试是指将系统的单一功能或多个功能运行起来,查看这些功能是否运行成功,是否发生错误。单个功能的运行需要实现该功能的预期需求,多个功能的运行不仅需要符合预期功能需求,还需要检测这些功能是否独立[11],一个功能的运行十分影响另一个功能的运行效果。进行测试检查出来的错误,需要得到及时的修改,直到不发生错误为止。对系统进行测试,可使系统得到进一步的完善,加强系统的实用性。6.2测试目的系统测试的目的:找出程序存在的BUG,修复BUG,避免程序存在错误。系统测试的任务:将编辑号的程序运行起来,观察程序的运行效果,是否和预期规划的效果一致。当程序的运行效果与预期不符,则代表程序出现错误,需要将这些错误一一解决,这也就是纠错的过程,直到运行程序的效果[12]与预期吻合。测试与纠错的关系如图6-1所示,通过对系统进行测试,将获得的结果与期望的结果相比较,对其进行评价,如果实际中获得的结果与预期结果不符,则需要判断出导致实际结果与预期结果不符的因素,也就是错误所在的地方,接着改正这个错误。当进行纠错后,需要再一次进行测试,查看纠错是否成功。由此可知,提高测试的准确性需要增加测试数据以及提高测试次数。图6-1测试与纠错信息流程。6.3测试用例针对系统开发需求,本次测试包含了系统全部功能,在测试时,均达到了预期需求,以下选取几个测试用例进行介绍:6.4.1登录模块测试用例表6-1登录测试功能特性输入输出测试作用结论用户登录1、输入正确的账号密码、验证码系统跳转到该账户的页面验证用户名和密码输入正确时,用户能顺利进入系统系统具有良好的登录机制,安全性良好用户登录输入正确账号,输入错误密码;输入错误账号,输入正确密码;输入错误账号,输入错误密码。系统提示账号或密码错误,请重新登录。验证用户名或密码输入错误时,用户不能进入系统系统安全性良好6.4.2在线评价模块测试用例表6-2在线评价测试功能特性输入输出测试目的结论在线评价1、添加评价的信息,评价内容:“评价”,点击提交。用户评价功能正常,数据能正常入库。测试用户的在线评价功能正常在线评价1、添加评价的信息,评价内容:“”,点击提交;用户评价功能失败,数据不能正常入库。测试用户的在线评价功能失败6.4.3课程管理模块测试用例表6-3课程管理测试功能特性输入输出测试目的结论课程管理1、新增一个课程,编辑课程名称为:“课程text”,保存新增内容;2、对已存在的“课程”修改为“新的课程”,保存修改内容;3、对已存在的“新的课程”删除。三种操作都成功,系统课程内容更新检测课程管理功能的应用是否实现。正常实现,课程管理成功课程管理1、新增一个课程,编辑课程名称为:“?%%**”,保存新增内容;2、对已存在的“课程”修改为“?%%**”,保存修改内容;两种操作都不能成功,系统课程内容更新失败检测当数据输入异常时,课程管理功能的应用是否实现。不能正常实现,课程管理成功6.4.4用户注册模块测试用例表6-4用户注册测试功能特性输入输出测试目的结论用户注册1、输入手机号2、输入密码3、输入个人基本信息三种操作都成功,用户管理内容更新检测用户注册功能的应用是否实现。正常实现,用户注册成功用户注册1、不输入手机号2、输入密码不符合规范3、不输入个人基本信息三种操作都不能成功,用户注册失败检测用户注册功能的应用是否实现。不能正常实现,用户注册失败6.4.5上传视频模块测试用例表6-5上传视频测试功能特性输入输出测试目的结论上传视频上传视频资源确定视频资源格式正确两种种操作都成功,课程内容更新检测上传视频功能的应用是否实现。正常实现,用户上传视频成功上传视频1、上传错误视频资源2、视频资源格式不正确两种种操作都不能成功,上传视频失败检测上传视频功能的应用是否实现。不能正常实现,用户上传视频失败6.4.6购买课程测试用例表6-5上传视频测试功能特性输入输出测试目的结论购买课程确定要购买的课程选择支付的方式扫码付款三种操作都成功,购买成功检测购买课程功能的应用是否实现。正常实现,用户购买课程成功购买课程不勾选购买协议支付时间超时不购买两种种操作都不能成功,购买课程失败检测购买课程功能的应用是否实现。不能正常实现,用户购买课程失败6.4测试总结经过测试分析,明白了测试的作用主要是对线上学习平台在对应用户角色上,所有功能均符合系统实际运用的要求,这样,线上学习平台才是一个真正完成的系统。经过测试,证实了线上学习平台不仅仅是一个界面美观,符合用户的使用需求的系统,同时还是一个具备数据管理、各个功能结构安排得当、衔接流畅以及运行速度快的系统。因此得出了线上学习平台是一个良好的系统的结论。

总结与展望7总结与展望7.1总结在这次的线上学习平台的开发过程中,先是定下了开发使用的编程语言,然后在前端的框架选择中,挑选了Vue.js作为此平台的前端框架,在后端框架的选择中,挑选了SpringBoot作为此平台的后端框架。本系统采用了前后端分离的技术,包括SpringBoot框架、Vue模板引擎、ElementUI[13]前端框架和MySQL数据库等,开发了一套基于B/S模式的线上学习平台。在开发系统时,首先搭建系统开发环境,使用Ideal集成开发工具编写java程序进行打包编译等工作,Navicat[14]连接到数据库构建数据表。一个系统开发必须经过的各个步骤,分别是了解背景,对系统进行需求分析,绘制功能结构图[15],编程,测试,按照这些步骤,就能够掌握开发的方向,避免出现茫然的情况。先对整个系统进行总体设计,再进行细化,对系统的功能模块进行流程分析,最后对系统进行实现。其中在系统的具体实现中,发现自己的不足并及时进行学习与改正。线上学习平台经过测试,基本可以满足预期的需求。页面风格统一,布局合理,操作简单清晰,为系统管理员和学生提供了良好的操作体验。系统主要实现了上传课程资源、对用户、课程进行管理,学生挑选课程进行学习等功能。线上学习平台还有待改善。目前,系统管理员和讲师端没有做完全的分离,角色的划分粒度不够细;随机推荐课程算法具有偶然性,无法精准个性化地推荐课程;这些也将是系统值得改进的方向。7.2展望在大学期间,经过对软件开发技术的学习,自以为已经完全掌握开发要领。但经过线上学习平台的开发,才明白纸上得来终觉浅。在开发过程中,遇到了许多意料之外的问题,经过向指导老师请教,才得以解决。经过此次开发,在专业技术应用上得到了完完整整的锤炼,获得了更多的经验。相信这是一次珍贵的学习之旅,使我更好的掌握了开发要领,掌握更多技术,学到更多知识,以后在面对这类的难题时,都不再是难题。但是在数据库的安全性上还需要有待提升,在系统功能完成上还需要不断地学习和完善,为日后成为及格的实际应用方面的人才奠定良好的基础。

参看文献参考文献[1]李洋,刘婷.基于MySQL的家电回收管理系统的数据库设计[J].科技与创新,2023(03):141-143+146.DOI:10.15913/ki.kjycx.2023.03.043.[2]张勇,卢强,鲁晓,罗燕.基于MySQL的科研论文管理系统设计与实现[J].微型电脑应用,2023,39(01):4-6+10.[3]张莹莹.基于Java的工资管理系统的设计与实现[J].现代信息科技,2023,7(01):40-43.DOI:10.19850/ki.2096-4706.2023.01.010.[4]霍佳璐,杨林生.基于Java的高校宿舍智能管理系统的设计与实现[J].信息与电脑(理论版),2022,34(22):134-136.[5]沈志元,张文健.基于Java技术的医院管理系统的设计与实现[J].电脑知识与技术,2022,18(32):38-40+54.DOI:10.14004/ki.ckt.2022.1994.[6]张静,胡宁玉,冯丽萍.基于Java的超市进销存管理系统的设计与实现[J].信息与电脑(理论版),2022,34(18):124-127+131.[7]苏婉怡,揣小龙,赵国松,王煜尧.基于Java技术的考试系统关键点研究[J].无线互联科技,2022,19(18):58-60.[8]陆洋,韩光信,戴合原.基于Java的智慧电厂管理系统的设计与实现[J].今日制造与升级,2022(09):36-39.[9]欧阳桂秀.基于Java和MySQL的数据库管理系统的设计与实现[J].信息记录材料,2022,23(09):240-242.DOI:10.16009/13-1295/tq.2022.09.007.[10]严超群,李志宏,曹峻,师闯闯,杨煜馨.基于Java的SQL语句自动评测系统[J].信息记录材料,2022,23(08):72-74.DOI:10.16009/13-1295/tq.2022.08.063.[11]李伟.基于Java技术平台的办公管理系统设计与实现[J].信息与电脑(理论版),2022,34(13):152-154.[12]王志辉.基于Java开发的数据库迁移方法和系统设计[J].电脑知识与技术,2022,18(17):19-21.DOI:10.14004/ki.ckt.2022.1124.[13]\t"/kcms2/article/_blank"LauKitLing;\t"/kcms2/article/_blank"JongMorrisSiuYung.Acceptanceofandself-regulatorypracticesinonlinelearningandtheireffectsontheparticipationofHongKongsecondaryschoolstudentsinonlinelearning.2022,12(27)基于Java的“懂车”系统的设计与实现[J].办公自动化,2022,27(10):61-64.[14]RandeepSingh,AmitBindal,AshokKumar.AframeworktoimprovequalityofaJavasystembyperformingrefactoring[J].InternationalJournalofSystemofSystemsEngineering,2020,10(4).[15].Engineering-SoftwareEngineering;InvestigatorsatDelftUniversityofTech否logyDescribeFindingsinSoftwareEngineering(MockObjectsforTestingJavaSystems:WhyandHowDevelopersUseThem,andHowTheyEvolve)[J].ComputerWeeklyNews,2019.附录PAGEPAGE17附录A1、Service层:try{client=VodInitUtil.initVodClient(ConstantPropertiesUtil.ACCESS_KEY_ID,ConstantPropertiesUtil.ACCESS_KEY_SECRET);//创建获取凭证request和response对象GetVideoPlayAuthRequestrequest=newGetVideoPlayAuthRequest();//向request设置视频idrequest.setVideoId(String.valueOf(videoId));//得到凭证GetVideoPlayAuthResponseresponse=client.getAcsResponse(request);returnresponse.getPlayAuth();}catch(ClientExceptione){//如未获取到凭证,抛出异常thrownewOESException("获取播放凭证失败");}2、Controller层:@ApiOperation(value="根据视频id获取视频播放凭证")@GetMapping("getPlayAuth/{videoId}")publicResultgetPlayAuth(@ApiParam(name="videoId",value="视频id",required=true)@PathVariableStringvideoId){StringplayAuth=vodService.getPlayAuth(videoId);returnResult.success(playAuth);}附录Bcontroller层:@ApiOperation(value="生成订单,需要课程信息和用户信息")@PostMapping("generateOrder/{courseId}")publicResultgenerateOrder(@ApiParam(name="courseId",value="课程id",required=true)@PathVariableLongcourseId,@ApiParam(name="request",value="带有用户cookie信息的请求",required=true)HttpServletRequestrequest){LongorderNo=orderService.generateOrder(courseId,request);returnResult.success(orderNo);}//根据订单id查询订单信息LambdaQueryWrapper<PayOrder>wrapper=newLambdaQueryWrapper<>();wrapper.eq(PayOrder::getOrderNo,orderNo);PayOrderorder=orderService.getOne(wrapper);//使用map设置生成二维码需要的参数Map<String,String>m=newHashMap<>();m.put("appid",ConstantPropertiesUtil.WX_PAY_APP_ID);m.put("mch_id",ConstantPropertiesUtil.WX_PAY_PARTNER);m.put("nonce_str",WXPayUtil.generateNonceStr());m.put("body",order.getCourseTitle());m.put("out_trade_no",String.valueOf(orderNo));m.put("total_fee",order.getTotalFee().multiply(newBigDecimal("100")).longValue()+"");m.put("spbill_create_ip","");m.put("notify_url",ConstantPropertiesUtil.WX_PAY_NOTIFY_URL+"\n");m.put("trade_type","NATIVE");//发送httpclient请求,需要传递xml格式的参数,微信支付提供的固定地址HttpClientUtilhttpClient=newHttpClientUtil("/pay/unifiedorder");2、Service层:@ApiOperation(value="根据订单id生成微信支付二维码")@GetMapping("generateOrCode/{orderNo}")publicResultgenerateOrCode(@ApiParam(name="orderNo",value="订单id",required=true)@PathVariableLongorderNo){Map<String,Object>OrCode=logService.generateOrCode(orderNo);returnResult.success(OrCode);}附录C1、添加课程基本信息:@ApiOperation(value="添加课程基本信息")@PostMapping("addCourse")publicResultaddCourse(@ApiParam(name="courseInfo",value="课程基本信息实体",required=true)@Validated@RequestBodyCourseInfoVOcourseInfo){LongcourseId=courseService.addCourse(courseInfo);returnResult.success(courseId);}2、添加课程:publicLongaddCourse(CourseInfoVOcourseInfo){//将CourseInfoVO转化为Course类Coursecourse=newCourse();BeanUtils.copyProperties(courseInfo,course);//添加失败则抛异常if(baseMapper.insert(course)==0)thrownewOESException("添加课程信息失败");//添加成功则返回课程idreturncourse.getId();}3、根据课程id发布课程:@ApiOperation(value="根据课程id发布课程")@PostM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论