@@ -0,0 +1,45 @@
|
||||
package ai_mate_ser
|
||||
|
||||
import (
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/txnmod"
|
||||
"fmt"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
type AIMateTransactionInfo struct {
|
||||
OrderId string `json:"orderId"` // 订单Id
|
||||
Credit_delta string `json:"credit_delta"` // 此次操作积分数
|
||||
Post_credit string `json:"post_credit"` // 操作后剩余积分数
|
||||
Created_at string `json:"created_at"` // 操作时间
|
||||
Operation_type string `json:"operation_type"` // 操作类型
|
||||
}
|
||||
|
||||
// GetBalance 获取AI伴侣用户交易记录
|
||||
func GetUserTransactionsList(uid uint64, pageNumber, pageSize uint64) (code stderr.Code, data map[string]interface{}) {
|
||||
code = stderr.Success
|
||||
|
||||
filter := bson.M{"tranTypeInt": bson.M{"$in": []txnmod.TransType{txnmod.AiMateChat, txnmod.AdminAiMateSet, txnmod.AiMateCurrencyExchange}}, "uid": uid}
|
||||
|
||||
list, _, total, err := txnmod.GetCoinLogs(pageNumber, pageSize, filter)
|
||||
if err != nil {
|
||||
log.Error("ai_mate_ser GetCoinLogs", log.Any("err", err), log.Any("uid", uid))
|
||||
return
|
||||
}
|
||||
rsl := make([]AIMateTransactionInfo, 0)
|
||||
for _, v := range list {
|
||||
info := AIMateTransactionInfo{
|
||||
OrderId: v.ID.Hex(),
|
||||
Credit_delta: fmt.Sprintf("%v", v.AiMatePoint),
|
||||
Post_credit: fmt.Sprintf("%v", v.RealAiMatePoint),
|
||||
Created_at: v.CreatedAt.String(),
|
||||
Operation_type: v.TranType,
|
||||
}
|
||||
rsl = append(rsl, info)
|
||||
}
|
||||
data = map[string]interface{}{}
|
||||
data["count"] = total
|
||||
data["list"] = rsl
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user