package com.ruoyi.cs.service.impl;

import java.util.List;

import cn.hutool.core.util.IdUtil;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.cs.mapper.CsCompanyMapper;
import com.ruoyi.cs.domain.CsCompany;
import com.ruoyi.cs.service.ICsCompanyService;

import javax.annotation.Resource;

/**
 * 单位信息Service业务层处理
 *
 * @author ruoyi
 * @date 2024-05-31
 */
@Service
public class CsCompanyServiceImpl implements ICsCompanyService
{
    @Resource
    private CsCompanyMapper csCompanyMapper;

    /**
     * 查询单位信息
     *
     * @param companyId 单位信息主键
     * @return 单位信息
     */
    @Override
    public CsCompany selectCsCompanyByCompanyId(String companyId)
    {
        return csCompanyMapper.selectCsCompanyByCompanyId(companyId);
    }

    /**
     * 查询单位信息列表
     *
     * @param csCompany 单位信息
     * @return 单位信息
     */
    @Override
    public List<CsCompany> selectCsCompanyList(CsCompany csCompany)
    {
        return csCompanyMapper.selectCsCompanyList(csCompany);
    }

    /**
     * 新增单位信息
     *
     * @param csCompany 单位信息
     * @return 结果
     */
    @Override
    public int insertCsCompany(CsCompany csCompany)
    {
        csCompany.setCompanyId(IdUtil.getSnowflakeNextIdStr());
        csCompany.setCreateAt(DateUtils.getNowDate());
        csCompany.setDelFlag("0");
        return csCompanyMapper.insertCsCompany(csCompany);
    }

    /**
     * 修改单位信息
     *
     * @param csCompany 单位信息
     * @return 结果
     */
    @Override
    public int updateCsCompany(CsCompany csCompany)
    {
        csCompany.setUpdateAt(DateUtils.getNowDate());
        return csCompanyMapper.updateCsCompany(csCompany);
    }

    /**
     * 批量删除单位信息
     *
     * @param companyIds 需要删除的单位信息主键
     * @return 结果
     */
    @Override
    public int deleteCsCompanyByCompanyIds(String[] companyIds)
    {
        return csCompanyMapper.deleteCsCompanyByCompanyIds(companyIds);
    }

    /**
     * 删除单位信息信息
     *
     * @param companyId 单位信息主键
     * @return 结果
     */
    @Override
    public int deleteCsCompanyByCompanyId(String companyId)
    {
        return csCompanyMapper.deleteCsCompanyByCompanyId(companyId);
    }

    /**
     * 查询单位信息列表
     *
     * @param csCompany 单位信息
     * @return 单位信息集合
     */
    @Override
    public List<CsCompany> selectCompanyInfoList(CsCompany csCompany) {
        return csCompanyMapper.selectCompanyInfoList(csCompany);
    }
}
