数学学院项目开发总结
学生成长平台
后端:技术栈go+gin+gorm
负责内容:入团申请审核后端部分
前台
- 学生入团申请表单的提交
 - 根据审核状态判断不同的跳转页面
 
后台
-  
活动的创建和关闭和信息提交和审核时间的管理
 -  
表单的审核流转: 班级审批基本信息审批 - > 学生会纪权部道德币审核 ,学生会组织部材料审核 - > 学生会培训成绩审核
 -  
以班级为单位导出审核通过的入团人员的docx文档
 
流程
前台:
-  
学生入团申请表单的提交
- 查询数据库查询活动信息返给前端判断活动是否开启
 - 活动开启后,学生在指定时间提交表单信息,信息状态为未审核,进入到班级审核阶段
 - 表单提交时间内,如果信息不通过可再次提交信息,信息状态进入到未审核状态
 - 班级审核通过后,或者提交时间结束,表单锁定,不可在进行提交和修改,班级审核通过的人员进入到材料提交阶段
 
 -  
学生入团申请材料的提交
- 提交材料格式限制在docx,jpg,jpeg,png,pdf,webp,doc格式
 - 提交:材料提交有效时间可提交
 - 修改:材料提交有效时间内可修改,材料提交时间截止后,表单锁定,不可尽行修改 
    
- 1.学生会纪权部道德币未审核 ,学生会组织部材料为审核,可再次提交进行修改
 - 2.学生会纪权部道德币审核不通过,则表单锁定,不可再修改材料
 - 3.学生会纪权部道德币审核通过,学生会组织部材料审核未通过,可再次提交修改
 - 4.学生会纪权部道德币审核 ,学生会组织部材料审核通过后,表单锁定,不可修改
 
 
 
后台:
-  
活动的创建和关闭和信息提交和审核时间的管理

 -  
表单的审核流转: 班级审批基本信息审批 - > 学生会纪权部道德币审核 ,学生会组织部材料审核 - > 学生会培训成绩审核
- 班级审核过后,数据进入学生会纪权部道德币审核 ,学生会组织部材料审核两个阶段,全部审批完毕后可导出通过积极分子名单
 - 前面三项全部审核通过后,进入到学生会培训成绩审核,全部审核后,可导出最终入团学生名单
 
 -  
学生会组织部材料审核 ,学生会培训成绩审核可以班级为单位导出审核通过的入团人员的docx文档
 
数据库的设计
项目内容独立于其他内容需要设计新的表
 通过创建新的三张表分别记录:活动信息,学生提交的表单信息和状态,和学生提交的文件材料
 表关系为:
- 活动信息表 一对多 学生提交的表单信息和状态
 - 活动信息表 一对多 学生提交的文件材料表
 
活动信息表:

学生提交的表单信息和状态:

学生提交的文件材料表:

遇到的问题与解决办法
1.时间格式转化失败
前端传入时间格式为2024-10-19T02:38:35.326Z

我解析的格式为2006-01-02 15:04:05

由于字符串格式时间需要对应的时间格式才能转化成功,转导致时间字符串无法被转化为time.time格式,无法使用gorm存入数据库
解决方法:前后端统一数据格式

2.使用word模版导出docx文档,模版无法正常加载
原因:在测试服务器上,项目自动化编译时,未将模版传到服务器
使用 embed 将模版文件打包到go的可执行文件中
通过调用方法在服务器该文件不在时生成一份到服务器中
模版打包

读取模版

3.使用word模版导出docx文档,无法动态生成列表
通过动态生成占位符替换掉原本占位符,再生成数据替换新生成的占位符
基础模版内容:

根据班级数量动态生成列表替换list

















![[网络爬虫] Jsoup : HTML 解析工具](https://i-blog.csdnimg.cn/img_convert/816a6dcc6326d821b8b90e4a1a2c9ddb.png)


