package com.xcong.farmer.cms.modules.system.service.Impl; import com.xcong.farmer.cms.modules.core.service.ICmsCoreService; import com.xcong.farmer.cms.modules.system.entity.ArticleEntity; import com.xcong.farmer.cms.modules.system.entity.ColumnEntity; import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper; import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper; import com.xcong.farmer.cms.modules.system.service.IReleaseService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; /** * @author wzy * @date 2022-07-05 **/ @Slf4j @Service public class ReleaseServiceImpl implements IReleaseService { @Autowired private ArticleMapper articleMapper; @Autowired private ColumnMapper columnMapper; @Autowired private ICmsCoreService cmsCoreService; @Override public void releaseArticle(Long id) { Long companyId = LoginUserUtil.getCompanyId(); ArticleEntity article = articleMapper.selectById(id); ColumnEntity column = columnMapper.selectById(article.getColumnId()); Map data = new HashMap<>(); data.put("id", article.getId()); data.put("companyId", companyId); cmsCoreService.articleProcess(data, column.getArticleTemplate(), column.getPath()); this.releaseColumn(column.getId(), false); if (column.getParentId() != 0L) { releaseColumn(column.getParentId(), false); } this.releaseIndex(); } @Override public void releaseColumn(Long id, boolean article) { Long companyId = LoginUserUtil.getCompanyId(); ColumnEntity columnEntity = columnMapper.selectById(id); Map map = new HashMap<>(); map.put("id", columnEntity.getId()); map.put("code", columnEntity.getColumnCode()); if (columnEntity.getParentId() == 0L) { map.put("parentCode", columnEntity.getColumnCode()); } else { ColumnEntity parent = columnMapper.selectById(columnEntity.getParentId()); map.put("parentCode", parent.getColumnCode()); } map.put("templatePath", columnEntity.getPath()); map.put("companyId", companyId); cmsCoreService.columnProcess(map, columnEntity.getListTemplate()); } @Override public void releaseIndex() { Map map = new HashMap<>(); Long companyId = LoginUserUtil.getCompanyId(); map.put("companyId", companyId); cmsCoreService.indexProcess(map, null); } }