Files
2026-10-08 16:50:13 +08:00

116 lines
3.2 KiB
Go

package walletctrl
import (
"91jd-server/app/service/walletser"
"91jd-server/common"
"91jd-server/common/stderr"
"91jd-server/models/commod"
"91jd-server/models/v/txnmod"
"91jd-server/models/v/usermod"
"github.com/gin-gonic/gin"
)
// GetNewBill doc
// @Summary --我的账单新
// @Description 我的账单
// @Tags 钱包
// @Accept mpfd,json
// @Produce json,html
// @Param year query string true "年"
// @Param month query string true "月"
// @Param pageNumber query int true "页码"
// @Param pageSize query int true "条数"
// @Success 200 {object} txnmod.Bills1Res "{"msg": "操作成功"}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /api/app/mine/zhangdan [get]
func GetNewBill(ctx *gin.Context) {
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, err)
return
}
var arg struct {
Month int `form:"month"`
Year int `form:"year"`
commod.Page
}
if err = ctx.ShouldBind(&arg); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err)
return
}
data, err := walletser.GetBills1(uid, arg.Year, arg.Month, arg.PageNumber, arg.PageSize)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, "")
return
}
common.ServeJSON(ctx, stderr.Success, data)
}
// GetIncome doc
// @Summary --收益明细
// @Description 收益明细
// @Tags 钱包
// @Accept mpfd,json
// @Produce json,html
// @Param startTime query string false "开始时间"
// @Param endTime query string false "结束时间"
// @Param pageNumber formData int true "页码"
// @Param pageSize formData int true "条数"
// @Success 200 {object} txnmod.TransactionLog "{"list": [],"hasNext":false}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /app/mine/iIncomes [get]
func GetIncome(ctx *gin.Context) {
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, err)
return
}
var arg struct {
commod.Page
}
if err = ctx.ShouldBind(&arg); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err)
return
}
data, hasNext, err := txnmod.FindIncome(uid, arg.PageNumber, arg.PageSize)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, "")
return
}
var rechargeIds []uint64
for _, d := range data {
rechargeIds = append(rechargeIds, d.RechargeId)
}
if len(rechargeIds) > 0 {
// 获取用户信息
users, err := usermod.FindUsersMapByUID(rechargeIds)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, "")
return
}
mUser := make(map[uint64]*txnmod.RechargeUserInfo)
if len(users) > 0 {
for _, u := range users {
ru := txnmod.RechargeUserInfo{
UID: u.UID,
Name: u.Name,
Portrait: u.Portrait,
}
mUser[u.UID] = &ru
}
}
for _, d := range data {
if d.RechargeId != 0 {
d.RechargeUser = *mUser[d.RechargeId]
}
}
}
common.ServeJSON(ctx, stderr.Success, gin.H{
"list": data,
"hasNext": hasNext,
})
}