问题三:minio整合到业务逻辑中
主表中没有附件字段,附件表中有主表的id
上传附件的时候:
1.如果是和主表中的字段一起上传的话?–考虑在更新原表的同时也更新对应的附件表(where 主表id = ?)
方法的返回值的R.ok()中返回什么?
思路:
将附件的 和 数据库的 分别查询出来 然后传个一个 包含两个的实体类接受
遇到的问题,
1.想要使用apifox中测试 接口中有两个实体类的方法,发现没有办法使用两个@RequestBody,考虑将这两个类封装成为一个类,通过json的形式进行测试
-解决方法:想到通过fastJson中的JSON.toJSONString()方法将实体类转化为Json
{
"bigOthNppReport":{"attach":"1","createTime":"2021-03-09T16:43:11","crewNo":"1","flag":"1","id":0,"isDelete":0,"no":"1","nppOrg":"1","publishOrg":"1","reportDate":"2021-03-09T16:43:11","rptNd":"1","theme":"1","updateTime":"2021-03-09T16:43:11","writeName":"1","writeTime":"2021-03-09T16:43:11"},"bigOthNppReportAttach":{"id":3,"isDelete":0,"fileName":"1.txt"}
}
保存文件的思路:
目标,上传文件到minio中,并且保存文件名 和 bucketName 到数据库中 ,返回主表的数据以及附件
–又遇到问题了,上传可能是多个文件,怎么存入到数据库中,考虑是将多个文件的名称存入到一个集合中,将集合遍历存入到数据库中
–遇到问题,返回的时候BigOthNppReportAttach中的fileName只能是一个,考虑是在BigOthNppReportAttach中的创建一个fileNames的集合,但是不存入数据库中
@TableField(exist = false)
private List<String> fileNames;