package com.hw.dms.service.impl;

import java.util.List;
import java.util.Map;

import com.hw.common.core.utils.DateUtils;
import com.hw.common.security.utils.SecurityUtils;
import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsBaseDeviceFilesMapper;
import com.hw.dms.domain.DmsBaseDeviceFiles;
import com.hw.dms.service.IDmsBaseDeviceFilesService;

/**
 * 设备档案信息Service业务层处理
 *
 * @author xins
 * @date 2024-01-09
 */
@Service
public class DmsBaseDeviceFilesServiceImpl implements IDmsBaseDeviceFilesService
{
    @Autowired
    private DmsBaseDeviceFilesMapper dmsBaseDeviceFilesMapper;

    /**
     * 查询设备档案信息
     *
     * @param deviceFilesId 设备档案信息主键
     * @return 设备档案信息
     */
    @Override
    public DmsBaseDeviceFiles selectDmsBaseDeviceFilesByDeviceFilesId(Long deviceFilesId)
    {
        return dmsBaseDeviceFilesMapper.selectDmsBaseDeviceFilesByDeviceFilesId(deviceFilesId);
    }

    /**
     * 查询设备档案信息列表
     *
     * @param dmsBaseDeviceFiles 设备档案信息
     * @return 设备档案信息
     */
    @Override
    public List<DmsBaseDeviceFiles> selectDmsBaseDeviceFilesList(DmsBaseDeviceFiles dmsBaseDeviceFiles)
    {
        return dmsBaseDeviceFilesMapper.selectDmsBaseDeviceFilesList(dmsBaseDeviceFiles);
    }

    /**
     * 新增设备档案信息
     *
     * @param dmsBaseDeviceFiles 设备档案信息
     * @return 结果
     */
    @Override
    public int insertDmsBaseDeviceFiles(DmsBaseDeviceFiles dmsBaseDeviceFiles)
    {

        String url = dmsBaseDeviceFiles.getFilesPath();
        int index = url.lastIndexOf("/");
        String name = url.substring(index+1);
        dmsBaseDeviceFiles.setFilesName(name);
        dmsBaseDeviceFiles.setFilesPath(url);
        dmsBaseDeviceFiles.setCreateTime(DateUtils.getNowDate());
        dmsBaseDeviceFiles.setIsFlag(1l);
        LoginUser user = SecurityUtils.getLoginUser();
        dmsBaseDeviceFiles.setCreateBy(user.getUsername());
        return dmsBaseDeviceFilesMapper.insertDmsBaseDeviceFiles(dmsBaseDeviceFiles);
    }

    /**
     * 修改设备档案信息
     *
     * @param dmsBaseDeviceFiles 设备档案信息
     * @return 结果
     */
    @Override
    public int updateDmsBaseDeviceFiles(DmsBaseDeviceFiles dmsBaseDeviceFiles)
    {


        LoginUser user = SecurityUtils.getLoginUser();
        int index = dmsBaseDeviceFiles.getFilesPath().lastIndexOf("/");
        String name = dmsBaseDeviceFiles.getFilesPath().substring(index+1);
        dmsBaseDeviceFiles.setFilesName(name);
        dmsBaseDeviceFiles.setFilesPath(dmsBaseDeviceFiles.getFilesPath());
        dmsBaseDeviceFiles.setUpdateTime(DateUtils.getNowDate());
        dmsBaseDeviceFiles.setUpdateBy(user.getUsername());
        return dmsBaseDeviceFilesMapper.updateDmsBaseDeviceFiles(dmsBaseDeviceFiles);
    }

    /**
     * 批量删除设备档案信息
     *
     * @param deviceFilesIds 需要删除的设备档案信息主键
     * @return 结果
     */
    @Override
    public int deleteDmsBaseDeviceFilesByDeviceFilesIds(Long[] deviceFilesIds)
    {
        return dmsBaseDeviceFilesMapper.deleteDmsBaseDeviceFilesByDeviceFilesIds(deviceFilesIds);
    }

    /**
     * 删除设备档案信息信息
     *
     * @param deviceFilesId 设备档案信息主键
     * @return 结果
     */
    @Override
    public int deleteDmsBaseDeviceFilesByDeviceFilesId(Long deviceFilesId)
    {
        return dmsBaseDeviceFilesMapper.deleteDmsBaseDeviceFilesByDeviceFilesId(deviceFilesId);
    }
}
