項(xiàng)目背景
隨著互聯(lián)網(wǎng)的普及,已經(jīng)和我們的生活不可分割剃毒;寵物漸漸的已經(jīng)成為了我們的好朋友樊拓,寵物醫(yī)院管理系統(tǒng)可以幫助用戶合理的管理寵物,呵護(hù)寵物的健康妥衣,對(duì)寵物起到了一個(gè)健康監(jiān)控的作用皂吮;
項(xiàng)目介紹
系統(tǒng)總體分為3個(gè)角色:分別是系統(tǒng)管理員;醫(yī)生和用戶税手;不能的角色擁有不同的功能權(quán)限涮较,下面詳細(xì)介紹:
系統(tǒng)管理員:
- 系統(tǒng)設(shè)置
- 寵物管理
- 預(yù)約管理
- 日常健康
- 寵物檔案管理
- 醫(yī)院管理(預(yù)約統(tǒng)計(jì),發(fā)布指南等等...)
醫(yī)生:
- 寵物管理(寵物健康史 ...)
- 預(yù)約管理(預(yù)約管理冈止,醫(yī)生時(shí)間管理....)
- 寵物檔案管理(寵物日志...)
- 醫(yī)院管理(預(yù)約統(tǒng)計(jì)狂票,發(fā)布指南等等...)
用戶:
- 寵物管理(個(gè)人寵物列表,寵物健康史....)
- 預(yù)約管理(預(yù)約管理熙暴,醫(yī)生時(shí)間管理....)
- 日常健康(健康指南闺属,健康監(jiān)測(cè),健康標(biāo)準(zhǔn)....)
- 寵物檔案管理(預(yù)約統(tǒng)計(jì)周霉,寵物日志掂器,日志圖片分析...)
以上的權(quán)限都是可以由系統(tǒng)管理員重新分配的
項(xiàng)目環(huán)境和內(nèi)容獲取
> 前端:html, css, js, layui, jquery等;
> 后端:java, spring,maven等
> 數(shù)據(jù)庫(kù):mysql
> 開(kāi)發(fā)工具:eclipse或idea
感謝大家關(guān)注俱箱,想要資料的可以查看我的主頁(yè)個(gè)人介紹国瓮,點(diǎn)擊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) {
//登錄次數(shù)加一
if (user.getIntimes() != null) {
user.setIntimes(user.getIntimes() + 1);
}else {
user.setIntimes(1);
}
//更新登錄時(shí)間
user.setLastlogin(new Date());
return user;
}
return null;
}
//注冊(cè)
@Override
public boolean register(User user) {
int i = 0;
//檢測(cè)用戶是否存在
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);
}
//通過(guò)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);
}
//通過(guò)用戶名查找用戶
@Override
public User findByUsername(String username) {
return userMapper.selectUsername(username);
}
//獲取用戶權(quán)限
@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>
系統(tǒng)功能
系統(tǒng)管理員
-
登錄
image.png -
用戶管理
image.png -
角色管理
image.png -
寵物列表管理
image.png -
寵物健康史
image.png -
預(yù)約列表管理
image.png -
增加預(yù)約
image.png -
健康指南
image.png -
健康監(jiān)控
image.png -
健康標(biāo)準(zhǔn)
image.png -
預(yù)約統(tǒng)計(jì)
image.png -
寵物日志
image.png
image.png
-
醫(yī)院管理
image.png
......
醫(yī)生角色
-
寵物健康史
image.png -
預(yù)約管理
image.png -
寵物檔案
image.png -
醫(yī)院管理
image.png
用戶角色
-
我的寵物列表
image.png -
寵物健康史
image.png -
預(yù)約管理
image.png
日常健康
image.png
image.png
-
寵物日志
image.png -
預(yù)約統(tǒng)計(jì)
image.png -
系統(tǒng)完整
image.png