2023-01-25 16:16:36 +08:00
|
|
|
package dao
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"crm/global"
|
|
|
|
|
"crm/models"
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type SubscribeDao struct {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewSubscribeDao() *SubscribeDao {
|
|
|
|
|
return &SubscribeDao{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *SubscribeDao) Create(param *models.SubscribeCreateParam) error {
|
|
|
|
|
subscribe := models.Subscribe{
|
|
|
|
|
Uid: param.Uid,
|
|
|
|
|
Version: param.Version,
|
|
|
|
|
Expired: param.Expired,
|
|
|
|
|
Created: time.Now().Unix(),
|
|
|
|
|
}
|
|
|
|
|
return global.Db.Table(SUBSCRIBE).Create(&subscribe).Error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *SubscribeDao) Update(param *models.SubscribeUpdateParam) error {
|
|
|
|
|
subscribe := models.Subscribe{
|
|
|
|
|
Version: param.Version,
|
|
|
|
|
Expired: param.Expired,
|
|
|
|
|
Updated: time.Now().Unix(),
|
|
|
|
|
}
|
|
|
|
|
return global.Db.Model(&models.Subscribe{}).Where("uid = ?", param.Uid).Updates(&subscribe).Error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *SubscribeDao) UpdateVersion(uid int64, v int) error {
|
|
|
|
|
return global.Db.Model(&models.Subscribe{}).Where("uid = ?", uid).Update("version", v).Error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (u *SubscribeDao) IsExists(uid int64) bool {
|
|
|
|
|
var subscribe models.Subscribe
|
|
|
|
|
db := global.Db.Table(SUBSCRIBE).Where("uid = ?", uid).First(&subscribe)
|
|
|
|
|
return db.RowsAffected != NumberNull
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *SubscribeDao) GetInfo(uid int64) (*models.SubscribeInfo, error) {
|
|
|
|
|
var si models.SubscribeInfo
|
|
|
|
|
if err := global.Db.Table(SUBSCRIBE).First(&si, "uid = ?", uid).Error; err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return &si, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *SubscribeDao) SetOrder(tradeNo string, param *models.SubscribePayOrder) error {
|
|
|
|
|
order, _ := json.Marshal(¶m)
|
|
|
|
|
return global.Rdb.Set(ctx, tradeNo, string(order), time.Minute*30).Err()
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-27 11:05:24 +08:00
|
|
|
func (s *SubscribeDao) GetOrder(tradeNo string) (string, error) {
|
|
|
|
|
orderJson, err := global.Rdb.Get(ctx, tradeNo).Result()
|
2023-01-25 16:16:36 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return StringNull, err
|
|
|
|
|
}
|
|
|
|
|
return orderJson, nil
|
|
|
|
|
}
|