生活随笔
收集整理的這篇文章主要介紹了
Java的新项目学成在线笔记-day10(一)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 課程發(fā)布 1.1 需求分析
課程發(fā)布后將生成正式的課程詳情頁面,課程發(fā)布后用戶即可瀏覽課程詳情頁面,并開始課程的學(xué)習(xí)。
課程發(fā)布生成課程詳情頁面的流程與課程預(yù)覽業(yè)務(wù)流程相同,如下:
1、用戶進(jìn)入教學(xué)管理中心,進(jìn)入某個(gè)課程的管理界面
2、點(diǎn)擊課程發(fā)布,前端請(qǐng)求到課程管理服務(wù)
3、課程管理服務(wù)遠(yuǎn)程調(diào)用CMS生成課程發(fā)布頁面,CMS將課程詳情頁面發(fā)布到服務(wù)器
4、課程管理服務(wù)修改課程發(fā)布狀態(tài)為 “已發(fā)布”,并向前端返回發(fā)布成功
5、用戶在教學(xué)管理中心點(diǎn)擊“課程詳情頁面”鏈接,查看課程詳情頁面內(nèi)容
1.2 CMS一鍵發(fā)布接口
1.2.1 需求分析
根據(jù)需求分析內(nèi)容,需要在cms服務(wù)增加頁面發(fā)布接口供課程管理服務(wù)調(diào)用,此接口的功能如下: 1、接收課程管理服務(wù)發(fā)布的頁面信息
2、將頁面信息添加到 數(shù)據(jù)庫(mongodb) 3、對(duì)頁面信息進(jìn)行靜態(tài)化
4、將頁面信息發(fā)布到服務(wù)器 1.2.3 接口定義
1、創(chuàng)建響應(yīng)結(jié)果類型 頁面發(fā)布成功cms返回頁面的url
頁面Url= cmsSite.siteDomain+cmsSite.siteWebPath+ cmsPage.pageWebPath + cmsPage.pageName
[mw_shl_code=applescript,true]@Data
@NoArgsConstructor//無參構(gòu)造器注解 public class CmsPostPageResult extends ResponseResult { String pageUrl; public CmsPostPageResult(ResultCode resultCode,String pageUrl) { super(resultCode); this.pageUrl = pageUrl; } } [/mw_shl_code]
2、在api工程定義頁面發(fā)布接口[mw_shl_code=applescript,true]@ApiOperation("一鍵發(fā)布頁面")
public CmsPostPageResult postPageQuick(CmsPage cmsPage); [/mw_shl_code]
2.2.4 Dao
1、站點(diǎn)dao
接口中需要獲取站點(diǎn)的信息(站點(diǎn)域名、站點(diǎn)訪問路徑等)[mw_shl_code=applescript,true]public interface CmsSiteRepository extends MongoRepository<CmsSite,String> {
}[/mw_shl_code]
2.2.5 Service
1、添加頁面,如果已存在則更新頁面[mw_shl_code=applescript,true]//添加頁面,如果已存在則更新頁面
public CmsPageResult save(CmsPage cmsPage){ //校驗(yàn)頁面是否存在,根據(jù)頁面名稱、站點(diǎn)Id、頁面webpath查詢 CmsPage cmsPage1 = cmsPageRepository.findByPageNameAndSiteIdAndPageWebPath(cmsPage.getPageName(), cmsPage.getSiteId(), cmsPage.getPageWebPath()); if(cmsPage1 !=null){ //更新 return this.update(cmsPage1.getPageId(),cmsPage); }else{ //添加 return this.add(cmsPage); } }[/mw_shl_code]
2、頁面發(fā)布方法[mw_shl_code=applescript,true]//一鍵發(fā)布頁面
public CmsPostPageResult postPageQuick(CmsPage cmsPage){ //添加頁面 CmsPageResult save = this.save(cmsPage); if(!save.isSuccess()){ return new CmsPostPageResult(CommonCode.FAIL,null); }
CmsPage cmsPage1 = save.getCmsPage(); //要布的頁面id String pageId = cmsPage1.getPageId(); //發(fā)布頁面 ResponseResult responseResult = this.postPage(pageId); if(!responseResult.isSuccess()){ return new CmsPostPageResult(CommonCode.FAIL,null); } //得到頁面的url //頁面url=站點(diǎn)域名+站點(diǎn)webpath+頁面webpath+頁面名稱 //站點(diǎn)id String siteId = cmsPage1.getSiteId(); //查詢站點(diǎn)信息 CmsSite cmsSite = findCmsSiteById(siteId); //站點(diǎn)域名 String siteDomain = cmsSite.getSiteDomain(); //站點(diǎn)web路徑 String siteWebPath = cmsSite.getSiteWebPath(); //頁面web路徑 String pageWebPath = cmsPage1.getPageWebPath(); //頁面名稱 String pageName = cmsPage1.getPageName(); //頁面的web訪問地址 String pageUrl = siteDomain+siteWebPath+pageWebPath+pageName; return new CmsPostPageResult(CommonCode.SUCCESS,pageUrl); }[/mw_shl_code]
[mw_shl_code=applescript,true]//根據(jù)id查詢站點(diǎn)信息 public CmsSite findCmsSiteById(String siteId){ Optional<CmsSite> optional = cmsSiteRepository.findById(siteId); if(optional.isPresent()){ return optional.get(); } return null; } [/mw_shl_code]
2.2.6 Controller
[mw_shl_code=applescript,true]@Override
@PostMapping("/postPageQuick")
public CmsPostPageResult postPageQuick(@RequestBody CmsPage cmsPage) { return pageService.postPageQuick(cmsPage); }[/mw_shl_code]
轉(zhuǎn)載于:https://blog.51cto.com/13517854/2390864
總結(jié)
以上是生活随笔為你收集整理的Java的新项目学成在线笔记-day10(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。