package com.changhu.module.management.enums.handler;

import cn.hutool.extra.spring.SpringUtil;
import com.changhu.module.management.pojo.vo.UnitCheckStatusVo;
import org.springframework.transaction.PlatformTransactionManager;

/**
 * @author 20252
 * @createTime 2024/9/2 上午9:53
 * @desc AbstractCheckPassHandler...
 */
public abstract class AbstractUnitTypeHandler {

    final PlatformTransactionManager transactionManager = SpringUtil.getBean(PlatformTransactionManager.class);

    /**
     * 通过
     */
    public abstract void pass(Long checkDataId);

    /**
     * 获取审核状态
     *
     * @param onlyCode 唯一代码
     * @return 审核状态
     */
    public abstract UnitCheckStatusVo getCheckStatus(String onlyCode);

    /**
     * 启用或者禁用状态
     *
     * @param unitId 单位id
     */
    public abstract void disableOrEnable(Long unitId);

    /**
     * 审核通过单位内的小程序用户
     *
     * @param miniProgramUserId 小程序用户id
     */
    public abstract void passMiniProgramUser(Long miniProgramUserId);

    /**
     * 启用或禁用小程序用户
     *
     * @param miniProgramUserId 小程序用户id
     */
    public abstract void disableOrEnableMiniProgramUser(Long miniProgramUserId);
}
