package com.canrd.webmagic.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.canrd.webmagic.common.constant.ServerResult; import com.canrd.webmagic.domain.dto.NatureArticleDO; import com.canrd.webmagic.domain.vo.NatureArticleQueryVO; import com.canrd.webmagic.domain.vo.NatureArticleVO; import com.canrd.webmagic.mapper.NatureArticleMapper; import com.canrd.webmagic.service.NatureArticleService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; import java.util.Objects; /** * nature-文章信息(NatureArticle)表服务实现类 * * @author makejava * @since 2024-04-07 18:39:49 */ @Slf4j @Service public class NatureArticleServiceImpl extends ServiceImpl<NatureArticleMapper, NatureArticleDO> implements NatureArticleService { /** * 通过ID查询单条数据 * <p> * natureArticleQueryVO 主键 * * @return 实例对象 */ @Override public ServerResult queryById(NatureArticleQueryVO natureArticleQueryVO) { if (Objects.isNull(natureArticleQueryVO.getId())) { return ServerResult.fail("id 不能为空"); } NatureArticleDO NatureArticleDo = getById(natureArticleQueryVO.getId()); if (Objects.isNull(NatureArticleDo)) { return ServerResult.success(null); } return ServerResult.success(BeanUtil.copyProperties(NatureArticleDo, NatureArticleVO.class)); } /** * 分页查询 * * @param natureArticleQueryVO 筛选条件 * @return 查询结果 */ @Override public ServerResult list(NatureArticleQueryVO natureArticleQueryVO) { return ServerResult.success(ServerResult.success()); } /** * 新增数据 * * @param natureArticleVO 实例对象 * @return 实例对象 */ @Override public ServerResult add(NatureArticleVO natureArticleVO) { //todo 校验 if (Objects.nonNull(natureArticleVO.getId())) { natureArticleVO.setId(null); } NatureArticleDO natureArticleDo = BeanUtil.copyProperties(natureArticleVO, NatureArticleDO.class); save(natureArticleDo); return ServerResult.success(); } /** * 修改数据 * * @param natureArticleVO 实例对象 * @return 实例对象 */ @Override public ServerResult edit(NatureArticleVO natureArticleVO) { //todo 校验 if (Objects.isNull(natureArticleVO.getId())) { return ServerResult.fail("id 不能为空"); } NatureArticleDO natureArticleDo = BeanUtil.copyProperties(natureArticleVO, NatureArticleDO.class); updateById(natureArticleDo); return ServerResult.success(); } /** * 通过主键删除数据 * * @param natureArticleQueryVO 筛选条件 * @return 是否成功 */ @Override public ServerResult deleteById(NatureArticleQueryVO natureArticleQueryVO) { List<Long> ids = natureArticleQueryVO.getIds(); if (CollUtil.isEmpty(ids)) { return ServerResult.fail("ids 参数不能为空"); } List<NatureArticleDO> natureArticleList = listByIds(ids); if (CollUtil.isEmpty(natureArticleList)) { return ServerResult.success(); } //todo 校验是否可以逻辑删除 LambdaUpdateWrapper<NatureArticleDO> updateWrapper = new LambdaUpdateWrapper<NatureArticleDO>() .in(NatureArticleDO::getId, ids); update(updateWrapper); return ServerResult.success(); } }