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<String, Object> 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<String, Object> 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<String, Object> map = new HashMap<>();
|
Long companyId = LoginUserUtil.getCompanyId();
|
map.put("companyId", companyId);
|
|
cmsCoreService.indexProcess(map, null);
|
}
|
}
|