email.go 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package english_report_email
  2. import (
  3. "hongze/hongze_yb_en_api/global"
  4. "hongze/hongze_yb_en_api/models/base"
  5. "time"
  6. )
  7. // 英文研报-邮箱
  8. type Email struct {
  9. Id uint `gorm:"primaryKey;column:id" json:"id"`
  10. CompanyId uint `gorm:"column:company_id" json:"company_id"` //客户ID
  11. Name string `gorm:"column:name" json:"name"` //客户名称
  12. CompanyName string `gorm:"column:company_name" json:"company_name"` //公司名称
  13. Email string `gorm:"column:email" json:"email"` //邮箱地址
  14. ViewTotal uint `gorm:"column:view_total" json:"view_total"` //累计点击量/阅读量
  15. LastViewTime time.Time `gorm:"column:last_view_time" json:"last_view_time"` //最后阅读时间
  16. IsDeleted uint8 `gorm:"column:is_deleted" json:"is_deleted"` //删除状态:0-正常;1-已删除
  17. AdminId uint `gorm:"column:admin_id" json:"admin_id"` //创建人ID
  18. AdminName string `gorm:"column:admin_name" json:"admin_name"` //创建人名称
  19. Enable int `gorm:"column:enabled" json:"enabled"`
  20. Status int `description:"1:正式,2:临时,3:终止"`
  21. Password string `gorm:"column:password" json:"password"`
  22. Mobile string `gorm:"column:mobile" json:"mobile"`
  23. CountryCode string `gorm:"column:country_code" json:"country_code"` //国家代码
  24. base.TimeBase
  25. }
  26. // TableName get sql table name.获取数据库表名
  27. func (e *Email) TableName() string {
  28. return "english_report_email"
  29. }
  30. // Add 新增
  31. func (e *Email) Add() (err error) {
  32. err = global.MYSQL["rddp"].Create(e).Error
  33. return
  34. }
  35. // 修改
  36. func (e *Email) Update(updateCols []string) (err error) {
  37. err = global.MYSQL["rddp"].Model(e).Select(updateCols).Updates(e).Error
  38. return
  39. }
  40. func (e *Email) GetById(id int) (item *Email, err error) {
  41. err = global.MYSQL["rddp"].Model(e).Where("is_deleted = 0 AND id= ?", id).First(&item).Error
  42. return
  43. }
  44. func (e *Email) UpdateViewTotalById(Id uint) (err error) {
  45. sql := `UPDATE english_report_email SET view_total = view_total+1, last_view_time = NOW() WHERE id = ? `
  46. err = global.MYSQL["rddp"].Exec(sql, Id).Error
  47. return
  48. }
  49. func CheckUserPwd(loginType int, countryCode, account, password string) (item *Email, err error) {
  50. sql := ``
  51. if loginType == 1 {
  52. sql = `SELECT * FROM english_report_email WHERE email=? AND password=? `
  53. err = global.MYSQL["rddp"].Raw(sql, account, password).Scan(&item).Error
  54. } else {
  55. sql = `SELECT * FROM english_report_email WHERE country_code = ? mobile=? AND password=? `
  56. err = global.MYSQL["rddp"].Raw(sql, countryCode, account, password).Scan(&item).Error
  57. }
  58. return
  59. }
  60. func CheckUser(email string) (item *Email, err error) {
  61. sql := `SELECT * FROM english_report_email WHERE email=? `
  62. err = global.MYSQL["rddp"].Raw(sql, email).First(&item).Error
  63. return
  64. }
  65. func (e *Email) GetByEmail(email string) (item *Email, err error) {
  66. err = global.MYSQL["rddp"].Model(e).Where("email = ? ", email).First(&item).Error
  67. return
  68. }
  69. func (e *Email) GetByMobile(mobile, countryCode string) (item *Email, err error) {
  70. err = global.MYSQL["rddp"].Model(e).Where("mobile = ? AND country_code = ?", mobile, countryCode).First(&item).Error
  71. return
  72. }