package com.bonus.material.work.service.impl;


import com.bonus.material.work.domain.AuditFlow;
import com.bonus.material.work.mapper.AuditFlowMapper;
import com.bonus.material.work.service.IAuditFlowService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author js
 * @description 业务办理--审核
 * @date 2025/2/17 13:16
 */
@Service
@Slf4j
public class AuditFlowImpl implements IAuditFlowService {

    @Resource
    private AuditFlowMapper mapper;


    @Override
    public int checkLegal(AuditFlow flow) {
        log.info("开始查询人员信息");

        // 假设 type 是 AuditFlow 类中的一个字段，表示业务类型
        String type = flow.getFlowType();

        switch (type) {
            case "0001":
                // 执行 case1 领料的逻辑
                return handleCase1(flow);
            case "0002":
                // 执行 case2 直转的逻辑
                return handleCase2(flow);
            case "0003":
                // 执行 case3 减免的逻辑
                return handleCase3(flow);
            default:
                log.warn("未知的业务类型: {}", type);
                return -1; // 表示不支持的类型
        }
    }

    // 处理 case1：领料
    private int handleCase1(AuditFlow flow) {
        // 领料的具体校验逻辑
        log.info("进入领料流程");
        // ...

        return 1; // 示例返回值
    }

    // 处理 case2：直转
    private int handleCase2(AuditFlow flow) {
        // 直转的具体校验逻辑
        log.info("进入直转流程");
        // ...
        return 2; // 示例返回值
    }

    // 处理 case3：减免
    private int handleCase3(AuditFlow flow) {
        // 减免的具体校验逻辑
        log.info("进入减免流程");
        // ...
        return 3; // 示例返回值
    }

}
