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.MmModelArithSettingsDao; import com.iailab.module.model.mcs.pre.entity.MmModelArithSettingsEntity; import com.iailab.module.model.mcs.pre.service.MmModelArithSettingsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** * @author PanZhibao * @date 2021年04月27日 9:24 */ @Service public class MmModelArithSettingsServiceImpl extends ServiceImpl implements MmModelArithSettingsService { @Autowired private MmModelArithSettingsDao mmModelArithSettingsDao; private static Map> modelIdMap = new ConcurrentHashMap<>(); @Override public void saveList(List list) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("modelid", list.get(0).getModelid()); mmModelArithSettingsDao.delete(queryWrapper); list.forEach(item -> { item.setId(UUID.randomUUID().toString()); }); mmModelArithSettingsDao.insertList(list); // 清空缓存 modelIdMap.clear(); } @Override public List getByModelId(String modelId) { if (modelIdMap.containsKey(modelId)) { return modelIdMap.get(modelId); } Map params = new HashMap<>(1); params.put("modelid", modelId); List list = mmModelArithSettingsDao.getMmModelArithSettings(params); if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } modelIdMap.put(modelId, list); return list; } @Override public void updatePyFile(String pyModule, String fileName) { baseMapper.updatePyFile(pyModule + "." + fileName.substring(0,fileName.lastIndexOf("_")+1),pyModule + "." + fileName); } }