You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
package data |
|
|
|
import ( |
|
"context" |
|
"errors" |
|
|
|
"go-common/app/job/main/videoup-report/conf" |
|
"go-common/app/job/main/videoup-report/model/data" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
xhttp "go-common/library/net/http/blademaster" |
|
) |
|
|
|
const ( |
|
_hotArc = "/data/rank/reco-app-remen-pre.json" |
|
_monitorNotify = "/va/monitor/notify" |
|
_replyChange = "/x/internal/v2/reply/subject/state" |
|
_replyInfo = "/x/internal/v2/reply/subject" |
|
_profitUpState = "/allowance/api/x/admin/growup/up/account/state" |
|
) |
|
|
|
//Dao dao |
|
type Dao struct { |
|
c *conf.Config |
|
moniNotifyURL string |
|
hotArcURL, replyInfoURL, replyChangeURL, upProfitState string |
|
client, clientWriter *xhttp.Client |
|
} |
|
|
|
//New new |
|
func New(c *conf.Config) (d *Dao) { |
|
d = &Dao{ |
|
c: c, |
|
hotArcURL: c.Host.Data + _hotArc, |
|
moniNotifyURL: c.Host.Archive + _monitorNotify, |
|
replyInfoURL: c.Host.API + _replyInfo, |
|
replyChangeURL: c.Host.API + _replyChange, |
|
upProfitState: c.Host.Profit + _profitUpState, |
|
client: xhttp.NewClient(c.HTTPClient.Read), |
|
clientWriter: xhttp.NewClient(c.HTTPClient.Write), |
|
} |
|
return |
|
} |
|
|
|
// HotArchive get hot archives which need rechecking |
|
func (d *Dao) HotArchive(c context.Context) (aids []int64, err error) { |
|
res := &data.HotArchiveRes{} |
|
if err = d.client.Get(c, d.hotArcURL, "", nil, &res); err != nil { |
|
log.Error("d.HotArchive() error(%v)", err) |
|
return |
|
} |
|
if res.Code != ecode.OK.Code() { |
|
err = errors.New("data api bad response") |
|
log.Error("d.HotArchive() bad code(%d)", res.Code) |
|
return |
|
} |
|
for _, item := range res.List { |
|
aids = append(aids, item.Aid) |
|
} |
|
return |
|
}
|
|
|