package com.zjsgfa.project.zjsgfa.service.impl;

import java.nio.charset.StandardCharsets;
import java.util.List;

import cn.hutool.core.codec.Base64;
import com.zjsgfa.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zjsgfa.project.zjsgfa.mapper.SjFzqkmsMapper;
import com.zjsgfa.project.zjsgfa.domain.SjFzqkms;
import com.zjsgfa.project.zjsgfa.service.ISjFzqkmsService;

/**
 * 方案邻井复杂描述Service业务层处理
 * 
 * @author ruoyi
 * @date 2026-02-28
 */
@Service
public class SjFzqkmsServiceImpl implements ISjFzqkmsService 
{
    @Autowired
    private SjFzqkmsMapper sjFzqkmsMapper;

    /**
     * 查询方案邻井复杂描述
     * 
     * @param id 方案邻井复杂描述主键
     * @return 方案邻井复杂描述
     */
    @Override
    public SjFzqkms selectSjFzqkmsById(Long id)
    {
        return sjFzqkmsMapper.selectSjFzqkmsById(id);
    }

    /**
     * 查询方案邻井复杂描述列表
     * 
     * @param sjFzqkms 方案邻井复杂描述
     * @return 方案邻井复杂描述
     */
    @Override
    public List<SjFzqkms> selectSjFzqkmsList(SjFzqkms sjFzqkms)
    {
        return sjFzqkmsMapper.selectSjFzqkmsList(sjFzqkms);
    }

    /**
     * 新增方案邻井复杂描述
     * 
     * @param sjFzqkms 方案邻井复杂描述
     * @return 结果
     */
    @Override
    public int insertSjFzqkms(SjFzqkms sjFzqkms)
    {
        if(StringUtils.isNotEmpty(sjFzqkms.getGcfzqk())){
            String s = new String(Base64.decode(sjFzqkms.getGcfzqk()), StandardCharsets.UTF_8);
            sjFzqkms.setGcfzqk(s);
        }
        if(StringUtils.isNotEmpty(sjFzqkms.getZjyfzqk())){
            String s = new String(Base64.decode(sjFzqkms.getZjyfzqk()), StandardCharsets.UTF_8);
            sjFzqkms.setZjyfzqk(s);
        }
        return sjFzqkmsMapper.insertSjFzqkms(sjFzqkms);
    }

    /**
     * 修改方案邻井复杂描述
     * 
     * @param sjFzqkms 方案邻井复杂描述
     * @return 结果
     */
    @Override
    public int updateSjFzqkms(SjFzqkms sjFzqkms)
    {
        if(StringUtils.isNotEmpty(sjFzqkms.getGcfzqk())){
            String s = new String(Base64.decode(sjFzqkms.getGcfzqk()), StandardCharsets.UTF_8);
            sjFzqkms.setGcfzqk(s);
        }
        if(StringUtils.isNotEmpty(sjFzqkms.getZjyfzqk())){
            String s = new String(Base64.decode(sjFzqkms.getZjyfzqk()), StandardCharsets.UTF_8);
            sjFzqkms.setZjyfzqk(s);
        }
        return sjFzqkmsMapper.updateSjFzqkms(sjFzqkms);
    }

    /**
     * 批量删除方案邻井复杂描述
     * 
     * @param ids 需要删除的方案邻井复杂描述主键
     * @return 结果
     */
    @Override
    public int deleteSjFzqkmsByIds(Long[] ids)
    {
        return sjFzqkmsMapper.deleteSjFzqkmsByIds(ids);
    }

    /**
     * 删除方案邻井复杂描述信息
     * 
     * @param id 方案邻井复杂描述主键
     * @return 结果
     */
    @Override
    public int deleteSjFzqkmsById(Long id)
    {
        return sjFzqkmsMapper.deleteSjFzqkmsById(id);
    }
}
