尚医通-OSS存储+预约统计+定时任务

尚医通-OSS存储+预约统计+定时任务

该模块需要开通阿里云的OSS服务,并在application.properties中进行配置,在本项目中主要用于用户进行实名认证时上传身份证等

上传文件到阿里云oss

前端请求:
1
@PostMapping("fileUpload")
后端处理:
1
2
3
4
5
public Result fileUpload(MultipartFile file) {
//获取上传文件
String url = fileService.upload(file);
return Result.ok(url);
}

upload方法具体实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public String upload(MultipartFile file) {
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = ConstantOssPropertiesUtils.EDNPOINT;
String accessKeyId = ConstantOssPropertiesUtils.ACCESS_KEY_ID;
String accessKeySecret = ConstantOssPropertiesUtils.SECRECT;
String bucketName = ConstantOssPropertiesUtils.BUCKET;
try {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传文件流。
InputStream inputStream = file.getInputStream();
String fileName = file.getOriginalFilename();
//生成随机唯一值,使用uuid,添加到文件名称里面
String uuid = UUID.randomUUID().toString().replaceAll("-","");
fileName = uuid+fileName;

//按照当前日期,创建文件夹,上传到创建文件夹里面
// 2021/02/02/01.jpg
String timeUrl = new DateTime().toString("yyyy/MM/dd");
fileName = timeUrl+"/"+fileName;

//调用方法实现上传
// 1.jpg /a/b/1.jpg
ossClient.putObject(bucketName, fileName, inputStream);
// 关闭OSSClient。
ossClient.shutdown();
//上传之后文件路径
// https://yygh-atguigu.oss-cn-beijing.aliyuncs.com/01.jpg
String url = "https://"+bucketName+"."+endpoint+"/"+fileName;
//返回
return url;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

获取预约统计数据

前端请求:
1
@GetMapping("getCountMap")
后端处理:
1
2
3
4
public Result getCountMap(OrderCountQueryVo orderCountQueryVo) {
Map<String, Object> countMap = orderFeignClient.getCountMap(orderCountQueryVo);
return Result.ok(countMap);
}

每天执行就医提醒

前端请求:
1
@Scheduled(cron = "0/30 * * * * ?")
后端处理:
1
2
3
public void taskPatient() {
rabbitService.sendMessage(MqConst.EXCHANGE_DIRECT_TASK,MqConst.ROUTING_TASK_8,"");
}

尚医通-OSS存储+预约统计+定时任务
https://yztldxdz.top/2022/10/29/尚医通-OSS存储+预约统计+定时任务/
发布于
2022年10月29日
许可协议