package com.coffee.bus.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.coffee.bus.entity.BusHospitalEntity; import com.coffee.bus.mapper.BusHospitalMapper; import com.coffee.common.config.mybatis.GetNameInterface; import com.coffee.common.crud.BaseService; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @author lifang * @version 1.0.0 * @ClassName LocalBusHospitalService.java * @Description TODO * @createTime 2022年03月19日 09:27:00 */ @Service public class LocalBusHospitalService extends BaseService implements CommandLineRunner, GetNameInterface { private static Map hospitalMap=new HashMap<>(); @Override public void validateBeforeSave(BusHospitalEntity entity) { } @Override public void validateBeforeUpdate(BusHospitalEntity entity) { } @Override public void validateBeforeDelete(String id) { } @Override public void postSave(BusHospitalEntity entity) { hospitalMap.put(entity.getId(),entity.getName()); } @Override public void postUpdate(BusHospitalEntity entity) { hospitalMap.put(entity.getId(),entity.getName()); } @Override public void postDelete(String id) { hospitalMap.remove(id); } @Override public void run(String... args) throws Exception { List hospitalList = this.list(); if(CollectionUtil.isNotEmpty(hospitalList)){ Map> collect = hospitalList.stream().collect(Collectors.groupingBy(BusHospitalEntity::getId)); collect.forEach((k,v)->hospitalMap.put(k,v.get(0).getName())); } } @Override public String getName(String id) { if(StrUtil.isEmpty(id)){ return ""; } return hospitalMap.get(id); } }