博主主页:猫头鹰源码
博主简介: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

部分截图说明:

首页

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

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

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

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

基于springboot+vue的心理咨询系统(前后端分离)_spring boot_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);
    }

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

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