24基于java的宠物医院管理系统-毕业设计

44 篇文章 3 订阅
1 篇文章 0 订阅
本文介绍了宠物医院管理系统,该系统针对系统管理员、医生和用户设置了不同权限,如预约管理、宠物档案和健康监控。系统基于前端HTML、CSS、JS、Layui和jQuery,后端采用Java、Spring及MyBatis框架。提供登录、注册、用户列表等功能,并展示了部分核心代码,如用户服务实现类。
摘要由CSDN通过智能技术生成

项目背景

随着互联网的普及,已经和我们的生活不可分割;宠物渐渐的已经成为了我们的好朋友,宠物医院管理系统可以帮助用户合理的管理宠物,呵护宠物的健康,对宠物起到了一个健康监控的作用;

【重要】💕💕文末获取源码

项目介绍

系统总体分为3个角色:分别是系统管理员;医生和用户;不能的角色拥有不同的功能权限,下面详细介绍:
系统管理员:

  1. 系统设置
  2. 宠物管理
  3. 预约管理
  4. 日常健康
  5. 宠物档案管理
  6. 医院管理(预约统计,发布指南等等…)

医生:

  1. 宠物管理(宠物健康史 …)
  2. 预约管理(预约管理,医生时间管理…)
  3. 宠物档案管理(宠物日志…)
  4. 医院管理(预约统计,发布指南等等…)

用户:

  1. 宠物管理(个人宠物列表,宠物健康史…)
  2. 预约管理(预约管理,医生时间管理…)
  3. 日常健康(健康指南,健康监测,健康标准…)
  4. 宠物档案管理(预约统计,宠物日志,日志图片分析…)

以上的权限都是可以由系统管理员重新分配的

项目环境

前端:html, css, js, layui, jquery等;
后端:java, spring,maven等
开发工具:mysql8, eclipse或idea

部分核心代码

import org.springframework.stereotype.Service;
import xyz.shiguangliang.mybatis.dao.UserMapper;

import xyz.shiguangliang.mybatis.domain.User;
import xyz.shiguangliang.service.UserService;
import xyz.shiguangliang.util.query.QueryInfo;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;

    //登录
    @Override
    public User login(String username, String password) {
        User user = userMapper.selectLogin(username,password);
        if (user != null) {
            //登录次数加一
            if (user.getIntimes() !=  null) {
                user.setIntimes(user.getIntimes() + 1);
            }else {
                user.setIntimes(1);
            }
            //更新登录时间
            user.setLastlogin(new Date());
            return user;
        }
        return null;
    }

    //注册
    @Override
    public boolean register(User user) {
        int i = 0;
        //检测用户是否存在
        User user1 = userMapper.selectUsername(user.getUsername());
        if (user1 == null) {
            i = userMapper.insert(user);
        }
        return i > 0;
    }

    //用户列表
    @Override
    public QueryInfo getUserList(String query, Integer pagenum,Integer pagesize) {
        QueryInfo queryInfo = new QueryInfo();
        int start;
        int end;
        if (pagenum == null||pagesize == null){
            pagenum =0;
            pagesize = 3;
        }
        start = (pagenum-1)*pagesize;
        end = pagesize;
        int userSize = userMapper.selectUserListLimitSize(query,start,end);
        List<User> users = userMapper.selectUserListLimit(query,start,end);
        queryInfo.setList(users);
        queryInfo.setTotal(userSize);
        return queryInfo;
    }

    //删除用户
    @Override
    public int deleteUser(Integer tid) {
        return userMapper.deleteByPrimaryKey(tid);
    }

    //通过id查找用户
    @Override
    public User findById(Integer tid) {
        return userMapper.selectByPrimaryKey(tid);
    }



    //更新用户
    @Override
    public int updateUser(User user) {
        if (user.getPassword()==null|| Objects.equals(user.getPassword(), "")){
            user.setPassword(userMapper.selectByPrimaryKey(user.getTid()).getPassword());
        }
        return userMapper.updateByPrimaryKey(user);
    }

    //通过用户名查找用户
    @Override
    public User findByUsername(String username) {
        return userMapper.selectUsername(username);
    }

    //获取用户权限
    @Override
    public int getPower(String username) {
        return userMapper.selectUsername(username).getPower();
    }
}

useMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xyz.shiguangliang.mybatis.dao.UserMapper">
  <resultMap id="BaseResultMap" type="xyz.shiguangliang.mybatis.domain.User">
    <id column="tid" jdbcType="INTEGER" property="tid" />
    <result column="username" jdbcType="VARCHAR" property="username" />
    <result column="password" jdbcType="VARCHAR" property="password" />
    <result column="teachername" jdbcType="VARCHAR" property="teachername" />
    <result column="dno" jdbcType="INTEGER" property="dno" />
    <result column="power" jdbcType="INTEGER" property="power" />
    <result column="intimes" jdbcType="INTEGER" property="intimes" />
    <result column="lastlogin" jdbcType="TIMESTAMP" property="lastlogin" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
    delete from teacher
    where tid = #{tid,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="xyz.shiguangliang.mybatis.domain.User">
    insert into teacher (tid, username, password, 
      teachername, dno, power, 
      intimes, lastlogin)
    values (#{tid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
      #{teachername,jdbcType=VARCHAR}, #{dno,jdbcType=INTEGER}, #{power,jdbcType=INTEGER}, 
      #{intimes,jdbcType=INTEGER}, #{lastlogin,jdbcType=TIMESTAMP})
  </insert>
  <update id="updateByPrimaryKey" parameterType="xyz.shiguangliang.mybatis.domain.User">
    update teacher
    set username = #{username,jdbcType=VARCHAR},
      password = #{password,jdbcType=VARCHAR},
      teachername = #{teachername,jdbcType=VARCHAR},
      dno = #{dno,jdbcType=INTEGER},
      power = #{power,jdbcType=INTEGER},
      intimes = #{intimes,jdbcType=INTEGER},
      lastlogin = #{lastlogin,jdbcType=TIMESTAMP}
    where tid = #{tid,jdbcType=INTEGER}
  </update>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where tid = #{tid,jdbcType=INTEGER}
  </select>
  <select id="selectAll" resultMap="BaseResultMap">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
  </select>
    <select id="selectLogin" resultType="xyz.shiguangliang.mybatis.domain.User">
        select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #{username} and password = #{password}
    </select>
  <select id="selectUsername" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
        from teacher
        where username = #{username}
  </select>
  <select id="selectUserListLimit" resultType="xyz.shiguangliang.mybatis.domain.User">
    select tid, username, password, teachername, dno, power, intimes, lastlogin
    from teacher
    where
    /*条件判断*/
    <if test="#{query} != null and #{query} != ''">
      /*模糊查询*/
      <bind name="query2" value="'%' + query + '%'"/>
      username like #{query2}
    </if>
    LIMIT #{start},#{end}
  </select>
  <select id="selectUserListLimitSize" resultType="java.lang.Integer">
    select count(*)
    from teacher
    where
    /*条件判断*/
    <if test="#{query} != null and #{query} != ''">
      /*模糊查询*/
      <bind name="query2" value="'%' + query + '%'"/>
      username like #{query2}
    </if>
  </select>
</mapper>

系统功能

系统管理员

  • 登录
    在这里插入图片描述
  • 用户管理
    在这里插入图片描述
  • 角色管理
    在这里插入图片描述
  • 页面管理
    在这里插入图片描述
  • 宠物列表管理
    在这里插入图片描述
  • 宠物健康史
    在这里插入图片描述
  • 预约列表管理
    在这里插入图片描述

增加预约
在这里插入图片描述

  • 健康指南
    在这里插入图片描述
  • 健康监控
    在这里插入图片描述
  • 健康标准
    在这里插入图片描述
  • 预约统计
    在这里插入图片描述
  • 宠物日志
    在这里插入图片描述
    在这里插入图片描述
  • 医院管理
    在这里插入图片描述

医生角色

  • 宠物健康史
    在这里插入图片描述

  • 预约管理
    在这里插入图片描述

  • 宠物档案
    在这里插入图片描述

  • 医院管理
    在这里插入图片描述

用户角色

  • 我的宠物列表
    在这里插入图片描述
  • 宠物健康史
    在这里插入图片描述
  • 预约管理
    在这里插入图片描述

日常健康

在这里插入图片描述
在这里插入图片描述

  • 宠物日志
    在这里插入图片描述
  • 预约统计
    在这里插入图片描述
  • 系统完整
    在这里插入图片描述

结语(文末获取源码)

💟💟如果大家有任何疑虑,欢迎在下方位置点击我联系详细交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值