ADD file via upload

class
pve7nfumz 6 months ago
parent 8978a7f6a5
commit a7d85c2f22

@ -0,0 +1,40 @@
public class VPApprover extends BaseApprover {
private static final double MAX_APPROVAL_AMOUNT = 50000.0;
private static final double MIN_APPROVAL_AMOUNT = 10000.01; // 大于总监的审批上限
public VPApprover(String approverName, Logger logger) {
super(approverName, ApprovalLevel.VP, logger);
}
@Override
protected boolean canApprove(Order order) {
// VP只能审批金额在10000.01到50000之间的订单
return order.getAmount() > MIN_APPROVAL_AMOUNT && order.getAmount() <= MAX_APPROVAL_AMOUNT;
}
@Override
protected boolean performApproval(Order order, ApprovalContext context) {
// VP审批逻辑更严格的审批条件
OrderValidator validator = new OrderValidator();
boolean basicValid = validator.validateOrder(order);
// 检查订单历史(如果有的话)
if (context.getApprovalHistory().size() > 0) {
// 确保所有前置审批都通过
boolean allPreviousApproved = context.getApprovalHistory().stream()
.allMatch(record -> record.approved);
if (!allPreviousApproved) {
getLogger().warn("存在未通过的前置审批VP审批被拒绝");
return false;
}
}
// 大额订单检查超过25000的订单需要额外验证
if (order.getAmount() > 25000) {
getLogger().info("大额订单,执行额外验证");
// 假设这里会调用额外的验证服务
}
return basicValid;
}
}
Loading…
Cancel
Save