123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package dao
- import (
- "context"
- "strconv"
- "go-common/app/job/main/account-summary/model"
- "github.com/pkg/errors"
- )
- const (
- _SummaryTable = "ugc:AccountSum"
- _ColFamily = "accountsum"
- )
- // Save is
- func (d *Dao) Save(ctx context.Context, key string, data map[string][]byte) error {
- values := map[string]map[string][]byte{
- _ColFamily: data,
- }
- _, err := d.AccountSumHBase.PutStr(ctx, _SummaryTable, key, values)
- return err
- }
- // GetByKey is
- func (d *Dao) GetByKey(ctx context.Context, key string) (*model.AccountSummary, error) {
- res, err := d.AccountSumHBase.GetStr(ctx, _SummaryTable, key)
- if err != nil {
- return nil, errors.WithStack(err)
- }
- sum := model.NewAccountSummary()
- for _, c := range res.Cells {
- v := string(c.Value)
- switch string(c.Qualifier) {
- case "birthday":
- sum.Birthday = v
- case "face":
- sum.Face = v
- case "mid":
- sum.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "name":
- sum.Name = v
- case "rank":
- sum.Rank, _ = strconv.ParseInt(v, 10, 64)
- case "sex":
- sum.Sex, _ = strconv.ParseInt(v, 10, 64)
- case "sign":
- sum.Sign = v
- case "official.role":
- sum.Official.Role, _ = strconv.ParseInt(v, 10, 64)
- case "official.mid":
- sum.Official.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "official.title":
- sum.Official.Title = v
- case "official.description":
- sum.Official.Description = v
- case "exp.mid":
- sum.Exp.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "exp.exp":
- sum.Exp.Exp, _ = strconv.ParseInt(v, 10, 64)
- case "relation.mid":
- sum.RelationStat.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "relation.follower":
- sum.RelationStat.Follower, _ = strconv.ParseInt(v, 10, 64)
- case "relation.following":
- sum.RelationStat.Following, _ = strconv.ParseInt(v, 10, 64)
- case "relation.black":
- sum.RelationStat.Black, _ = strconv.ParseInt(v, 10, 64)
- case "relation.whisper":
- sum.RelationStat.Whisper, _ = strconv.ParseInt(v, 10, 64)
- case "block.mid":
- sum.Block.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "block.block_status":
- sum.Block.BlockStatus, _ = strconv.ParseInt(v, 10, 64)
- case "block.start_time":
- sum.Block.StartTime = v
- case "block.end_time":
- sum.Block.EndTime = v
- case "passport.mid":
- sum.Passport.Mid, _ = strconv.ParseInt(v, 10, 64)
- case "passport.tel_status":
- sum.Passport.TelStatus, _ = strconv.ParseInt(v, 10, 64)
- case "passport.country_id":
- sum.Passport.CountryID, _ = strconv.ParseInt(v, 10, 64)
- case "passport.join_ip":
- sum.Passport.JoinIP = v
- case "passport.join_time":
- sum.Passport.JoinTime = v
- case "passport.email_suffix":
- sum.Passport.EmailSuffix = v
- case "passport.origin_type":
- sum.Passport.OriginType, _ = strconv.ParseInt(v, 10, 64)
- case "passport.reg_type":
- sum.Passport.RegType, _ = strconv.ParseInt(v, 10, 64)
- }
- }
- return sum, nil
- }
|