1.3 课程发布接口
1.3.1 Api接口
此Api接口由课程管理提供,由课程管理前端调用此Api接口,实现课程发布。 在api工程下课程管理包下定义接口:

[mw_shl_code=applescript,true]@ApiOperation("发布课程")
public CoursePublishResult publish(@PathVariable String id); [/mw_shl_code]
1.3.2 创建Feign Client
在课程管理工程创建CMS服务页面发布的Feign Client[mw_shl_code=applescript,true]@FeignClient(value = XcServiceList.XC_SERVICE_MANAGE_CMS) public interface CmsPageClient {  //一键发布页面  @PostMapping("/cms/page/postPageQuick")   public CmsPostPageResult postPageQuick(CmsPage cmsPage); }[/mw_shl_code]

1.3.3 Service
1、配置课程发布页面参数 在application.yml中配置

[mw_shl_code=applescript,true]course‐publish:siteId: 5b30cba5f58b4411fc6cb1e5 templateId: 5ad9a24d68db5239b8fef199 previewUrl: http://www.xuecheng.com/cms/preview/
pageWebPath: /course/detail/
pagePhysicalPath: /course/detail/
dataUrlPre: http://localhost:31200/course/courseview/ [/mw_shl_code]
siteId:站点id templateId:模板id dataurlPre:数据url的前缀
pageWebPath: 页面的web访问路径 pagePhysicalPath:页面的物理存储路径。2、Service方法如下[mw_shl_code=applescript,true]
course‐publish:   siteId: 5b30cba5f58b4411fc6cb1e5 templateId: 5ad9a24d68db5239b8fef199 previewUrl: http://www.xuecheng.com/cms/preview/ pageWebPath: /course/detail/ pagePhysicalPath: /course/detail/
dataUrlPre: http://localhost:31200/course/courseview/
@Value("${course‐publish.dataUrlPre}") private String publish_dataUrlPre; @Value("${course‐publish.pagePhysicalPath}") private String publish_page_physicalpath; @Value("${course‐publish.pageWebPath}") private String publish_page_webpath; @Value("${course‐publish.siteId}") private String publish_siteId;
@Value("${course‐publish.templateId}") private String publish_templateId;
@Value("${course‐publish.previewUrl}") private String previewUrl;
@Autowired CmsPageClient cmsPageClient;
//课程发布   @Transactional  public CoursePublishResult publish(String courseId){   //课程信息      CourseBase one = this.findCourseBaseById(courseId);  //发布课程详情页面     CmsPostPageResult cmsPostPageResult = publish_page(courseId);    if(!cmsPostPageResult.isSuccess()){ExceptionCast.cast(CommonCode.FAIL);
[/mw_shl_code]
[mw_shl_code=applescript,true] }     //更新课程状态     CourseBase courseBase = saveCoursePubState(courseId);     //课程索引...     //课程缓存...      //页面url  String pageUrl = cmsPostPageResult.getPageUrl();    return new CoursePublishResult(CommonCode.SUCCESS,pageUrl);   }   //更新课程发布状态  private CourseBase saveCoursePubState(String courseId){    CourseBase courseBase = this.findCourseBaseById(courseId);    //更新发布状态     courseBase.setStatus("202002");    CourseBase save = courseBaseRepository.save(courseBase);  return save;  }   //发布课程正式页面 public CmsPostPageResult publish_page(String courseId){    CourseBase one = this.findCourseBaseById(courseId);      //发布课程预览页面      CmsPage cmsPage = new CmsPage();   //站点       cmsPage.setSiteId(publish_siteId);//课程预览站点    //模板      cmsPage.setTemplateId(publish_templateId);   //页面名称    cmsPage.setPageName(courseId+".html");    //页面别名
cmsPage.setPageAliase(one.getName());    //页面访问路径    cmsPage.setPageWebPath(publish_page_webpath);  //页面存储路径     cmsPage.setPagePhysicalPath(publish_page_physicalpath);    //数据url       cmsPage.setDataUrl(publish_dataUrlPre+courseId);      //发布页面   CmsPostPageResult cmsPostPageResult = cmsPageClient.postPageQuick(cmsPage);    return cmsPostPageResult;   } [/mw_shl_code]
1.3.4 Controller
[mw_shl_code=applescript,true]@Override  @PostMapping("/publish/{id}")   public CoursePublishResult publish(@PathVariable String id) {    return courseService.publish(id);     }
[/mw_shl_code]

转载于:https://blog.51cto.com/13517854/2390866

Java的新项目学成在线笔记-day10(二)相关推荐

  1. Java的新项目学成在线笔记-day10(三)

    1.4 测试CMS一键发布接口 1.4.1 配置虚拟主机 在nginx配置课程详情页面的虚拟主机,实现访问:www.xuecheng.com/course/detail/.....html. #静态资 ...

  2. Java的新项目学成在线笔记-day10(一)

    1 课程发布 1.1 需求分析 课程发布后将生成正式的课程详情页面,课程发布后用户即可浏览课程详情页面,并开始课程的学习. 课程发布生成课程详情页面的流程与课程预览业务流程相同,如下: 1.用户进入教 ...

  3. Java的新项目学成在线笔记-day13(九)

    6.2.2 创建媒资服务工程 媒资管理的相关功能单独在媒资服务中开发,下边创建媒资服务工程(xc-service-manage-media). 媒资服务的配置与cms类似,导入 "资料&qu ...

  4. Java的新项目学成在线笔记-day12(九)

    3.1.4 搜索页面 创建搜索页面如下: 页面文件参考:"资料"-->"search"-->index_1.vue,重要代码如下: nuxt.js支 ...

  5. Java的新项目学成在线笔记-day14(四)

    1.2.3.5 视频处理生成m3u8 下边是完整的视频处理任务类代码,包括了生成m3u8及生成mp4的代码. [mw_shl_code=applescript,true]@Component publ ...

  6. Java的新项目学成在线笔记-day7(一)

    1.1需求分析 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询. 注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示. 上边的查询要实现分页. ...

  7. Java的新项目学成在线笔记-day13(八)

    6 媒资管理 前边章节完成在线视频播放,如何实现点击课程计划播放视频呢,课程视频如何管理呢? 本节开始将对课程视频进行管理. 6.1需求分析 媒资管理系统是每个在线教育平台所必须具备的,百度百科对它的 ...

  8. Java的新项目学成在线笔记-day7(二)

    1.3 前端页面说明 我的课程列表使用element 的card组件,如下: 页面布局代码如下: <template> <section> <el‐row >< ...

  9. Java的新项目学成在线笔记-day8(三)

    1.1.3.1 需求 上传图片界面如下图: 点击"加号"上传图片,图片上传成功自动显示:点击"删除"将删除图片. 1.1.3.2 页面 使用Element-UI ...

最新文章

  1. windowservice创建及部署
  2. python面试常见题目
  3. Redmine 数据库连接错误
  4. caffe路径正确,却读不到图片
  5. 数组中某个元素相同的去重_JAvaScript:JS数组元素去重的方法
  6. 苹果无人驾驶拿 124 个工程师祭天!
  7. 虚拟系统管理VSM提高服务器整合率
  8. 吴恩达神经网络和深度学习-学习笔记-18-Softmax回归
  9. python向oracle写数据类型,python-oracle插入数据类型不匹配
  10. vray渲染里服务器信息,Vray使用手册——设置V-Ray渲染服务器
  11. GO的lua虚拟机 gopher-lua
  12. 阿里云OSS图片缩放处理
  13. CMOS曝光时间、积分时间
  14. 解密-大象跳转如何实现微信中点击链接直接跳到默认浏览器(不是在微信内置浏览器打开)
  15. echarts实现饼图阴影,改变饼图的颜色,改变引导线的颜色
  16. jitter in fMRI design
  17. 新版Vultr挂载自定义ISO安装Windows XP系统并开启远程桌面教程
  18. 图像仿射变换及图像扭曲(Image Warping)
  19. telegram 开启允许权限 实现bot直接监控频道
  20. windows录屏html文件,windows怎么录屏带声音,简单高效的两种录制法

热门文章

  1. bzoj1131[POI2008]Sta*
  2. 微酒店微信界面返回信息有html源码
  3. Smark.Data 值转换器
  4. Spark2.1.0之初识Spark
  5. iOS UIScreen详解
  6. 《Pro ASP.NET MVC 3 Framework》学习笔记之十三【示例项目SportsStore】
  7. 设计模式之Dynamic Proxy-动态代理
  8. 使用spark计算文档相似度
  9. [摘录]第二部分 战略决策(2)
  10. Windows Server 2008 R2使用LDP恢复已删除的用户实战