123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package gm_services
- import (
- "fmt"
- "gadmin/config"
- "gadmin/internal/admin/forms"
- "gadmin/internal/admin/gm_rpc/gate"
- "gadmin/internal/admin/gm_rpc/rpc_share"
- sqlModel "gadmin/internal/gorm/model"
- "gadmin/utility"
- "gadmin/utility/character"
- "gadmin/utility/player"
- "gadmin/utility/token"
- "github.com/gin-gonic/gin"
- msg2 "leafstalk/covenant/msg"
- "strings"
- "time"
- )
- const (
- coin int64 = 2001
- diamond int64 = 2002
- )
- // AddCoin 增加用户金币或钻石
- func AddCoin(ctx *gin.Context, params forms.AddCoinReq) (err error) {
- if params.UserId == 0 {
- return errNoUser
- }
- playerAttr, err := player.GetAttrByUserId(params.UserId)
- if err != nil {
- return
- }
- //获取userAccount
- var userAccountModel sqlModel.UserAccount
- err = config.LDB.WithContext(ctx).Scopes(sqlModel.UserAccountTable(&userAccountModel, playerAttr.AccID)).Where("accId = ?", playerAttr.AccID).First(&userAccountModel).Error
- if err != nil {
- return
- }
- openIdArr := strings.Split(userAccountModel.Openid, "@")
- msg := msg2.GmAddMaterial{
- MsgId: character.GenerateMsgId(),
- PlayerID: params.UserId,
- Materials: map[int64]int64{coin: params.Coin},
- OperatorId: token.GetUID(ctx),
- ClientPlat: openIdArr[1],
- }
- if params.GoodId == 1 {
- msg.Materials = map[int64]int64{coin: params.Coin}
- err = gate.SendToWorld(0, &msg)
- if err == nil {
- rpc_share.MsgMap[msg.MsgId] = fmt.Sprintf("%s,GM为玩家[%d]变更金币[%d]",
- utility.FormatSecond(time.Now()),
- params.UserId,
- params.Coin)
- }
- return
- } else {
- msg.Materials = map[int64]int64{diamond: params.Coin}
- err = gate.SendToWorld(0, &msg)
- if err == nil {
- rpc_share.MsgMap[msg.MsgId] = fmt.Sprintf("%s,GM为玩家[%d]变更钻石[%d]",
- utility.FormatSecond(time.Now()),
- params.UserId,
- params.Diamond)
- }
- return
- }
- }
- func BuyGoods(params forms.AddCoinReq) (err error) {
- if params.UserId == 0 {
- return errNoUser
- }
- if params.GoodId > 0 {
- // msg := msg2.GmAddMaterial{
- // MsgId: utils.GenerateMsgId(),
- // PlayerID: params.UserId,
- // Materials: []*model.DropMaterial{{coin, int(params.Coin)}},
- // }
- // err = gate.SendToWorld(0, &msg)
- // if err == nil {
- // rpc_share.MsgMap[msg.MsgId] = fmt.Sprintf("%s,GM为玩家[%d]添加金币[%d]",
- // utils.FormatSecond(time.Now()),
- // params.UserId,
- // params.Coin)
- // }
- }
- return
- }
|