保存课程图片-服务端开发
保存课程图片
需求分析
图片上传到文件系统后,其它子系统如果想使用图片可以引用图片的地址,课程管理模块使用图片的方式是将图片地址保存到课程数据库中。
业务流程如下:
1、上传图片到文件系统服务
2、保存图片地址到课程管理服务
在课程管理服务创建保存课程与图片对应关系的表 course_pic。
3、在course_pic保存图片成功后方可查询课程图片信息。
通过查询course_pic表数据则查询到某课程的图片信息。
课程管理服务端开发
API
课程管理需要使用图片则在课程管理服务中要提供保存课程图片的api。
@ApiOperation("添加课程图片")
public ResponseResult addCoursePic(String courseId,String pic);
Dao
模型:
@ToString
@Entity
@Table(name="course_pic")
@GenericGenerator(name = "jpa‐assigned", strategy = "assigned")
public class CoursePic implements Serializable {private static final long serialVersionUID = ‐916357110051689486L;@Id@GeneratedValue(generator = "jpa‐assigned")private String courseid;private String pic;
}
API如下:
public interface CoursePicRepository extends JpaRepository<CoursePic, String> {}
Service
//添加课程计划
@Transactional
public ResponseResult addTeachplan(Teachplan teachplan) {if(teachplan == null ||StringUtils.isEmpty(teachplan.getCourseid()) ||StringUtils.isEmpty(teachplan.getPname())){ExceptionCast.cast(CommonCode.INVALID_PARAM);}//课程idString courseid = teachplan.getCourseid();//页面传入的parentIdString parentid = teachplan.getParentid();if(StringUtils.isEmpty(parentid)){//取出该课程的根结点parentid = this.getTeachplanRoot(courseid);}Optional<Teachplan> optional = teachplanRepository.findById(parentid);Teachplan parentNode = optional.get();//父结点的级别String grade = parentNode.getGrade();//新结点Teachplan teachplanNew = new Teachplan();//将页面提交的teachplan信息拷贝到teachplanNew对象中BeanUtils.copyProperties(teachplan,teachplanNew);teachplanNew.setParentid(parentid);teachplanNew.setCourseid(courseid);if(grade.equals("1")){teachplanNew.setGrade("2");//级别,根据父结点的级别来设置}else{teachplanNew.setGrade("3");}teachplanRepository.save(teachplanNew);return new ResponseResult(CommonCode.SUCCESS);
}
Controller
@Override
@PostMapping("/coursepic/add")
public ResponseResult addCoursePic(@RequestParam("courseId") String courseId, @RequestParam("pic")String pic) {return courseService.addCoursePic(courseId,pic);
}
保存课程图片-服务端开发相关推荐
- 棋牌游戏服务端开发和设计-苏劲-专题视频课程
棋牌游戏服务端开发和设计-279人已学习 课程介绍 本门课程讲解棋牌游戏服务端的架构.数据库的设计.数据库异步存储.帐号管理.房间管理等棋牌游戏服务端的核心技术,有意向从事棋牌研发的同 ...
- 第13章 Kotlin 集成 SpringBoot 服务端开发(1)
第13章 Kotlin 集成 SpringBoot 服务端开发 本章介绍Kotlin服务端开发的相关内容.首先,我们简单介绍一下Spring Boot服务端开发框架,快速给出一个 Restful He ...
- Erlang服务端开发(无需Erlang基础)笔试题
某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...
- 一场B站服务端开发面试之旅
作者 | 蓝 来源 | 我是程序员小贱(ID:Lanj1995Q) 此次B站服务端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些题是不是常见的不能再常见 ...
- java服务端开发 php_PHP使用thrift做服务端开发
php中文网最新课程 每日17点准时技术干货分享 php使用thrift做服务端开发 thrift采用接口描述语言定义和创建服务,用二进制格式传输数据,体积更小.效率更高,对于高并发.数据量大和多语言 ...
- 计算机网络拓跋结构,实战 | 服务端开发与计算机网络结合的完美案例
前言 大家好,我是阿秀 后端,可以说是仅次于算法岗之外竞争最为激烈的岗位,而其中的服务端开发也是很多人会选择在秋招中投递的一个岗位,我想对于很多人来说,走上服务端开发之路的起点就是一个回声服务器了. ...
- 一、服务端开发基础(搭建Web服务器、网络基础概念、请求响应流程、配置Apache、静态网站与动态网站)
一.建立你的第一个网站(目标) 前端开发 最终还是属于 Web 开发 中的一个分支,想要成为一名合格的前端开发人员,就必须要 充分理解Web 的概念. 构建一个专业的网站是一项巨大的工作!对于新手我们 ...
- WebFlux响应式编程基础之 5 webflux服务端开发讲解
https://blog.csdn.net/qq_27093465/article/details/64124330 debug技巧 第5章 webflux服务端开发讲解 Spring5 非组塞的开发 ...
- 百万在线:大型游戏服务端开发
进入手游时代,服务端技术也在向前演进.现代游戏服务端既要承载数以万计的在线玩家,又要适应快速变化的市场需求,因此,如何设计合适的架构就成了重中之重.服务端技术并不简单,作为服务端新人,全面掌握服务端技 ...
最新文章
- 数据分享 | LSTM神经网络架构和原理及其在Python中的预测应用(附视频)
- OC-变量和数据类型
- 易经读书笔记18山风蛊
- SpringCloud工作笔记075---SpotBugs介绍--优化java代码的质量
- 数据结构 5-0 树与二叉树总结
- Castle 开发系列文章
- 谷歌正式推出在线云储存服务Google Drive
- 如何防止SWF文件被反编译
- 在点光源的基础上利用光域网来分布光的传播范围及方向_daiding
- 视频格式转换工具,用到ws.schild.jave,之前是用的it.sauronsoftware.jave,作者已经不维护了
- Android Canvas.DrawLine绘制线段
- android高效简洁的代码实现直播礼物效果
- Matlab标定工具箱使用教程
- 表单进阶 单选框 多选框
- macos复制粘贴快捷键 快速_Mac复制粘贴快捷键怎么修改 Mac复制粘贴快捷键修改步骤...
- 删除非字母字符python_python字符串如何去掉英文字母以外的字符
- RFT 控件类型关系
- aui点击事件css,AUI说明
- 人人商城,资金转账功能开发,让余额可以在会员中心自由流通
- Https单向认证和双向认证 认识和区别