Browse Source

debug

master
linquan 4 weeks ago
parent
commit
29dc6e5be5
  1. 1
      api/v1/game/order.go
  2. 12
      internal/controller/game_pub.go
  3. 2
      internal/service/aliyunSms.go
  4. 2
      internal/service/email.go
  5. 3
      internal/service/tencentSms.go
  6. 7
      internal/serviceGame/internal/basicinfo.go
  7. 131
      internal/serviceGame/manage.go
  8. 11
      internal/serviceGame/order.go
  9. 8
      utils/util.go

1
api/v1/game/order.go

@ -10,6 +10,7 @@ type OrderSearchReq struct {
g.Meta `path:"/order/list" tags:"订单" method:"get" summary:"订单列表"`
common.Page64Req
Account string `p:"account"`
Id string `p:"id"`
Uid int32 `p:"uid"`
Status int32 `p:"status"`
OrderId string `p:"orderId"`

12
internal/controller/game_pub.go

@ -2,8 +2,8 @@ package controller
import (
"context"
"fmt"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"log"
"tyj_admin/api/v1/game"
@ -11,7 +11,6 @@ import (
"tyj_admin/internal/service"
"tyj_admin/internal/serviceGame"
"tyj_admin/library/libUtils"
"tyj_admin/library/liberr"
)
var GamePub = pubController{}
@ -54,12 +53,12 @@ func (c *pubController) GetCCD(ctx context.Context, req *game.GetGameCCDReq) (re
err = g.Try(ctx, func(ctx context.Context) {
if _, ok := set[req.Platform]; !ok {
fmt.Println("err ", err)
liberr.ErrIsNil(ctx, err, "平台输入错误")
err = gerror.New("平台输入错误")
return
}
res, err = serviceGame.GameCCD().GetGameCCD(ctx, req)
g.Log().Debugf(ctx, "GetGameCCD -> "+res.Url, "Version: "+res.Version)
g.Log().Debugf(ctx, "GetGameCCD -> %s Version: %s", res.Url, res.Version)
return
})
return
@ -74,8 +73,7 @@ func (c *pubController) GetCCD1(ctx context.Context, req *game.GetGameCCD1Req) (
err = g.Try(ctx, func(ctx context.Context) {
if _, ok := set[req.Platform]; !ok {
liberr.ErrIsNil(ctx, err, "平台输入错误")
fmt.Println("err ", err)
err = gerror.New("平台输入错误")
return
}

2
internal/service/aliyunSms.go

@ -57,7 +57,7 @@ func (a *aliYunSmsServiceTmpl) ConfigInit() {
smsConfig.CodeSignName = g.Cfg().MustGet(ctx, "game.sms.codeSignName").String()
smsConfig.TemplateCode = g.Cfg().MustGet(ctx, "game.sms.templateCode").String()
log.Println("aliyunsms init: ", smsConfig)
log.Println("aliyunsms init: ", gjson.MustEncodeString(smsConfig))
}
/*

2
internal/service/email.go

@ -54,7 +54,7 @@ func (a *emailServiceTmpl) ConfigInit() {
emailConfig.Port = g.Cfg().MustGet(ctx, "game.email.port").String()
emailConfig.Subject = g.Cfg().MustGet(ctx, "game.email.subject").String()
emailConfig.HTML = g.Cfg().MustGet(ctx, "game.email.html").String()
log.Printf("email init")
log.Println("email init", gjson.MustEncodeString(emailConfig))
}
/*

3
internal/service/tencentSms.go

@ -2,6 +2,7 @@ package service
import (
"fmt"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gctx"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
@ -51,7 +52,7 @@ func (a *tencentSmsServiceTmpl) ConfigInit() {
tencentSmsConfig.CodeSignName = g.Cfg().MustGet(ctx, "game.tencentSms.codeSignName").String() // 已审核通过的短信签名内容
tencentSmsConfig.TemplateCode = g.Cfg().MustGet(ctx, "game.tencentSms.templateCode").String() // 已审核通过的模板ID
log.Println("tencentSms init", tencentSmsConfig)
log.Println("tencentSms init", gjson.MustEncodeString(tencentSmsConfig))
}
func (a *tencentSmsServiceTmpl) Main(args []string) (_err error) {

7
internal/serviceGame/internal/basicinfo.go

@ -729,7 +729,6 @@ func GetItemLogTwo(ctx context.Context, req *game.GetItemLogTwoReq) (res *game.G
return
}
model = model.Where("uid=? ", uid)
model = model.Where("server=? ", req.ServerId)
} else if req.Uid != 0 {
uid, _ := GetIdToUid(ctx, req.Uid)
if uid == 0 {
@ -737,7 +736,6 @@ func GetItemLogTwo(ctx context.Context, req *game.GetItemLogTwoReq) (res *game.G
return
}
model = model.Where("uid=? ", uid)
model = model.Where("server=? ", req.ServerId)
} else if req.Id != "" {
uid, _ := strconv.ParseInt(req.Id, 10, 64)
if uid == 0 {
@ -745,11 +743,13 @@ func GetItemLogTwo(ctx context.Context, req *game.GetItemLogTwoReq) (res *game.G
return
}
model = model.Where("uid=? ", uid)
model = model.Where("server=? ", req.ServerId)
}
if req.ItemId != 0 {
model = model.Where("item_id=? ", req.ItemId)
}
if req.ServerId != 0 {
model = model.Where("server=? ", req.ServerId)
}
res.Total, err = model.Count()
err = model.Page(req.PageNum, req.PageSize).Order("c_time desc").Scan(&res.Logs)
if err != nil {
@ -818,6 +818,7 @@ func GameRegister(ctx context.Context, req *game.RegisterReq) (res *game.Registe
})
return
}
func setAccount(ctx context.Context, req *game.LoginOutReq) {
g.Try(ctx, func(ctx context.Context) {
account, err := GetAccountByUid(ctx, req.Uid, fmt.Sprint(req.Server))

131
internal/serviceGame/manage.go

@ -91,7 +91,7 @@ func (ga *gameManageImpl) CopyUnit(ctx context.Context, req *game.CopyUnitReq) (
return res, errors.New("区服不存在!")
}
filename := "Unit" + fmt.Sprint(req.SrcName) + ".json"
storeFilename := "storeComponent" + fmt.Sprint(req.SrcName) + ".json"
storeFilename := "StoreComponent" + fmt.Sprint(req.SrcName) + ".json"
deadFilename := "DeadVillagerManagerComponent" + fmt.Sprint(req.SrcName) + ".json"
decorationFilename := "DecorationManagerComponent" + fmt.Sprint(req.SrcName) + ".json"
//userDir := "./download/" + filename
@ -163,17 +163,48 @@ func (ga *gameManageImpl) UpdateUnit(ctx context.Context, req *game.UpdateUnitRe
destId, err1 := internal.GetIdToUid(ctx, int64(req.DestName))
if err1 != nil {
return res, err1
err = err1
return
}
userDir := "./download/Unit" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
srcUserDir := "./download/" + req.Filename
srcId, err1 := writeFile1(destId, userDir, req.Filename, req.DestName)
if err1 != nil {
err = err1
return
}
log.Printf("copyUnit srcid: %s, destid: %d, DestName: %d", srcId, destId, req.DestName)
userStoreDir := "./download/StoreComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
err = writeFile(destId, srcId, userStoreDir, req.StoreFilename)
if err != nil {
return
}
userDeadDir := "./download/DeadVillagerManagerComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
err = writeFile(destId, srcId, userDeadDir, req.DeadFilename)
if err != nil {
return
}
userDecorationDir := "./download/DecorationManagerComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
err = writeFile(destId, srcId, userDecorationDir, req.DecorationFilename)
if err != nil {
return
}
g.Try(ctx, func(ctx context.Context) {
mongoimportCommand(ctx, "Unit", userDir, mongoConfig)
mongoimportCommand(ctx, "StoreComponent", userStoreDir, mongoConfig)
mongoimportCommand(ctx, "DeadVillagerManagerComponent", userDeadDir, mongoConfig)
mongoimportCommand(ctx, "DecorationManagerComponent", userDecorationDir, mongoConfig)
})
return
}
func writeFile1(destId int64, userDir string, fileName string, destName int) (srcId string, err error) {
srcUserDir := "./download/" + fileName
writeByte, err1 := os.ReadFile(srcUserDir)
if err1 != nil {
return res, err1
return "", err1
}
srcUid := ""
srcId := ""
var v1 map[string]interface{}
if strings.HasPrefix(string(writeByte), "[") {
user := []interface{}{}
@ -192,103 +223,45 @@ func (ga *gameManageImpl) UpdateUnit(ctx context.Context, req *game.UpdateUnitRe
srcId = fmt.Sprint(UniqueId["$numberLong"])
}
log.Printf("copyUnit srcid: %s, uid: %s, destid: %d, uid: %d", srcId, srcUid, destId, req.DestName)
log.Printf("copyUnit srcid: %s, uid: %s, destId: %d, destName: %d", srcId, srcUid, destId, destName)
if srcId == "" || srcUid == "" {
return
}
writeUnitString := strings.ReplaceAll(gjson.MustEncodeString(v1), srcId, fmt.Sprint(destId))
writeUnitString = internal.ReplaceLastOccurrence(writeUnitString, srcUid, fmt.Sprint(req.DestName))
writeUnitString = internal.ReplaceLastOccurrence(writeUnitString, srcUid, fmt.Sprint(destName))
if err = os.WriteFile(userDir, []byte(writeUnitString), 0666); err != nil {
log.Println(err)
return
}
userStoreDir := "./download/storeComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
srcStoreDir := "./download/" + req.StoreFilename
writeStoreByte, err1 := os.ReadFile(srcStoreDir)
if err1 != nil {
return res, err1
}
var v2 map[string]interface{}
if strings.HasPrefix(string(writeStoreByte), "[") {
user := []interface{}{}
json.Unmarshal(writeStoreByte, &user)
if len(user) != 0 {
v2 = user[0].(map[string]interface{})
}
} else {
json.Unmarshal(writeStoreByte, &v2)
}
writeStoreString := strings.ReplaceAll(gjson.MustEncodeString(v2), srcId, fmt.Sprint(destId))
if err = os.WriteFile(userStoreDir, []byte(writeStoreString), 0666); err != nil {
log.Println(err)
return
}
userDeadDir := "./download/DeadVillagerManagerComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
srcDeadDir := "./download/" + req.DeadFilename
writeDeadByte, err1 := os.ReadFile(srcDeadDir)
if err1 != nil {
return res, err1
}
var v3 map[string]interface{}
if strings.HasPrefix(string(writeDeadByte), "[") {
user := []interface{}{}
json.Unmarshal(writeDeadByte, &user)
if len(user) != 0 {
v3 = user[0].(map[string]interface{})
}
} else {
json.Unmarshal(writeDeadByte, &v3)
}
if len(v3) != 0 {
writeDeadString := strings.ReplaceAll(gjson.MustEncodeString(v3), srcId, fmt.Sprint(destId))
if err = os.WriteFile(userDeadDir, []byte(writeDeadString), 0666); err != nil {
log.Println(err)
return
}
}
return
}
userDecorationDir := "./download/DecorationManagerComponent" + fmt.Sprint(req.DestName) + fmt.Sprint(time.Now().Unix()) + ".json"
srcDecorationDir := "./download/" + req.DecorationFilename
writeDecorationByte, err1 := os.ReadFile(srcDecorationDir)
func writeFile(destId int64, srcId string, userDir string, fileName string) (err error) {
srcDir := "./download/" + fileName
writeByte, err1 := os.ReadFile(srcDir)
if err1 != nil {
return res, err1
return err1
}
var v4 map[string]interface{}
if strings.HasPrefix(string(writeDecorationByte), "[") {
var v map[string]interface{}
if strings.HasPrefix(string(writeByte), "[") {
user := []interface{}{}
json.Unmarshal(writeDecorationByte, &user)
json.Unmarshal(writeByte, &user)
if len(user) != 0 {
v4 = user[0].(map[string]interface{})
v = user[0].(map[string]interface{})
}
} else {
json.Unmarshal(writeDecorationByte, &v4)
json.Unmarshal(writeByte, &v)
}
if len(v4) != 0 {
writeDecorationString := strings.ReplaceAll(gjson.MustEncodeString(v4), srcId, fmt.Sprint(destId))
if err = os.WriteFile(userDecorationDir, []byte(writeDecorationString), 0666); err != nil {
if len(v) != 0 {
writeString := strings.ReplaceAll(gjson.MustEncodeString(v), srcId, fmt.Sprint(destId))
if err = os.WriteFile(userDir, []byte(writeString), 0666); err != nil {
log.Println(err)
return
}
}
//writeUnitCmd := fmt.Sprintf("mongoimport --uri=\"%s\" --authenticationDatabase=%s --collection=Unit --file=\"%s\" --type=json --mode=upsert",
// mongoConfig.Link1, mongoConfig.Auth, userDir)
//writeStoreCmd := fmt.Sprintf("mongoimport --uri=\"%s\" --authenticationDatabase=%s --collection=StoreComponent --file=\"%s\" --type=json --mode=upsert",
// mongoConfig.Link1, mongoConfig.Auth, userStoreDir)
//log.Println("sh Unit: ", writeUnitCmd)
//log.Println("sh StoreComponent: ", writeStoreCmd)
g.Try(ctx, func(ctx context.Context) {
mongoimportCommand(ctx, "Unit", userDir, mongoConfig)
mongoimportCommand(ctx, "StoreComponent", userStoreDir, mongoConfig)
mongoimportCommand(ctx, "DeadVillagerManagerComponent", userDeadDir, mongoConfig)
mongoimportCommand(ctx, "DecorationManagerComponent", userDecorationDir, mongoConfig)
})
//fmt.Println("UpdateUnit GetRoleDelta", gjson.MustEncodeString(req))
return
}

11
internal/serviceGame/order.go

@ -11,6 +11,7 @@ import (
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"log"
"strconv"
"time"
"tyj_admin/api/v1/game"
"tyj_admin/internal/consts"
@ -20,6 +21,7 @@ import (
"tyj_admin/internal/service"
"tyj_admin/internal/serviceGame/internal"
"tyj_admin/library/libUtils"
"tyj_admin/utils"
)
type IGameOrder interface {
@ -216,12 +218,19 @@ func (o gameOrderImpl) GetOrders(ctx context.Context, req *game.OrderSearchReq)
}
orderModel := dao.GameRecharge.Ctx(ctx)
if req.Account != "" {
uid, err := internal.AccountToUids(ctx, req.Account)
uid, err := internal.AccountToUids(ctx, utils.GetAccount(req.Account, req.Channel))
if err != nil {
return nil, err
}
orderModel = orderModel.Where(`unitId in (?) `, uid)
}
if req.Id != "" {
uid, err := strconv.ParseInt(req.Id, 10, 64)
if err != nil {
return nil, err
}
orderModel = orderModel.Where(`unitId=? `, uid)
}
if req.Uid != 0 {
uid, err := internal.GetIdToUid(ctx, int64(req.Uid))
if err != nil {

8
utils/util.go

@ -10,6 +10,7 @@ import (
"os"
"os/exec"
"strconv"
"strings"
"time"
"tyj_admin/internal/model/entity"
)
@ -191,3 +192,10 @@ func GenerateRandomString(length int) string {
}
return string(b)
}
func GetAccount(account, channel string) string {
if channel == "000000000000" && !strings.Contains(account, channel) {
account = channel + account
}
return account
}

Loading…
Cancel
Save