update
All checks were successful
/ build-services (app/auth/Dockerfile, auth, auth) (push) Successful in 39s
/ build-services (app/ecpm/Dockerfile, ecpm, ecpm) (push) Successful in 34s
/ build-services (app/ranking/Dockerfile, ranking, ranking) (push) Successful in 39s
/ build-services (app/user/Dockerfile, user_manager, user) (push) Successful in 39s
/ start-services (push) Successful in 5s
All checks were successful
/ build-services (app/auth/Dockerfile, auth, auth) (push) Successful in 39s
/ build-services (app/ecpm/Dockerfile, ecpm, ecpm) (push) Successful in 34s
/ build-services (app/ranking/Dockerfile, ranking, ranking) (push) Successful in 39s
/ build-services (app/user/Dockerfile, user_manager, user) (push) Successful in 39s
/ start-services (push) Successful in 5s
This commit is contained in:
parent
41ccbb46f9
commit
53a7d70bc9
@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/auth/auth"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/auth/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
@ -5,8 +5,8 @@ import (
|
||||
"encoding/json"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/auth/internal/gen/dao/query"
|
||||
cli2 "gitea.youtukeji.com.cn/youtu/youtu_grpc/app/auth/pkg"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user_client"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user_client"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/config"
|
||||
"github.com/silenceper/wechat/v2/cache"
|
||||
redisCache "github.com/silenceper/wechat/v2/cache"
|
||||
|
@ -14,8 +14,8 @@ const (
|
||||
code2Session = "https://minigame.zijieapi.com/mgplatform/api/apps/jscode2session" // 小程序登录地址
|
||||
)
|
||||
|
||||
// DouYinOpenApiConfig 实例化配置
|
||||
type DouYinOpenApiConfig struct {
|
||||
// OpenApiConfig 实例化配置
|
||||
type OpenApiConfig struct {
|
||||
AppId string
|
||||
AppSecret string
|
||||
AccessToken accessToken.AccessToken
|
||||
@ -25,32 +25,32 @@ type DouYinOpenApiConfig struct {
|
||||
Salt string
|
||||
}
|
||||
|
||||
// DouYinOpenApi 基类
|
||||
type DouYinOpenApi struct {
|
||||
Config DouYinOpenApiConfig
|
||||
// OpenApi 基类
|
||||
type OpenApi struct {
|
||||
Config OpenApiConfig
|
||||
BaseApi string
|
||||
}
|
||||
|
||||
// NewDouYinOpenApi 实例化一个抖音openapi实例
|
||||
func NewDouYinOpenApi(config DouYinOpenApiConfig) *DouYinOpenApi {
|
||||
func NewDouYinOpenApi(config OpenApiConfig) *OpenApi {
|
||||
if config.Cache == nil {
|
||||
config.Cache = cache.NewMemory()
|
||||
}
|
||||
if config.AccessToken == nil {
|
||||
config.AccessToken = accessToken.NewDefaultAccessToken(config.AppId, config.AppSecret, config.Cache, config.IsSandbox)
|
||||
}
|
||||
return &DouYinOpenApi{
|
||||
return &OpenApi{
|
||||
Config: config,
|
||||
}
|
||||
}
|
||||
|
||||
// GetApiUrl 获取api地址
|
||||
func (d *DouYinOpenApi) GetApiUrl(url string) string {
|
||||
func (d *OpenApi) GetApiUrl(url string) string {
|
||||
return fmt.Sprintf("%s%s", d.BaseApi, url)
|
||||
}
|
||||
|
||||
// Get 获取数据
|
||||
func (d *DouYinOpenApi) Get(url string, params any) (data []byte, err error) {
|
||||
func (d *OpenApi) Get(url string, params any) (data []byte, err error) {
|
||||
paramsStr, err := util2.StructToQueryParams(params)
|
||||
if err != nil {
|
||||
return
|
||||
@ -69,7 +69,7 @@ func (d *DouYinOpenApi) Get(url string, params any) (data []byte, err error) {
|
||||
}
|
||||
|
||||
// PostJson 封装公共的请求方法
|
||||
func (d *DouYinOpenApi) PostJson(api string, params any, response any) (err error) {
|
||||
func (d *OpenApi) PostJson(api string, params any, response any) (err error) {
|
||||
body, err := util2.PostJSON(api, params)
|
||||
if err != nil {
|
||||
return
|
||||
@ -108,7 +108,7 @@ type Code2SessionResponseData struct {
|
||||
}
|
||||
|
||||
// Code2Session 小程序登录
|
||||
func (d *DouYinOpenApi) Code2Session(code, anonymousCode string) (code2SessionResponse Code2SessionResponse, err error) {
|
||||
func (d *OpenApi) Code2Session(code, anonymousCode string) (code2SessionResponse Code2SessionResponse, err error) {
|
||||
params := Code2SessionParams{
|
||||
Appid: d.Config.AppId,
|
||||
Secret: d.Config.AppSecret,
|
||||
@ -147,6 +147,6 @@ type GetEcpmParams struct {
|
||||
}
|
||||
|
||||
// GetAccessToken 获取accessToken
|
||||
func (d *DouYinOpenApi) GetAccessToken() (string, error) {
|
||||
func (d *OpenApi) GetAccessToken() (string, error) {
|
||||
return d.Config.AccessToken.GetAccessToken()
|
||||
}
|
||||
|
@ -1,62 +0,0 @@
|
||||
package douyin
|
||||
|
||||
import (
|
||||
accessToken "gitea.youtukeji.com.cn/youtu/openapi-helper/douyin/access-token"
|
||||
"github.com/silenceper/wechat/v2/cache"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// 声明测试常量
|
||||
const (
|
||||
AppId = "tt8b32fd8f14071db707"
|
||||
AppSecret = "44018e80b1bde34395a52de67ce1e0c37c572d80"
|
||||
Token = ""
|
||||
Salt = ""
|
||||
)
|
||||
|
||||
// 声明一个缓存实例
|
||||
var Cache cache.Cache
|
||||
|
||||
// 声明全局openApi实例
|
||||
var OpenApi *DouYinOpenApi
|
||||
|
||||
func init() {
|
||||
Cache = cache.NewMemory()
|
||||
OpenApi = NewDouYinOpenApi(DouYinOpenApiConfig{
|
||||
AppId: AppId,
|
||||
AppSecret: AppSecret,
|
||||
IsSandbox: false,
|
||||
Token: Token,
|
||||
Salt: Salt,
|
||||
})
|
||||
}
|
||||
|
||||
// 测试获取新的token
|
||||
func TestDouyinOpenapi_NewDefaultAccessToken(t *testing.T) {
|
||||
token := accessToken.NewDefaultAccessToken(AppId, AppSecret, Cache, true)
|
||||
getAccessToken, err := token.GetAccessToken()
|
||||
if err != nil {
|
||||
t.Errorf("got a error: %s", err.Error())
|
||||
return
|
||||
}
|
||||
t.Logf("got a value: %s", getAccessToken)
|
||||
}
|
||||
|
||||
// 基准测试看获取token的次数?
|
||||
func BenchmarkDouyinOpenapi_NewDefaultAccessToken(b *testing.B) {
|
||||
token := accessToken.NewDefaultAccessToken(AppId, AppSecret, Cache, true)
|
||||
for i := 0; i < b.N; i++ {
|
||||
getAccessToken, err := token.GetAccessToken()
|
||||
b.Logf("get token: %s %+v", getAccessToken, err)
|
||||
}
|
||||
}
|
||||
|
||||
// 测试小程序登录
|
||||
func TestDouYinOpenApi_Code2Session(t *testing.T) {
|
||||
session, err := OpenApi.Code2Session("1111", "")
|
||||
if err != nil {
|
||||
t.Errorf("got a error %s", err.Error())
|
||||
return
|
||||
}
|
||||
t.Logf("got a value %+v", session)
|
||||
}
|
@ -62,7 +62,7 @@ func (l *GetEcpmLogic) GetEcpm(in *ecpm.GetEcpmRequest) (response *ecpm.GetEcpmR
|
||||
return
|
||||
}
|
||||
|
||||
// 计算ECPM值
|
||||
// CalcEcpm 计算ECPM值
|
||||
func CalcEcpm(res []Record) (ecpm float64) {
|
||||
// 计算 ECPM
|
||||
totalRecords := len(res)
|
||||
|
@ -5,8 +5,8 @@ import (
|
||||
"errors"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/internal/logic/rankings"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/internal/svc"
|
||||
ranking_management2 "gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/ranking"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/ranking"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
"strconv"
|
||||
@ -28,8 +28,8 @@ func NewGetRankingListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Ge
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetRankingListLogic) GetRankingList(in *ranking_management2.GetRankingListRequest) (resp *ranking_management2.GetRankingListResponse, err error) {
|
||||
resp = new(ranking_management2.GetRankingListResponse)
|
||||
func (l *GetRankingListLogic) GetRankingList(in *ranking.GetRankingListRequest) (resp *ranking.GetRankingListResponse, err error) {
|
||||
resp = new(ranking.GetRankingListResponse)
|
||||
|
||||
cacheKey := rankings.GetRankingsCacheKey(in.AppId, in.Type)
|
||||
cacheData, err := l.svcCtx.RedisRanking.GetList(l.ctx, cacheKey, 0, 99)
|
||||
@ -39,8 +39,8 @@ func (l *GetRankingListLogic) GetRankingList(in *ranking_management2.GetRankingL
|
||||
|
||||
var flag bool
|
||||
|
||||
resp.RankingData = make([]*ranking_management2.RankingList, 0, len(cacheData))
|
||||
var userRank *ranking_management2.RankingList
|
||||
resp.RankingData = make([]*ranking.RankingList, 0, len(cacheData))
|
||||
var userRank *ranking.RankingList
|
||||
|
||||
for i, datum := range cacheData {
|
||||
userId, err := strconv.Atoi(datum.Member.(string))
|
||||
@ -52,7 +52,7 @@ func (l *GetRankingListLogic) GetRankingList(in *ranking_management2.GetRankingL
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
data := &ranking_management2.RankingList{
|
||||
data := &ranking.RankingList{
|
||||
Nickname: userModel.Nickname,
|
||||
Avatar: userModel.Avatar,
|
||||
Score: uint32(uint64(datum.Score) >> 32),
|
||||
@ -71,7 +71,7 @@ func (l *GetRankingListLogic) GetRankingList(in *ranking_management2.GetRankingL
|
||||
if err != nil {
|
||||
//如果没有找到,则创建一个空的数据
|
||||
if errors.Is(err, redis.Nil) {
|
||||
resp.RankingData = append(resp.RankingData, new(ranking_management2.RankingList))
|
||||
resp.RankingData = append(resp.RankingData, new(ranking.RankingList))
|
||||
return resp, nil
|
||||
}
|
||||
return nil, err
|
||||
@ -85,7 +85,7 @@ func (l *GetRankingListLogic) GetRankingList(in *ranking_management2.GetRankingL
|
||||
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return nil, err
|
||||
}
|
||||
userRank = &ranking_management2.RankingList{
|
||||
userRank = &ranking.RankingList{
|
||||
Nickname: tmp.Nickname,
|
||||
Avatar: tmp.Avatar,
|
||||
Score: uint32(score),
|
||||
|
@ -4,8 +4,8 @@ import (
|
||||
"context"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/internal/gen/dao/query"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking/internal/logic/rankings"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user_client"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user_client"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/config"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/my_gorm"
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
|
||||
"gorm.io/plugin/dbresolver"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/model"
|
||||
)
|
||||
|
||||
func newUser(db *gorm.DB, opts ...gen.DOOption) user {
|
@ -9,7 +9,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/model"
|
||||
"gorm.io/gen"
|
||||
"gorm.io/gen/field"
|
||||
"gorm.io/gorm/clause"
|
@ -2,9 +2,9 @@ package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -2,9 +2,9 @@ package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -3,8 +3,8 @@ package logic
|
||||
import (
|
||||
"context"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -4,8 +4,8 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -2,8 +2,8 @@ package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -3,10 +3,10 @@ package logic
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/model"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/model"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
@ -7,9 +7,9 @@ package server
|
||||
import (
|
||||
"context"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/logic"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/logic"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
)
|
||||
|
||||
type UserManagementServer struct {
|
@ -1,7 +1,7 @@
|
||||
package svc
|
||||
|
||||
import (
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/gen/dao/query"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/gen/dao/query"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/config"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/id_gen"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/my_gorm"
|
@ -3,9 +3,9 @@ package main
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/server"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/server"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/internal/svc"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/pkg/config"
|
||||
"github.com/zeromicro/go-zero/core/service"
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
@ -7,7 +7,7 @@ package user_client
|
||||
import (
|
||||
"context"
|
||||
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user_management/user"
|
||||
"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/user/user"
|
||||
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
"google.golang.org/grpc"
|
Loading…
x
Reference in New Issue
Block a user