基于javaweb+mysql的ssm+maven医院心理咨询问诊系统(java+spring+maven+mybatis+vue+mysql)

基于javaweb+mysql的ssm+maven医院心理咨询问诊系统(java+spring+maven+mybatis+vue+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM+Maven医院心理咨询问诊系统(java+spring+maven+mybatis+vue+mysql)

一、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Spring + SpringMvc + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。

    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    @Autowired
    public void setDepartService(DepartService departService) {
        this.departService = departService;
    }

    @PostMapping("/login")
    public Result login(String username, String password, HttpServletRequest request,
                        HttpSession session) throws ParseException {

        System.out.println(EncryptUtil.encrypt(password));
        Admin admin = adminService.login(username, EncryptUtil.encrypt(password));
        if (admin != null) {
            //设置登录用户类型 1代表管理员
            String userType = "1";
            String token = TokenUtil.sign(username,userType);
            String loginIp = request.getHeader("x-forwarded-for");
            if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
                loginIp = request.getHeader("Proxy-Client-IP");//获取代理的IP
            }
            if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
                loginIp = request.getHeader("WL-Proxy-Client-IP");//获取代理的IP
            }
            if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
                loginIp = request.getRemoteAddr();
            }
            Date date = new Date();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String nowTime = simpleDateFormat.format(date);
            Date loginTime = simpleDateFormat.parse(nowTime);
            Date logoutTime = loginTime;
            Integer isSafeExit = 0;
            adminService.insAdminLog(username, loginIp, loginTime, logoutTime, isSafeExit);
            //保存登录时间
            session.setAttribute("adminLoginTime",loginTime);
            //返回数据给前端
            Object[] objects = {admin,token,userType};
            return new Result(ResultCode.SUCCESS,objects);
        }
        return new Result(ResultCode.USERNAMEPASSWORDERROR);
    }

    //获取登录日志
    @RequestMapping("/getAdminLogList")
    public Result getAdminLogList(Integer page, Integer limit)
            throws ParseException {
        return adminService.getAdminLogList(page, limit);
    }

    @RequestMapping("/getAllUserList")
    public Result getAllUserList(Integer page, Integer limit, UserSearch search) {
       return userService.getAllUserList(page, limit, search);
            return new Result(ResultCode.EXIST);
        }
        return new Result(ResultCode.SUCCESS);
    }

    //添加新管理员
    @RequestMapping("/insAdmin")
    public Result insAdmin(Admin admin) {
        int flag = adminService.insAdmin(admin);
        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/logout")
    public Result loginOut(HttpSession session)
            throws ParseException {

        Date loginTime = (Date) session.getAttribute("adminLoginTime");
        AdminLog adminLog = adminService.getAdminLogByLoginTime(loginTime);
        adminLog.setIsSafeExit(1);
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String nowTime = simpleDateFormat.format(date);
        Date logoutTime = simpleDateFormat.parse(nowTime);
        adminLog.setLogoutTime(logoutTime);
        adminService.updateAdminLog(adminLog);
        session.invalidate();
        return new Result(ResultCode.SUCCESS);
    }

}

        return new Result(ResultCode.FAIL);

    }

    @RequestMapping("/judgeArc")
    public Result judgeArc(Archives archives,HttpSession session) {
        Integer user_id = (Integer) session.getAttribute("user_id");

        archives.setArc_user_id(user_id);
        return archivesService.getArcByTime(archives);
    }

}

/**
 * @program: college-health
 */
@RestController
@RequestMapping("/reservation")
public class ReservationController {

    private ReservationService reservationService;

    @Autowired
    public void setReservationService(ReservationService reservationService) {
        this.reservationService = reservationService;
    }

    @RequestMapping("/chooseResDate/{doctor_id}")
    public Result chooseResDate(@PathVariable("doctor_id")int doctor_id, HttpSession session) {
        session.setAttribute("res_doctor_id",doctor_id);
        return new Result(ResultCode.SUCCESS);
                return new Result(ResultCode.USERNAMEPASSWORDERROR);
            }
        }
        return new Result(ResultCode.FAIL);
    }

    //删除一个管理员
    @RequestMapping("/delAdminById/{id}")
    public Result delAdminById(@PathVariable("id") Long id) {
        if (id == 1) {
            return new Result(ResultCode.FAIL);
        }
        int flag = adminService.delAdminById(id);
        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);

    }

    //检查是否已经存在此用户名
    @RequestMapping("/checkAdminName/{username}")
    public Result checkAdminName(@PathVariable("username") String username) {
        Admin admin = adminService.getAdminByUsername(username);
        if (admin != null) {
            return new Result(ResultCode.EXIST);
        }
        return new Result(ResultCode.SUCCESS);
    }

    //添加新管理员
    @RequestMapping("/insAdmin")
    public Result insAdmin(Admin admin) {
        int flag = adminService.insAdmin(admin);
        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/logout")
    }

    //查看个人信息
    @RequestMapping("/personalData/{username}")
    public Result personalDate(@PathVariable("username") String username, HttpSession session) {
        User user = userService.getUserByUserName(username);
        session.setAttribute("user",user);
        return new Result(ResultCode.SUCCESS,user);
    }

    @RequestMapping("/doctorList")
    public Result doctorList(HttpSession session) {
        List<Depart> departs=departService.getAllDeparts();
        session.setAttribute("departs",departs);
        return new Result(ResultCode.SUCCESS,departs);
    }
}

/**
 * @program: college-health
 */
@RestController
@RequestMapping("/doctor")
public class DoctorController {

    private DoctorService doctorService;

    @Autowired
    public void setDoctorService(DoctorService doctorService) {

        return new Result(ResultCode.FAIL);
    }

}

/**
 *  
 */
@RestController
@RequestMapping("/knowledge")
public class KnowledgeController {

    private KnowledgeService knowledgeService;

    @Autowired
    public void setKnowledgeService(KnowledgeService knowledgeService) {
        this.knowledgeService = knowledgeService;
    }

    @RequestMapping("/getKnowledgeList")
    public Result getKnowledgeList(Integer page,Integer limit){
        return knowledgeService.getKnowledgeList(page,limit);
    }

    @RequestMapping("/getKnowledgeByKeyword")
    public Result getKnowledgeByKeyword(String keyword,Integer page,Integer limit){
        return knowledgeService.getKnowledgeByKeyword(page,limit,keyword);
    }

    @RequestMapping("/insKnowledge")
        if (id == 1) {
            return new Result(ResultCode.FAIL);
        }
        int flag = adminService.delAdminById(id);
        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);

    }

    //检查是否已经存在此用户名
    @RequestMapping("/checkAdminName/{username}")
    public Result checkAdminName(@PathVariable("username") String username) {
        Admin admin = adminService.getAdminByUsername(username);
        if (admin != null) {
            return new Result(ResultCode.EXIST);
        }
        return new Result(ResultCode.SUCCESS);
    }

    //添加新管理员
    @RequestMapping("/insAdmin")
    public Result insAdmin(Admin admin) {
        int flag = adminService.insAdmin(admin);
        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/logout")
    public Result loginOut(HttpSession session)
            throws ParseException {

        Date loginTime = (Date) session.getAttribute("adminLoginTime");
        AdminLog adminLog = adminService.getAdminLogByLoginTime(loginTime);
        adminLog.setIsSafeExit(1);
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String nowTime = simpleDateFormat.format(date);
 */
@RestController
@RequestMapping("/user")
public class UserController {

    private UserService userService;
    private DepartService departService;

    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    @Autowired
    public void setDepartService(DepartService departService) {
        this.departService = departService;
    }

    @RequestMapping("/login")
    @ResponseBody
    public Result login(String username, String password, HttpSession session) {
        User user=userService.login(username, EncryptUtil.encrypt(password));
        if(user!=null)
        {
            Integer status=user.getStatus();
            if(status==0)
            {
                return new Result(ResultCode.FAIL);
            }
            session.setAttribute("user",user);
            session.setAttribute("user_id",user.getUser_id());
            session.setAttribute("user_photo",user.getPhoto_path());//获得头像图片名

            //2代表学生患者登录
            String userType = "2";
            String token = TokenUtil.sign(username,userType);
            Object[] objects = {user,token,userType};
            return new Result(ResultCode.SUCCESS,objects);
        } else {
            return new Result(ResultCode.USERNAMEPASSWORDERROR);
        int flag = noteService.insNote(note);
        if (flag > 0) {

            Reservation reservation=reservationService.getResByResId(res_id);
            reservation.setStatus(3); //此预约已经是接诊状态
            reservationService.updateRes(reservation);
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.SERVER_ERROR);
    }

    @RequestMapping("/getNoteList")
    public Result getNoteList(Integer page, Integer limit,HttpSession session) {

        Map map = new HashMap();
        Integer doctor_id= (Integer) session.getAttribute("doctor_id");
        Integer user_id = (Integer) session.getAttribute("user_id");

        map.put("doctor_id",doctor_id);
        map.put("user_id",user_id);
        return noteService.getNoteList(page,limit,map);
    }

    @RequestMapping("/editNote/{note_id}")
    public Result editNote(@PathVariable("note_id")int note_id, HttpSession session) {
        Note note=noteService.getNoteById(note_id);
        session.setAttribute("note",note);
        return new Result(ResultCode.SUCCESS,note);
    }

    @RequestMapping("/updateNote")
    public Result updateNote(Note note){
        int flag = noteService.updateNote(note);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/deleteNoteById/{note_id}")
    public Result deleteNoteById(@PathVariable("note_id") Integer note_id){
        int flag = noteService.deleteNoteById(note_id);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

}

            Doctor doctor = doctorService.getDoctorByUserName(username);
            if (doctor == null) {
                return responseData(request,response);
            }
        }
        boolean flag = TokenUtil.verify(token);
        if (flag == false){
            return responseData(request,response);
        }
        return true;
    }

    //响应数据
    public boolean responseData(HttpServletRequest request,HttpServletResponse response) throws IOException {
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        Result result = new Result(ResultCode.UNAUTHENTICATED);
        String s = JSON.toJSONString(result);
        System.out.println(request.getServletPath() + "方法被拦截!----");
        PrintWriter writer = response.getWriter();
        writer.println(s);
        return false;
    }

}

/**

    @RequestMapping("/checkDoctorName/{username}")
    public Result checkDoctorName(@PathVariable("username") String username) {
        Doctor doctor = doctorService.getDoctorByUserName(username);

        if (doctor == null) {
            return new Result(ResultCode.SUCCESS);
        }
        //此用户名已存在
        return new Result(ResultCode.EXIST,doctor);
    }

    @RequestMapping("/logout")
    public Result logOut(HttpSession session) {
        session.invalidate();
        return new Result(ResultCode.SUCCESS);
    }

    @RequestMapping("/getDoctorList")
    public Result getAllDoctorList(Integer page, Integer limit, DoctorSearch search) {
        return doctorService.getAllDoctorList(page, limit, search);
    }

}

/**
 * @program: college-health
 */
@RestController
@RequestMapping("/archive")
public class ArchivesController {

    private ArchivesService archivesService;
                return new Result(ResultCode.USERNAMEPASSWORDERROR);
            }
        }
        return new Result(ResultCode.SERVER_ERROR);
    }

    //医生注册
    @RequestMapping("/newUser")
    public Result newUser(Doctor doctor) {
        try {
            doctor.setRoleId(3); //角色里表示医生
            doctor.setDepart_id(1);//新注册医生 未分配科室
            doctor.setRank("0"); //新注册医生
            doctor.setPassword(EncryptUtil.encrypt(doctor.getPassword()));
            Date date = new Date();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String nowTime = simpleDateFormat.format(date);
            Date create_time = simpleDateFormat.parse(nowTime);

            doctor.setCreateTime(create_time);
            int flag = doctorService.insDoctor(doctor);

            if (flag > 0) {
                return new Result(ResultCode.SUCCESS);
            }
            return new Result(ResultCode.FAIL);

        } catch (Exception e) {
            e.printStackTrace();
            return new Result(ResultCode.SERVER_ERROR);
        }
    }

    @RequestMapping("/checkDoctorName/{username}")
    public Result checkDoctorName(@PathVariable("username") String username) {
        Doctor doctor = doctorService.getDoctorByUserName(username);

        if (doctor == null) {
            return new Result(ResultCode.SUCCESS);
        }
        //此用户名已存在
        return new Result(ResultCode.EXIST,doctor);
    }

    @RequestMapping("/logout")
    public Result logOut(HttpSession session) {
        session.invalidate();
        return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/deleteNoteById/{note_id}")
    public Result deleteNoteById(@PathVariable("note_id") Integer note_id){
        int flag = noteService.deleteNoteById(note_id);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

}

/**
 * @program: college-health
 */
@RestController
@RequestMapping("/mind")
public class MindController {

    private MindService mindService;
    private UserService userService;
    private ArchivesService archivesService;

    @Autowired
    public void setMindService(MindService mindService) {
        }
        return true;
    }

    //响应数据
    public boolean responseData(HttpServletRequest request,HttpServletResponse response) throws IOException {
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        Result result = new Result(ResultCode.UNAUTHENTICATED);
        String s = JSON.toJSONString(result);
        System.out.println(request.getServletPath() + "方法被拦截!----");
        PrintWriter writer = response.getWriter();
        writer.println(s);
        return false;
    }

}

/**
 * @program: college-health
 */
@RestController
@RequestMapping("/depart")
public class DepartController {

    private DepartService departService;
    private DoctorService doctorService;

    @Autowired
    public void setDepartService(DepartService departService) {
        this.departService = departService;
    }
    @Autowired
    public void setDoctorService(DoctorService doctorService) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/getUserByUserName")
    public Result getUserByUserName(String username,HttpSession session){
        User user = userService.getUserByUserName(username);
        session.setAttribute("user",user);
        return new Result(ResultCode.SUCCESS,user);
    }

    @RequestMapping("/changeUserPassword")
    public Result changeStudentPassword(String password,String newPassword,String username) {

        User user= userService.getUserByUserName(username);
        if(user!=null)
        {
            if(user.getPassword().equals(EncryptUtil.encrypt(password)))
            {
                user.setPassword(EncryptUtil.encrypt(newPassword));
                int flag = userService.updateUser(user);
                if (flag > 0){
                    return new Result(ResultCode.SUCCESS);
                }
            }
            else {
                return new Result(ResultCode.USERNAMEPASSWORDERROR);
            }
        }
        return new Result(ResultCode.FAIL);
    }

    //注册
    @RequestMapping("/newUser")
    public  Result newUser(User user) {
        try
        {
            user.setStatus(1); //1表示正常
            user.setRoleId((long) 2); //角色里表示一般用户
            user.setPassword(EncryptUtil.encrypt(user.getPassword()));
            Date date= new Date();
            SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String nowTime=simpleDateFormat.format(date);
            Date create_time=simpleDateFormat.parse(nowTime);
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String nowTime=simpleDateFormat.format(date);
        Date create_time=simpleDateFormat.parse(nowTime);
        reservation.setCreate_time(create_time);
        reservation.setRes_doc_id(doctor_id);
        reservation.setRes_user_id(user_id);
        reservation.setStatus(1); //1表示预约状态
        int flag = reservationService.addReservation(reservation);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);

    }

    @RequestMapping("/getAllMyReservationList")
    public Result getAllMyReservationList(Integer page, Integer limit,HttpSession session) {
        Integer user_id= (Integer) session.getAttribute("user_id");
        return reservationService.getAllMyReservationList(page,limit,user_id);
    }

    @RequestMapping("/getMyResDoneList")
    public Result getMyResDoneList(Integer page, Integer limit,HttpSession session) {
        Integer user_id= (Integer) session.getAttribute("user_id");
        return reservationService.getMyResDoneList(page,limit,user_id);
    }

    @RequestMapping("/cancelRes/{res_id}")
    public Result cancelRes(@PathVariable("res_id") int res_id) {
        Reservation reservation=reservationService.getResByResId(res_id);
        reservation.setStatus(0);  //0为患者取消预约状态
        int flag = reservationService.updateRes(reservation);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/getDoctorResList")
    public Result getDoctorResList(Integer page, Integer limit,HttpSession session) {
        return new Result(ResultCode.FAIL);
    }

    @RequestMapping("/deleteMind/{mind_id}")
    public Result deleteMind(@PathVariable("mind_id") Integer mind_id) {

        int flag = mindService.deleteMind(mind_id);

        if (flag > 0) {
            return new Result(ResultCode.SUCCESS);
        }
        return new Result(ResultCode.FAIL);
    }
}

/**
 * @program: college-health
 */


/**
 * @program: college-health
 */
@RestController
@RequestMapping("/admin")
public class AdminController {

    private AdminService adminService;
    private DoctorService doctorService;
    private UserService userService;
    private DepartService departService;

    @Autowired
    public void setAdminService(AdminService adminService) {
        this.adminService = adminService;
    }
    @Autowired
    public void setDoctorService(DoctorService doctorService) {
        this.doctorService = doctorService;
    }
    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    @Autowired
    public void setDepartService(DepartService departService) {
        this.departService = departService;

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值