diff --git a/src/dao/advertising_callback_dao.go b/src/dao/advertising_callback_dao.go index 4da97db..567d4c1 100644 --- a/src/dao/advertising_callback_dao.go +++ b/src/dao/advertising_callback_dao.go @@ -1,7 +1,11 @@ package dao -import "code.fnuoos.com/EggPlanet/egg_models.git/src/model" +import ( + "code.fnuoos.com/EggPlanet/egg_models.git/src/model" + "xorm.io/xorm" +) type AdvertisingCallbackDao interface { FindAdvertisingCallbackAndTotal(page, limit, amount, uid, startTime, endTime, platform, types string) (*[]model.AdvertisingCallback, int64, error) + AdvertisingCallbackExistBySession(session *xorm.Session, uid, startTime, endTime, types string) (bool, error) } diff --git a/src/implement/advertising_callback_implement.go b/src/implement/advertising_callback_implement.go index c602763..e80dab8 100644 --- a/src/implement/advertising_callback_implement.go +++ b/src/implement/advertising_callback_implement.go @@ -44,3 +44,25 @@ func (a AdvertisingCallbackDb) FindAdvertisingCallbackAndTotal(page, limit, amou } return &m, count, nil } + +func (a AdvertisingCallbackDb) AdvertisingCallbackExistBySession(session *xorm.Session, uid, startTime, endTime, types string) (bool, error) { + var m []model.AdvertisingCallback + sess := session.Where("1=1") + if uid != "" { + sess.And("uid=?", uid) + } + if types != "" { + sess.And("type=?", types) + } + if startTime != "" { + sess.And("create_at>=?", startTime) + } + if endTime != "" { + sess.And("create_at<=?", endTime) + } + exist, err := sess.Exist(&m) + if err != nil { + return false, err + } + return exist, nil +}