package com.xcong.excoin.modules.helpCenter.service.impl;
|
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.validation.Valid;
|
import javax.validation.constraints.NotNull;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xcong.excoin.common.entity.FebsResponse;
|
import com.xcong.excoin.common.entity.QueryRequest;
|
import com.xcong.excoin.modules.helpCenter.entity.HelpCenterArticleEntity;
|
import com.xcong.excoin.modules.helpCenter.entity.HelpCenterNoticeEntity;
|
import com.xcong.excoin.modules.helpCenter.mapper.HelpCenterArticleMapper;
|
import com.xcong.excoin.modules.helpCenter.mapper.HelpCenterNoticeMapper;
|
import com.xcong.excoin.modules.helpCenter.service.HelpCenterService;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class HelpCenterServiceImpl extends ServiceImpl<HelpCenterNoticeMapper, HelpCenterNoticeEntity> implements HelpCenterService {
|
|
private final HelpCenterNoticeMapper helpCenterNoticeMapper;
|
|
private final HelpCenterArticleMapper helpCenterArticleMapper;
|
|
@Override
|
public IPage<HelpCenterNoticeEntity> findHelpCenterListInPage(HelpCenterNoticeEntity helpCenterNoticeEntity,
|
QueryRequest request) {
|
Page<HelpCenterNoticeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
|
IPage<HelpCenterNoticeEntity> helpCenterNoticeEntitys = helpCenterNoticeMapper.findHelpCenterListInPage(page, helpCenterNoticeEntity);
|
return helpCenterNoticeEntitys;
|
}
|
|
@Override
|
@Transactional
|
public FebsResponse helpCenterDelete(@NotNull(message = "{required}") Long id) {
|
|
HelpCenterNoticeEntity helpCenterNoticeEntity = helpCenterNoticeMapper.selectById(id);
|
if(ObjectUtil.isEmpty(helpCenterNoticeEntity)) {
|
return new FebsResponse().fail().message("该公告不存在");
|
}
|
Long articleId = helpCenterNoticeEntity.getArticleId();
|
if(ObjectUtil.isNotEmpty(articleId)) {
|
helpCenterArticleMapper.deleteById(articleId);
|
}
|
Long articleIdUs = helpCenterNoticeEntity.getArticleIdUs();
|
if(ObjectUtil.isNotEmpty(articleId)) {
|
helpCenterArticleMapper.deleteById(articleIdUs);
|
}
|
|
helpCenterNoticeMapper.deleteById(id);
|
return new FebsResponse().success();
|
}
|
|
@Override
|
public HelpCenterArticleEntity selectHelpCenterServiceById(long id) {
|
HelpCenterNoticeEntity helpCenterNoticeEntity = helpCenterNoticeMapper.selectById(id);
|
Long articleId = helpCenterNoticeEntity.getArticleId();
|
HelpCenterArticleEntity selectById = helpCenterArticleMapper.selectById(articleId);
|
return selectById;
|
}
|
|
@Override
|
public HelpCenterArticleEntity selectHelpCenterUsServiceById(long id) {
|
HelpCenterNoticeEntity helpCenterNoticeEntity = helpCenterNoticeMapper.selectById(id);
|
Long articleId = helpCenterNoticeEntity.getArticleIdUs();
|
HelpCenterArticleEntity selectById = helpCenterArticleMapper.selectById(articleId);
|
return selectById;
|
}
|
|
@Override
|
@Transactional
|
public void helpCenterAdds(@Valid HelpCenterNoticeEntity helpCenterNoticeEntity) {
|
//新增【文章内容】
|
HelpCenterArticleEntity helpCenterArticleEntity = new HelpCenterArticleEntity();
|
helpCenterArticleEntity.setCreateBy(helpCenterNoticeEntity.getCreateBy());
|
|
Date date = new Date();
|
try {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
date = sdf.parse(helpCenterNoticeEntity.getCreateTimeString());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
helpCenterArticleEntity.setCreateTime(date);
|
helpCenterArticleEntity.setTypeLanguage(1);
|
helpCenterArticleMapper.insert(helpCenterArticleEntity);
|
Long articleId = helpCenterArticleEntity.getId();
|
|
helpCenterArticleEntity.setTypeLanguage(2);
|
helpCenterArticleMapper.insert(helpCenterArticleEntity);
|
Long articleIdUs = helpCenterArticleEntity.getId();
|
|
HelpCenterNoticeEntity helpCenterNotice = new HelpCenterNoticeEntity();
|
helpCenterNotice.setCreateBy(helpCenterNoticeEntity.getCreateBy());
|
helpCenterNotice.setCreateTime(date);
|
helpCenterNotice.setArticleNotice(helpCenterNoticeEntity.getArticleNotice());
|
helpCenterNotice.setArticleId(articleId);
|
helpCenterNotice.setArticleTitle(helpCenterNoticeEntity.getArticleTitle() == null ? "":helpCenterNoticeEntity.getArticleTitle());
|
helpCenterNotice.setArticleIdUs(articleIdUs);
|
helpCenterNotice.setArticleTitleUs(helpCenterNoticeEntity.getArticleTitleUs() == null ? "":helpCenterNoticeEntity.getArticleTitleUs());
|
helpCenterNoticeMapper.insert(helpCenterNotice);
|
}
|
|
@Override
|
@Transactional
|
public FebsResponse helpCenterConfirm(@Valid HelpCenterArticleEntity helpCenterArticleEntity) {
|
|
Long id = helpCenterArticleEntity.getId();
|
HelpCenterArticleEntity selectById = helpCenterArticleMapper.selectById(id);
|
selectById.setContent(helpCenterArticleEntity.getContent());
|
selectById.setTitle(helpCenterArticleEntity.getTitle());
|
helpCenterArticleMapper.updateById(selectById);
|
|
Map<String, Object> columnMap = new HashMap<String, Object>();
|
columnMap.put("article_id", id);
|
List<HelpCenterNoticeEntity> selectByMap = helpCenterNoticeMapper.selectByMap(columnMap);
|
if(CollUtil.isNotEmpty(selectByMap)) {
|
HelpCenterNoticeEntity helpCenterNoticeEntity = selectByMap.get(0);
|
String title = selectById.getTitle();
|
helpCenterNoticeEntity.setArticleTitle(title);
|
helpCenterNoticeMapper.updateById(helpCenterNoticeEntity);
|
}
|
return new FebsResponse().success();
|
}
|
|
@Override
|
@Transactional
|
public FebsResponse helpCenterUsConfirm(@Valid HelpCenterArticleEntity helpCenterArticleEntity) {
|
|
Long id = helpCenterArticleEntity.getId();
|
HelpCenterArticleEntity selectById = helpCenterArticleMapper.selectById(id);
|
selectById.setContent(helpCenterArticleEntity.getContent());
|
selectById.setTitle(helpCenterArticleEntity.getTitle());
|
helpCenterArticleMapper.updateById(selectById);
|
|
Map<String, Object> columnMap = new HashMap<String, Object>();
|
columnMap.put("article_id_us", id);
|
List<HelpCenterNoticeEntity> selectByMap = helpCenterNoticeMapper.selectByMap(columnMap);
|
if(CollUtil.isNotEmpty(selectByMap)) {
|
HelpCenterNoticeEntity helpCenterNoticeEntity = selectByMap.get(0);
|
String title = selectById.getTitle();
|
helpCenterNoticeEntity.setArticleTitleUs(title);
|
helpCenterNoticeMapper.updateById(helpCenterNoticeEntity);
|
}
|
return new FebsResponse().success();
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|