5.MidBook项目经验之MongoDB,Nacos,网关
1.医院查询接口
//系统1(signsignMD5加密后) ----> 系统2(数据库signMD5加密 相对比),好处在于网络之间传输不会得到直接得到sign
2.上传和删除科室信息
//map转jsonString,然后再转为对象//保存需要查数据库是否存在,存在修改,不存在添加//接口的包引入不对导致调用引包错误//注意条件和分页//好用!!! monogodb自己生成的id,唯一标识,删除前先查有没有数据,再通过id删除//根据spring data monog根据条件查询,不能传入对象,而查询的条件//命名也有规范
Department findDepartmentByHoscodeAndDepcode(String hoscode,String depcode);
3.上传/删除/查询排班接口
//前端遍历插入数据接口,后端只需要写传入一条数据的接口
4.nacos 注册中心和服务调用(不同模块之间调用) 连接调用者和被调用者
//启动nacos.exe :8848/nacos
- 引入依赖,写配置文件指定地址,启动类加注解@EnableDisvoveryClient //记得写spring服务名,会显示
- 两个模块分别写controller,(为什么不用http调用,而用feign,系统内部调用可用feign,外部内部可用http)
- 使用feign创建模块,引入依赖,写个接口 @FeignClient(“service-cmn nacos服务名称”) ,使用方EnableFeignClients(basePackage=“com.atguigu”) 都要引依赖
//补全Mapping的路径,!!!PathVariable(“name”)记得指定名称- 服务引入openfeign,模块引入具体依赖
- 启动类加上 代表开启调用其他服务,需要在feign创建指定的包
@EnableFeignClients(basePackages = “com.atguigu”)- 在service注入这个接口
- 使用流进行遍历
pages.getContent.stream().forEach(item->{
this.xxx(item);//调用方法直接修改值
})
5.根据code得到省份,省市联动(点击省,显示市的数据) 前端change事件,更新医院上线状态
6.医院详情信息(为了信息更加清晰,可以将对象拆分为多个对象在map返回) 不要在原来的数据修改
//所有科室展开树型
//对集合进行分组
Map<String,List<Department>> map= list.stream().collect(Collectors.groupingBy(Department::getBigcode));
//将数据库数据处理成为,Vo对象,children
7.统计排班数
//spring data不方便,使用mongo原生可封装条件(像mybatis写xml sql语句一样)
Criteria.where("hoscode").is(hoscode).and("depcode").is(depcode);Aggregation agg //进行日期分组和统计数量,然后分页(在mongo聚合为一个对象)//转为VO对象//日期转星期几,使用工具类joda-time ,字符串转日期new DateTime(str).toDate();list.stream().forEach((item)->{})//实体类可以加个list可以设置其他参数
8.网关, nginx就是网关 ,spring cloud Gateway(更简洁,功能更加强大,不用写注解解决跨域问题,还有服务熔断,服务限流的功能) 需要配合注册中心
- 创建项目(注册到注册中心,处理路由)引入naocs和gateway依赖
- 项目中写配置文件,可以使用前缀匹配转发,和转发到nacos的服务名
id server.port=81
# 服务名
spring.application.name=service-gateway# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848#使用服务发现路由
spring.cloud.gateway.discovery.locator.enabled=true#设置路由id
spring.cloud.gateway.routes[0].id=service-hosp
#设置路由的uri
spring.cloud.gateway.routes[0].uri=lb://service-hosp
#设置路由断言,代理servicerId为auth-service的/auth/路径
spring.cloud.gateway.routes[0].predicates= Path=/*/hosp/**#设置路由id
spring.cloud.gateway.routes[1].id=service-cmn
#设置路由的uri
spring.cloud.gateway.routes[1].uri=lb://service-cmn
#设置路由断言,代理servicerId为auth-service的/auth/路径
spring.cloud.gateway.routes[1].predicates= Path=/*/cmn/**
3.项目中写配置类,解决跨域
@Configuration
public class CorsConfig {@Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedHeader("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());source.registerCorsConfiguration("/**", config);return new CorsWebFilter(source);}
}
4.在启动类启动前!!!要@CrossOrigin需要去掉
9.swagger参数名记得写正确,不然测试的参数也会不一样
@ApiParam(name = "hoscode", value = "hoscode", required = true) @PathVariable String hoscode) {
相关文章:
5.MidBook项目经验之MongoDB,Nacos,网关
1.医院查询接口 //系统1(signsignMD5加密后) ----> 系统2(数据库signMD5加密 相对比),好处在于网络之间传输不会得到直接得到sign 2.上传和删除科室信息 //map转jsonString,然后再转为对象//保存需要查数据库是否存在,存在修改,不存在添加//接口的包引入不对导致调用引包错误…...
XMLHttpRequest对象的Get请求和Post请求的用法
XMLHttpRequest对象的Get请求和Post请求的用法 Get请求提交数据 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>发送ajax get请求</title> </head> <body> <script type"…...
Tomcat动静分离
访问静态页面和访问动态页面分开,实现动态页面和静态页面的负载均衡 一、七层动静分离 3台虚拟机 1、nginx1既是代理也是静态 nginx1:20.0.0.11 2、请求动态页面:Tomcat1和Tomcat2 Tomcat1:20.0.0.31 Tomcat2:20…...
一些ECharts配置
基于vue3,EChart5.4.3版本 Line <script setup lang"ts"> import {onBeforeUnmount, onMounted, ref, watch} from "vue" import {useEcharts, type ECOption} from "/composables" import * as echarts from "echarts/c…...
C调用Objective-C的类和方法
C调用Objective-C的类和方法 最近有一个C提供回调接口调用Objective-c接口来传递数据的需求,研究了很久,最终通过bing的AI对话查到了需要的内容,这里记录一下,算是给基于C的IOS开发开了一个头。 在Objective-C中,你可…...
驱动开发day1
头文件 #ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014#define PHY_LED2_MODER 0x50007000 #define PHY_LED2_ODR 0x50007014#define PHY_LED3_MODER 0x50006000 #define PHY_LED3_ODR 0x50006014#define P…...
C++ linux vscode编译
.cpp .h文件关系与编译命令 单一cpp文件编译多个.cpp文件编译.h头文件和.cpp源文件在同一目录下编译.h头文件和.cpp源文件在不同一目录下编译 单一cpp文件编译 //test.cpp为测试源文件, a.out为输出可执行文件 g test.cpp -o a.out多个.cpp文件编译 目录1结构如下…...
卷积神经网络CNN学习笔记
目录 1.全连接层存在的问题2.卷积运算3.填充(padding)3.1填充(padding)的意义 4.步幅(stride)5.三维数据的卷积运算6.结合方块思考7.批处理8.conv2d代码参考文章 1.全连接层存在的问题 在全连接层中,相邻层的神经元全部连接在一起,输出的数量可以任意决…...
Java的Socket Timeout和tcp的存活探测包是不是一个东西
背景 你有没有好奇过我们在java中通过Socket.setSoTimeout()设置timeout参数时,他怎么做到在timeout时间到了之后连接就报错的?有没有产生过误解,这个参数就是设置keepalive探测包的检测间隔? 问题真相 其实Socket.setSoTimeou…...
基于跳蛛优化的BP神经网络(分类应用) - 附代码
基于跳蛛优化的BP神经网络(分类应用) - 附代码 文章目录 基于跳蛛优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.跳蛛优化BP神经网络3.1 BP神经网络参数设置3.2 跳蛛算法应用 4.测试结果:5.M…...
基于鹈鹕优化的BP神经网络(分类应用) - 附代码
基于鹈鹕优化的BP神经网络(分类应用) - 附代码 文章目录 基于鹈鹕优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.鹈鹕优化BP神经网络3.1 BP神经网络参数设置3.2 鹈鹕算法应用 4.测试结果:5.M…...
『ARM』和『x86』处理器架构解析指南
前言 如果问大家是否知道 CPU,我相信不会得到否定的答案,但是如果继续问大家是否了解 ARM 和 X86 架构,他们的区别又是什么,相信可能部分人就会哑口无言了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代&#…...
Android 13.0 系统设置 app详情页默认关闭流量数据的开关
1.概述 在13.0的系统产品开发中,移动流量消耗也是关于产品优化的一个方面,由于产品需求需要对app详情页的流量进行管控默认关闭流量开关,不让流量无故流失,所以需要从流量开关分析问题流量打开流程,然后关闭 2.系统设置 app详情页默认关闭流量数据的开关的核心类 package…...
054协同过滤算法的电影推荐系统
大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…...
分享一个基于JavaWeb的私人牙科诊所预约挂号就诊系统的设计与实现项目源码调试 lw 开题 ppt
💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…...
从零开始的C++(十一)
vector的模拟实现: 1.构造函数: vector(){}vector(int n, const T& value T()){ reserve(n);for (int i 0; i < n; i){push_back(value);}}template<class InputIterator>vector(InputIterator first, InputIterator last){ auto it …...
驱动开发day2
通过物理内存映射为虚拟内存 实现三盏LED灯亮灯灭 head.h #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_RCC 0x50000A28#define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0X50007014#defin…...
【CANoe】文件处理_hex文件读取解析
hex文件里面只有00,01,04三种码。那么我们在解析的时候只需要对这三种不同状态的进行不同的解析即可。 hex文件格式的解析,可阅读:HEX文件格式详解 首先创建一个Block的结构体,根据经验我们知道,一个数据…...
人脸识别顶会论文及源码合集,含2023最新
今天和大家聊聊人脸识别。 人脸识别的技术经过不断发展已经相当成熟,在门禁、监控、手机解锁、移动支付等实际场景都能看到。我们比较熟悉的识别方式是基于可见光图像的人脸识别,这种方式有个非常明显的缺点:光线限制。 在近两年的人脸识别…...
介绍drawio和图表使用场景
图表介绍 drawio是一个基于Web技术的草图、简图和图表的解决方案。 drawio支持在线编辑器,app.diagram.net.并支持不同的操作系统的桌面版离线安装版本。如:windows, linux, macOS。 对于个人或者团队,把图表绘制的安全放到第一位ÿ…...
清理Ubuntu系统空间?小心误删!用apt-mark auto/manual区分‘有用’和‘无用’软件包
Ubuntu系统清理指南:用apt-mark守护你的关键软件包 上周五下午,当我正准备用VS Code调试一个Python项目时,突然发现几个关键插件莫名其妙消失了。一番排查后才发现,罪魁祸首是三天前那次"例行"的sudo apt autoremove操作…...
魔兽争霸3兼容性工具终极指南:简单三步解决所有现代系统问题
魔兽争霸3兼容性工具终极指南:简单三步解决所有现代系统问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上…...
别再死记硬背漏洞了!用bWAPP靶场在Windows 10上实战SQL注入与XSS(保姆级环境搭建)
从零构建实战型Web安全实验室:bWAPP靶场深度攻防指南 当你在网络安全书籍上看到"SQL注入"或"XSS"这些术语时,是否感觉它们就像天书般难以理解?纸上谈兵的安全知识往往让人昏昏欲睡,而真正的技能提升来自于亲手…...
RFID技术发展现状与主流应用场景解析
1. RFID技术发展现状解析RFID(Radio Frequency Identification)技术作为自动识别领域的革命性突破,已经走过了近80年的发展历程。从二战时期的敌我识别系统到现代供应链管理中的智能标签,这项技术正在经历从专业领域向大众市场渗透…...
如何快速掌握Preact:从新手到专家的完整学习路线
如何快速掌握Preact:从新手到专家的完整学习路线 【免费下载链接】preact ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM. 项目地址: https://gitcode.com/gh_mirrors/pr/preact Preact是一个仅4kB大小的轻量级R…...
adm-zip安全实践:加密ZIP文件与密码保护完全教程
adm-zip安全实践:加密ZIP文件与密码保护完全教程 【免费下载链接】adm-zip A Javascript implementation of zip for nodejs. Allows user to create or extract zip files both in memory or to/from disk 项目地址: https://gitcode.com/gh_mirrors/ad/adm-zip …...
CL1252/CL1252M规格书
概述 CL1252X是一款高性能电流模式控制芯片,其工作在正激工作模式,内建专利软启动技术,可适用于不同功率开关管需求。 CL1252X提供完整保护机制,诸如检测过载保护可以省去辅助绕组,以及芯片内置线电压低压保护功能&…...
Voxtral-4B-TTS-2603开箱即用:镜像封装Web工具页+API双接口,零配置启动
Voxtral-4B-TTS-2603开箱即用:镜像封装Web工具页API双接口,零配置启动 1. 平台介绍 Voxtral-4B-TTS-2603是Mistral发布的开源语音合成模型,专为语音助手等生产环境设计。这个镜像将其封装为即开即用的Web工具,无需任何配置就能生…...
基础数据结构——栈和队列
该篇内容来自作者观看b站青岛大学王卓老师的数据结构与算法基础课的个人笔记https://space.bilibili.com/40323036?spm_id_from333.788.b_765f7570696e666f.2 栈和队列 特点: 栈: 具有“先进后出”,”后进先出”的特性 队列: 具有“先进先出…...
Tree-GRPO:用可微决策树实现可解释强化学习策略优化
1. 项目概述:当强化学习遇上决策树最近在折腾一个智能体决策优化的项目,偶然间在GitHub上看到了AMAP-ML团队开源的Tree-GRPO项目。这个标题乍一看有点“缝合怪”的味道,把“树”和“GRPO”这两个看似不搭界的东西组合在了一起。GRPOÿ…...
