package com.ruoyi.mall.service.impl;

import java.util.List;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.mall.domain.MallAppCompanyUser;
import com.ruoyi.mall.mapper.MallAppCompanyUserMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mall.mapper.MallAppCompanyMapper;
import com.ruoyi.mall.domain.MallAppCompany;
import com.ruoyi.mall.service.IMallAppCompanyService;

import javax.annotation.Resource;

/**
 * app-公司Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-27
 */
@Service
public class MallAppCompanyServiceImpl implements IMallAppCompanyService
{
    @Resource
    private MallAppCompanyMapper mallAppCompanyMapper;
    @Resource
    private MallAppCompanyUserMapper mallAppCompanyUserMapper;
    @Resource
    private SysUserMapper sysUserMapper;

    /**
     * 查询app-公司
     *
     * @param companyId app-公司主键
     * @return app-公司
     */
    @Override
    public MallAppCompany selectMallAppCompanyByCompanyId(Long companyId)
    {
        return mallAppCompanyMapper.selectMallAppCompanyByCompanyId(companyId);
    }

    /**
     * 查询app-公司列表
     *
     * @param mallAppCompany app-公司
     * @return app-公司
     */
    @Override
    public List<MallAppCompany> selectMallAppCompanyList(MallAppCompany mallAppCompany)
    {
        return mallAppCompanyMapper.selectMallAppCompanyList(mallAppCompany);
    }

    /**
     * 新增app-公司
     *
     * @param mallAppCompany app-公司
     * @return 结果
     */
    @Override
    public int insertMallAppCompany(MallAppCompany mallAppCompany)
    {
        mallAppCompany.setCreateAt(DateUtils.getTime());
        mallAppCompany.setDelFlag(0);
        return mallAppCompanyMapper.insertMallAppCompany(mallAppCompany);
    }

    /**
     * 修改app-公司
     *
     * @param mallAppCompany app-公司
     * @return 结果
     */
    @Override
    public int updateMallAppCompany(MallAppCompany mallAppCompany)
    {
        mallAppCompany.setUpdateAt(DateUtils.getTime());
        return mallAppCompanyMapper.updateMallAppCompany(mallAppCompany);
    }

    /**
     * 批量删除app-公司
     *
     * @param companyIds 需要删除的app-公司主键
     * @return 结果
     */
    @Override
    public int deleteMallAppCompanyByCompanyIds(Long[] companyIds)
    {
        return mallAppCompanyMapper.deleteMallAppCompanyByCompanyIds(companyIds);
    }

    /**
     * 删除app-公司信息
     *
     * @param companyId app-公司主键
     * @return 结果
     */
    @Override
    public int deleteMallAppCompanyByCompanyId(Long companyId)
    {
        MallAppCompanyUser mallAppCompanyUser = new MallAppCompanyUser();
        mallAppCompanyUser.setCompanyId(companyId);
        List<MallAppCompanyUser> companyUserList = mallAppCompanyUserMapper.selectMallAppCompanyUserList(mallAppCompanyUser);
        if (companyUserList.size() > 0) {
            for (MallAppCompanyUser companyUser : companyUserList) {
                sysUserMapper.deleteReallyUserById(companyUser.getCompanyUserId());
            }
        }
        return mallAppCompanyMapper.deleteMallAppCompanyByCompanyId(companyId);
    }
}
