package com.iailab.module.model.mcs.pre.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iailab.module.model.mcs.pre.dao.DmModuleItemDao;
import com.iailab.module.model.mcs.pre.entity.DmModuleItemEntity;
import com.iailab.module.model.mcs.pre.service.DmModuleItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

/**
 * @author PanZhibao
 * @date 2021年04月27日 9:20
 */
@Service
public class DmModuleItemServiceImpl extends ServiceImpl<DmModuleItemDao, DmModuleItemEntity> implements DmModuleItemService {
    @Autowired
    private DmModuleItemDao dmModuleItemDao;
    
    @Override
    public void saveModuleItem(DmModuleItemEntity moduleItem) {
        moduleItem.setId(UUID.randomUUID().toString());
        dmModuleItemDao.insert(moduleItem);
    }

    @Override
    public void update(DmModuleItemEntity moduleItem) {
        dmModuleItemDao.updateById(moduleItem);
    }

    @Override
    public List<String> getModuleIdByItemId(List<String> itemIds) {
        List<String> result = new ArrayList<String>();
        QueryWrapper<DmModuleItemEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.in("itemid", itemIds);
        List<DmModuleItemEntity> list = dmModuleItemDao.selectList(queryWrapper);
        if (CollectionUtils.isEmpty(list)) {
           return result;
        }
        list.forEach(item -> result.add(item.getModuleid()));
        return result;
    }

    public DmModuleItemEntity getByItemid(String itemid) {
        List<DmModuleItemEntity> list = dmModuleItemDao.selectList(new QueryWrapper<DmModuleItemEntity>().in("itemid", itemid));
        if (CollectionUtils.isEmpty(list)) {
            return new DmModuleItemEntity();
        }
        return list.get(0);
    }
}