refactor(socket): 移除未使用的 cmd 包

- 删除了 common/socket/cmd 目录下的 cmd.go 和 cmd_test.go 文件
- 更新了 TomeeHandler 中的 CMD 字段类型,从 EnumCommandID 改为 uint32
- 移除了 controller 中对 cmd 包的引用
- 重构了 getcmd 函数,返回类型从 EnumCommandID 改为 uint32
This commit is contained in:
2025-07-15 11:24:49 +08:00
parent 81a921d692
commit 43a726006c
4 changed files with 38 additions and 133 deletions

View File

@@ -3,7 +3,6 @@ package controller
import (
"blazing/common/core"
"blazing/common/data/entity"
"blazing/common/socket/cmd"
"blazing/common/socket/handler"
"blazing/cool"
"blazing/logic/service"
@@ -88,16 +87,18 @@ func init() { //默认初始化扫描
// 获取方法值
methodValue := value.MethodByName(method.Name)
methodValue.Type().NumIn()
var func_cmd cmd.EnumCommandID
var func_cmd uint32
func_cmd = getcmd(methodValue.Type().In(0))
if func_cmd == 0 { //说明不是注册方法
glog.Warning(context.Background(), "方法参数必须是结构体", method.Name, "跳过注册")
continue
}
if !cmd.Isexist(cmd.CommandID, cmd.EnumCommandID(func_cmd)) {
fmt.Println("ID方法存在cmd未注册", func_cmd)
// if !cmd.Isexist(cmd.CommandID, cmd.EnumCommandID(func_cmd)) {
// fmt.Println("ID方法存在cmd未注册", func_cmd)
// }
}
if cool.Config.PortBL == 0 && func_cmd > 1000 { //判断login服务器
break
@@ -107,6 +108,7 @@ func init() { //默认初始化扫描
continue
}
glog.Debug(context.Background(), "注册方法", func_cmd, method.Name)
// fmt.Println(methodValue.Interface().(func(gnet.Conn, handler.TomeeHeader)))
_, ok := core.Maincmdcache.LoadOrStore(func_cmd, methodValue) //TODO 待实现对不同用户初始化方法以取消全局cmdcache
@@ -116,7 +118,7 @@ func init() { //默认初始化扫描
}
}
func getcmd(t reflect.Type) cmd.EnumCommandID {
func getcmd(t reflect.Type) uint32 {
// 处理指针类型
if t.Kind() == reflect.Ptr {
t = t.Elem() // 获取指针指向的类型
@@ -124,7 +126,7 @@ func getcmd(t reflect.Type) cmd.EnumCommandID {
// 确保是结构体
if t.Kind() != reflect.Struct {
fmt.Println("非结构体类型")
return 0
}
@@ -137,7 +139,7 @@ func getcmd(t reflect.Type) cmd.EnumCommandID {
if field.Type == reflect.TypeOf(handler.TomeeHeader{}) {
// fmt.Println(reflect.ValueOf(field))
return cmd.EnumCommandID(gconv.Uint32(field.Tag.Get("cmd")))
return gconv.Uint32(field.Tag.Get("cmd"))
}
// fmt.Printf(" 类型: %v\n", field.Type)