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

漳州专业网站建设一键优化清理

漳州专业网站建设,一键优化清理,抖音小程序电脑上怎么打开,盘锦做网站电话博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《S…

博主介绍:✌全网粉丝3W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌

博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

开源项目:点击这里克隆或者下载

🍅文末关注公众号获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟
  ✨【微服务】Nacos为什么丢弃短连接(http)而选择拥抱长连接(gRPC)

目录

一、前言

二、系统设计

1、系统运行环境

2、系统架构设计

三、非功能性需求分析与可行性分析

四、运行截图

2、挂号处

3、门诊部

3.1、病例

3.2、处方

4、住院部 

4.1、手术项目

4.2、床位

4.3、手术订单

5、药剂部

5.1、药品订单

5.2、药品

6、医院管理

6.1、排班

6.2、设备

6.3、用户管理

6.4、角色管理

6.5、部门管理

7、系统管理

7.1、菜单管理

7.2、通知公告

8、检查项目

8.1、血糖结果

8.2、检查项目

8.3、血常规结果

8.4、检查项目订单

五、代码实现

1、角色控制器

2、接口

3、实现类

六、开源项目动向

后端、PC端目前已经开源,uniapp后期即将开源

1、首页

2、我的

七、获取源码


一、前言

    本系统是基于SpringBoot+SpringCloud Alibaba+SpringSecurity+MyBatis+Vue的前后端完全分离的医院管理系统。值得一提的是前端使用了目前市场上较流行的组件elementui,在本系统里面对其进行了二次封装,使得页面更加的简洁与优雅,也提高了系统的可维护性。同时探究前端与后端是如何建立数据交互的,以及它为系统提供的服务和已经建好的多张表之间的关系。故课题研究的是这些技术的关联以及如何实现本系统,同时探究系统如何在Linux系统进行Docker容器化部署。

二、系统设计

1、系统运行环境


开发系统:Windows10左右

架构模式:MVC/前后端分离

JDK版本:Java JDK1.8

开发工具:IDEA

数据库版本: mysql5.7

数据库可视化工具: SQL yog或Navicat for MySQL

服务器:SpringBoot自带 apache tomcat

主要技术:Java、SpringBoot2、SpringCloud Alibaba、MyBatis、SpringSecurity、MySQL、Html、Vue、Elementui等
 

2、系统架构设计

3、登录借鉴设计

 

 

三、非功能性需求分析与可行性分析

2.5非功能性需求分析

非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,包括:

2.5.1性能需求:

用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。

2.5.2可行性需求:

用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。

2.5.3易用性需求:

用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。

2.5.4安全性需求:

用户在身份证、授权控制、私密性等方面的要求。

2.5.5运行环境约束:

用户对软件系统运行环境的要求。

2.5.6外部接口:

用户对待开发软件系统与其它软件系统或设备之间的接口要求

2.6可行性分析

可行性分析是从不同的角度,对可能影响系统的各方面因素进行分析,确认系统在实际生活上是可行的。本系统只是单纯地从经济、法律、技术、操作可行性四个方面来分析说明。

2.6.1技术可行性

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Vue+Elementui开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性和持久性。后端技术使用SpringBoot、MyBatis,这些技术在许多公司已经被商用了,因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。

2.6.2经济可行性

  项目放在阿里学生服务器或者本地虚拟机的linux环境,故可行。

2.6.3法律可行性

  可行,自己写的项目,目的明确,没有违法违规。

2.6.4操作可行性

  操作较为简单,而且当下信息科技发达,界面的设计也着实考虑到用户的体验,系统也是为用户而生。故操作是可行的,不存在难度大的操作。
 

四、运行截图

1、登录

2、挂号处

 

3、门诊部

3.1、病例

 

3.2、处方

4、住院部 

4.1、手术项目

4.2、床位

 

4.3、手术订单

 

5、药剂部

5.1、药品订单

 

5.2、药品

 

6、医院管理

6.1、排班

 

6.2、设备

 

6.3、用户管理

 

6.4、角色管理

 

6.5、部门管理

7、系统管理

7.1、菜单管理

 

7.2、通知公告

 

8、检查项目

8.1、血糖结果

 

8.2、检查项目

 

8.3、血常规结果

 

8.4、检查项目订单

 

五、代码实现

1、角色控制器

/*** <p>* 角色表 前端控制器* </p>** @author CeaM* @since 2023-01-28*/
@RestController
@AllArgsConstructor
@RequestMapping("/api/roles")
public class CeamSysRoleController {private final ICeamSysRoleService ceamSysRoleService;private final ICeamSysUserService ceamSysUserService;@GetMappingpublic ResponseEntity<IPage<CeaMSysRoleVO>> getRoles(PageableDTO pageable) {IPage<CeaMSysRoleVO> mapIPage = ceamSysRoleService.pageCeaMSysRoleVO(pageable);return ResponseEntity.ok(mapIPage);}@GetMapping(value = "/level")public ResponseEntity<Object> getLevel() {return new ResponseEntity<>(Dict.create().set("level", getLevels(null)), HttpStatus.OK);}@PutMapping(value = "/menu")public ResponseEntity<Object> updateMenu(@RequestBody CeaMSysRoleDTO roleDTO) {CeamSysRole role = ceamSysRoleService.getById(roleDTO.getId());getLevels(role.getLevel());ceamSysRoleService.updateMenu(roleDTO, role);return new ResponseEntity<>(HttpStatus.NO_CONTENT);}/*** 获取用户的角色级别* @return /*/private int getLevels(Integer level) {CeaMSysUserDTO user = ceamSysUserService.loadUserInfo(SecurityUtils.getUsername());List<RoleDTO> roleDTOS = ceamSysRoleService.listByUserId(user.getId());List<Integer> levels = roleDTOS.stream().map(RoleDTO::getLevel).collect(Collectors.toList());int min = Collections.min(levels);if (level != null) {if (level < min) {throw new ServiceException("权限不足,你的角色级别:" + min + ",低于操作的角色级别:" + level);}}return min;}
}


2、接口

/*** <p>* 角色表 服务类* </p>** @author CeaM* @since 2023-01-28*/
public interface ICeamSysRoleService extends IService<CeamSysRole> {IPage<CeaMSysRoleVO> pageCeaMSysRoleVO(PageableDTO pageable);/*** 获取用户权限信息* @param userId 用户信息* @return 权限信息*/Collection<SimpleGrantedAuthority> grantedAuthorities(Long userId);/**** @param userId 用户ID* @return RoleItemVOs*/List<RoleDTO> listByUserId(Long userId);void updateMenu(CeaMSysRoleDTO roleDTO, CeamSysRole role);
}

3、实现类

/*** <p>* 角色表 服务实现类* </p>** @author CeaM* @since 2023-01-28*/
@Slf4j
@Service
@AllArgsConstructor
public class CeamSysRoleServiceImpl extends ServiceImpl<CeamSysRoleMapper, CeamSysRole> implements ICeamSysRoleService {private ICeamSysMenuService ceamSysMenuService;private ICeamRoleMenuService ceamRoleMenuService;@Overridepublic IPage<CeaMSysRoleVO> pageCeaMSysRoleVO(PageableDTO pageable) {LambdaQueryWrapper<CeamSysRole> queryWrapper = Wrappers.<CeamSysRole>lambdaQuery().eq(CeamSysRole::getDeleted, GlobalConstants.FALSE);Page<CeamSysRole> page = new Page<>(pageable.getPage(), pageable.getSize());// 手动设置当前页,不然分页失效page.setCurrent((long)pageable.getPage() + GlobalConstants.ONE);Page<CeamSysRole> ceamSysRolePage = page(page, queryWrapper);IPage<CeaMSysRoleVO> ceaMSysRoleVOIPage = PageVOUtil.copyToPageVO(ceamSysRolePage, CeaMSysRoleVO.class);for (CeaMSysRoleVO role : ceaMSysRoleVOIPage.getRecords()) {List<MenuDTO> menuDTOS = ceamSysMenuService.findByRoleId(role.getId(), GlobalConstants.ZERO);role.setMenus(menuDTOS);}return ceaMSysRoleVOIPage;}@Overridepublic Collection<SimpleGrantedAuthority> grantedAuthorities(Long userId) {List<RoleDTO> roleItemDTOS = this.baseMapper.listByUserId(userId);if (CollectionUtils.isEmpty(roleItemDTOS)) {throw new ServiceException("没有分配角色");}List<MenuDTO> menuDTOS = ceamSysMenuService.findByRoles(roleItemDTOS, GlobalConstants.ZERO);// 角色Set<String> permissions = roleItemDTOS.stream().filter(role -> StringUtils.isNotBlank(role.getName())).map(RoleDTO::getName).collect(Collectors.toSet());permissions.addAll(menuDTOS.stream().filter(menu -> StringUtils.isNotBlank(menu.getPermission())).map(MenuDTO::getPermission).collect(Collectors.toSet()));return permissions.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());}@Overridepublic List<RoleDTO> listByUserId(Long userId) {return this.baseMapper.listByUserId(userId);}@Overridepublic void updateMenu(CeaMSysRoleDTO roleDTO, CeamSysRole role) {if (roleDTO.getMenus().size() > 0) {List<CeamRoleMenu> rolesMenusList = roleDTO.getMenus().stream().map(i -> {CeamRoleMenu rolesMenus = new CeamRoleMenu();rolesMenus.setRoleId(roleDTO.getId());rolesMenus.setMenuId(i.getId());return rolesMenus;}).collect(Collectors.toList());ceamRoleMenuService.remove(new LambdaQueryWrapper<CeamRoleMenu>().eq(CeamRoleMenu::getRoleId, roleDTO.getId()));ceamRoleMenuService.saveBatch(rolesMenusList);}}
}

六、开源项目动向

后端、PC端目前已经开源,uniapp后期即将开源

1、首页

 

 

2、我的

 

七、获取源码

 大家点赞收藏关注评论 、关注下方公众号获取联系方式👇🏻👇🏻

http://www.dt0577.cn/news/55569.html

相关文章:

  • 哪个网站可以做excelapp开发公司哪家好
  • 特产电商网站建设报价单seo优化公司哪家好
  • 网站上的弹框如何做网页服装网络营销策划书
  • 网站网格布局广东广州网点快速网站建设
  • 中国建设银行 英文网站网站seo什么意思
  • discuz做资讯网站网站搜索优化官网
  • 湖北做网站价格东莞网络营销平台
  • 程序员做图网站太原seo网站排名
  • qt 可以做网站吗百度关键词分析
  • 石家庄市住房和建设局网站seo首页排名优化
  • 药业集团网站建设方案软文范文200字
  • 景观石网站建设方案哈尔滨网站推广
  • asp.net开发的网站世界十大搜索引擎及地址
  • seo信息优化seo发贴软件
  • 赣县企业网站建设网站运营主要做什么
  • 网站建设asp编程软件开发公司简介
  • 高端品牌网站定制设计如何申请百度竞价排名
  • 红安建设局网站百度商城购物
  • 如何用word做简单的网站百度开店怎么收费
  • 网站做担保交易软文广告经典案例300
  • 仙桃做网站的公司有哪些自媒体怎么赚钱
  • 网站贴子推广怎么做长春seo关键词排名
  • 山西省建设注册中心网站seo数据统计分析工具有哪些
  • 安卓app做网站外壳app拉新一手渠道商
  • 自己做彩票网站简单吗旅游景区网络营销案例
  • 室内设计说明500字简约seo关键词排名优化价格
  • 制作网站的最新软件搜索引擎调价平台哪个好
  • 如何处理并发量大的购物网站网络营销的四种方式
  • 中国建筑网官网手机版青岛网站关键词优化公司
  • 简单个人网站模板网络营销策划案