博主主页:猫头鹰源码
博主简介:Java领域优质创作者、博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询
项目介绍:
本系统为最新原创项目,采用前后端分离,创作于2024,项目代码工整,结构清晰,适合选题:心理咨询、心理、前后端分离类其他心理等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。
部分功能:
需要管理员,咨询师,访问者三个角色
一、管理员角色实现:
1.管理员信息管理,个人账户信息修改
2.咨询师信息管理,能够添加、查询咨询师,修改和停用账户并显示账户状态
3.访问者信息管理,能够添加、查询访问者,显示注册时间,停用账户并显示账户状态
4.公告管理,能够添加公告,控制公告的显示和隐藏,显示公告的发布状态,公告需要有创建者,标题,创建时间,发布状态
二、咨询师角色实现:
1.咨询师信息管理,能够修改密码等个人账户信息。需要有姓名,性别,年龄,照片,电话,邮箱,履历,评价(不可更改)
2.显示咨询预约申请,需要包含申请者,申请时间,期望咨询时间,地点,主观描述和对申请的同意与驳回操作
4.显示咨询进度,需要包含咨询者,咨询开始、结束时间,地点和完成咨询操作
3.显示咨询记录,需要包含咨询者,咨询开始、结束时间,地点,咨询完毕建立的文档,咨询评价
4.显示公告,查看管理员发布的公告
三、访问者角色实现:
1.访问者信息管理,能够修改密码等个人账户信息。需要有姓名,性别,年龄,电话,邮箱
2.查看可预约咨询师信息
3.预约申请,需要包含申请时间,期望咨询时间,地点,主观描述
4.显示预约申请进度和预约历史,需要包含咨询师姓名,申请时间,期望时间,地点,进度状态,其中进行中的预约申请需要有取消预约操作
5.显示公告,查看管理员发布的公告
系统包含技术:
后端:springboot,mybatis、 Spring Security
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
部分截图说明:
首页
部分代码:
/**
* 分页查询
*/
@PostMapping("selectAll")
public PageInfo<Counselor> selectAll(@RequestBody Map<String,String> mp) {
PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString()));
List<Counselor> list = counselorService.queryAllByLimit(mp);
PageInfo<Counselor> pageInfo = new PageInfo<Counselor>(list);
return pageInfo;
}
/**
* 查询所有
*/
@PostMapping("queryAll")
public List<Counselor> queryAll(@RequestBody Counselor counselor) {
List<Counselor> list = counselorService.queryCondition(counselor);
return list;
}
/**
* 修改
*/
@RequestMapping("edit")
public Result edit(@RequestBody Counselor counselor) {
try {
List<Counselor> counselors = counselorService.queryCondition(new Counselor());
for(int i=0;i<counselors.size();i++){
if(counselor.getId()!=counselors.get(i).getId() && counselor.getPhone().equals(counselors.get(i).getPhone())){
return Result.error("手机号已注册,请重试!");
}
}
counselorService.update(counselor);
return Result.success("修改成功");
}catch (Exception e){
e.printStackTrace();
return Result.error("修改失败");
}
}
/**
* 新增
*/
@RequestMapping("add")
public Result add(@RequestBody Counselor counselor) {
try {
List<Counselor> counselors = counselorService.queryCondition(new Counselor());
for(int i=0;i<counselors.size();i++){
if(counselor.getPhone().equals(counselors.get(i).getPhone())){
return Result.error("手机号已注册,请重试!");
}
}
Date date = new Date();
counselor.setCreateTime(date);
counselorService.insert(counselor);
return Result.success("新增成功");
}catch (Exception e){
e.printStackTrace();
return Result.error("新增失败");
}
}
/**
* 通过主键查询单条数据
*/
@GetMapping("selectOne")
public Counselor selectOne(Integer id) {
return counselorService.queryById(id);
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~