@ -7,10 +7,17 @@ import com.bsd.cases.mapper.*;
import com.bsd.cases.model.* ;
import com.bsd.cases.service.CaseContentService ;
import com.bsd.cases.service.CaseUsersService ;
import com.bsd.cases.util.AjaxRequest ;
import com.bsd.cases.util.AjaxResult ;
import com.bsd.cases.util.PageAjax ;
import com.bsd.cases.util.PageUtils ;
import com.bsd.cases.vo.CaseContentBakVo ;
import com.bsd.cases.vo.CaseContentDetailBakVo ;
import com.bsd.cases.vo.CaseContentDetailVo ;
import com.bsd.cases.vo.CaseContentVo ;
import com.github.pagehelper.PageHelper ;
import com.sun.org.apache.bcel.internal.generic.NEW ;
import org.apache.commons.lang3.StringUtils ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
@ -53,6 +60,7 @@ public class CaseContentServiceImpl extends BaseServiceImpl<CaseContentMapper, C
@Override
public JSONObject getContentListByCategoryId ( Long categoryId , Integer pageNum , Integer pageSize ) {
CaseCategory caseCategory = caseCategoryMapper . selectByPrimaryKey ( categoryId ) ;
CaseContent findCaseContent = new CaseContent ( ) ;
findCaseContent . setState ( Constants . STATE_VALID ) ;
findCaseContent . setCategoryId ( categoryId ) ;
@ -78,6 +86,7 @@ public class CaseContentServiceImpl extends BaseServiceImpl<CaseContentMapper, C
caseContentVoList . add ( caseContentVo ) ;
}
JSONObject jsonObject = new JSONObject ( ) ;
jsonObject . put ( "url" , caseCategory . getUrl ( ) ) ;
jsonObject . put ( "list" , caseContentVoList ) ;
jsonObject . put ( "total" , pageJson . getInteger ( "total" ) ) ;
jsonObject . put ( "pageNum" , pageNum ) ;
@ -157,4 +166,209 @@ public class CaseContentServiceImpl extends BaseServiceImpl<CaseContentMapper, C
}
return caseContentDetailVo ;
}
/ * *
* 更 新 或 者 新 增 文 章
* @param jsonObject
* @return
* /
@Override
public AjaxResult saveContent ( JSONObject jsonObject ) {
AjaxResult ajaxResult = new AjaxResult ( ) ;
String contentTitle = jsonObject . getString ( "contentTitle" ) ;
String url = jsonObject . getString ( "url" ) ;
String content = jsonObject . getString ( "content" ) ;
Long categoryId = jsonObject . getLong ( "categoryId" ) ;
Long contentId = jsonObject . getLong ( "contentId" ) ;
JSONArray contentAttachmentJson = jsonObject . getJSONArray ( "contentAttachmentJson" ) ;
JSONArray contentMaterialJson = jsonObject . getJSONArray ( "contentMaterialJson" ) ;
if ( null = = contentId ) {
//新增
if ( StringUtils . isBlank ( contentTitle ) ) {
ajaxResult . setRetcode ( AjaxResult . FAILED ) ;
ajaxResult . setRetmsg ( "文章标题不可以为空" ) ;
return ajaxResult ;
}
if ( StringUtils . isBlank ( url ) ) {
ajaxResult . setRetcode ( AjaxResult . FAILED ) ;
ajaxResult . setRetmsg ( "文章预览图地址不可以为空" ) ;
return ajaxResult ;
}
if ( StringUtils . isBlank ( content ) ) {
ajaxResult . setRetcode ( AjaxResult . FAILED ) ;
ajaxResult . setRetmsg ( "文章正文不可以为空" ) ;
return ajaxResult ;
}
if ( null = = categoryId ) {
ajaxResult . setRetcode ( AjaxResult . FAILED ) ;
ajaxResult . setRetmsg ( "文章类别id不可以为空" ) ;
return ajaxResult ;
}
CaseContent caseContent = new CaseContent ( ) ;
caseContent . setContentTitle ( contentTitle ) ;
caseContent . setCategoryId ( categoryId ) ;
caseContent . setContent ( content ) ;
caseContent . setUrl ( url ) ;
caseContent . setUpdateDateTime ( new Date ( ) ) ;
caseContentMapper . insert ( caseContent ) ;
contentId = caseContent . getId ( ) ;
//插入统计
CaseContentStatical caseContentStatical = new CaseContentStatical ( ) ;
caseContentStatical . setContentId ( caseContent . getId ( ) ) ;
caseContentStatical . setLikeNum ( 0 ) ;
caseContentStatical . setViewNum ( 0 ) ;
caseContentStatical . setCommentsNum ( 0 ) ;
caseContentStatical . setScore ( 0.0 ) ;
caseContentStatical . setCreateDateTime ( new Date ( ) ) ;
caseContentStatical . setUpdateDateTime ( new Date ( ) ) ;
caseContentStatical . setState ( Constants . STATE_VALID ) ;
caseContentStaticalMapper . insert ( caseContentStatical ) ;
ajaxResult . setRetmsg ( "文章新增成功" ) ;
} else {
//更新
CaseContent caseContent = caseContentMapper . selectByPrimaryKey ( contentId ) ;
if ( StringUtils . isNotEmpty ( contentTitle ) ) {
caseContent . setContentTitle ( contentTitle ) ;
}
if ( StringUtils . isNotEmpty ( url ) ) {
caseContent . setUrl ( url ) ;
}
if ( StringUtils . isNotEmpty ( content ) ) {
caseContent . setContent ( content ) ;
}
if ( null ! = categoryId ) {
caseContent . setCategoryId ( categoryId ) ;
}
caseContent . setUpdateDateTime ( new Date ( ) ) ;
caseContentMapper . updateByPrimaryKeySelective ( caseContent ) ;
if ( contentMaterialJson ! = null & & contentAttachmentJson . size ( ) > 0 ) {
CaseContentMaterial findCaseContentMaterial = new CaseContentMaterial ( ) ;
findCaseContentMaterial . setContentId ( contentId ) ;
findCaseContentMaterial . setState ( Constants . STATE_VALID ) ;
List < CaseContentMaterial > caseContentMaterialList = caseContentMaterialMapper . select ( findCaseContentMaterial ) ;
for ( CaseContentMaterial caseContentMaterial : caseContentMaterialList ) {
caseContentMaterial . setState ( Constants . STATE_INVALID ) ;
caseContentMaterial . setUpdateDateTime ( new Date ( ) ) ;
caseContentMaterialMapper . updateByPrimaryKeySelective ( caseContentMaterial ) ;
}
}
if ( contentAttachmentJson ! = null & & contentAttachmentJson . size ( ) > 0 ) {
CaseContentAttachment findCaseContentAttachment = new CaseContentAttachment ( ) ;
findCaseContentAttachment . setContentId ( contentId ) ;
findCaseContentAttachment . setState ( Constants . STATE_VALID ) ;
List < CaseContentAttachment > caseContentAttachmentList = caseContentAttachmentMapper . select ( findCaseContentAttachment ) ;
for ( CaseContentAttachment caseContentAttachment : caseContentAttachmentList ) {
caseContentAttachment . setState ( Constants . STATE_INVALID ) ;
caseContentAttachment . setUpdateDateTime ( new Date ( ) ) ;
caseContentAttachmentMapper . updateByPrimaryKeySelective ( caseContentAttachment ) ;
}
}
ajaxResult . setRetmsg ( "文章更新成功" ) ;
}
if ( contentMaterialJson ! = null & & contentAttachmentJson . size ( ) > 0 ) {
List < CaseContentMaterial > caseContentMaterialList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < contentMaterialJson . size ( ) ; i + + ) {
CaseContentMaterial caseContentMaterial = new CaseContentMaterial ( ) ;
caseContentMaterial . setContentId ( contentId ) ;
JSONObject materialJson = contentMaterialJson . getJSONObject ( i ) ;
String materialUrl = materialJson . getString ( "url" ) ;
caseContentMaterial . setUrl ( materialUrl ) ;
Integer type = materialJson . getInteger ( "type" ) ;
caseContentMaterial . setType ( type ) ;
Integer orderBy = materialJson . getInteger ( "orderBy" ) ;
caseContentMaterial . setOrderBy ( orderBy ) ;
caseContentMaterial . setState ( Constants . STATE_VALID ) ;
caseContentMaterial . setCreateDateTime ( new Date ( ) ) ;
caseContentMaterial . setUpdateDateTime ( new Date ( ) ) ;
caseContentMaterialList . add ( caseContentMaterial ) ;
}
caseContentMaterialMapper . insertList ( caseContentMaterialList ) ;
}
if ( contentAttachmentJson ! = null & & contentAttachmentJson . size ( ) > 0 ) {
List < CaseContentAttachment > caseContentAttachmentList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < contentAttachmentJson . size ( ) ; i + + ) {
CaseContentAttachment caseContentAttachment = new CaseContentAttachment ( ) ;
caseContentAttachment . setContentId ( contentId ) ;
JSONObject attachmentJson = contentAttachmentJson . getJSONObject ( i ) ;
String attachmentUrl = attachmentJson . getString ( "attachmentUrl" ) ;
caseContentAttachment . setAttachmentUrl ( attachmentUrl ) ;
String size = attachmentJson . getString ( "size" ) ;
caseContentAttachment . setSize ( size ) ;
String type = attachmentJson . getString ( "type" ) ;
caseContentAttachment . setType ( type ) ;
String attachmentName = attachmentJson . getString ( "attachmentName" ) ;
caseContentAttachment . setAttachmentName ( attachmentName ) ;
caseContentAttachment . setState ( Constants . STATE_VALID ) ;
caseContentAttachment . setCreateDateTime ( new Date ( ) ) ;
caseContentAttachment . setUpdateDateTime ( new Date ( ) ) ;
caseContentAttachmentList . add ( caseContentAttachment ) ;
}
caseContentAttachmentMapper . insertList ( caseContentAttachmentList ) ;
}
ajaxResult . setRetcode ( AjaxResult . SUCCESS ) ;
return ajaxResult ;
}
/ * *
* 删 除 文 章
* @param contentId
* @return
* /
@Override
public AjaxResult delContent ( Long contentId ) {
AjaxResult ajaxResult = new AjaxResult ( ) ;
CaseContent caseContent = caseContentMapper . selectByPrimaryKey ( contentId ) ;
if ( caseContent . getState ( ) = = Constants . STATE_INVALID ) {
ajaxResult . setRetmsg ( "文章已删除,不可重复操作" ) ;
ajaxResult . setRetcode ( AjaxResult . FAILED ) ;
} else {
caseContent . setState ( Constants . STATE_INVALID ) ;
caseContent . setUpdateDateTime ( new Date ( ) ) ;
caseContentMapper . updateByPrimaryKeySelective ( caseContent ) ;
ajaxResult . setRetcode ( AjaxResult . SUCCESS ) ;
ajaxResult . setRetmsg ( "成功删除文章" ) ;
}
return ajaxResult ;
}
@Override
public PageAjax < CaseContentBakVo > searchBakContentByParam ( String name , Long level1 , Long level2 , Long level3 , Integer pageNum ) {
PageHelper . startPage ( pageNum , Constants . PAGE_SIZE ) ;
List < CaseContentBakVo > caseContentBakVoList = caseContentMapper . searchBak ( name , level1 , level2 , level3 ) ;
PageAjax < CaseContentBakVo > pageAjax = new PageAjax < > ( caseContentBakVoList ) ;
return pageAjax ;
}
@Override
public CaseContentDetailBakVo getCaseContentDetailBakVoByContentID ( Long contentId ) {
CaseContent caseContent = caseContentMapper . selectByPrimaryKey ( contentId ) ;
CaseContentDetailBakVo caseContentDetailBakVo = new CaseContentDetailBakVo ( ) ;
caseContentDetailBakVo . setId ( contentId ) ;
caseContentDetailBakVo . setCategoryId ( caseContent . getCategoryId ( ) ) ;
caseContentDetailBakVo . setContent ( caseContent . getContent ( ) ) ;
caseContentDetailBakVo . setContentTitle ( caseContent . getContentTitle ( ) ) ;
caseContentDetailBakVo . setUrl ( caseContent . getUrl ( ) ) ;
caseContentDetailBakVo . setState ( caseContent . getState ( ) ) ;
caseContentDetailBakVo . setCreateDateTime ( caseContent . getCreateDateTime ( ) ) ;
caseContentDetailBakVo . setUpdateDateTime ( caseContent . getUpdateDateTime ( ) ) ;
caseContentDetailBakVo . setCreateBy ( caseContent . getCreateBy ( ) ) ;
caseContentDetailBakVo . setUpdateBy ( caseContent . getCreateBy ( ) ) ;
CaseContentMaterial findCaseContentMaterial = new CaseContentMaterial ( ) ;
findCaseContentMaterial . setContentId ( contentId ) ;
findCaseContentMaterial . setState ( Constants . STATE_VALID ) ;
List < CaseContentMaterial > caseContentMaterialList = caseContentMaterialMapper . select ( findCaseContentMaterial ) ;
caseContentDetailBakVo . setCaseContentMaterialList ( caseContentMaterialList ) ;
CaseContentAttachment findCaseContentAttachment = new CaseContentAttachment ( ) ;
findCaseContentAttachment . setState ( Constants . STATE_VALID ) ;
findCaseContentAttachment . setContentId ( contentId ) ;
List < CaseContentAttachment > caseContentAttachmentList = caseContentAttachmentMapper . select ( findCaseContentAttachment ) ;
caseContentDetailBakVo . setCaseContentAttachmentList ( caseContentAttachmentList ) ;
return caseContentDetailBakVo ;
}
}