12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package service
- import (
- "context"
- "time"
- artmdl "go-common/app/interface/openplatform/article/model"
- )
- const (
- _platAll = 0
- _platAndroid = 1
- _platIOS = 2
- _equal = 0
- _greaterThanOrEqual = 1
- _lessThanOrEqual = 2
- )
- func (s *Service) loadNoticeproc() {
- for {
- if notices, err := s.dao.Notices(context.TODO(), time.Now()); err == nil {
- s.notices = notices
- }
- time.Sleep(time.Minute)
- }
- }
- // Notice get notice
- func (s *Service) Notice(platform string, build int) (res *artmdl.Notice) {
- var plat int
- if platform == "android" {
- plat = _platAndroid
- }
- if platform == "ios" {
- plat = _platIOS
- }
- for _, notice := range s.notices {
- var ok bool
- if (notice.Plat == _platAll) || (notice.Plat == plat) {
- switch notice.Condition {
- case _equal:
- ok = build == notice.Build
- case _greaterThanOrEqual:
- ok = build >= notice.Build
- case _lessThanOrEqual:
- ok = build <= notice.Build
- }
- }
- if ok {
- notice.Content = notice.Title
- return notice
- }
- }
- return nil
- }
|