@Data
@NoArgsConstructor//无参构造器注解
public class CmsPostPageResult extends ResponseResult {
String pageUrl;
public CmsPostPageResult(ResultCode resultCode,String pageUrl) {
super(resultCode);
this.
pageUrl =
pageUrl;
}
}
@ApiOperation(
"一
键发布页面
"
)
public CmsPostPageResult postPageQuick(CmsPage cmsPage);
public interface CmsSiteRepository extends MongoRepository<CmsSite,String> {
}
//添加页面,如果已存在则更新页面
public CmsPageResult save(CmsPage cmsPage){
//校验页面是否存在,根据页面名称、站点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);
}
}
//
一
键发布页面
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();
//发布页面
ResponseResult responseResult
=
this.
postPage(pageId);
if(!responseResult.isSuccess()){
return new CmsPostPageResult(CommonCode.FAIL,null);
}
//得到页面的url
//页面url=
站点域名+站点webpath+页面webpath+页面名称
//站点id
String siteId
=
cmsPage1.
getSiteId();
//查询站点信息
CmsSite cmsSite
= findCmsSiteById(siteId);
//站点域名
String siteDomain =
cmsSite.
getSiteDomain();
//站点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);
}
//根据id查询站点信息
public CmsSite findCmsSiteById(String siteId){
Optional<CmsSite> optional =
cmsSiteRepository
.findById(siteId);
if(optional.isPresent()){
return optional.
get();
}
return null;
}
@Override
@PostMapping(
"
/postPageQuick
"
)
public CmsPostPageResult postPageQuick(@RequestBody CmsPage cmsPage) {
return pageService.
postPageQuick(cmsPage);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |