项目背景
随着互联网的普及,已经和我们的生活不可分割;宠物渐渐的已经成为了我们的好朋友,宠物医院管理系统可以帮助用户合理的管理宠物,呵护宠物的健康,对宠物起到了一个健康监控的作用;
项目介绍
系统总体分为3个角色:分别是系统管理员;医生和用户;不能的角色拥有不同的功能权限,下面详细介绍:
系统管理员:
医生:
宠物管理(宠物健康史 ...) 预约管理(预约管理,医生时间管理....) 宠物档案管理(宠物日志...) 医院管理(预约统计,发布指南等等...)用户:
宠物管理(个人宠物列表,宠物健康史....) 预约管理(预约管理,医生时间管理....) 日常健康(健康指南,健康监测,健康标准....) 宠物档案管理(预约统计,宠物日志,日志图片分析...)以上的权限都是可以由系统管理员重新分配的
项目环境和内容获取
> 前端:html, css, js, layui, jquery等; > 后端:java, spring,maven等 > 数据库:mysql > 开发工具:eclipse或idea 感谢大家关注,想要资料的可以查看我的主页个人介绍,点击
image.png
部分核心代码
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>
系统功能
系统管理员
登录
image.png
用户管理
image.png
角色管理
image.png
宠物列表管理
image.png
宠物健康史
image.png
预约列表管理
image.png
增加预约
image.png
健康指南
image.png
健康监控
image.png
健康标准
image.png
预约统计
image.png
宠物日志
image.png
image.png
医院管理
image.png
......
医生角色
宠物健康史
image.png
预约管理
image.png
宠物档案
image.png
医院管理
image.png
用户角色
我的宠物列表
image.png
宠物健康史
image.png
预约管理
image.png
日常健康
image.png
image.png
宠物日志
image.png
预约统计
image.png
系统完整
image.png