基于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;