内容与图像一对多问题解决

场景复现

 分析:

其实这是两给表,一个内容表,一个图片表,一对多的关系。

解决思路:

1. 先上传图片拿到图片的List集合ids,返回值是集合的ids,给到前端

2. 再添加内容表的数据生成了id,遍历查询拿到的图片集合ids,再对象里面,设置内容id,保存对象。

业务层

图片上传

    /****  返回数组图片的 集合 id* @param file* @return*/@PostMapping("/insertImg")public R<List<Integer>> insertImg(MultipartFile[] file) {return exFeedbackService.insertImg(file);}
    @Overridepublic R<List<Integer>> insertImg(MultipartFile[] file) {ArrayList<Integer> ids = new ArrayList<>();// 循环遍历删除,添加图片数据for (MultipartFile files : file) {String fileName = files.getOriginalFilename();try {MinIOUtils.uploadFile(minIOConfig.getBucketName(), fileName, files.getInputStream());} catch (Exception e) {throw new RuntimeException("上传minio图片失败");}// 图片url路径String imgUrl = MinIOUtils.getBasisUrl() + fileName;// 添加图片数据ExImg exImg = new ExImg();exImg.setImgUrl(imgUrl);exImg.setImgName(fileName);// 循环添加数据exImgMapper.insert(exImg);// 批量添加idids.add(exImg.getId());}return R.success(ids);}

内容保存

    /*** @param: ExFeedback , MultipartFile* @return:void* @Date:2024/5/12 反馈内容模块添加数据*/@PostMapping("/insertInfo")public R<Void> insertInfo(@RequestBody ExFeedback exFeedback) {return exFeedbackService.insertInfo(exFeedback);}
    /*** @param: ExFeedback , MultipartFile* @return:void* @Date:2024/5/12 反馈内容模块添加数据 & 图片*/@Overridepublic R<Void> insertInfo(ExFeedback exFeedback) {// 添加反馈内容表数据int insert = exFeedbackMapper.insert(exFeedback);// 图标的list集合idList<Integer> ids = exFeedback.getIds();ids.forEach(re -> {// 查出的每条数据ExImg exImg = exImgMapper.selectById(re);// 每条数据set 反馈内容idexImg.setFeedbackId(exFeedback.getId());// 保存idexImgMapper.updateById(exImg);});return R.success();}

(注意内容表实体类有List<Integer> ids 字段)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/696391.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT搜索引擎原型曝光!

OpenAI发布会前一天&#xff0c;员工集体发疯中……上演大型套娃行为艺术。 A&#xff1a;我为B的兴奋感到兴奋&#xff1b;B&#xff1a;我为C的兴奋感到兴奋……Z&#xff1a;我为这些升级感到兴奋 与此同时还有小动作不断&#xff0c;比如现在GPT-4的文字描述已不再是“最先…

怎么ai拍照搜题?让你的学习之路更平坦!

怎么ai拍照搜题&#xff1f;在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;的广泛应用已经渗透到我们生活的方方面面&#xff0c;其中AI拍照搜题功能更是受到了广大学子的热烈欢迎。这一功能通过拍照上传题目&#xff0c;利用AI技术快速识别并分析题目内容&#…

Mysql数据类型设计思考

一、Mysql数据类型设计规范 1.1 选择更小的数据类型 一般情况下&#xff0c;在满足存储要求的基础上&#xff0c;尽量选择小的存储类型。例如&#xff1a;存储0~200&#xff0c;tinyint和bigint都可以存储&#xff0c;那么选择tinyint。原因&#xff1a;越小的数据类型运算速…

Java后端的接口参数两个interger 类型情况解决

get请求 &#xff0c;对应请求头 RequestParm, post请求&#xff0c; 对应请求体 &#xff0c;RequestBody 两个Integer参数情况 GetMapping("/insertStaffClass")public R<Void> insertStaffClass(RequestParam Integer staffId,RequestParam List<Integ…

栈和队列的实现

目录 1.栈 1.1栈的概念以及结构&#xff1a; 1.2栈的实现 栈的初始化&#xff1a; 栈的销毁&#xff1a; 入栈&#xff1a; 获取栈顶数据&#xff1a; 判空&#xff1a; 获取元素的个数&#xff1a; 2.队列 2.1队列的概念及其结构 2.2队列的实现 队列的初始化 队…

DML之操作数据表

1. 插入数据 (1). 前言 前文我们实现了如果创建表&#xff0c;接下来我们将学习如何向数据表中插入数据.插入有两种方式. (2). 方式1 : 情况1 : 使用该语法一次只能向表中插入一条记录.为表中的任意字段按默认的顺序插入数据.值列表中需要为表的每一个字段指定值.并且值…

Android Studio开发之路(九)创建android library以及生成aar文件

一、需求 我做了一个camerax相机opencv图像处理图片上传服务器功能的android应用&#xff0c;应客户需求要将其改成一个SDK&#xff0c;由客户加到他们自己的app里边。 于是&#xff0c;我需要制作一个library&#xff0c;打包成aar文件&#xff08;jar:只有代码&#xff0c;没…

如何在CentOS7本地搭建ONLYOFFICE办公套件结合内网穿透实现公网访问

文章目录 1. 安装Docker2. 本地安装部署ONLYOFFICE3. 安装cpolar内网穿透4. 固定OnlyOffice公网地址 本篇文章讲解如何使用Docker在本地服务器上安装ONLYOFFICE&#xff0c;并结合cpolar内网穿透实现公网访问。 Community Edition允许您在本地服务器上安装ONLYOFFICE文档&…

C++青少年简明教程:C++数据类型

C青少年简明教程&#xff1a;C数据类型 数据类型定义了变量可以存储哪些类型的数据&#xff0c;以及对这些数据可以进行哪些操作。C提供了丰富的数据类型供开发者使用。 下面是 C 中常见的数据类型&#xff1a; ★整型&#xff08;int&#xff09;&#xff1a;整数类型的数据…

5 款免费好用的精品软件推荐!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 1.系统优化软件 - Wise Care 365 Wise Care 365 -全球最快的系统优化软件&#xff01;精简系统、管理启动项、清理和优化注册表、清理个人隐私…

给第一次接触产品设计的写的

设计概念 设计原则 你可以参考以下的原则在每次评估一个网站时&#xff0c;建立excel&#xff0c;包含两个表格 表格1&#xff1a; 启发式评估 评估人员姓名 设备/浏览器/OS 网站URL 日期容易修复度 (ER) E0.修复需要最大的努力 E1.修复需要相当大的努力 E2.修复需要一些努…

攻防演练-防守单位常见防守策略

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 防守单位常见防守策略 01 防守单位常见防守策略 为普及网络安全知识&#xff0c;提高网络安全防范意识&#xff0c;和网络安全工作技能。我们将向大家介绍网络安全攻防演练中防守单位的一些关键策…