# Voluntaryfiling **Repository Path**: scgreen/voluntaryfiling ## Basic Information - **Project Name**: Voluntaryfiling - **Description**: 志愿填报小程序系统 Spring Boot结合Wechat小程序的前后端分离项目 内有不规范版开发文档 来点star😘 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 4 - **Created**: 2022-03-11 - **Last Updated**: 2025-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: miniprogram ## README # :kissing_heart: #### 本项目结构图如下 ``` VoluntaryFiling ├─.idea ├─EndOfGaokao(小程序前端文件夹) │ ├─addUniversity │ │ └─pages │ │ ├─addUniversity │ │ └─schoolInfo │ ├─components │ │ └─miniprogram_npm │ │ └─@vant │ │ └─weapp │ ├─login │ │ └─pages │ │ └─login │ ├─myInfo │ │ └─pages │ │ └─modifyInfo │ ├─pages │ │ ├─img │ │ ├─main │ │ ├─myInfo │ │ └─voluntaryfiling │ └─university │ └─pages │ └─univInfo ├─Mysql配置文件(数据库文件) ├─voluntaryfiling-back(小程序后台文件夹) │ ├─.mvn │ │ └─wrapper │ └─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─green │ │ │ └─voluntaryfiling │ │ │ ├─common │ │ │ ├─config │ │ │ ├─controller │ │ │ ├─domain │ │ │ ├─mapper │ │ │ ├─service │ │ │ │ └─impl │ │ │ ├─util │ │ │ └─vo │ │ └─resources │ │ ├─mapper │ │ └─sql └─文档(技术文档) ``` #### 接口参数介绍(2022/3/15) - URI:前端访问后端所需的链接地址(127.0.0.1对应localhost本机地址回环) - Method:前端访问后端传送数据的方法。GET:从后端获取数据信息,可以被抓包。 Post:隐式传送数据,即传送数据信息不会显示在uri中。 Put/Delete:修改与删除,暂时不用,浅谈详细请自行学习。 - Return:返回数据,对于前端数据信息处理后的反馈。例如存储信息成功则返回一个数据类型{code:200,”msg”:”xxxx”}。对应数据类型的JSON字符串,可被前端识别,名字对应属性,即调用返回信息可使用 String sentence = msg; (注:返回的数据类型会针对不同的访问方法进行改动,请对准接口文档的访问类型,包括但不限于数组,链表,树) - Edited by Green. #### 更新日志 - 4.20 9:26 删除期末报告题目 - 4.20 22:15 更新期末上交资料 - 4.20 21:54 提交期末所有需要上交的资料,包括最新源码 - 4.20 0:23 **重构Redis缓存查询同步逻辑,Redis刷新时间重新置为24*60*60。已部署至server**(Green) - 4.19 16:06 **更新数据库gaokao**,解决分数匹配排位小bug;重新部署新版本后端至服务器,解决redis缓存 bug。(不染) - 4.16 20:30 新增接口文件md文件格式,将实验报告文档规范命名。(不染) - 4.15 15:50 修复前端已知问题,修复部分真机演示bug,优化前端代码质量,请所有组员对小程序进行测试,**注意要使用真机测试**,全面测试存在bug,本次开发已进入收尾阶段,不再更改需求。(Meyum) - 4.15 11:49 修复后端已知重要问题,重构接口4代码逻辑,同步更新服务器(Green) - 4.15 01:30 :sleeping: [ _注:①当前仓库为本地测试版本,即端口地址等信息均为本地回环地址。②完成服务器的部署,请以下方IP地址访问服务器。开发时请以本地为基础进行测试功能,无异常则打包部署服务器进行测试,仓库上传的版本均以本地为准。部署服务器Call Me_ ]Time to sleep(Green) - 4.15 01:07 **_解决服务器信息返回异常问题,已部署4.14 23时版本后端至服务器,请将前端访问ip替换为47.106.22.102:9000访问服务器,全部接口上线状态待测试(ps:小测试是正常的)_** (Green) - 4.14 21:56 前端填报页基本完成服务器部署准备工作。修复前端主页在服务器联机状态下,使用真机调试会产生的部分bug。目前小程序已经更改回本地状态,可以使用单机演示。(Meyum) - 4.14 20:38 上传风险管理报告(gdufe) - 4.14 20:25 修改回退配置文件至单机版本,前端填报未完成,修复已知问题,单机测试未完成(Green) - 4.14 17:26 修改yml配置文件和增加maven跳过test目录下测试类校验的插件,前端修改访问路径前缀(主机ip和端口),测试服务器访问。(不染) - 4.14 14:22 优化前端数据渲染方式,解决了上滑触底时会出现异常卡顿的bug,并添加了到底提示,现在页面信息到底后不会疯狂刷新和发请求了。(Meyum) - 4.13 22:51 实现接口4(主页)的渲染修改,志愿填报页待做,请测试有无bug。加入全局变量保存域名,为今后上线做铺垫(Meyum) - 4.13 18:53 实现接口4数据接口redis缓存, **_更新返回前端数据格式_** ,请注意渲染格式匹配,获取数据测试正常(Green) - 4.13 11:20 实现除接口4和8动态数据之外的所有redis缓存;前端接收数据格式无需更改,经测试正常;优化MySQL查询语句;更新接口文档红色标注说明。(不染) - 4.12 22:15 **更新数据库gaokao** ,请重新删除原有数据库,并运行resources/sql下文件。实现接口2、5、6的redis查询缓存,接口文档有红色标注,前端接收格式有所改变,前端重新根据数据 渲染页面。优化MySQL查询语句。(不染) - 4.10 11:26 更新 预测指数、分数、排位、录取人数为指标的录取概率算法,并将该算法应用于项目(不染) - 4.08 12:33 更新前端(Green) - 4.08 8:24 上传质量分析报告和范围管理报告(Gdufe) - 4.07 17:56 解决后端算法冲突(Green) - 4.06 9:21 修复后端功能残缺部分(不染) - 4.06 23:02 **解决前后端版本不一冲突,请检查是否存在已修改内容被覆盖功能残缺的情况(Green)** - 4.06 13:21 前端学校专业信息显示优化,前端学校信息增加渲染2016/2017/2018/2019的最低录取数据。(Meyum) - 4.06 0:42 更新优化包含预测指数的预测录取概率算法(不染) - 4.05 21:30 实现录取预测指数即大于学校分数录取总人数的功能;将包含预测指数的预测录取概率算法嵌入项目;目前算法尚不完善,有待进一步优化(不染) - 4.05 10:16 更新接口文档的接口5(院校详情信息接口)内容,接口文档改动部分标记待测试;实现获取学校2016-2020年最低分数和排位的功能(不染) - 4.04 17:05 更新接口7/8/9,接口文档标记待测试,志愿填报内容待测试(Green) - 4.04 10:25 更新填报志愿接口 - 4.02 19:37 在util包下增加录取指数的算法类;更新数据库gaokao详细设计说明v1.5文档;新增数据库表volunteer_filled并**更新数据库gaokao** ,请重新删除原有数据库,并运行resources/sql下文件(不染) - 3.31 19:51 软件成本管理实验报告上传 - 3.31 19:16 前端修复在iPhone 12/13 Pro Max等长宽比过大的机型上,无法正常展示获取专业的bug。(Meyum) - 3.31 16:36 前端制作了好看的'关于我们'页面作为彩蛋,大家可以去瞧一瞧。😅😅😅😅雨越下越大了😅😅😅😅(Meyum) - 3.31 0:24 修复查询院校接口信息一些已知错误,测试完成。展示的时候不要在意内容真实度,😅😅😅😅下大雨了😅😅😅😅(Green) - 3.30 20.07 完善部分学校出现负录取概率的BUG。(不染) - 3.30 19:23 完成学校详情的前端渲染,改善了ui配色的显示效果,页面一下子就高端起来了捏~目前除志愿填报功能以外,其他功能已经完成,可进行测试!(Meyum) - 3.30 15:42 更新预测算法,仍有超出部分BUG。修复一些已知问题(Green) - 3.30 1:53 更新接口文档5,6接口, **完成接口5,6功能编写** ,修改访问全国学校信息返回数上限300。 _什么是中国速度啊,Captain China._ (Green) - 3.29 17:05 **更新数据库gaokao** ,请重新删除原有数据库,并运行resources/sql下文件。更新接口1,3并标记待测试, **_请注意接口3的返回内容_** (Green、不染) - 3.29 16:18 更新数据库gaokao详细设计说明v1.4;新增匹配算法分段表.md文件;优化匹配学生分数排位匹配学校预测值算法;算法工具类均放于util包下;完善userlogin表有关的实体类和vo类的部分逻辑。(不染) - 3.29 0:10 更新接口4处理逻辑,更新接口文档待测试,数据库更新待定(Green) - 3.28 23:25 更改志愿填报页逻辑代码,将匹配算法引入志愿填报页(Meyum) - 3.28 18:57 优化前端显示效果,修复了一些显示bug。更改接口文档v3.2中的接口1与接口3,**请后端及时在数据库中添加次选科目模块!**(Meyum) - 3.28 0:10 修改后端接口4 代码410逻辑,待测试。增添接口文档规格说明(Green) - 3.27 18:30 前端修改用户选科功能,目前可以进行“3+1+2”(即可以选择物理/历史+四门其他科目中的两门)的选科,用户登录输入信息/修改信息后存入缓存可用,**后端数据库等后端更新,目前传给后端的仍然是主科(即物理/历史)!**请后端数据库用户表加入新字段用于存放其余四科。**目前接口3与前端存在版本差。**还有,后端数据库里别存理科文科,要存物理历史,不然前端拿到数据渲染出来会渲染出理科文科。(Meyum) - 3.27 17:57 优化学生分数排位匹配学校预测值算法,为避免冲突,将预测百分比算法工具类放于util包下。目前只优化理科学生的预测算法,后续增加形参后继续优化(不染) - 3.27 1:31 重构接口4匹配算法,优化查询时间,TimeComplexity呈n*log2n级别增长。 **_注意!!!请修改Mysql数据库配置文件_** ,因为5.7版本以上数据库新增严格group by设置,需要修改,此处选择永久性修改配置文件。[具体详情可参考此篇文章](https://blog.csdn.net/weixin_30616309/article/details/114352631) 如果嫌麻烦也可使用本人已上传在Mysql配置文件文件夹中的.ini文件直接替换原有配置文件,请先找到您安装Mysql文件夹!Linux版本请参考对应指令行修改。 **重构后的接口4已通过测试,功能未发生变化**(Green) - 3.26 22:39 前端渲染了新加入的分数与排位相匹配的功能,现在在初次登录和修改信息的时候,输入分数会自动传后端匹配出现排位,用户可以自行修改排位,提交时后端亦会对分数与排位进行判断,相差过大则不允许提交。(Meyum) - 3.26 19:56 更新并完善了接口文档中得接口1和接口7;实现了根据分数自动返回排位的功能;实现了用户分数和对应排位的后端验证;新增了一张数据表university_score_by_major_2020。(不染) - 3.26 15:00 重构前端逻辑代码,一堆早期乱写变量产生的邪门的bug被修复了(果然屎山还是得重构才行)。在学校列表名片上渲染了最低分数线与最低排位。渲染了后端优化后的匹配学校算法。**可以对主页进行测试,包括页面切换,跳转后会不会造成列表错乱或者更严重的安全漏洞等。**(Meyum) - 3.26 1:12 _更新接口4,接口文档内容标绿为待做,仅接口4标绿为待测试,请测试通过后去色标黑并标题同3标黄。_ **新添功能:** 实现按全国各地包括全国的分数匹配后台分页,保证每次访问的返回数与前端发出的limit数相同(最后一项<=limit),请保证每次访问的limit固定,仅page依序变更(会校验当前页面是否相同),否则将会重新查询匹配并以最新的limit为基准返回每次数据。实现当前端用户修改地区、分数、排名、科目其中任意一项更变通过接口4访问数据的正确匹配性,即可修改任意一项返回新的匹配内容(Green) - 3.25 17:05 更新接口文档中的接口1,新增接口7(不染) - 3.24 23:50 完成数据的排序输出,DESC降序模式输出,以学校的最低录取分数为标准(Green) - 3.24 23:14 初步实现前端智能匹配学校ui,修复部分严重影响体验bug,**但目前仍有许多bug,后续需做大量bug测试!!!(如分页,修改学校地区,修改学生信息等,这些地方隐含诸多隐患)**(Meyum) - 3.24 22:33 根据意见上传修改后的进度管理实验报告 - 3.24 20:00 上传进度管理实验报告 - 3.24 18:46 加急更新智能匹配信息接口4,可正常交付使用,加入物理转理科,历史转文科操作,后续待优化。待优化点:每页的匹配数据应保持与请求数据limit相同,现在返回的匹配数据<=limit访问(Green) - 3.24 0:18 更新数据库说明文档(Green) - 3.24 0:09 加急更新接口4,完成学校的智能匹配信息返回,具体信息请查看接口文档,注意返回数据,prediction为double,需要手动添加'%',待测试。 **_更新数据库,请删除原有数据库内所有表,运行resource/sql目录下的gaokao.sql文件完成数据库加载。_** 更改接口文档格式与完善部分内容,标准为接口4,剩余接口1/2/3无需更改,5以后均未修改!(Green) - 3.23 20:40 更新前端主页搜索接口,实现截流和分页显示。测试接口文档中前三接口,目前未发现问题,**接口文档标题颜色未修改**。文档组可在全面测试后修改接口文档。把搜索与匹配列表分割,防止出现显示互串现象。(Meyum) - 3.23 16:56 更新1/2/3接口后端,待测试(Green) - 3.23 16:43 更新接口文档基础版本,请每次提交更新vx.x版本号。 **_对于带颜色的接口,黄色为以实现并且测试完成,绿色为待实现或者待测试状态。_** 详细规则待后续确定。考虑到水平, **_请不要合并接口_** ,一个功能一个接口,请先把接口写详细(Green) - 3.23 14:00 提交新的接口文档(gdufe) - 3.20 16:56 整合志愿填报页,修改部分ui以及相关逻辑代码,**因志愿填报页逻辑功能需要后端配合,所以功能尚未完善,bug很多,属正常现象,暂不需要测试**(Meyum) - 3.19 21:06 更新前端主页,修复了一些显示bug,改善了一些显示效果(Meyum) - 3.19 13:01 更新模糊查询学校接口,使其返回结果按照升序ASC方式排序。 **紧急更新数据库表all_university_info,需要删除原数据库表重新运行resource/sql下同名sql文件**(Green) - 3.18 22:56 更新前端模糊查询功能,包括接口,前端页面实现。完善前端登录校验功能,用户只要登录一次不改用户名就不必再次输入高考信息啦。实现退出登录功能,妈妈再也不用担心我每次测试都要清缓存啦(Meyum) - 3.18 11:34 更新接口文档2|3。 **加急修复数据库表all_university_info** ,需要重新创建info表格,对应sql文件resource/sql中。接口2接口3返回数据测试完成。还有不要TMD把数据库的列名设置成数据库的关键字(Green) - 3.18 11:15 更新需求文档(Gdfcz) - 3.18 1:08 更新后端模糊查询院校信息接口(简)、查询用户是否存在数据库接口(存在自动修改访问记录)。修改接口文档, **并说明部分数据调用格式及方法** 。修改数据库表, **添加新表all_university_info** ,需要运行resource/sql中的universiy.sql以完成安装数据表(green) - 3.17 18:04 更新前端,加入修改信息功能(Meyum) - 3.17 11:00 更新master分支,使其同步于3.17 10:52时develop登录完成分支内容(green) - 3.17 10:52 更新数据库表userlogin,需要重新导入数据库。 **更新peserveInfo接口** ,可以 _记录最新一次的登录信息并记录总登录次数_ 。数据库后端抢修完成。 **更新接口文档1、2项相关接口信息。** 更新需求文档(green) - 3.16 13:00 修复前端获取用户信息bug,测试提交用户数据到后端成功(Meyum) - 3.16 0:46 更新存储用户信息接口,前端获取用户信息存在bug。修改数据库存储结构,请删除原有数据库信息,新的数据库名称为gaokao,请创建后运行resource目录下sql目录下sql文件,redis缓存配置更新(green) - 3.15 18:49 更新接口文档说明(green) - 3.15 0:14 更新用户信息存储接口,待测试 (另注:运行后端数据库时请检查applicaiton.yml中的数据库配置信息,对应的sql文件在resource文件夹的sql文件夹中 :sweat_smile: )(green) #### 接口文档规格说明(2022/3/28) | 标志颜色 | 功能 | 接口名称 | 接口内容 | |------|----------|-------------|-------------| | 黄色 | 通过测试 | 测试通过需名称标黄 | 无需标黄 | | 绿色 | 完成功能,待测试 | 标记则为整个接口待测试 | 内容标记则该内容待测试 | | 蓝色 | 待实现 | 标记则整个接口待实现 | 内容标记则该内容待实现 | - 该说明将在2022/3/31日移动至文末 - Edited by Green. #### 介绍 志愿填报小程序系统 #### 软件架构 基于Wechat平台的前后端分离小程序 #### 安装教程 1. git clone 项目地址 2. 注意前后端文件夹 #### 使用说明 1. 所有开发中测试完成的项目请递交到develop分支,master分支由前后端组长确定后再合并 #### 参与贡献 1.软剑橡木委员会 :sweat_smile: