@@ -0,0 +1,100 @@
|
||||
package laosiji_app
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
func GetUserName(env string, appID int32, uid uint64) string {
|
||||
if env != "prod" {
|
||||
return fmt.Sprintf("TEST-%d_%d", appID, uid)
|
||||
}
|
||||
return fmt.Sprintf("JHA-%d_%d", appID, uid)
|
||||
}
|
||||
|
||||
type GetAiMateURLReq struct {
|
||||
Username string
|
||||
Nickname string
|
||||
Asset string
|
||||
Currency string
|
||||
Theme string
|
||||
UserAvatar string
|
||||
LogoURL string
|
||||
}
|
||||
|
||||
type GetAiMateURLResp struct {
|
||||
AuthURL string `json:"auth_url"`
|
||||
}
|
||||
|
||||
func GetAiMateURL(ctx context.Context, req GetAiMateURLReq) (resp GetAiMateURLResp, err error) {
|
||||
err = post(ctx, cfg.APIURL+"/lsjapi/aiGirlFriend/auth", map[string]interface{}{
|
||||
"username": req.Username,
|
||||
"nickname": req.Nickname,
|
||||
"asset": req.Asset,
|
||||
"currency": req.Currency,
|
||||
"theme": req.Theme,
|
||||
"user_avatar": req.UserAvatar,
|
||||
"logo_url": req.LogoURL,
|
||||
}, &resp)
|
||||
return
|
||||
}
|
||||
|
||||
type AiMateBringOutReq struct {
|
||||
Username string
|
||||
}
|
||||
|
||||
type AiMateBringOutResp struct {
|
||||
Currency string `json:"currency"`
|
||||
Balance string `json:"balance"`
|
||||
}
|
||||
|
||||
func AiMateBringOut(ctx context.Context, req AiMateBringOutReq) (resp AiMateBringOutResp, err error) {
|
||||
err = post(ctx, cfg.APIURL+"/lsjapi/aiGirlFriend/bringOutAssets", map[string]interface{}{
|
||||
"username": req.Username,
|
||||
}, &resp)
|
||||
return
|
||||
}
|
||||
|
||||
type AiMateOrderLogsReq struct {
|
||||
AppID int32
|
||||
UID uint64
|
||||
Page int
|
||||
PageSize int
|
||||
StartTime time.Time
|
||||
EndTime time.Time
|
||||
}
|
||||
|
||||
type AiMateOrderLogsResponse struct {
|
||||
Page string `json:"page"`
|
||||
PageSize string `json:"page_size"`
|
||||
Total string `json:"total"`
|
||||
TotalPage string `json:"total_page"`
|
||||
Items []AiMateOrderLog `json:"items"`
|
||||
}
|
||||
|
||||
type AiMateOrderLog struct {
|
||||
ID string `json:"id"`
|
||||
Username string `json:"username"`
|
||||
Type string `json:"type"`
|
||||
TypeStr string `json:"type_str"`
|
||||
Amount string `json:"amount"`
|
||||
Balance string `json:"balance"`
|
||||
Currency string `json:"currency"`
|
||||
Remark string `json:"remark"`
|
||||
TypeName string `json:"type_name"`
|
||||
RoleID string `json:"role_id"`
|
||||
RoleName string `json:"role_name"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
}
|
||||
|
||||
func GetAiMateOrderLogs(ctx context.Context, env string, req AiMateOrderLogsReq) (resp AiMateOrderLogsResponse, err error) {
|
||||
err = post(ctx, cfg.APIURL+"/lsjapi/aiGirlFriend/orderLogs", map[string]interface{}{
|
||||
"username": GetUserName(env, req.AppID, req.UID),
|
||||
"page": req.Page,
|
||||
"page_size": req.PageSize,
|
||||
"start_time": req.StartTime.Unix(),
|
||||
"end_time": req.EndTime.Unix(),
|
||||
}, &resp)
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user