Java毕业设计实战之医院心理咨询问诊系统的实现

作者:OldWinePot 时间:2022-07-04 19:02:21 

一、项目运行

环境配置:

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

项目技术:

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

Java毕业设计实战之医院心理咨询问诊系统的实现

Java毕业设计实战之医院心理咨询问诊系统的实现

Java毕业设计实战之医院心理咨询问诊系统的实现

Java毕业设计实战之医院心理咨询问诊系统的实现

Java毕业设计实战之医院心理咨询问诊系统的实现

系统控制器:


/**
* 系统控制器
* @author yy
*
*/
@RequestMapping("/system")
@Controller
public class SystemController {

@Autowired
   private OrderAuthService orderAuthService;
   @Autowired
   private OperaterLogService operaterLogService;

@Autowired
   private UserService userService;

@Autowired
   private DatabaseBakService databaseBakService;

@Autowired
   private OrderReceivingService orderReceivingService;

@Value("${show.tips.text}")
   private String showTipsText;
   @Value("${show.tips.url.text}")
   private String showTipsUrlText;
   @Value("${show.tips.btn.text}")
   private String showTipsBtnText;
   @Value("${show.tips.url}")
   private String showTipsUtl;
   private Logger log = LoggerFactory.getLogger(SystemController.class);

/**
    * 登录页面
    * @param model
    * @param model
    * @return
    */
   @RequestMapping(value="/login",method=RequestMethod.GET)
   public String login(Model model){
       return "admin/system/login";
   }

/**
    * 用户登录提交表单处理方法
    * @param request
    * @param user
    * @param cpacha
    * @return
    */
   @RequestMapping(value="/login",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> login(HttpServletRequest request,User user,String cpacha){
       if(user == null){
           return Result.error(CodeMsg.DATA_ERROR);
       }
       //用统一验证实体方法验证是否合法
       CodeMsg validate = ValidateEntityUtil.validate(user);
       if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
           return Result.error(validate);
       }
       //表示实体信息合法,开始验证验证码是否为空
       if(StringUtils.isEmpty(cpacha)){
           return Result.error(CodeMsg.CPACHA_EMPTY);
       }
       //说明验证码不为空,从session里获取验证码
       Object attribute = request.getSession().getAttribute("admin_login");
       if(attribute == null){
           return Result.error(CodeMsg.SESSION_EXPIRED);
       }
       //表示session未失效,进一步判断用户填写的验证码是否正确
       if(!cpacha.equalsIgnoreCase(attribute.toString())){
           return Result.error(CodeMsg.CPACHA_ERROR);
       }
       //表示验证码正确,开始查询数据库,检验密码是否正确
       User findByUsername = userService.findByUsername(user.getUsername());
       //判断是否为空
       if(findByUsername == null){
           return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);
       }
       //表示用户存在,进一步对比密码是否正确
       if(!findByUsername.getPassword().equals(user.getPassword())){
           return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);
       }
       //表示密码正确,接下来判断用户状态是否可用
       if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){
           return Result.error(CodeMsg.ADMIN_USER_UNABLE);
       }
       //检查用户所属角色状态是否可用
       if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){
           return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);
       }
       //检查用户所属角色的权限是否存在
       if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){
           return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);
       }
       //检查一切符合,可以登录,将用户信息存放至session
       request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);
       //销毁session中的验证码
       request.getSession().setAttribute("admin_login", null);
       //将登陆记录写入日志库
       operaterLogService.add("用户【"+user.getUsername()+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");
       log.info("用户成功登录,user = " + findByUsername);
       return Result.success(true);
   }

/**
    * 登录成功后的系统主页
    * @param model
    * @return
    */
   @RequestMapping(value="/index")
   public String index(Model model){
       model.addAttribute("operatorLogs", operaterLogService.findLastestLog(10));
       model.addAttribute("userTotal", userService.total());
       model.addAttribute("operatorLogTotal", operaterLogService.total());
       model.addAttribute("databaseBackupTotal", databaseBakService.total());
       model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount);
       model.addAttribute("orderReceivings", orderReceivingService.findOrderReceivingDesc());
       model.addAttribute("showTipsText", showTipsText);
       model.addAttribute("showTipsUrlText", showTipsUrlText);
       model.addAttribute("showTipsUtl", showTipsUtl);
       model.addAttribute("showTipsBtnText", showTipsBtnText);
       return "admin/system/index";
   }

/**
    * 注销登录
    * @return
    */
   @RequestMapping(value="/logout")
   public String logout(){
       User loginedUser = SessionUtil.getLoginedUser();
       if(loginedUser != null){
           SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null);
       }
       return "redirect:login";
   }

/**
    * 无权限提示页面
    * @return
    */
   @RequestMapping(value="/no_right")
   public String noRight(){
       return "admin/system/no_right";
   }

/**
    * 修改用户个人信息
    * @return
    */
   @RequestMapping(value="/update_userinfo",method=RequestMethod.GET)
   public String updateUserInfo(){
       return "admin/system/update_userinfo";
   }

/**
    * 修改个人信息保存
    * @param user
    * @return
    */
   @RequestMapping(value="/update_userinfo",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> updateUserInfo(User user) throws Exception {
       User loginedUser = SessionUtil.getLoginedUser();
       loginedUser.setId(user.getId());
       if(user.getEmail() == null){
           Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);
       }
       loginedUser.setEmail(user.getEmail());
       if(user.getMobile() == null){
           Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
       }
       loginedUser.setMobile(user.getMobile());
       loginedUser.setHeadPic(user.getHeadPic());
       int age = DateUtil.getAge(user.getBirthDay());
       if (age < 0) {
           Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
       }
       loginedUser.setAge(age);
       loginedUser.setBirthDay(user.getBirthDay());
       if(user.getName() == null){
           Result.error(CodeMsg.ADMIN_PUBLIC_NAME);
       }
       loginedUser.setName(user.getName());
       //首先保存到数据库
       userService.save(loginedUser);
       //更新session里的值
       SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);
       return Result.success(true);
   }

/**
    * 修改密码页面
    * @return
    */
   @RequestMapping(value="/update_pwd",method=RequestMethod.GET)
   public String updatePwd(){
       return "admin/system/update_pwd";
   }

/**
    * 修改密码表单提交
    * @param oldPwd
    * @param newPwd
    * @return
    */
   @RequestMapping(value="/update_pwd",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> updatePwd(@RequestParam(name="oldPwd",required=true)String oldPwd,
                                    @RequestParam(name="newPwd",required=true)String newPwd
   ){
       User loginedUser = SessionUtil.getLoginedUser();
       if(!loginedUser.getPassword().equals(oldPwd)){
           return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);
       }
       if(StringUtils.isEmpty(newPwd)){
           return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);
       }
       loginedUser.setPassword(newPwd);
       //保存数据库
       userService.save(loginedUser);
       //更新session
       SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);
       return Result.success(true);
   }

/**
    * 日志管理列表
    * @param model
    * @param operaterLog
    * @param pageBean
    * @return
    */
   @RequestMapping(value="/operator_log_list")
   public String operatorLogList(Model model,OperaterLog operaterLog,PageBean<OperaterLog> pageBean){
       model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));
       model.addAttribute("operator", operaterLog.getOperator());
       model.addAttribute("title", "日志列表");
       return "admin/system/operator_log_list";
   }

/**
    * 删除操作日志,可删除多个
    * @param ids
    * @return
    */
   @RequestMapping(value="/delete_operator_log",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> delete(String ids){
       if(!StringUtils.isEmpty(ids)){
           String[] splitIds = ids.split(",");
           for(String id : splitIds){
               operaterLogService.delete(Long.valueOf(id));
           }
       }
       return Result.success(true);
   }

/**
    * 验证订单
    * @param orderSn
    * @param phone
    * @return
    */
   @RequestMapping(value="/auth_order",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> authOrder(@RequestParam(name="orderSn",required=true)String orderSn,@RequestParam(name="phone",required=true)String phone){
       OrderAuth orderAuth = new OrderAuth();
       orderAuth.setMac(StringUtil.getMac());
       orderAuth.setOrderSn(orderSn);
       orderAuth.setPhone(phone);
       orderAuthService.save(orderAuth);
       AppConfig.ORDER_AUTH = 1;
       return Result.success(true);
   }

/**
    * 清空整个日志
    * @return
    */
   @RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> deleteAll(){
       operaterLogService.deleteAll();
       return Result.success(true);
   }
}

后台角色管理控制器:


/**
* 后台角色管理控制器
* @author yy
*
*/
@RequestMapping("/role")
@Controller
public class RoleController {

private Logger log = LoggerFactory.getLogger(RoleController.class);

@Autowired
private MenuService menuService;

@Autowired
private OperaterLogService operaterLogService;

@Autowired
private RoleService roleService;

/**
* 分页搜索角色列表
* @param model
* @param role
* @param pageBean
* @return
*/
@RequestMapping(value="/list")
public String list(Model model,Role role,PageBean<Role> pageBean){
model.addAttribute("title", "角色列表");
model.addAttribute("name", role.getName());
model.addAttribute("pageBean", roleService.findByName(role, pageBean));
return "admin/role/list";
}

/**
* 角色添加页面
* @param model
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){
List<Menu> findAll = menuService.findAll();
model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));
return "admin/role/add";
}

/**
* 角色添加表单提交处理
* @param role
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(Role role){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(role);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(roleService.save(role) == null){
return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);
}
log.info("添加角色【"+role+"】");
operaterLogService.add("添加角色【"+role.getName()+"】");
return Result.success(true);
}

/**
* 角色编辑页面
* @param id
* @param model
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String edit(@RequestParam(name="id",required=true)Long id,Model model){
List<Menu> findAll = menuService.findAll();
model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));
Role role = roleService.find(id);
model.addAttribute("role", role);
model.addAttribute("authorities",JSONArray.toJSON(role.getAuthorities()).toString());
return "admin/role/edit";
}

/**
* 角色修改表单提交处理
* @param request
* @param role
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(Role role){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(role);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
Role existRole = roleService.find(role.getId());
if(existRole == null){
return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);
}
existRole.setName(role.getName());
existRole.setRemark(role.getRemark());
existRole.setStatus(role.getStatus());
existRole.setAuthorities(role.getAuthorities());
if(roleService.save(existRole) == null){
return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);
}
log.info("编辑角色【"+role+"】");
operaterLogService.add("编辑角色【"+role.getName()+"】");
return Result.success(true);
}

/**
* 删除角色
* @param request
* @param id
* @return
*/
@RequestMapping(value="delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
try {
roleService.delete(id);
} catch (Exception e) {
// TODO: handle exception
return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
}
log.info("编辑角色ID【"+id+"】");
operaterLogService.add("删除角色ID【"+id+"】");
return Result.success(true);
}
}

后台用户管理控制器:


/**
* 后台用户管理控制器
* @author yy
*
*/
@RequestMapping("/user")
@Controller
public class UserController {

@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
/**
* 用户列表页面
* @param model
* @param user
* @param pageBean
* @return
*/
@RequestMapping(value="/list")
public String list(Model model,User user,PageBean<User> pageBean){
model.addAttribute("title", "用户列表");
model.addAttribute("username", user.getUsername());
model.addAttribute("pageBean", userService.findList(user, pageBean));
return "admin/user/list";
}

/**
* 新增用户页面
* @param model
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){
model.addAttribute("roles", roleService.findSome());
return "admin/user/add";
}

/**
* 用户添加表单提交处理
* @param user
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(User user){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(user.getRole() == null || user.getRole().getId() == null){
return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);
}
//判断用户名是否存在
if(userService.isExistUsername(user.getUsername(), 0l)){
return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);
}

int age = DateUtil.getAge(user.getBirthDay());
if (age < 0) {
return   Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
}
user.setAge(age);
//到这说明一切符合条件,进行数据库新增
if(userService.save(user) == null){
return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);
}
operaterLogService.add("添加用户,用户名:" + user.getUsername());
return Result.success(true);
}

/**
* 用户编辑页面
* @param model
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String edit(Model model,@RequestParam(name="id",required=true)Long id){
model.addAttribute("roles", roleService.findSome());
model.addAttribute("user", userService.find(id));
return "admin/user/edit";
}

/**
* 编辑用户信息表单提交处理
* @param user
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(User user){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(user.getRole() == null || user.getRole().getId() == null){
return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY_EDIT);
}
if(user.getRole().getId() == Doctor.DOCTOR_ROLE_ID || user.getRole().getId() == Patient.PATIENT_ROLE_ID){
return Result.error(CodeMsg.ADMIN_USER_ROLE_CANNOT_CHANGE);
}
if(user.getId() == null || user.getId().longValue() <= 0){
return Result.error(CodeMsg.ADMIN_USE_NO_EXIST);
}
if(userService.isExistUsername(user.getUsername(), user.getId())){
return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);
}
//到这说明一切符合条件,进行数据库保存
User findById = userService.find(user.getId());
int age = DateUtil.getAge(user.getBirthDay());
if (age < 0) {
return   Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
}
user.setAge(age);
//讲提交的用户信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容
BeanUtils.copyProperties(user, findById, "id","createTime","updateTime");
if(userService.save(findById) == null){
return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR);
}
operaterLogService.add("编辑用户,用户名:" + user.getUsername());
return Result.success(true);
}

/**
* 删除用户
* @param id
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
try {
userService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
}
operaterLogService.add("添加用户,用户ID:" + id);
return Result.success(true);
}
}

医生管理控制层:


/**
* 医生管理控制层
*/

@Controller
@RequestMapping("/doctor")
public class DoctorController {

@Autowired
   private DoctorService doctorService;

@Autowired
   private UserService userService;

@Autowired
   private RoleService roleService;

@Autowired
   private OperaterLogService operaterLogService;

@Autowired
   private DepartmentService departmentService;

@Autowired
   private OrderReceivingService orderReceivingService;

@Autowired
   private BedAllotService bedAllotService;

/**
    * 跳转医生列表页面
    * @param model
    * @param doctor
    * @param pageBean
    * @return
    */
   @RequestMapping(value = "/list")
   public String list(Model model, Doctor doctor, PageBean<Doctor> pageBean) {
       model.addAttribute("title", "医生列表");
       if (doctor.getUser() != null) {
           model.addAttribute("name", doctor.getUser().getName());
       }
       model.addAttribute("pageBean", doctorService.findList(doctor, pageBean));
       return "admin/doctor/list";
   }

/**
    * 医生添加页面
    * @param model
    * @return
    */
   @RequestMapping(value = "/add", method = RequestMethod.GET)
   public String add(Model model) {

model.addAttribute("departments", departmentService.findAllDepartment());
       return "admin/doctor/add";
   }

/**
    * 医生添加提交
    * @param doctor
    * @return
    */
   @RequestMapping(value = "/add", method = RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> add(Doctor doctor) {

CodeMsg validate = ValidateEntityUtil.validate(doctor);

if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
           return Result.error(validate);
       }
       if(Objects.isNull(doctor.getUser().getEmail())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);
       }
       if(Objects.isNull(doctor.getUser().getMobile())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);
       }

if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);
       }
       if (!StringUtil.isMobile(doctor.getUser().getMobile())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
       }

Role role = roleService.find(Doctor.DOCTOR_ROLE_ID);
       String dNo = StringUtil.generateSn(Doctor.PATIENT_ROLE_DNO);

int age = DateUtil.getAge(doctor.getUser().getBirthDay());
       if (age < 0) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
       }

doctor.setDoctorDno(dNo);
       doctor.getUser().setPassword(dNo);
       doctor.getUser().setUsername(dNo);
       doctor.getUser().setRole(role);

User user = doctor.getUser();
       user.setAge(age);

User save = userService.save(user);
       if (userService.save(user) == null) {
           return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);
       }
       operaterLogService.add("添加用户,用户名:" + user.getUsername());
       doctor.setUser(save);

if (doctorService.save(doctor) == null) {
           return Result.error(CodeMsg.ADMIN_DOCTOR_ADD_EXIST);
       }
       return Result.success(true);
   }

/**
    * 医生修改页面
    * @param model
    * @param id
    * @return
    */
   @RequestMapping(value = "/edit", method = RequestMethod.GET)
   public String edit(Model model, @RequestParam(name = "id") Long id) {
       model.addAttribute("doctor", doctorService.find(id));
       model.addAttribute("departments", departmentService.findAllDepartment());
       return "admin/doctor/edit";
   }

/**
    * 医生修改提交
    * @param doctor
    * @return
    */
   @RequestMapping(value = "/edit", method = RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> edit(Doctor doctor) {
       Doctor findDoctor = doctorService.find(doctor.getId());

List<Doctor> doctors = doctorService.findByDoctorDno(findDoctor.getDoctorDno());

if (doctors.size() > 1 || doctors.size() <= 0) {
           return Result.error(CodeMsg.ADMIN_PATIENT_PNO_ERROR);
       }

if (doctors.get(0).getId() != doctor.getId()) {
           return Result.error(CodeMsg.ADMIN_PATIENT_PNO_ERROR);
       }
       if(Objects.isNull(doctor.getUser().getEmail())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);
       }
       if(Objects.isNull(doctor.getUser().getMobile())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);
       }
       if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);
       }
       if (!StringUtil.isMobile(doctor.getUser().getMobile())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
       }

int age = DateUtil.getAge(doctor.getUser().getBirthDay());
       if (age < 0) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
       }

findDoctor.setDepartment(doctor.getDepartment());
       findDoctor.setDescription(doctor.getDescription());
       findDoctor.setExperience(doctor.getExperience());

User user = doctor.getUser();
       user.setAge(age);

BeanUtils.copyProperties(user, findDoctor.getUser(), "id", "createTime", "updateTime", "password", "username", "role");

userService.save(findDoctor.getUser());
       doctorService.save(findDoctor);

return Result.success(true);
   }

/**
    * 删除医生用户
    * @param id
    * @return
    */
   @RequestMapping(value = "/delete", method = RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> delete(@RequestParam(name = "id", required = true) Long id) {
       try {
           Doctor doctor = doctorService.find(id);
           doctorService.deleteById(id);
           userService.delete(doctor.getUser().getId());
       } catch (Exception e) {
           return Result.error(CodeMsg.ADMIN_DOCTOR_DELETE_ERROR);
       }
       operaterLogService.add("添加用户,用户ID:" + id);
       return Result.success(true);
   }

/**
    * 修改个人出诊状态页面
    * @param model
    * @return
    */
   @RequestMapping(value = "/updateStatus", method = RequestMethod.GET)
   public String updateDoctorStatus(Model model) {
       Doctor doctor = doctorService.findByLoginDoctorUser();
       model.addAttribute("title","个人出诊信息修改");
       model.addAttribute("doctor", doctor);
       return "admin/doctor/visitingStatus";
   }

/**
    * 提交修改个人出诊状态
    * @param doctor
    * @return
    */
   @RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
   @ResponseBody
   public Result<Boolean> editStatus(Doctor doctor) {
       Doctor doc = doctorService.findByLoginDoctorUser();
       if(Objects.isNull(doctor.getUser().getEmail())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);
       }
       if(Objects.isNull(doctor.getUser().getMobile())){
           return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);
       }
       if (!StringUtil.isMobile(doctor.getUser().getMobile())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
       }
       if (!StringUtil.emailFormat(doctor.getUser().getEmail())) {
           return Result.error(CodeMsg.ADMIN_PUBLIC_EMAIL);
       }
       User user = doc.getUser();
       user.setEmail(doctor.getUser().getEmail());
       user.setMobile(doctor.getUser().getMobile());
       user.setStatus(doctor.getStatus());
       doc.setStatus(doctor.getStatus());
       doc.setDescription(doctor.getDescription());
       doc.setExperience(doctor.getExperience());
       BeanUtils.copyProperties(user, doctor.getUser(), "id", "createTime", "updateTime", "password", "username", "role", "sex", "age", "birthday");
       doctorService.save(doc);
       return Result.success(true);
   }

/**
    * 医生查询接单记录
    * @param model
    * @param pageBean
    * @return
    */
   @RequestMapping(value = "/orderRecord",method = RequestMethod.GET)
   public String doctorOrderRecords(Model model, PageBean<OrderReceiving> pageBean) {
       //获取医生登录的信息
       Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();
       model.addAttribute("title", "出诊信息");
       model.addAttribute("pageBean", orderReceivingService.findByDoctorId(pageBean,loginDoctorUser.getId()));
       return "admin/doctor/orderRecord";
   }

/**
    * 查看自己科室所有医生信息
    * @param model
    * @param pageBean
    * @return
    */
   @RequestMapping(value = "/findByDepartment", method = RequestMethod.GET)
   public String AllDoctorByDepartment(Model model,PageBean<Doctor> pageBean) {
       Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();
       model.addAttribute("title", "本科室所有医生列表");
       model.addAttribute("pageBean", doctorService.findAllByDepartment(pageBean, loginDoctorUser.getDepartment().getId()));
       return "admin/doctor/doctorInformation";
   }

/**
    * 医生完成出诊订单
    * @param id
    * @return
    */
   @RequestMapping(value = "/orderRecord",method = RequestMethod.POST)
   @ResponseBody
   public Result<Boolean>modifyVisitStatus(Long id){
       boolean flag = doctorService.modifyVisitStatus(id);
       if (flag){
         return Result.success(true);
       }
       return Result.error(CodeMsg.ADMIN_DOCTOR_CANNOT_REPEATED);
   }

/**
    * 管理员查看所有订单信息
    * @param model
    * @param orderReceiving
    * @param pageBean
    * @return
    */
   @RequestMapping(value="/allOrderInformation",method = RequestMethod.GET)
   public String findAll(Model model,OrderReceiving orderReceiving, PageBean<OrderReceiving> pageBean){
       model.addAttribute("title","出诊信息");
       model.addAttribute("pageBean",orderReceivingService.findList(orderReceiving,pageBean));
       return "admin/doctor/allOrderInformation";
   }

/**
    * 医生查询负责的住院信息
    */
   @RequestMapping(value="/bedAllot")
   public String bedAllotSelf(Model model,PageBean<BedAllot> pageBean){
       Doctor loginDoctorUser = doctorService.findByLoginDoctorUser();
       Long doctorId = loginDoctorUser.getId();
       model.addAttribute("title","住院信息");
       model.addAttribute("pageBean",bedAllotService.findByDoctor(pageBean,doctorId));
       return "admin/doctor/bedAllot";
   }

}

来源:https://blog.csdn.net/pastclouds/article/details/122445930

标签:Java,心理咨询问诊,毕业设计
0
投稿

猜你喜欢

  • c#动态类型,及动态对象的创建,合并2个对象,map实例

    2023-04-28 17:40:12
  • Java实现布隆过滤器的方法步骤

    2023-02-15 20:31:47
  • C++中的类模板详解及示例

    2023-10-04 17:33:28
  • Java集合删除元素ArrayList实例详解

    2022-11-09 19:12:39
  • Java中Collections.emptyList()的注意事项

    2022-02-28 18:04:54
  • 一文带你探究Spring中Bean的线程安全性问题

    2023-10-03 10:52:13
  • Android开发中synchronized的三种使用方式详解

    2023-12-13 03:33:37
  • Linux下执行java程序的方法

    2023-01-25 07:22:23
  • 浅谈Java中Map和Set之间的关系(及Map.Entry)

    2023-08-25 02:23:48
  • DataGridView自定义单元格表示值、Error图标显示的方法介绍

    2023-12-09 19:07:04
  • Kotlin编程基础语法编码规范

    2023-06-20 16:50:07
  • Hashmap非线程安全关于hash值冲突处理

    2023-11-11 09:22:10
  • SpringBoot参数校验的最佳实战教程

    2023-11-28 21:13:47
  • Android自定义view实现输入控件

    2022-12-11 10:08:06
  • C#实现视频的批量剪辑功能

    2023-07-15 06:18:30
  • SpringBoot和Swagger结合提高API开发效率

    2023-11-25 01:23:16
  • 新手小心:c语言中强符号与弱符号的使用

    2023-06-24 15:16:23
  • 浅谈java中定义泛型类和定义泛型方法的写法

    2023-04-19 14:28:59
  • Kotlin伴随对象的初始化方法示例讲解

    2022-07-24 05:53:06
  • Android优化提升应用启动速度及Splash页面的设计

    2022-02-18 06:02:27
  • asp之家 软件编程 m.aspxhome.com