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;
|
|
/**
|
* <p>
|
* 审批模板节点表 服务实现类
|
* </p>
|
*
|
* @author 芯导软件(江苏)有限公司
|
* @since 2026-05-18 11:20:19
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class ApprovalTemplateNodeServiceImpl extends ServiceImpl<ApprovalTemplateNodeMapper, ApprovalTemplateNode> implements ApprovalTemplateNodeService {
|
|
private final ApprovalTemplateNodeMapper approvalTemplateNodeMapper;
|
private final ApprovalTemplateNodeApproverService approvalTemplateNodeApproverService;
|
@Override
|
public Boolean saveApprovalTemplateNode(Long templateId, List<ApprovalTemplateNodeDto> nodes) {
|
if (nodes == null || nodes.isEmpty()) {
|
throw new RuntimeException("节点列表不能为空");
|
}
|
|
List<ApprovalTemplateNodeApprover> approverList = new ArrayList<>();
|
|
for (ApprovalTemplateNodeDto nodeDto : nodes) {
|
ApprovalTemplateNode node = new ApprovalTemplateNode();
|
BeanUtils.copyProperties(nodeDto, node);
|
node.setTemplateId(templateId);
|
approvalTemplateNodeMapper.insert(node);
|
|
List<ApprovalTemplateNodeApproverDto> 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;
|
}
|
}
|