package com.nova.sankuai.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.nova.sankuai.domain.dto.AddHotIssuesDto;
|
import com.nova.sankuai.domain.dto.QueryHotIssuesPageDto;
|
import com.nova.sankuai.domain.dto.UpdateHotIssuesDto;
|
import com.nova.sankuai.domain.entity.HotIssues;
|
import com.nova.sankuai.domain.vo.HotIssuesAppListVo;
|
import com.nova.sankuai.domain.vo.HotIssuesListVo;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.mapper.HotIssuesMapper;
|
import com.nova.sankuai.infra.utils.PageRequest;
|
import com.nova.sankuai.infra.utils.PageUtil;
|
import com.nova.sankuai.service.HotIssuesService;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Date;
|
|
@Service
|
@Slf4j
|
@AllArgsConstructor
|
public class HotIssuesServiceImpl extends ServiceImpl<HotIssuesMapper, HotIssues> implements HotIssuesService {
|
|
private final PageUtil pageUtil;
|
|
private final HotIssuesMapper hotIssuesMapper;
|
|
@Override
|
public void addHotIssues(AddHotIssuesDto addHotIssuesDto) {
|
if (StringUtils.isEmpty(addHotIssuesDto.getIssuesContent())){
|
throw new CommonException("问题内容不能为空");
|
}
|
HotIssues hotIssues = new HotIssues();
|
BeanUtils.copyProperties(addHotIssuesDto,hotIssues);
|
hotIssues.setCreationDate(new Date());
|
hotIssues.setLastUpdateDate(new Date());
|
boolean save = save(hotIssues);
|
if (!save){
|
throw new CommonException("新增失败");
|
}
|
}
|
|
@Override
|
public void updateHotIssues(UpdateHotIssuesDto updateHotIssuesDto) {
|
HotIssues hotIssuesById = getById(updateHotIssuesDto.getId());
|
if (hotIssuesById==null){
|
throw new CommonException("未查询到该热门问题");
|
}
|
if (StringUtils.isEmpty(updateHotIssuesDto.getIssuesContent())){
|
throw new CommonException("问题内容不能为空");
|
}
|
if (updateHotIssuesDto.getSeqencing()==null){
|
updateHotIssuesDto.setSeqencing(0);
|
}
|
LambdaUpdateWrapper<HotIssues> updateWrapper = Wrappers.lambdaUpdate();
|
updateWrapper.set(HotIssues::getIssuesContent,updateHotIssuesDto.getIssuesContent());
|
updateWrapper.set(HotIssues::getAnswerContent,updateHotIssuesDto.getAnswerContent());
|
updateWrapper.set(HotIssues::getSeqencing,updateHotIssuesDto.getSeqencing());
|
updateWrapper.set(HotIssues::getLastUpdateDate,new Date());
|
updateWrapper.eq(HotIssues::getId,updateHotIssuesDto.getId());
|
boolean update = update(updateWrapper);
|
if (!update){
|
throw new CommonException("修改失败");
|
}
|
}
|
|
@Override
|
public void deleteHotIssues(Long id) {
|
HotIssues hotIssuesById = getById(id);
|
if (hotIssuesById==null){
|
throw new CommonException("未查询到该热门问题");
|
}
|
boolean removeById = removeById(id);
|
if (!removeById){
|
throw new CommonException("删除失败");
|
}
|
}
|
|
@Override
|
public IPage<HotIssuesListVo> getHotIssues(QueryHotIssuesPageDto queryHotIssuesPageDto) {
|
Page page = pageUtil.getPage(queryHotIssuesPageDto);
|
IPage<HotIssuesListVo> hotIssues = hotIssuesMapper.getHotIssues(page, queryHotIssuesPageDto.getIssuesContent());
|
return hotIssues;
|
}
|
|
@Override
|
public IPage<HotIssuesAppListVo> getAppHotIssues(PageRequest pageRequest) {
|
Page page = pageUtil.getPage(pageRequest);
|
IPage<HotIssuesAppListVo> appHotIssues = hotIssuesMapper.getAppHotIssues(page);
|
return appHotIssues;
|
}
|
}
|