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

场景复现

 分析:

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

解决思路:

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.mzph.cn/diannao/11526.shtml

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

相关文章

佳博打印机如何设置打印模式为热敏模式

1、打开电脑搜索框&#xff0c;如下图输入打印机: 2、点击打印机设置&#xff0c;如下图&#xff1a; 3、点击打印机首选项&#xff0c;如下图&#xff1a; 4、点击下图“卷”进行设置 也可对打印机间距高度进行调整

网络流初步(图论学习总结部分内容)

文章目录 前言五、网络流初步最大流&#xff08;Maximum flow&#xff0c;简称 M F MF MF&#xff09; e g 1 : eg1: eg1: [ P 2764 P2764 P2764 最小路径覆盖问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)](https://www.luogu.com.cn/problem/P2764) 最小费用最大流&am…

【深度学习】探秘PSD:合成到真实去雾框架的实例解析

揭秘PSD&#xff1a;合成到真实去雾框架的革新 一、PSD框架的提出背景二、PSD框架的原理与网络结构三、PSD框架的实现与代码示例四、结论与展望 在图像处理领域&#xff0c;去雾技术一直是一个备受关注的研究热点。然而&#xff0c;传统的去雾方法在面对真实世界的模糊图像时&a…

腐烂的橘子

代码实现&#xff1a; int orangesRotting(int **grid, int gridRowSize, int *gridColSizes) {int good 0, bad 0, t 0;for (int i 0; i < gridRowSize; i) {for (int j 0; j < gridColSizes[0]; j) {if (grid[i][j] 1) { // 记录好橘子数good;} else if (grid[i…

k8s集群的常用命令

查看帮助文档 kubectl --help&#xff1a;显示kubectl命令行工具的帮助信息。 配置kubectl kubectl config set-cluster [cluster-name] --server[server-url]&#xff1a;设置集群配置。kubectl config set-context [context-name] --cluster[cluster-name] --user[user-name]…

ABB机器人程序类型介绍

ABB机器人编程语言为rapid语言&#xff0c;在例行程序中可分为三类&#xff1a;普通程序、功能程序和中断程序。例如新建一个例行程序&#xff0c;会选择一个程序类型&#xff0c;三种类型的区别如下&#xff1a; 1、普通程序&#xff08;procedures&#xff09;&#xff1a;常…

信息系统架构_3.信息系统架构的一般原理

1.信息系统架构的研究 在信息系统中使用体系结构一词&#xff0c;不如计算机体系结构&#xff0c;网络体系结构和数据体系结构那么显而易见。这是因为信息系统是基于计算机、通信网络等现代化工具和手段&#xff0c;服务于信息处理的人机系统&#xff0c;不仅包括了计算…

优选算法——双指针补充

五、leetcode611.有效三角形的个数 题目分析&#xff1a; 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 算法原理&#xff1a; 应用三角形任意量两边之和大于第三边&#xff1b; 解决方案&#xff1a;利用单调性解决&#xf…

蓝桥杯国赛每日一题:日志统计(双指针)

题目描述&#xff1a; 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志&#xff0c;日志共有 N行。 其中每一行的格式是&#xff1a; ts id 表示在 ts时刻编号 id 的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长…

5.13学习日志

Pytorch 神经网络基础 1.模型构造 1》层和块 块可以描述单个层&#xff0c;由多个层组成的组件或者模型本身 块由类表示&#xff0c;类的任何子类都必须定义一个将其输入转换为输出的前向传播函数。为了计算梯度&#xff0c;块必须具有反向传播函数 自定义块&#xff1a; …

把现有的 Jenkins 容器推送到一个新的镜像标签,并且重新启动新的容器

要把现有的 Jenkins 容器推送到一个新的镜像标签&#xff0c;并且重新启动新的容器&#xff0c;你可以按照以下步骤操作&#xff1a; 停止当前正在运行的 Jenkins 容器&#xff08;如果你不想在操作时中断服务&#xff0c;可以跳过此步骤&#xff0c;直接进行下一步&#xff09…

VM 系列——SEED-X——论文解读

一、概述 1、是什么 是一个多模态大模型,论文全称《SEED-X: Multimodal Models with Unified Multi-granularity Comprehension and Generation》,不同于之前的图像文本大模型,主要面向图像问答理解。通过动态分辨率图像编码来处理任意尺寸和宽高比的图像,其作为一个统…

代码大师的工具箱:现代软件开发利器

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

申请免费的Let‘s Encrypt 通配符 HTTPS 证书

参考 https://www.cnblogs.com/wzlinux/p/11188454.html 检测工具 https://www.ssleye.com/ssltool/cer_check.html 申请步骤 安装工具包 curl -o /etc/yum.repos.d/epel-7.repo https://mirrors.aliyun.com/repo/epel-7.repo yum install -y certbot## certbot certonly…

【C++】-QT网络编程-【http】-007

1 【http】请求 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> class QNetworkAccessManager;//前向引用声明namespace Ui { class MyWidget; }class MyWidget : public QWidget {Q_OBJECTpublic:explicit MyWidget(QWidget *parent 0);~MyWidget();privat…

SQLZOO:Self join

数据表&#xff1a;stops-route stops: id,name route: num,company,pos,stop Q1 How many stops are in the database. SELECT COUNT(id) FROM stops Q2 Find the id value for the stop Craiglockhart SELECT id FROM stops WHERE nameCraiglockhart Q3 Give the i…

Ubuntu 超级终端Terminator常用使用技巧

Ubuntu 超级终端Terminator常用使用技巧 Terminator 是一款功能强大的终端模拟器&#xff0c;它特别适合于需要同时管理多个终端会话的用户。以下是如何在 Ubuntu 上使用 Terminator 的详细指南&#xff1a; 安装 Terminator 如果你的系统尚未安装 Terminator&#xff0c;你…

anaconda 环境配置

官方网站下载地址&#xff1a; https://www.anaconda.com/download/ 国内清华镜像下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 配置国内环境: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ …

人工智能生成图像的兴起:区分事实与虚构

人工智能生成图像的兴起&#xff1a;区分事实与虚构 概述 在人工智能 (AI) 已融入我们日常生活的时代&#xff0c;人工智能生成图像的快速发展引发了人们对数字内容真实性的担忧。最近&#xff0c;人工智能生成的图像甚至欺骗了最敏锐的眼睛&#xff0c;这引发了人们对批判性…

什么是抽样调查

抽样调查是政府统计工作和市场调查中普遍采用的方法&#xff0c;我国《统计法》中明确规定&#xff1a;搜集、整理统计资料&#xff0c;应当以周期性普查为基础&#xff0c;以经常性抽样调查为主体&#xff0c;综合运用全面调查、重点调查等方法&#xff0c;并充分利用行政记录…