博主主页:猫头鹰源码
博主简介: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.显示公告,查看管理员发布的公告
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

系统包含技术:

后端:springboot,mybatis、 Spring Security
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7

部分截图说明:

首页

基于springboot+vue的心理咨询系统(前后端分离)_spring

基于springboot+vue的心理咨询系统(前后端分离)_spring boot_02

基于springboot+vue的心理咨询系统(前后端分离)_spring boot_03

基于springboot+vue的心理咨询系统(前后端分离)_vue.js_04

基于springboot+vue的心理咨询系统(前后端分离)_java_05

基于springboot+vue的心理咨询系统(前后端分离)_spring_06

部分代码:

/**
     * 分页查询
     */
    @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);
    }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~