预约挂号微服务模块搭建
项目模块构建
hospital-manage:医院接口模拟端(已开发,直接使用)
yygh-parent:根目录,管理子模块:
common:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
rabbit-util:rabbitmq业务封装
service-util:service服务的工具包,包含service服务的公共配置类,所有service模块依赖于它
server-gateway:服务网关
model:实体类模块
service:api接口服务父节点
service-hosp:医院api接口服务
service-cmn:公共api接口服务
service-user:用户api接口服务
service-order:订单api接口服务
service-oss:文件api接口服务
service-sms:短信 api接口服务
service-task:定时任务服务
service-statistics:统计api接口服务
service-client:feign服务调用父节点
service-cmn-client:公共api接口
service-hosp-client:医院api接口
service-order-client:订单api接口
service-user:用户api接口
1.构建父工程(yygh-parent)
添加配置pom.xml
2 搭建common父模块
①点击yygh-parent,选择New–>Module,选择Maven,创建完成后删除src目录
②修改配置pom.xml
3. 搭建common-util模块
①点击common,选择New–>Module,选择Maven,创建完成后删除src目录
②修改配置pom.xml
4. 添加公共工具类
5.搭建service-util
搭建过程同common-util,配置文件参考项目文档
添加service-util公共类
6.搭建model模块
搭建过程同common模块,配置文件参考项目文档
7.引入实体类
将实体类都引入进来,后续不再单独引入,实体类没有业务逻辑,提前引入,方便后续开发。
8.搭建service父模块
搭建过程同common模块,配置文件参考项目文档
二、gitee使用
1.创建仓库
2.提交上传
①.打开项目并点击菜单栏上的【CVS】–》【Import into version control】–》【Create Git Repository】创建本地仓库
在打开的【Create Git Repository】对话框内选择本地仓库的位置,这里我选择项目的根目录。
②右击项目点击【Git】–》【Add】,接着点击【Git】–》【Commit Directory】在打开的窗口中选择要上传到本地仓库的代码并添加注释后提交到本地仓库内。
③右击项目点击【Git】–》【Repository】–》【Remotes…】。在打开的【Git Remotes】窗口中添加码云的远程仓库。
远程仓库为前面复制的仓库地址
④点击【OK】后接着输入码云的账号密码。
⑤上传代码到码云,右击项目点击【Git】–》【Repository】–》【Push…】在打开的【Push commits】内可以看到已提交到本地仓库的提交信息。点击【Push】按钮将本地仓库的代码上传到码云上,上传成功后就可以在码云上看到。
三、医院设置需求
1.需求
医院设置主要是用来保存开通医院的一些基本信息,因此每个医院需要一条信息,保存了医院编号(平台分配,全局唯一)和接口调用相关的签名key等信息
我们所开发的功能就是基于单表的一个CRUD、锁定/解锁和发送签名信息这些基本功能。
2、表结构
四、医院模块开发
1、搭建医院模块service-hosp
① 跟前面模块搭建流程一致,配置pom文件
②添加配置文件application.properties
# 服务端口
server.port=8201
# 服务名
spring.application.name=service-hosp
# 环境设置:dev、test、prod
spring.profiles.active=dev
# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.44.163:3306/yygh_hosp?characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root123
#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
#配置mapper xml文件的路径
#mybatis-plus.mapper-locations=classpath:com/atguigu/yygh/mapper/xml/*.xml
mybatis-plus.mapper-locations=classpath:com/atguigu/yygh/mapper/xml/*.xml
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#开启sentinel
feign.sentinel.enabled=true
#设置sentinel地址
spring.cloud.sentinel.transport.dashboard=http://127.0.0.1:8858
#mongodb地址
spring.data.mongodb.host=192.168.44.163
spring.data.mongodb.port=27017
spring.data.mongodb.database=yygh_hosp
#rabbitmq地址
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
③添加启动类
添加com.atguigu.yygh.ServiceHospApplication类
package com.atguigu.yygh;
@SpringBootApplication
public class ServiceHospApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceHospApplication.class, args);
}
}
2、添加医院设置CURD
前面实体类已经提前引入了
①添加Mapper
编写mapper类
package com.atguigu.yygh.hosp.mapper;
@Mapper
public interface HospitalSetMapper extends BaseMapper<HospitalSet> {
}
在mapper/xml下添加HospitalSetMapper.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="com.atguigu.yygh.hosp.mapper.HospitalSetMapper">
</mapper>
②添加service接口及实现类
添加com.atguigu.yygh.hosp.service.HospitalSetService接口
package com.atguigu.yygh.hosp.service;
public interface HospitalSetService extends IService<HospitalSetService> {
}
添加com.atguigu.yygh.hosp.service.impl.HospitalSetServiceImpl接口实现
③添加controller
package com.atguigu.yygh.hosp.controller;
@RestController
@RequestMapping("/admin/hosp/hospitalSet")
public class HospitalSetController {
@Autowired
private HospitalSetService hospitalSetService;
}
④医院设置CRUD
由于com.baomidou.mybatisplus.extension.service.impl.ServiceImpl类已经默认实现 了单表的CRUD,分页查询也有默认实现,能够更加灵活和代码简洁把分页查询功能实现。
⑤添加controller方法
//代码待实现补充
说明:一个完整的CRUD就实现了