user-service

command module
v0.0.0-...-10283fc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2023 License: MIT Imports: 27 Imported by: 0

README

user service

feature

  • 注册
  • 登录
  • 获取用户信息
  • 批量获取用户信息
  • 更新用户信息
  • 更新用户密码

开发流程

以下命令执行都是在根目录下执行

1. 编写 proto 文件

可以使用 eagle proto add api/user/v1/user.proto 的方式新建proto文件

执行后,会在对应的目录下生成一个 proto 文件,里面直接写业务定义就可以了。

2. 生成对应的pb文件

有两种方式可以生成:

make grpceagle proto client api/user/v1/user.proto

都会生成两个文件 api/user/v1/user.pb.goapi/user/v1/user_grpc.pb.go

3. 生成对应的server文件

eagle proto server api/user/v1/user.proto

执行该命令后,会在 internal/service 下 多一个 user_grpc.go 文件。

4. 编写业务逻辑

internal/service/user_svc.go 里直接写业务逻辑接口。

5. 转换service输出到pb

internal/service/user_grpc.go 中将 user_grpc.go 转为pb输出的方式。

6. 将业务注册到gRPC server 中

internal/server/grpc.go 中新增 v1.RegisterUserServiceServer(grpcServer, service.NewUserService())

运行

在根目录下执行以下命令

go build
APP_ENV=dev ./user-service -c=config
`

grpc即可正常启动

## 调试

### 安装 grpcurl

```bash
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
返回结果

正常返回

 ➜  ~ grpcurl -plaintext -d '{"email":"12345678@cc.com","username":"admin8","password":"123456"}' localhost:9090 user.v1.UserService/Register
 {
   "username": "admin8"
 }

异常返回

 ➜  ~ grpcurl -plaintext -d '{"email":"1234567@cc.com","username":"admin7","password":"123456"}' localhost:9090 user.v1.UserService/Register
 ERROR:
   Code: Code(20100)
   Message: The user already exists.
   Details:
   1)	{"@type":"type.googleapis.com/micro.user.v1.RegisterRequest","email":"1234567@cc.com","password":"123456","username":"admin7"}

启动异步任务

# 直接运行 
go run cmd/cron/main.go -c=config -e=dev

# 编译
go build -o cron cmd/cron/main.go

# 运行
./cron -c=config -e=env
或者
APP_ENV ./cron -c=config

Documentation

Overview

*

*
*    ____          __
*   / __/__ ____ _/ /__
*  / _// _ `/ _ `/ / -_)
* /___/\_,_/\_, /_/\__/
*         /___/
*
*
* generate by http://patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Eagle

Directories

Path Synopsis
api
cmd
internal
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL