12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package service
- import (
- "bytes"
- "context"
- "strconv"
- "go-common/app/job/main/growup/model"
- "go-common/app/job/main/growup/model/income"
- )
- func (s *Service) getAllUps(c context.Context, limit int64) (m map[int64]*model.UpInfoVideo, err error) {
- var id int64
- m = make(map[int64]*model.UpInfoVideo)
- for {
- var us map[int64]*model.UpInfoVideo
- id, us, err = s.dao.UpInfoVideo(c, id, limit)
- if err != nil {
- return
- }
- for k, v := range us {
- m[k] = v
- }
- if len(us) < _dbLimit {
- break
- }
- }
- return
- }
- // SyncUpAccount sync up_account to up_tag_year
- func (s *Service) SyncUpAccount(c context.Context) (err error) {
- var id int64
- for {
- var um map[int64]*income.UpAccount
- um, id, err = s.income.UpAccounts(c, id, 2000)
- if err != nil {
- return
- }
- if len(um) == 0 {
- break
- }
- _, err = s.tag.InsertUpYearAccount(c, assembleUpYear(um))
- if err != nil {
- return
- }
- }
- return
- }
- func assembleUpYear(ups map[int64]*income.UpAccount) (vals string) {
- var buf bytes.Buffer
- for mid, info := range ups {
- buf.WriteString("(")
- buf.WriteString(strconv.FormatInt(mid, 10))
- buf.WriteByte(',')
- buf.WriteString(strconv.FormatInt(info.TotalIncome, 10))
- buf.WriteString(")")
- buf.WriteByte(',')
- }
- if buf.Len() > 0 {
- buf.Truncate(buf.Len() - 1)
- }
- vals = buf.String()
- buf.Reset()
- return
- }
|