当前位置: 首页 > wzjs >正文

肥城做网站tahmwlkj免费制作网站的平台

肥城做网站tahmwlkj,免费制作网站的平台,刚做的网站怎么,动态的网站怎么做大家好,我是java1234_小锋老师,看到一个不错的微信小程序医院预约挂号管理系统(uni-appSpringBoot后端Vue管理端),分享下哈。 项目视频演示 【免费】微信小程序医院预约挂号管理系统(uni-appSpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩…

大家好,我是java1234_小锋老师,看到一个不错的微信小程序医院预约挂号管理系统(uni-app+SpringBoot后端+Vue管理端),分享下哈。

项目视频演示

【免费】微信小程序医院预约挂号管理系统(uni-app+SpringBoot后端+Vue管理端) Java毕业设计_哔哩哔哩_bilibili

项目介绍

本毕业设计的内容是设计并且实现一个基于java技术的医院预约挂号管理系统。它是在Windows下,以MYSQL为数据库开发平台,java技术和Tomcat网络信息服务作为应用服务器。医院预约挂号管理系统的功能已基本实现,主要实现首页、个人中心、用户管理、专家管理、科室类型管理、科室信息管理、预约信息管理、取消信息管理、系统管理等功能的操作系统。

论文主要从系统的分析与设计、数据库设计和系统的详细设计等几个方面来进行论述,系统分析与设计部分主要论述了系统的功能分析、系统的设计思路,数据库设计主要论述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。

系统展示

部分代码

package cn.test.hospital.service.impl;import cn.test.hospital.common.security.AccountDetails;
import cn.test.hospital.common.security.JwtTokenUtil;
import cn.test.hospital.dto.param.PowerAccountRegisterParam;
import cn.test.hospital.dto.param.PowerAccountStatusParam;
import cn.test.hospital.dto.param.UserRegisterParam;
import cn.test.hospital.entity.*;
//import cn.test.hospital.hospital.entity.*;
import cn.test.hospital.mapper.PowerAccountMapper;
import cn.test.hospital.mapper.PowerAccountRoleRelationMapper;
import cn.test.hospital.mapper.dao.PowerAccountRoleRelationDao;
import cn.test.hospital.service.ILogAccountLoginService;
import cn.test.hospital.service.IPowerAccountService;
import cn.test.hospital.service.IUserBasicInfoService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;/*** @author  admin*/@Service
public class PowerAccountServiceImpl implements IPowerAccountService {private static final Logger LOGGER = LoggerFactory.getLogger(PowerAccountServiceImpl.class);/*** 一个空格字符*/private static final String BLANK_SPACE = " ";@Resourceprivate JwtTokenUtil jwtTokenUtil;@Resourceprivate PasswordEncoder passwordEncoder;@Value("${jwt.tokenHead}")private String tokenHead;@Resourceprivate UserDetailsService userDetailsService;@Resourceprivate PowerAccountMapper accountMapper;@Resourceprivate PowerAccountRoleRelationDao accountRoleRelationDao;@Resourceprivate PowerAccountRoleRelationMapper accountRoleRelationMapper;@Resourceprivate ILogAccountLoginService logAccountLoginService;@Resourceprivate IUserBasicInfoService userBasicInfoService;/*** 获取帐号信息** @param name 帐号名* @return 帐号信息*/@Overridepublic Optional<PowerAccount> getByName(String name) {PowerAccountExample example = new PowerAccountExample();example.createCriteria().andNameEqualTo(name);return Optional.ofNullable(accountMapper.selectByExample(example).get(0));}/*** 刷新token** @param oldToken 原来的token* @return 新token*/@Overridepublic String refreshToken(String oldToken) {return jwtTokenUtil.refreshHeadToken(oldToken);}/*** 判断用户名是否已使用** @param name 用户名* @return 是否存在*/@Overridepublic boolean count(String name) {PowerAccountExample example = new PowerAccountExample();example.createCriteria().andNameEqualTo(name);return accountMapper.countByExample(example) > 0;}/*** 判断用户是否存在** @param id 用户编号* @return 是否存在*/@Overridepublic boolean count(Long id) {PowerAccountExample example = new PowerAccountExample();example.createCriteria().andIdEqualTo(id);return accountMapper.countByExample(example) > 0;}/*** 注册普通用户账号** @param param 用户账号注册参数(账号,密码)* @return 是否成功*/@Overridepublic boolean registerUser(UserRegisterParam param) {PowerAccount account = new PowerAccount();account.setName(param.getPhone());account.setPassword(passwordEncoder.encode(param.getPassword()));account.setStatus(1);account.setGmtCreate(new Date());account.setGmtModified(new Date());if (accountMapper.insertSelective(account) > 0) {if (userBasicInfoService.insert(param)) {return true;} else {// 注册失败删除账号信息delete(param.getPhone());return false;}}return false;}/*** 管理账号注册功能** @param param 账号注册参数(账号,密码)* @return 是否成功*/@Overridepublic boolean registerAdmin(PowerAccountRegisterParam param) {PowerAccount account = new PowerAccount();account.setName(param.getName());account.setPassword(passwordEncoder.encode(param.getPassword()));account.setStatus(1);account.setGmtCreate(new Date());account.setGmtModified(new Date());return accountMapper.insertSelective(account) > 0;}/*** 登录后返回 jwt 字符串** @param name     帐号名* @param password 密码* @return 生成的JWT的token*/@Overridepublic Optional<String> login(String name, String password) {String jwt = null;// 客户端加密后传递账号密码try {UserDetails userDetails = userDetailsService.loadUserByUsername(name);// 密码不正确if (!passwordEncoder.matches(password, userDetails.getPassword())) {LOGGER.info("user :{} login fail , wrong password .", name);throw new BadCredentialsException("密码不正确");}UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails,null, userDetails.getAuthorities());SecurityContextHolder.getContext().setAuthentication(authentication);String token = jwtTokenUtil.generateToken(userDetails);// 这里需要记录登录时间updateLoginTime(name);logAccountLoginService.insert(name);// 注意中间用空格隔开jwt = tokenHead + BLANK_SPACE + token;} catch (AuthenticationException e) {LOGGER.warn("user :{} , login fail :{}", name, e.getMessage());}return Optional.ofNullable(jwt);}/*** 检查密码是否正确** @param id       账号编号* @param password 账号密码* @return 是否正确*/@Overridepublic boolean checkPassword(Long id, String password) {PowerAccount account = accountMapper.selectByPrimaryKey(id);return passwordEncoder.matches(password, account.getPassword());}/*** 删除账号** @param name 账号名* @return 是否成功*/@Overridepublic boolean delete(String name) {PowerAccountExample example = new PowerAccountExample();example.createCriteria().andNameEqualTo(name);return accountMapper.deleteByExample(example) > 0;}/*** 更新账号状态** @param param 账号编号、账号状态(1:开启,0:关闭)* @return 是否成功*/@Overridepublic boolean updateStatus(PowerAccountStatusParam param) {PowerAccount account = new PowerAccount();account.setId(param.getAccountId());account.setStatus(param.getStatus());account.setPassword(null);account.setGmtModified(new Date());return accountMapper.updateByPrimaryKeySelective(account) > 0;}/*** 修改用户角色关系** @param accountId  帐号id* @param roleIdList 角色id列表* @return 成功记录*/@Overridepublic int updateRole(Long accountId, List<Long> roleIdList) {int count = roleIdList == null ? 0 : roleIdList.size();//先删除原来的关系PowerAccountRoleRelationExample accountRoleRelationExample = new PowerAccountRoleRelationExample();accountRoleRelationExample.createCriteria().andAccountIdEqualTo(accountId);accountRoleRelationMapper.deleteByExample(accountRoleRelationExample);//建立新关系if (!CollectionUtils.isEmpty(roleIdList)) {List<PowerAccountRoleRelation> list = new ArrayList<>();for (Long roleId : roleIdList) {PowerAccountRoleRelation roleRelation = new PowerAccountRoleRelation();roleRelation.setAccountId(accountId);roleRelation.setRoleId(roleId);list.add(roleRelation);}accountRoleRelationDao.insertList(list);}return count;}/*** 更新密码** @param accountId 帐号编号* @param password  密码* @return 更新结果*/@Overridepublic boolean updatePassword(Long accountId, String password) {PowerAccount account = new PowerAccount();account.setId(accountId);account.setPassword(passwordEncoder.encode(password));account.setGmtModified(new Date());return accountMapper.updateByPrimaryKeySelective(account) > 0;}/*** 通过用户账号名称,获取用户详情** @param userName 用户账号名称* @return 用户详情*/@Overridepublic UserDetails loadUserByUserName(String userName) {Optional<PowerAccount> accountOptional = getByName(userName);if (accountOptional.isPresent()) {PowerAccount account = accountOptional.get();List<PowerResource> resourceList = listResource(account.getId());return new AccountDetails(account, resourceList);}throw new UsernameNotFoundException("用户名或密码错误!");}/*** 通过账号编号,获取资源列表** @param accountId 账号编号* @return 资源列表*/@Overridepublic List<PowerResource> listResource(Long accountId) {return accountRoleRelationDao.getResourceList(accountId);}/*** 更新最后登录时间** @param name 用户名称*/@Overridepublic void updateLoginTime(String name) {Optional<PowerAccount> accountOptional = getByName(name);// 账号存在if (accountOptional.isPresent()) {PowerAccount account = accountOptional.get();account.setPassword(null);account.setLoginTime(new Date());accountMapper.updateByPrimaryKeySelective(account);}}}
<template><div class="background"><el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left"label-width="0px" class="demo-ruleForm login-container login-background"><h3 class="title">挂号系统后台管理中心</h3><el-form-item prop="username"><el-input type="text" v-model="ruleForm2.username" auto-complete="off"placeholder="账号" suffix-icon="el-icon-user-solid"></el-input></el-form-item><el-form-item prop="password"><el-input type="password" v-model="ruleForm2.password" auto-complete="off"placeholder="密码" suffix-icon="el-icon-lock"></el-input></el-form-item><el-checkbox v-model="checked" checked class="remember">记住密码</el-checkbox><el-form-item style="width:100%;"><el-button type="primary" style="width:100%;" @click="handleSubmit2" :loading="loading">登录</el-button></el-form-item></el-form></div>
</template><script>import {getCookie, setCookie} from "@/utils/cookies";import {getPermission} from "@/permission";import {getToken} from "@/utils/auth";export default {name: "login",data(){return{loading: false,ruleForm2: {username: '',password: ''},rules2: {username: [{ required: true, message: '请输入账号',trigger: 'blur'}],password: [{required: true,message: '请输入密码',trigger: 'blur'}]},checked: false,redirect: undefined}},watch: {$route: {handler: function(route) {this.redirect = route.query && route.query.redirect},immediate: true}},methods: {handleSubmit2(ev) {var _this = this;_this.$refs.ruleForm2.validate((valid) => {if (valid) {_this.loading = true;// 实现登录this.$store.dispatch('Login', this.ruleForm2).then(() => {if (this.checked) {setCookie("username",this.ruleForm2.username,15);setCookie("password",this.ruleForm2.password,15);}_this.$router.push({path: this.redirect || '/home'});_this.loading = false}).catch(() => {_this.loading = false;_this.$alert('用户名或密码错误!', '提示信息', {confirmButtonText: '确定'});})} else {console.log('error submit!!');return false;}});}},created() {this.ruleForm2.username = getCookie('username');this.ruleForm2.password = getCookie('password');if(this.ruleForm2.username === undefined||this.ruleForm2.username==null||this.ruleForm2.username===''){this.ruleForm2.username = 'admin';}if(this.ruleForm2.password === undefined||this.ruleForm2.password==null){this.ruleForm2.password = '';}}}
</script><style scoped>.background{width: 100%;height: 100%;background: url("../.././assets/background.jpg") no-repeat;background-size: 100% 100%;position: fixed;top: 0px;left: 0px;}.login-container{-webkit-border-radius: 5px;border-radius: 5px;-moz-border-radius: 5px;background-clip: padding-box;margin: 180px auto;width: 350px;padding: 35px 35px 15px;background: #BED2F5;/*border: 1px solid #eaeaea;*/box-shadow: 0 0 25px #A7BBD4;}label.el-checkbox.remember {margin: 0px 0px 30px 0px;}.title{color: #ffffff;}
</style>

源码下载

链接:https://pan.baidu.com/s/1zn70zMBz6Mmf_Kvg0O7avA
提取码:1234

http://www.dtcms.com/wzjs/246005.html

相关文章:

  • 义乌 网站制作百度宁波运营中心
  • 一图读懂制作软件seo优化诊断工具
  • 做网站副业市场营销咨询
  • 南昌网站建设哪家最好青岛seo网站排名
  • wordpress数据库更改账号密码seo监控
  • 没有外网ip怎么做网站最新清远发布
  • 网站qq临时会话怎么弄今日国内最新新闻
  • wordpress 主题 tewnty ten 导航条字体 修改seo推广的常见目的有
  • 网站域名申请怎么做交换链接或称互惠链接
  • 巩义郑州网站建设windows优化大师免费
  • wordpress快速评论宁波seo快速优化教程
  • 百度企业云网站建设seo怎么快速提高排名
  • 网站黄页推广软件seo指搜索引擎
  • 个人网站建立平台快手流量推广免费网站
  • 深圳网站设计公司是什么百度指数的主要用户是
  • 做产品批发的网站有哪些十大免费网站推广入口
  • 怎么让网站栏目页收录外贸网站建设 google
  • 网站群管理平台方案今天国际新闻最新消息
  • php网站建设方案石家庄seo推广公司
  • 网站制作预付款会计分录关键词搜索热度查询
  • 铜川网站开发地推的方法和技巧
  • 北京建设专职查询网站专业的seo外包公司
  • 怎么做视频解析网站营销策划公司是干什么的
  • 网站收藏功能宁波正规优化seo软件
  • 成都专业网站制作北京sem
  • 共青团智慧团建官网登录seo狂人
  • 全国各地网站开发外包企业邮箱申请
  • 天河网站建设制作网店推广的重要性
  • 外贸英文网站模板百度小说排行榜2020
  • 网站如何判断做的好不好广东企业网站seo报价