30 lines
693 B
Go
30 lines
693 B
Go
package converter
|
|
|
|
import (
|
|
"app/users/rpc/internal/models"
|
|
"app/users/rpc/pb"
|
|
)
|
|
|
|
// UserModelToPb 将 Users Model 转换为 protobuf Users
|
|
// 使用通用转换函数,自动处理所有字段
|
|
func UserModelToPb(user *models.Users) *pb.Users {
|
|
if user == nil {
|
|
return nil
|
|
}
|
|
|
|
pbUser := &pb.Users{}
|
|
_ = StructToStruct(user, pbUser)
|
|
return pbUser
|
|
}
|
|
|
|
// UserModelsToPb 将多个 Users Model 转换为 protobuf Users
|
|
// 使用通用转换函数,自动处理所有元素
|
|
func UserModelsToPb(users []*models.Users) []*pb.Users {
|
|
if len(users) == 0 {
|
|
return []*pb.Users{}
|
|
}
|
|
|
|
result, _ := SliceToSlice(users, []*pb.Users{})
|
|
return result.([]*pb.Users)
|
|
}
|