card_whiter.go 792 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package gate_card
  2. import (
  3. dbmodel "property-device/model"
  4. "property-device/utils/gate_utils"
  5. )
  6. type CardWhiter interface {
  7. PersonAdd()
  8. PersonDel()
  9. Command() bool
  10. }
  11. func NewCardWhiter(ucard *dbmodel.TUserCard, device *dbmodel.TGate, gcard *dbmodel.TGateCard) CardWhiter {
  12. switch device.Protocol {
  13. case gate_utils.GateProtocolSaiboHttpV1:
  14. return &CardSaiboHttpv1Whiter{
  15. Gcard: gcard,
  16. Device: device,
  17. UCard: ucard,
  18. //Device: device,
  19. }
  20. case gate_utils.GateProtocolYufanHttpV1:
  21. byIp := false
  22. if gate_utils.CheckYufanIp(device.Ip, device.Port, device.Password) {
  23. byIp = true
  24. }
  25. return &CardYufanHttpv1Whiter{
  26. Gcard: gcard,
  27. Device: device,
  28. UCard: ucard,
  29. ByIp: byIp,
  30. }
  31. case gate_utils.GateProtocolSaiboMqttV1:
  32. return nil
  33. }
  34. return nil
  35. }