package com.project.approval.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.approval.domain.vo.ApprovalNodeVo; import com.project.approval.domain.bo.editBo.ApprovalNodeBo; import com.project.approval.domain.bo.queryBo.ApprovalNodeQueryBo; import com.project.approval.domain.ApprovalNode; import com.project.approval.mapper.ApprovalNodeMapper; import com.project.approval.service.IApprovalNodeService; import java.util.Collection; import java.util.List; /** * 流程节点Service业务层处理 * * @author manton */ @Service @RequiredArgsConstructor(onConstructor_ = @Autowired) public class ApprovalNodeServiceImpl extends ServiceImpl implements IApprovalNodeService { @Override//列表查询 public List queryList(ApprovalNodeQueryBo bo) { QueryWrapper qw = getQw(bo); List list = this.list(qw); return Convert.toList(ApprovalNodeVo.class , list); } @Override//id查询 public ApprovalNodeVo queryById(Long nodeId) { ApprovalNode db = this.baseMapper.selectById(nodeId); return Convert.convert(ApprovalNodeVo.class , db); } @Override//添加 @Transactional public Boolean insertByBo(ApprovalNodeBo bo) { ApprovalNode add = Convert.convert(ApprovalNode.class, bo); validEntityBeforeSave(add); return this.save(add); } @Override//修改 @Transactional public Boolean updateByBo(ApprovalNodeBo bo) { ApprovalNode update = Convert.convert(ApprovalNode.class, bo); validEntityBeforeSave(update); return this.updateById(update); } @Override//删除 @Transactional public Boolean deleteByIds(Collection ids) { //做一些业务上的校验,判断是否需要校验 return this.removeByIds(ids); } //------------------------------------------------------------------------------------- //保存前校验 private void validEntityBeforeSave(ApprovalNode entity) { //做一些数据校验,如唯一约束 } //获取查询参数 private QueryWrapper getQw(ApprovalNodeQueryBo bo) { QueryWrapper qw = Wrappers.query(); qw.like(StringUtils.isNotEmpty(bo.getNodeName()), "node_name", bo.getNodeName()); qw.eq(StringUtils.isNotEmpty(bo.getNodeCode()), "node_code", bo.getNodeCode()); qw.eq(bo.getNodeClassId() != null, "node_class_id", bo.getNodeClassId()); qw.like(StringUtils.isNotEmpty(bo.getNodeClassName()), "node_class_name", bo.getNodeClassName()); qw.eq(bo.getNodeType() != null, "node_type", bo.getNodeType()); qw.eq(bo.getAboutId() != null, "about_id", bo.getAboutId()); qw.eq(StringUtils.isNotEmpty(bo.getApproveExpression()), "approve_expression", bo.getApproveExpression()); qw.eq(bo.getApproveAction() != null, "approve_action", bo.getApproveAction()); qw.eq(bo.getSortNum() != null, "sort_num", bo.getSortNum()); 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; } }