package com.ruoyi.interfaces.service.impl;

import java.util.List;

import com.ruoyi.interfaces.domain.MdModelParams;
import com.ruoyi.interfaces.mapper.MdModelParamsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.interfaces.mapper.MdModelPargroupMapper;
import com.ruoyi.interfaces.domain.MdModelPargroup;
import com.ruoyi.interfaces.service.IMdModelPargroupService;

/**
 * 模型参数分组Service业务层处理
 *
 * @author 朱得糠
 * @date 2025-08-01
 */
@Service
public class MdModelPargroupServiceImpl implements IMdModelPargroupService {
    @Autowired
    private MdModelPargroupMapper mdModelPargroupMapper;
    @Autowired
    private MdModelParamsMapper mdModelParamsMapper;

    /**
     * 查询模型参数分组
     *
     * @param mgid 模型参数分组主键
     * @return 模型参数分组
     */
    @Override
    public MdModelPargroup selectMdModelPargroupByMgid(Integer mgid) {
        return mdModelPargroupMapper.selectMdModelPargroupByMgid(mgid);
    }

    /**
     * 查询模型参数分组列表
     *
     * @param mdModelPargroup 模型参数分组
     * @return 模型参数分组
     */
    @Override
    public List<MdModelPargroup> selectMdModelPargroupList(MdModelPargroup mdModelPargroup) {
        return mdModelPargroupMapper.selectMdModelPargroupList(mdModelPargroup);
    }

    /**
     * 新增模型参数分组
     *
     * @param mdModelPargroup 模型参数分组
     * @return 结果
     */
    @Override
    public int insertMdModelPargroup(MdModelPargroup mdModelPargroup) {
        return mdModelPargroupMapper.insertMdModelPargroup(mdModelPargroup);
    }

    /**
     * 修改模型参数分组
     *
     * @param mdModelPargroup 模型参数分组
     * @return 结果
     */

    @Override
    public int updateMdModelPargroup(MdModelPargroup mdModelPargroup) {
        MdModelPargroup pargroup = mdModelPargroupMapper.selectMdModelPargroupByMgid(mdModelPargroup.getMgid());
        if (pargroup.getParGroupCode().equals(mdModelPargroup.getParGroupCode())) {
            MdModelParams mdModelParams = new MdModelParams();
            mdModelParams.setMdid(mdModelPargroup.getMdid());
            mdModelParams.setParGroup(pargroup.getParGroupCode());
            mdModelParams.getParams().put("newParGroup",mdModelPargroup.getParGroupCode());
            mdModelParamsMapper.updateMdModelParamsGroupCode(mdModelParams);
        }
        return mdModelPargroupMapper.updateMdModelPargroup(mdModelPargroup);
    }

    /**
     * 批量删除模型参数分组
     *
     * @param mgids 需要删除的模型参数分组主键
     * @return 结果
     */
    @Override
    public int deleteMdModelPargroupByMgids(Integer[] mgids) {
        return mdModelPargroupMapper.deleteMdModelPargroupByMgids(mgids);
    }

    /**
     * 删除模型参数分组信息
     *
     * @param mgid 模型参数分组主键
     * @return 结果
     */
    @Override
    public int deleteMdModelPargroupByMgid(Integer mgid) {
        return mdModelPargroupMapper.deleteMdModelPargroupByMgid(mgid);
    }
}
