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

课程发布接口介绍
博客介绍了课程发布接口,包括由课程管理提供、课程管理前端调用的Api接口,该接口在api工程下课程管理包下定义。还提到了Service中需在application.yml里配置课程发布页面参数。

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

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值