This commit is contained in:
liwei1dao 2022-11-14 11:25:28 +08:00
commit 1de8195fb3
13 changed files with 154 additions and 103 deletions

View File

@ -11,7 +11,7 @@
"task_display": "新剧情文本10100", "task_display": "新剧情文本10100",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝", "阿宝组件名",
"600" "600"
], ],
"getafter_event": [ "getafter_event": [
@ -151,6 +151,11 @@
"a": "attr", "a": "attr",
"t": "diamond", "t": "diamond",
"n": 100 "n": 100
},
{
"a": "item",
"t": "30001",
"n": 10
} }
] ]
}, },
@ -196,7 +201,7 @@
"task_display": "新剧情文本10106", "task_display": "新剧情文本10106",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"邦尼兔组件名", "阿宝组件名",
"606" "606"
], ],
"getafter_event": [ "getafter_event": [
@ -226,7 +231,7 @@
"task_display": "新剧情文本10107", "task_display": "新剧情文本10107",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"邦尼兔组件名", "阿宝组件名",
"607" "607"
], ],
"getafter_event": [ "getafter_event": [
@ -256,7 +261,7 @@
"task_display": "新剧情文本10108", "task_display": "新剧情文本10108",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"邦尼兔组件名", "阿宝组件名",
"608" "608"
], ],
"getafter_event": [ "getafter_event": [
@ -586,7 +591,7 @@
"task_display": "新剧情文本10119", "task_display": "新剧情文本10119",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝组件名", "阿宝维京区",
"619" "619"
], ],
"getafter_event": [ "getafter_event": [
@ -616,7 +621,7 @@
"task_display": "新剧情文本10120", "task_display": "新剧情文本10120",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝组件名", "阿宝维京区",
"620" "620"
], ],
"getafter_event": [ "getafter_event": [
@ -646,7 +651,7 @@
"task_display": "新剧情文本10121", "task_display": "新剧情文本10121",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝组件名", "阿宝维京区",
"621" "621"
], ],
"getafter_event": [ "getafter_event": [
@ -676,7 +681,7 @@
"task_display": "新剧情文本10122", "task_display": "新剧情文本10122",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝组件名", "阿宝维京区",
"622" "622"
], ],
"getafter_event": [ "getafter_event": [
@ -706,7 +711,7 @@
"task_display": "新剧情文本10123", "task_display": "新剧情文本10123",
"npc": [ "npc": [
"scenes_ boundary_02", "scenes_ boundary_02",
"阿宝组件名", "阿宝维京区",
"623" "623"
], ],
"getafter_event": [ "getafter_event": [

24
comm/error.go Normal file
View File

@ -0,0 +1,24 @@
package comm
import (
"go_dreamfactory/pb"
"github.com/pkg/errors"
)
type CustomError struct {
Code pb.ErrorCode `json:"code"` // 业务码
Message string `json:"message"` // 业务码
}
func (e *CustomError) Error() string {
return e.Code.String()
}
func NewCustomError(code pb.ErrorCode) error {
// 初次调用得用Wrap方法进行实例化
return errors.Wrap(&CustomError{
Code: code,
Message: code.String(),
}, "")
}

28
comm/error_test.go Normal file
View File

@ -0,0 +1,28 @@
package comm
import (
"errors"
"fmt"
"go_dreamfactory/pb"
"strings"
"testing"
)
func TestErro(t *testing.T) {
err := findUser("ddada")
if err != nil {
var customErr = new(CustomError)
if errors.As(err, &customErr) {
if customErr.Code == pb.ErrorCode_UserSessionNobeing {
fmt.Println("用户不存在")
}
}
}
}
func findUser(uid string) error {
if strings.Contains(uid, "z_") {
return NewCustomError(pb.ErrorCode_UserSessionNobeing)
}
return nil
}

12
go.mod
View File

@ -36,7 +36,7 @@ require (
github.com/valyala/fastrand v1.1.0 github.com/valyala/fastrand v1.1.0
go.mongodb.org/mongo-driver v1.5.1 go.mongodb.org/mongo-driver v1.5.1
go.uber.org/multierr v1.6.0 go.uber.org/multierr v1.6.0
golang.org/x/net v0.0.0-20220722155237-a158d28d115b golang.org/x/net v0.2.0
google.golang.org/protobuf v1.28.0 google.golang.org/protobuf v1.28.0
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
) )
@ -178,11 +178,11 @@ require (
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503
golang.org/x/image v0.0.0-20220601225756-64ec528b34cd // indirect golang.org/x/image v0.0.0-20220601225756-64ec528b34cd // indirect
golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee // indirect golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/mod v0.7.0 // indirect
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect golang.org/x/sys v0.2.0 // indirect
golang.org/x/text v0.3.7 // indirect golang.org/x/text v0.4.0 // indirect
golang.org/x/tools v0.1.12 // indirect golang.org/x/tools v0.3.0 // indirect
gopkg.in/ini.v1 v1.66.6 // indirect gopkg.in/ini.v1 v1.66.6 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect

24
go.sum
View File

@ -906,8 +906,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -964,8 +964,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@ -993,8 +993,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -1075,11 +1075,12 @@ golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -1088,8 +1089,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -1164,8 +1166,8 @@ golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyj
golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@ -176,7 +176,7 @@ func (this *Battle) CreatePvpBattle(session comm.IUserSession, req *pb.BattlePVP
//校验战报是否成功 //校验战报是否成功
func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool) { func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool) {
this.moonfantasy.Trigger(session, report) // this.moonfantasy.Trigger(session, report)
return pb.ErrorCode_Success, true return pb.ErrorCode_Success, true
} }

View File

@ -10,14 +10,16 @@ import (
/* GM 在控制台输入的字符串类型 /* GM 在控制台输入的字符串类型
//bingo:item,10001,1 //bingo:item,10001,1
//bingo:attr,gold,1000000 //bingo:attr,gold,1000000
//bingo:equi,xxx,1 // xxx 装备id
2修改主线关卡进度bingo:mapid,102102代表关卡位置 2修改主线关卡进度bingo:mapid,102102代表关卡位置
3修改心魔塔进度bingo:pataid,1010代表层数 3修改心魔塔进度bingo:pataid,1010代表层数
4修改玩家经验值bingo:exp,10001000代表新增的经验值 // 4修改玩家经验值bingo:attr,exp,10001000代表新增的经验值 //
5跳过随机任务 bingo:rtask,1,1001 5跳过随机任务 bingo:rtask,1,1001
6bingo:Iamyoudad 6bingo:Iamyoudad
7bingo:vip,yueka_1,1 // 月卡类型
*/ */
//参数校验 //参数校验
func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode) { func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode) {

View File

@ -36,31 +36,6 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor
return return
} }
func (this *ModelRank) AddRank(uId string, data *pb.DBPagodaRecord) (err error) {
if err = this.Add(uId, data); err != nil {
//this.Errorf("err:%v", err)
return
}
return nil
}
//获取用户通过扩展表
// func (this *ModelRank) GetUserRandData(uid string) (result *pb.DBPagodaRecord, err error) {
// result = &pb.DBPagodaRecord{}
// if err = this.Get(uid, result); err != nil && redis.RedisNil != err {
// return
// }
// err = nil
// return result, err
// }
func (this *ModelRank) ChangeUserRank(uid string, value map[string]interface{}) (err error) {
if len(value) == 0 {
return nil
}
return this.Change(uid, value)
}
func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRecord, err error) { func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRecord, err error) {
data = make([]*pb.DBPagodaRecord, 0) data = make([]*pb.DBPagodaRecord, 0)
if conn, err := db.Cross(); err == nil { if conn, err := db.Cross(); err == nil {
@ -243,12 +218,6 @@ func (this *ModelRank) SetNormalPagodaRankList(tableName string, score int32, ui
} }
func (this *ModelRank) seasonSettlement() { func (this *ModelRank) seasonSettlement() {
list := this.modulePagoda.configure.GetPagodaSeasonReward()
if list == nil {
return
}
rankReward := this.modulePagoda.configure.GetPagodaSeasonReward() rankReward := this.modulePagoda.configure.GetPagodaSeasonReward()
if rankReward == nil { if rankReward == nil {
return return

View File

@ -287,7 +287,21 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T
if err == nil { if err == nil {
if worldtask, ok := module.(comm.IWorldtask); ok { if worldtask, ok := module.(comm.IWorldtask); ok {
if err := worldtask.TaskcondNotify(session, v.cfg.Id); err != nil { if err := worldtask.TaskcondNotify(session, v.cfg.Id); err != nil {
log.Errorf("任务条件达成通知 失败 err:%v", err) var customErr = new(comm.CustomError)
if errors.As(err, &customErr) {
notifyErr := &pb.NotifyErrorNotifyPush{
ReqMainType: string(comm.ModuleWorldtask),
ReqSubType: "finish",
Code: pb.ErrorCode_WorldtaskLvNotEnough,
Message: "",
}
if customErr.Code == pb.ErrorCode_WorldtaskLvNotEnough {
session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr)
} else {
log.Errorf("任务条件达成通知 失败 err:%v", err)
}
}
} }
} }
} }

View File

@ -59,7 +59,9 @@ func (this *SeasonPagoda) Start() (err error) {
configure.RegisterConfigure(game_seasonreward, cfg.NewGamePagodaSeasonReward, nil) configure.RegisterConfigure(game_seasonreward, cfg.NewGamePagodaSeasonReward, nil)
cron.AddFunc("0 0 23 L * ?", this.TimerSeasonOver) //每月最后一天23点执行一次 cron.AddFunc("0 0 23 L * ?", this.TimerSeasonOver) //每月最后一天23点执行一次
cron.AddFunc("0 0 5 /* * ?", this.TimerSeasonStar) //每月第一天5点执行一次 cron.AddFunc("0 0 5 /* * ?", this.TimerSeasonStar) //每月第一天5点执行一次
if db.IsCross() {
return
}
conn, err := db.Cross() conn, err := db.Cross()
if err == nil { if err == nil {
model := db.NewDBModel(comm.TableServerData, 0, conn) model := db.NewDBModel(comm.TableServerData, 0, conn)
@ -86,18 +88,7 @@ func (this *SeasonPagoda) Start() (err error) {
return return
} }
func (this *SeasonPagoda) CreatTestData(index int) {
seasonPagoda := &pb.DBPagoda{}
seasonPagoda.Id = primitive.NewObjectID().Hex()
seasonPagoda.Uid = "dfmxf_634f8f28609d489230fb40fa"
seasonPagoda.PagodaId = int32(index) // 初始数据0层
seasonPagoda.Type = 201 // TODO 新的塔数据根据配置文件获取
if err := this.Add(seasonPagoda.Uid, seasonPagoda); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
func (this *SeasonPagoda) GetSeasonReward() []int32 { func (this *SeasonPagoda) GetSeasonReward() []int32 {
sz := make([]int32, 0) sz := make([]int32, 0)
if v, err := this.GetConfigure(game_seasonreward); err != nil { if v, err := this.GetConfigure(game_seasonreward); err != nil {

View File

@ -20,6 +20,9 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
return return
} }
defer func() {
this.module.Errorf("战斗结束 taskId:%v", req.TaskId)
}()
taskConf, err := this.module.configure.getWorldtaskById(req.TaskId) taskConf, err := this.module.configure.getWorldtaskById(req.TaskId)
if err != nil || taskConf == nil { if err != nil || taskConf == nil {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound

View File

@ -37,7 +37,7 @@ func (this *ModelWorldtask) getWorldtask(uid string) (*pb.DBWorldtask, error) {
} }
//判断前置任务是否完成 //判断前置任务是否完成
func(this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData)bool{ func (this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData) bool {
var ( var (
lastTaskId int32 lastTaskId int32
preTaskFinished bool preTaskFinished bool
@ -57,6 +57,16 @@ func(this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *
return preTaskFinished return preTaskFinished
} }
// 判断任务是否已完成
func (this *ModelWorldtask) isFinished(taskId int32, list []*pb.Worldtask) bool {
for _, v := range list {
if v.TaskId == taskId {
return true
}
}
return false
}
// 完成任务 // 完成任务
func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldtask) error { func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldtask) error {
if task == nil { if task == nil {

View File

@ -77,47 +77,50 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
if userTask.Uid != "" { if userTask.Uid != "" {
//查找任务ID根据condId 可能会找出不同的任务 //查找任务ID根据condId 可能会找出不同的任务
// 遍历配置表
for k, id := range finishedTaskIds { for k, id := range finishedTaskIds {
// 判断任务是否已完成
if this.modelWorldtask.isFinished(id, userTask.TaskList) {
continue
}
taskConf, err := this.configure.getWorldtaskById(id) taskConf, err := this.configure.getWorldtaskById(id)
if err != nil { if err != nil {
return err return err
} }
if taskConf != nil { if taskConf != nil {
if !this.modelWorldtask.IsPreFinished(userTask, taskConf) { if !this.modelWorldtask.IsPreFinished(userTask, taskConf) {
return nil this.Errorf("世界任务已完成 uid:%v 要求taskid:%v", uid, id)
continue
} }
if taskConf.AutoAccept == 1 { //自动截取,返回下一个任务
nextTaskId = taskConf.IdAfter
// 判断玩家等级要求 nextTaskId = taskConf.IdAfter
if user.Lv < taskConf.Lock {
return fmt.Errorf("等级不满足 uid:%v 要求lv:%v", uid, taskConf.Lock)
}
//完成任务
if err := this.modelWorldtask.finishTask(k, id, userTask); err != nil {
this.Errorf("世界任务完成失败 err:%v", err)
return err
}
//发奖
if code := this.DispenseRes(session, taskConf.Reword, true); code != pb.ErrorCode_Success {
this.Errorf("资源发放失败 err:%v", err)
}
if nextTaskId != 0 {
if err := session.SendMsg(string(this.GetType()), "nexttask", &pb.WorldtaskNexttaskPush{
NextTaskId: nextTaskId,
}); err != nil {
log.Errorf("任务条件达成推送失败 err:%v", err)
}
} else {
this.Debugf("已经是最后一个任务了 taskId:%v", taskConf.Key)
}
// 判断玩家等级要求
if user.Lv < taskConf.Lock {
this.Errorf("等级不满足 uid:%v 要求lv:%v", uid, taskConf.Lock)
return comm.NewCustomError(pb.ErrorCode_WorldtaskLvNotEnough)
} }
//完成任务
if err := this.modelWorldtask.finishTask(k, id, userTask); err != nil {
this.Errorf("世界任务完成失败 err:%v", err)
return err
}
this.Debugf("任务条件达成完成 condId:%v group:%v taskId:%d", condId, k, id)
//发奖
if code := this.DispenseRes(session, taskConf.Reword, true); code != pb.ErrorCode_Success {
this.Errorf("资源发放失败 err:%v", err)
}
if nextTaskId != 0 {
if err := session.SendMsg(string(this.GetType()), "nexttask", &pb.WorldtaskNexttaskPush{
NextTaskId: nextTaskId,
}); err != nil {
log.Errorf("任务条件达成推送失败 err:%v", err)
}
} else {
this.Debugf("已经是最后一个任务了 taskId:%v", taskConf.Key)
}
} }
} }