SwitchStateConverter.java 720 B

12345678910111213141516171819202122232425
  1. package top.haijunit.train.domain.constant;
  2. import jakarta.persistence.AttributeConverter;
  3. import jakarta.persistence.Converter;
  4. import java.util.Optional;
  5. /**
  6. * @author zhanghaijun
  7. * @date 2023/11/27 16:50
  8. * @description [一句话描述该类的功能]
  9. */
  10. @Converter(autoApply = true)
  11. public class SwitchStateConverter implements AttributeConverter<SwitchStateEnum, Integer> {
  12. @Override
  13. public Integer convertToDatabaseColumn(SwitchStateEnum state) {
  14. return Optional.of(state).map(SwitchStateEnum::getCode).orElse(SwitchStateEnum.Forward.getCode());
  15. }
  16. @Override
  17. public SwitchStateEnum convertToEntityAttribute(Integer code) {
  18. return SwitchStateEnum.getByCode(code);
  19. }
  20. }