123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- package service
- import (
- "bytes"
- "encoding/csv"
- "strconv"
- "time"
- "go-common/app/admin/main/growup/model"
- )
- var (
- _accountState = map[int]string{
- 1: "未申请",
- 2: "待审核",
- 3: "已签约",
- 4: "已驳回",
- 5: "主动退出",
- 6: "被动退出",
- 7: "封禁",
- }
- _avCategory = map[int]string{
- 0: "默认",
- 1: "动画",
- 3: "音乐",
- 129: "舞蹈",
- 4: "游戏",
- 36: "科技",
- 160: "生活",
- 119: "鬼畜",
- 155: "时尚",
- 23: "电影",
- 11: "电视剧",
- 13: "番剧",
- 167: "国创",
- 165: "广告",
- 5: "娱乐",
- 177: "纪录片",
- 181: "影视",
- }
- _cmCategory = map[int]string{
- 1: "游戏",
- 2: "动画",
- 3: "生活",
- 16: "轻小说",
- 28: "影视",
- 29: "兴趣",
- }
- )
- // FormatCSV format to csv data
- func FormatCSV(records [][]string) (data []byte, err error) {
- buf := new(bytes.Buffer)
- // add utf bom
- if len(records) > 0 {
- buf.WriteString("\xEF\xBB\xBF")
- }
- w := csv.NewWriter(buf)
- err = w.WriteAll(records)
- if err != nil {
- return
- }
- data = buf.Bytes()
- return
- }
- func formatBlacklist(blacklist []*model.Blacklist) (data [][]string) {
- if len(blacklist) <= 0 {
- return
- }
- data = make([][]string, len(blacklist)+1)
- data[0] = []string{"稿件id", "加入时间", "加入原因", "累计收入", "UP主UID", "UP主昵称", "业务类型"}
- for i := 0; i < len(blacklist); i++ {
- list := blacklist[i]
- var ctype, reasonStr string
- switch list.CType {
- case 0:
- ctype = "视频"
- case 1:
- ctype = "音频"
- case 2:
- ctype = "专栏"
- }
- switch list.Reason {
- case 1:
- reasonStr = "停止收入"
- case 2:
- reasonStr = "违规扣除"
- case 3:
- reasonStr = "私单"
- case 4:
- reasonStr = "绿洲商单"
- }
- data[i+1] = []string{
- strconv.FormatInt(list.AvID, 10),
- time.Unix(int64(list.CTime), 0).Format("2006-01-02 15:04:05"),
- reasonStr,
- strconv.FormatFloat(float64(list.Income)*0.01, 'f', 3, 64),
- strconv.FormatInt(list.MID, 10),
- list.Nickname,
- ctype,
- }
- }
- return
- }
- func formatUpInfo(ups []*model.UpInfo, states []int64, typ int) (data [][]string) {
- if len(ups) <= 0 {
- return
- }
- data = make([][]string, len(ups)+1)
- switch typ {
- case _video:
- data[0] = []string{"UID", "昵称", "原创稿件数", "稿件播放量", "稿件量", "分区", "粉丝数"}
- case _column:
- data[0] = []string{"UID", "昵称", "稿件数", "阅读量", "分区", "粉丝数"}
- case _bgm:
- data[0] = []string{"UID", "昵称", "素材量", "视频播放量", "素材使用量", "粉丝数"}
- }
- if len(states) == 0 {
- data[0] = append(data[0], "账号状态")
- } else {
- switch states[0] {
- case 2:
- data[0] = append(data[0], "申请时间")
- case 3:
- data[0] = append(data[0], "申请时间")
- data[0] = append(data[0], "签约时间")
- case 4:
- data[0] = append(data[0], "驳回时间")
- data[0] = append(data[0], "到期时间")
- case 5:
- data[0] = append(data[0], "退出时间")
- data[0] = append(data[0], "到期时间")
- case 6:
- data[0] = append(data[0], "退出时间")
- case 7:
- data[0] = append(data[0], "封禁时间")
- data[0] = append(data[0], "恢复时间")
- }
- }
- for i := 1; i <= len(ups); i++ {
- up := ups[i-1]
- data[i] = []string{
- strconv.FormatInt(up.MID, 10),
- up.Nickname,
- }
- switch typ {
- case _video:
- data[i] = append(data[i], strconv.Itoa(up.OriginalArchiveCount))
- data[i] = append(data[i], strconv.Itoa(up.TotalPlayCount))
- data[i] = append(data[i], strconv.Itoa(up.Avs))
- data[i] = append(data[i], _avCategory[up.MainCategory])
- case _column:
- data[i] = append(data[i], strconv.Itoa(up.ArticleCount))
- data[i] = append(data[i], strconv.Itoa(up.TotalViewCount))
- data[i] = append(data[i], _cmCategory[up.MainCategory])
- case _bgm:
- data[i] = append(data[i], strconv.Itoa(up.BGMs))
- data[i] = append(data[i], strconv.Itoa(up.BgmPlayCount))
- data[i] = append(data[i], strconv.Itoa(up.BgmApplyCount))
- }
- data[i] = append(data[i], strconv.Itoa(up.Fans))
- if len(states) == 0 {
- data[i] = append(data[i], _accountState[up.AccountState])
- } else {
- switch states[0] {
- case 2:
- data[i] = append(data[i], up.ApplyAt.Time().Format("2006-01-02"))
- case 3:
- data[i] = append(data[i], up.ApplyAt.Time().Format("2006-01-02"))
- data[i] = append(data[i], up.SignedAt.Time().Format("2006-01-02"))
- case 4:
- data[i] = append(data[i], up.RejectAt.Time().Format("2006-01-02"))
- data[i] = append(data[i], up.ExpiredIn.Time().Format("2006-01-02"))
- case 5:
- data[i] = append(data[i], up.QuitAt.Time().Format("2006-01-02"))
- data[i] = append(data[i], up.ExpiredIn.Time().Format("2006-01-02"))
- case 6:
- data[i] = append(data[i], up.DismissAt.Time().Format("2006-01-02"))
- case 7:
- data[i] = append(data[i], up.ForbidAt.Time().Format("2006-01-02"))
- data[i] = append(data[i], up.ExpiredIn.Time().Format("2006-01-02"))
- }
- }
- }
- return
- }
|