userdao.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package user
  2. import (
  3. "crypto/md5"
  4. "demo/configs"
  5. "demo/share"
  6. "fmt"
  7. "math/big"
  8. "strconv"
  9. )
  10. func logins(username, password, t string) (configs.User, error) {
  11. user := configs.User{}
  12. var err error
  13. fmt.Println("username", username, "password", password)
  14. hash := md5.New()
  15. hash.Write([]byte("kkc-" + password))
  16. pwd := Md5_KKC(password)
  17. fmt.Println("678", username, pwd, t)
  18. //md5摘要
  19. if t == "email" {
  20. _, err = configs.Engine.Table("user").Where("email = ?", username).Where("password = ?", pwd).Get(&user)
  21. } else if t == "phone" {
  22. _, err = configs.Engine.Table("user").Where("phone = ?", username).Where("password = ?", pwd).Get(&user)
  23. }
  24. if err == nil {
  25. return user, err
  26. }
  27. return configs.User{}, err
  28. }
  29. func sendSms(matched bool, username string) {
  30. mins := big.NewInt(100000)
  31. maxs := big.NewInt(999999)
  32. randomNum := share.RandomInt(mins, maxs)
  33. if matched {
  34. //bools, err = configs.Engine.Table("user").Where("username = ?", username).Exist(&user)
  35. share.SendMail(username, strconv.Itoa(int(randomNum.Int64())))
  36. } else {
  37. share.SendSms(strconv.Itoa(int(randomNum.Int64())), username)
  38. }
  39. }
  40. func Md5_KKC(str string) string {
  41. hash := md5.New()
  42. hash.Write([]byte("kkc-" + str))
  43. return fmt.Sprintf("%x", hash.Sum(nil))
  44. }