package ink.wgink.common.service.env.impl;

import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.common.dao.env.IEnvDao;
import ink.wgink.common.manager.env.EnvManager;
import ink.wgink.common.pojo.Env;
import ink.wgink.common.pojo.dtos.env.EnvDTO;
import ink.wgink.common.pojo.vos.env.EnvListVO;
import ink.wgink.common.pojo.vos.env.EnvVO;
import ink.wgink.common.service.env.IEnvService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

/**
 * @ClassName: EnvServiceImpl
 * @Description: 环境变量
 * @Author: wanggeng
 * @Date: 2022/5/16 10:48
 * @Version: 1.0
 */
@Service
public class EnvServiceImpl extends DefaultBaseService implements IEnvService {

    @Autowired
    private IEnvDao envDao;

    @Override
    public void update(EnvListVO envListVO) {
        // 清空
        envDao.delete();
        // 新增
        Map<String, Object> params = getHashMap(5);
        for (EnvVO envVO : envListVO.getEnvs()) {
            params.put("envKey", envVO.getEnvKey());
            params.put("envExplain", envVO.getEnvExplain());
            params.put("envValue", envVO.getEnvValue());
            envDao.save(params);
        }
        // 刷新缓存
        EnvManager.getInstance().refreshEnv();
    }

    @Override
    public List<EnvDTO> list() {
        Env env = EnvManager.getInstance().getEnv();
        System.out.println(env.toString());
        return envDao.list();
    }
}
