package com.project.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import cn.hutool.core.convert.Convert; import com.project.common.utils.StringUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.transaction.annotation.Transactional; import com.project.system.domain.vo.SysDocVo; import com.project.system.domain.bo.editBo.SysDocBo; import com.project.system.domain.bo.queryBo.SysDocQueryBo; import com.project.system.domain.SysDoc; import com.project.system.mapper.SysDocMapper; import com.project.system.service.ISysDocService; import java.util.Collection; import java.util.List; /** * 文档管理Service业务层处理 * * @author manton */ @Service @RequiredArgsConstructor(onConstructor_ = @Autowired) public class SysDocServiceImpl extends ServiceImpl implements ISysDocService { @Override//列表查询 public List queryList(SysDocQueryBo bo) { QueryWrapper qw = getQw(bo); List list = this.list(qw); return Convert.toList(SysDocVo.class , list); } @Override//id查询 public SysDocVo queryById(Long docId) { SysDoc db = this.baseMapper.selectById(docId); return Convert.convert(SysDocVo.class , db); } @Override//添加 @Transactional public Boolean insertByBo(SysDocBo bo) { SysDoc add = Convert.convert(SysDoc.class, bo); validEntityBeforeSave(add); return this.save(add); } @Override//修改 @Transactional public Boolean updateByBo(SysDocBo bo) { SysDoc update = Convert.convert(SysDoc.class, bo); validEntityBeforeSave(update); return this.updateById(update); } @Override//删除 @Transactional public Boolean deleteByIds(Collection ids) { //做一些业务上的校验,判断是否需要校验 return this.removeByIds(ids); } //------------------------------------------------------------------------------------- //保存前校验 private void validEntityBeforeSave(SysDoc entity) { //做一些数据校验,如唯一约束 } //获取查询参数 private QueryWrapper getQw(SysDocQueryBo bo) { QueryWrapper qw = Wrappers.query(); qw.eq(StringUtils.isNotEmpty(bo.getDocTitle()), "doc_title", bo.getDocTitle()); qw.eq(StringUtils.isNotEmpty(bo.getDocType()), "doc_type", bo.getDocType()); qw.eq(StringUtils.isNotEmpty(bo.getDocContent()), "doc_content", bo.getDocContent()); qw.eq(bo.getDocStatus() != null, "doc_status", bo.getDocStatus()); if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){ if ("acs".equals(bo.getIsAsc())) { qw.orderByAsc(bo.getOrderByColumn()); } else if ("desc".equals(bo.getIsAsc())) { qw.orderByDesc(bo.getOrderByColumn()); } } return qw; } }