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.entity.HelpCenterTypeEntity; import com.xcong.excoin.modules.helpCenter.mapper.HelpCenterArticleMapper; import com.xcong.excoin.modules.helpCenter.mapper.HelpCenterNoticeMapper; import com.xcong.excoin.modules.helpCenter.mapper.HelpCenterTypeMapper; 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 implements HelpCenterService { private final HelpCenterNoticeMapper helpCenterNoticeMapper; private final HelpCenterArticleMapper helpCenterArticleMapper; private final HelpCenterTypeMapper helpCenterTypeMapper; @Override public IPage findHelpCenterListInPage(HelpCenterNoticeEntity helpCenterNoticeEntity, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage 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 columnMap = new HashMap(); columnMap.put("article_id", id); List 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 columnMap = new HashMap(); columnMap.put("article_id_us", id); List 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(); } @Override public IPage findHelpCenterTypeListInPage(HelpCenterTypeEntity helpCenterTypeEntity, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage helpCenterTypeEntitys = helpCenterTypeMapper.findHelpCenterTypeListInPage(page, helpCenterTypeEntity); return helpCenterTypeEntitys; } @Override public void helpCenterTypeAdds(@Valid HelpCenterTypeEntity helpCenterTypeEntity) { helpCenterTypeMapper.insert(helpCenterTypeEntity); } @Override public FebsResponse helpCenterTypeDelete(@NotNull(message = "{required}") Long id) { HelpCenterTypeEntity helpCenterTypeEntity = helpCenterTypeMapper.selectById(id); if(ObjectUtil.isEmpty(helpCenterTypeEntity)) { return new FebsResponse().fail().message("记录不存在"); } helpCenterTypeMapper.deleteById(id); return new FebsResponse().success(); } }