# 高校学生实习信息管理系统前端 **Repository Path**: Hunter-Zack/webclient_school ## Basic Information - **Project Name**: 高校学生实习信息管理系统前端 - **Description**: 毕业设计 高校学生实习信息管理系统 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-01-09 - **Last Updated**: 2024-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 夜寒不近流苏,只怜她、后庭梅瘦。 ## 部分小改动 ### 修改标题  ### 修改端口号  ### 修改页面标题  ### 修改ip访问  # 江天一色无纤尘,皎皎空中孤月轮。 ## 路由改动 ### 添加评论区管理的路由以及替代界面 ### 添加讨论区文章的界面 ## 页面改动 # 仰天大笑出门去,我辈岂是蓬蒿人。 > 新的想法: > > 系统管理员: > > 新增: > > 邮件提醒更新信息 > > -------- > > 学生: > > 新增: > > 企业信息【应该重新规划一张表格 可以为空】 > > 当前实习状态【0 未实习 1实习中 2实习完毕】 > > 考虑: > > 是否新增【集中实习 分散实习】 > > ----- > > 指导老师: > > 新增: > > 添加学生寄语板块【简单公告】 > > 考虑: > > 与学生交流的模块,放弃web socket ,使用定时每秒获取信息 ## 企业信息表格 ```sql CREATE TABLE `enterprise` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NULL COMMENT '名称', `orgtype` varchar(255) NULL COMMENT '类型', `code` varchar(255) NULL COMMENT '统一社会信用代码', `memo` varchar(200) NULL COMMENT '备注', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0--正常 1--删除', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB COMMENT '企业信息表'; ``` ## 学生信息表格 ```sql CREATE TABLE `student` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `phone` varchar(11) NOT NULL DEFAULT '' COMMENT '手机号', `login_no` varchar(50) NOT NULL COMMENT '学生登录账号', `nick_name` varchar(30) NOT NULL DEFAULT '沉默的金子' COMMENT '昵称', `username` varchar(20) NOT NULL DEFAULT '' COMMENT '昵称', `password` varchar(80) NOT NULL DEFAULT '123456' COMMENT '密码', `email` varchar(20) DEFAULT 'test@qq.com' COMMENT '邮箱', `head_url` varchar(200) DEFAULT 'https://tianwenle.oss-cn-hangzhou.aliyuncs.com/t01cb4bcb769b6ac146.jpg' COMMENT '头像地址', `year` bigint(20) DEFAULT NULL COMMENT '学年', `class_name` bigint(20) DEFAULT NULL COMMENT '班级', `class_no` bigint(20) DEFAULT NULL COMMENT '几班', `teacher_id` bigint(20) NOT NULL COMMENT '辅导老师编号', `department_id` bigint(20) NOT NULL COMMENT '学院编号', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0--正常 1--删除', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 --------------------- 在原表的基础上 添加实习状态 work_status tinyint default 0 ALTER TABLE student MODIFY COLUMN work_status TINYINT DEFAULT 0 COMMENT '当前实习状态【0 未实习 1实习中 2实习完毕】' ``` ## 学生在企业实习信息表 ```sql create table work_info( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '用户编号', `enterprise_id` bigint(20) NOT NULL COMMENT '企业编号', work_start_time TIMESTAMP COMMENT '实习开始时间', work_end_time TIMESTAMP COMMENT '实习结束时间', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0--正常 1--删除', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY key(`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 ``` ## 创建学生企业实习的数据库 ## 创建新的服务service_work ### 添加配置文件 ```yaml server: port: 8003 spring: application: name: service-work # 设置数据源 datasource: username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/gra_user?characterEncoding=utf-8&useSSL=false profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` ### 注册网关 ```yaml - id: service-work # uri: lb://service-work predicates: - Path=/*/work/** # 路径匹配 ``` ## 修改学生的信息 > 思来想去,实习状态还是不给老师和管理员修改实习状态的权限了 > > 只给学生可以修改实习状态,以及所在企业的信息 ### 添加企业类型 简单添加即可  ### 修改管理员表格中的信息 管理员课查看实习状态  ### 编写实习状态枚举类 ```java public static String getWorkStr(Integer workStatus){ // 获取所有的枚举类 WorkStatusEnum[] enums = WorkStatusEnum.values(); // 判断需要的类型 for (WorkStatusEnum workStatusEnum : enums) { if (Objects.equals(workStatusEnum.workStatus, workStatus)){ return workStatusEnum.workStr; } } return ""; } ``` ### 修改后端包装代码 重构用户对象 ```java // 判断学生是否已经实习了 Integer workStatus = student.getWorkStatus(); student.setWorkStatusStr(WorkStatusEnum.getWorkStr(workStatus)); ``` ### 修改前端界面,添加学生实习情况的列  ### 学生自己填写实习状态 **添加新的路由** ```js { path: '/work', component: Layout, redirect: '/work/list', children: [ { path: 'list', name: '实习进度管理', component: () => import('@/views/work/index'), meta: { title: '实习进度管理', icon: 'form' } } ] } ``` ### 添加企业信息的表单 ### 添加工作信息的表单 ### 添加实习报告对企业信息的约束 ## 配置rabbitmq消息队列 ### 创建rabbitmq的工具类模块 **发送消息服务** ```java /* * Copyright (c) 2006, 2023, wuyahan 编写 * */ package com.graduation.rabbit.service; import org.springframework.amqp.AmqpException; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** *
Project: school end - RabbitService *
Powered by wuyahan On 2023-02-18 16:48:06 * * @author wuyahan [tianwenle2000@163.com] * @version 1.0 * @since 17 */ @Service public class RabbitService { @Autowired private RabbitTemplate rabbitTemplate; public boolean save(String exchange, String routing, Object message){ try { rabbitTemplate.convertAndSend(exchange,routing,message); return true; } catch (Exception e) { e.printStackTrace(); } return false; } } ``` **配置消息转换器** ```java package com.graduation.rabbit.config; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.boot.SpringBootConfiguration; import org.springframework.context.annotation.Bean; @SpringBootConfiguration public class MQConfig { /** * 配置消息转换器 * @return */ @Bean public MessageConverter messageConverter(){ return new Jackson2JsonMessageConverter(); } } ``` **静态信息** ```java /* * Copyright (c) 2006, 2023, wuyahan 编写 * */ package com.graduation.rabbit.config; /** *
Project: school end - MQConst *
Powered by wuyahan On 2023-02-18 16:43:32
*
* @author wuyahan [tianwenle2000@163.com]
* @version 1.0
* @since 17
*/
public class MQConst {
/**
* 改变学生的实习信息
*/
// 配置交换机名称
public static final String EXCHANGE_DIRECT_STUDENT = "exchange_direct_student";
// 配置路由信息
public static final String ROUTING_STUDENT = "student";
// 配置队列名称
public static final String QUEUE_STUDENT = "queue.student";
}
```
### 提供者服务
**引入rabbitmq-util模块**
```xml
数据测试