保存课程图片

需求分析

图片上传到文件系统后,其它子系统如果想使用图片可以引用图片的地址,课程管理模块使用图片的方式是将图片地址保存到课程数据库中。

业务流程如下:

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);
}

保存课程图片-服务端开发相关推荐

  1. 棋牌游戏服务端开发和设计-苏劲-专题视频课程

    棋牌游戏服务端开发和设计-279人已学习 课程介绍         本门课程讲解棋牌游戏服务端的架构.数据库的设计.数据库异步存储.帐号管理.房间管理等棋牌游戏服务端的核心技术,有意向从事棋牌研发的同 ...

  2. 第13章 Kotlin 集成 SpringBoot 服务端开发(1)

    第13章 Kotlin 集成 SpringBoot 服务端开发 本章介绍Kotlin服务端开发的相关内容.首先,我们简单介绍一下Spring Boot服务端开发框架,快速给出一个 Restful He ...

  3. Erlang服务端开发(无需Erlang基础)笔试题

    某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...

  4. 一场B站服务端开发面试之旅

    作者 | 蓝 来源 | 我是程序员小贱(ID:Lanj1995Q) 此次B站服务端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些题是不是常见的不能再常见 ...

  5. java服务端开发 php_PHP使用thrift做服务端开发

    php中文网最新课程 每日17点准时技术干货分享 php使用thrift做服务端开发 thrift采用接口描述语言定义和创建服务,用二进制格式传输数据,体积更小.效率更高,对于高并发.数据量大和多语言 ...

  6. 计算机网络拓跋结构,实战 | 服务端开发与计算机网络结合的完美案例

    前言 大家好,我是阿秀 后端,可以说是仅次于算法岗之外竞争最为激烈的岗位,而其中的服务端开发也是很多人会选择在秋招中投递的一个岗位,我想对于很多人来说,走上服务端开发之路的起点就是一个回声服务器了. ...

  7. 一、服务端开发基础(搭建Web服务器、网络基础概念、请求响应流程、配置Apache、静态网站与动态网站)

    一.建立你的第一个网站(目标) 前端开发 最终还是属于 Web 开发 中的一个分支,想要成为一名合格的前端开发人员,就必须要 充分理解Web 的概念. 构建一个专业的网站是一项巨大的工作!对于新手我们 ...

  8. WebFlux响应式编程基础之 5 webflux服务端开发讲解

    https://blog.csdn.net/qq_27093465/article/details/64124330 debug技巧 第5章 webflux服务端开发讲解 Spring5 非组塞的开发 ...

  9. 百万在线:大型游戏服务端开发

    进入手游时代,服务端技术也在向前演进.现代游戏服务端既要承载数以万计的在线玩家,又要适应快速变化的市场需求,因此,如何设计合适的架构就成了重中之重.服务端技术并不简单,作为服务端新人,全面掌握服务端技 ...

最新文章

  1. 数据分享 | LSTM神经网络架构和原理及其在Python中的预测应用(附视频)
  2. OC-变量和数据类型
  3. 易经读书笔记18山风蛊
  4. SpringCloud工作笔记075---SpotBugs介绍--优化java代码的质量
  5. 数据结构 5-0 树与二叉树总结
  6. Castle 开发系列文章
  7. 谷歌正式推出在线云储存服务Google Drive
  8. 如何防止SWF文件被反编译
  9. 在点光源的基础上利用光域网来分布光的传播范围及方向_daiding
  10. 视频格式转换工具,用到ws.schild.jave,之前是用的it.sauronsoftware.jave,作者已经不维护了
  11. Android Canvas.DrawLine绘制线段
  12. android高效简洁的代码实现直播礼物效果
  13. Matlab标定工具箱使用教程
  14. 表单进阶 单选框 多选框
  15. macos复制粘贴快捷键 快速_Mac复制粘贴快捷键怎么修改 Mac复制粘贴快捷键修改步骤...
  16. 删除非字母字符python_python字符串如何去掉英文字母以外的字符
  17. RFT 控件类型关系
  18. aui点击事件css,AUI说明
  19. 人人商城,资金转账功能开发,让余额可以在会员中心自由流通
  20. Https单向认证和双向认证 认识和区别

热门文章

  1. Linux - man page
  2. 总结了一些指针易出错的常见问题(二)
  3. 【转】iOS-生成Bundle包-引入bundle-使用bundle
  4. PHP高级应用视频教程大全学习
  5. hashmap boost
  6. 【Spring学习】spring依赖注入用法总结
  7. 【JFreeChart】JFreeChart—输出组合图表
  8. 在 Android 上使用协程(二):Getting started
  9. Nest Secure智能保全系统内建麦克风 引发用户反弹
  10. Centos 7.5安装配置MongoDB 4.0.4