LocalBusHospitalService.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.coffee.bus.service;
  2. import cn.hutool.core.collection.CollectionUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.coffee.bus.entity.BusHospitalEntity;
  5. import com.coffee.bus.mapper.BusHospitalMapper;
  6. import com.coffee.common.config.mybatis.GetNameInterface;
  7. import com.coffee.common.crud.BaseService;
  8. import org.springframework.boot.CommandLineRunner;
  9. import org.springframework.stereotype.Service;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. import java.util.stream.Collectors;
  14. /**
  15. * @author lifang
  16. * @version 1.0.0
  17. * @ClassName LocalBusHospitalService.java
  18. * @Description TODO
  19. * @createTime 2022年03月19日 09:27:00
  20. */
  21. @Service
  22. public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusHospitalEntity,String> implements CommandLineRunner, GetNameInterface<String,String> {
  23. private static Map<String,String> hospitalMap=new HashMap<>();
  24. @Override
  25. public void validateBeforeSave(BusHospitalEntity entity) {
  26. }
  27. @Override
  28. public void validateBeforeUpdate(BusHospitalEntity entity) {
  29. }
  30. @Override
  31. public void validateBeforeDelete(String id) {
  32. }
  33. @Override
  34. public void postSave(BusHospitalEntity entity) {
  35. hospitalMap.put(entity.getId(),entity.getName());
  36. }
  37. @Override
  38. public void postUpdate(BusHospitalEntity entity) {
  39. hospitalMap.put(entity.getId(),entity.getName());
  40. }
  41. @Override
  42. public void postDelete(String id) {
  43. hospitalMap.remove(id);
  44. }
  45. @Override
  46. public void run(String... args) throws Exception {
  47. List<BusHospitalEntity> hospitalList = this.list();
  48. if(CollectionUtil.isNotEmpty(hospitalList)){
  49. Map<String, List<BusHospitalEntity>> collect = hospitalList.stream().collect(Collectors.groupingBy(BusHospitalEntity::getId));
  50. collect.forEach((k,v)->hospitalMap.put(k,v.get(0).getName()));
  51. }
  52. }
  53. @Override
  54. public String getName(String id) {
  55. if(StrUtil.isEmpty(id)){
  56. return "";
  57. }
  58. return hospitalMap.get(id);
  59. }
  60. }