一、医院设置模块需求
医院设置主要是用来保存开通医院的一些基本信息,每个医院一条信息,保存了医院编号(平台分配,全局唯一)和接口调用相关的签名
key
等信息,是整个流程的第一步,只有开通了医院设置
信息,才可以上传医院相关信息。我们所开发的功能就是基于单表的一个
CRUD
、锁定
/
解锁和发
送签名信息这些基本功能
二、医院设置表结构
hosname
:医院名称
hoscode
:医院编号(平台分配,全局唯一,
api
接口必填信息)
api_url
:医院回调的基础
url
(如:预约下单,我们要调用该地址去医院下单)
sign_key
:双方
api
接口调用的签名
key
,有平台生成
contacts_name
:医院联系人姓名
contacts_phone
:医院联系人手机
status
:状态(锁定
/
解锁)
三、医院模块配置
1、在service下面service_hosp模块中创建配置文件
resources目录下创建文件 application.properties
1
#
服务端口
2
server
.port
=
8201
3
#
服务名
4
spring.application
.name
=service-hosp
5
6
#
环境设置:
dev
、
test
、
prod
7
spring.profiles
.active
=dev
8
9
# mysql
数据库连接
10
spring.datasource
.driver-class-name
=com.mysql.jdbc.Driver
11
spring.datasource
.url
=jdbc:mysql://localhost:3306/yygh_hosp
?characterEncoding
=utf-8
&u
12
spring.datasource
.username
=root
13
spring.datasource
.password
=root
14
15
#
返回
json
的全局时间格式
16
spring.jackson
.date-format
=yyyy-MM-dd HH:mm:ss
17
spring.jackson
.time-zone
=GMT+
8
18
19
#mybatis
日志
20
mybatis-plus.configuration
.log-impl
=org.apache.ibatis.logging.stdout.StdOutImpl
四、编写医院设置后台管理api接口
1、创建包结构,创建SpringBoot启动类
创建启动类ServiceHospApplication.java,
注意启动类的创建位置
1
@SpringBootApplication
2
public class
ServiceHospApplication
{
3
4
public static
void main(String[] args) {
5
SpringApplication.run(ServiceHospApplication.
class
, args);
6
}
7
}
2、创建service
1
public interface
HospitalSetService
extends
IService<HospitalSet> {
2
3
}
4
5
@Service
6
public class
HospitalSetServiceImpl
extends
ServiceImpl<HospitalSetMapper, HospitalSe
7
}
3、创建mapper
1
public interface
HospitalSetMapper
extends
BaseMapper<HospitalSet> {
2
3
}
HospitalSetMapper.xml
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4
<mapper
namespace
=
"com.atguigu.yygh.hosp.mapper.HospitalSetMapper"
>
5
6
</mapper>
4、编写controller代码
1
//
医院设置接口
2
@RestController
3
@RequestMapping
(
"/admin/hosp/hospitalSet"
)
4
public class
HospitalSetController
{
5
6
@Autowired
7
private
HospitalSetService hospitalSetService;
8
9
//
查询所有医院设置
10
@GetMapping
(
"findAll"
)
11
public
List<HospitalSet> findAll() {
12
List<HospitalSet> list = hospitalSetService.list();
13
return
list;
14
}
15
}
5、创建SpringBoot配置类
创建config包,创建HospConfig.java
1
@Configuration
2
@EnableTransactionManagement
3
@MapperScan
(
"com.atguigu.yygh.hosp.mapper"
)
4
public class
HospConfig
{
5
6
}
6、运行启动类
访问http://localhost:8201/
/admin/hosp/hospitalSet/findAll
得到json数据
7、统一返回的json时间格式
默认情况下json时间格式带有时区,并且是世界标准时间,和我们的时间差了八个小时
在application.properties中设置
1
#
返回
json
的全局时间格式
2
spring.jackson
.date-format
=yyyy-MM-dd HH:mm:ss
3
spring.jackson
.time-zone
=GMT+
8
五、医院设置逻辑删除功能
1、HospitalSetController添加删除方法
1
@DeleteMapping
(
"{id}"
)
2
public
boolean
removeById
(
@PathVariable
String id){
3
return
hospitalSetService.removeById(id);
4
}
2、使用postman测试删除
测试结果:数据库中的is_deleted字段被修改为1
四、跨域配置
1、什么是跨域
浏览器从一个域名的网页去请求另一个域名的资源时,
域名、端口、协议任一不同,都是跨域
。
前后端分离开发中,需要考虑ajax跨域的问题。
这里我们可以从服务端解决这个问题
2、配置
在Controller类上添加注解
1
@CrossOrigin
//
跨域