package com.ruoyi.approve.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.approve.bean.dto.ApprovalTemplateNodeApproverDto; import com.ruoyi.approve.bean.dto.ApprovalTemplateNodeDto; import com.ruoyi.approve.mapper.ApprovalTemplateNodeMapper; import com.ruoyi.approve.pojo.ApprovalTemplateNode; import com.ruoyi.approve.pojo.ApprovalTemplateNodeApprover; import com.ruoyi.approve.service.ApprovalTemplateNodeApproverService; import com.ruoyi.approve.service.ApprovalTemplateNodeService; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** *

* 审批模板节点表 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-05-18 11:20:19 */ @Service @RequiredArgsConstructor public class ApprovalTemplateNodeServiceImpl extends ServiceImpl implements ApprovalTemplateNodeService { private final ApprovalTemplateNodeMapper approvalTemplateNodeMapper; private final ApprovalTemplateNodeApproverService approvalTemplateNodeApproverService; @Override public Boolean saveApprovalTemplateNode(Long templateId, List nodes) { if (nodes == null || nodes.isEmpty()) { throw new RuntimeException("节点列表不能为空"); } List approverList = new ArrayList<>(); for (ApprovalTemplateNodeDto nodeDto : nodes) { ApprovalTemplateNode node = new ApprovalTemplateNode(); BeanUtils.copyProperties(nodeDto, node); node.setTemplateId(templateId); approvalTemplateNodeMapper.insert(node); List approvers = nodeDto.getApprovers(); if (approvers == null || approvers.isEmpty()) { throw new RuntimeException("节点审批人不能为空"); } for (ApprovalTemplateNodeApproverDto approverDto : approvers) { ApprovalTemplateNodeApprover approver = new ApprovalTemplateNodeApprover(); BeanUtils.copyProperties(approverDto, approver); approver.setNodeId(node.getId()); approver.setTemplateId(templateId); approver.setDeleted(0L); approverList.add(approver); } } approvalTemplateNodeApproverService.saveBatch(approverList); return true; } }