package com.ygtx.system.strategy;

import com.ygtx.common.core.domain.entity.SysAutoCodePart;
import com.ygtx.common.enums.PartTypeEnum;
import com.ygtx.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class PartTypeHandler {

    @Autowired
    List<PartTypeTemplate> partTypeTemplates;

    public String choiceExecute(SysAutoCodePart sysAutoCodePart){
        if ("biz_dept".equals(sysAutoCodePart.getBizType())) {
            return SecurityUtils.getLoginUser().getUser().getDept().getLevel();
        }
        String partType = sysAutoCodePart.getPartType();
        return partTypeTemplates.get(PartTypeEnum.getByCode(partType).getBeanIndex()).partHandle(sysAutoCodePart);
    }

}
