This commit is contained in:
renzhiyuan 2024-11-27 18:34:34 +08:00
parent 9673f52efa
commit 1b1f5b9a19
11 changed files with 181 additions and 91 deletions

24
Makefile Normal file
View File

@ -0,0 +1,24 @@
GOHOSTOS:=$(shell go env GOHOSTOS)
GOPATH:=$(shell go env GOPATH)
VERSION=$(shell git describe --tags --always)
ifeq ($(GOHOSTOS), windows)
#the `find.exe` is different from `find` in bash/shell.
#to see https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/find.
#changed to use git-bash.exe to run find cli or other cli friendly, caused of every developer has a Git.
#Git_Bash= $(subst cmd\,bin\bash.exe,$(dir $(shell where git)))
Git_Bash=$(subst \,/,$(subst cmd\,bin\bash.exe,$(dir $(shell where git))))
INTERNAL_PROTO_FILES=$(shell $(Git_Bash) -c "find internal -name *.proto")
API_PROTO_FILES=$(shell $(Git_Bash) -c "find api -name *.proto")
else
INTERNAL_PROTO_FILES=$(shell find internal -name *.proto)
API_PROTO_FILES=$(shell find api -name *.proto)
endif
.PHONY: model
# rpcdocker
rpcdocker:
goctl docker -go ./cmd/rpc/msg.go

View File

@ -4,24 +4,20 @@ import (
"cron_admin/app/constants/errorcode"
"cron_admin/app/http/controllers"
"cron_admin/app/http/entities/backend"
"cron_admin/app/models/userinfomodel"
"cron_admin/app/models/cronusermodel"
"cron_admin/app/services"
"github.com/ahmetb/go-linq/v3"
"github.com/gin-gonic/gin"
)
func Login(c *gin.Context) {
}
func List(c *gin.Context) {
func UserList(c *gin.Context) {
request := controllers.GetRequest(c).(*backend.UserListRequest)
count, list, err := services.GetListByWhere(request, request.Page, request.PageSize)
count, list, err := services.GetListByWhere(request, request.Page, request.Limit)
if err != nil {
controllers.HandRes(c, nil, errorcode.NotFound)
} else {
UserList := make([]backend.UserListResponse, 0)
linq.From(list).SelectT(func(in userinfomodel.UserInfo) (d backend.UserListResponse) {
linq.From(list).SelectT(func(in cronusermodel.CronUser) (d backend.UserListResponse) {
d.ResponseFromDb(in)
return d
}).ToSlice(&UserList)
@ -29,14 +25,14 @@ func List(c *gin.Context) {
}
}
func GerUserInfoHandler(c *gin.Context) {
request := controllers.GetRequest(c).(*backend.UserInfoRequest)
has, userInfo, err := services.UserInfo(request.Id)
if err != nil || has == false {
controllers.HandRes(c, nil, errorcode.NotFound)
} else {
UserInfoResponse := backend.UserListResponse{}
UserInfoResponse.ResponseFromDb(userInfo)
controllers.HandRes(c, UserInfoResponse, nil)
}
func UserAdd(c *gin.Context) {
request := controllers.GetRequest(c).(*backend.UserAddRequest)
err := services.UserAdd(request)
controllers.HandRes(c, nil, err)
}
func UserEdit(c *gin.Context) {
request := controllers.GetRequest(c).(*backend.UserEditRequest)
err := services.UserEdit(request)
controllers.HandRes(c, nil, err)
}

View File

@ -1,16 +1,16 @@
package backend
import (
"cron_admin/app/models/userinfomodel"
"cron_admin/app/models/cronusermodel"
"time"
)
type UserListRequest struct {
Page int `json:"page" validate:"required" form:"page" example:"1"`
PageSize int `json:"page_size" validate:"required" form:"page_size" example:"10"`
Mobile string `json:"mobile" form:"mobile" example:"155555555"`
Status int `json:"status" form:"status" example:"1"`
Clientuniqueidentification string `json:"Clientuniqueidentification" form:"Clientuniqueidentification" example:"46516"`
Page int `json:"page" validate:"required" form:"page" example:"1"`
Limit int `json:"limit" validate:"required" form:"limit" example:"10"`
Tel string `json:"tel" form:"tel" example:"155555555"`
Status int `json:"status" form:"status" example:"1"`
Name string `json:"name" form:"name" example:"46516"`
}
type UserInfoRequest struct {
@ -18,18 +18,43 @@ type UserInfoRequest struct {
}
type UserListResponse struct {
Id int `json:"id" form:"id"`
Clientuniqueidentification string `json:"clientuniqueidentification"`
Mobile string `json:"mobile"`
Status int `json:"status"`
Createtime string `json:"createtime"`
UserId int `json:"user_id" form:"id"`
Name string `json:"name"`
Tel string `json:"tel"`
DtalkUserId string `json:"'DtalkUserId' varchar(200)"`
DtalkDepId string `json:"'DtalkDepId' varchar(200)"`
WxOpenId string `json:"'WxOpenId' varchar(200)"`
Status int `json:"'Status' TINYINT"`
CreateTime string `json:"'CreateTime' datetime"`
}
func (response *UserListResponse) ResponseFromDb(l userinfomodel.UserInfo) {
response.Id = l.Id
response.Clientuniqueidentification = l.Clientuniqueidentification
response.Mobile = l.Mobile
type UserAddRequest struct {
Name string `json:"name"`
Tel string `json:"tel"`
DtalkUserId string `json:"'dtalk_user_id' varchar(200)"`
DtalkDepId string `json:"'dtalk_user_id' varchar(200)"`
WxOpenId string `json:"'WxOpenId' varchar(200)"`
Status int `json:"'Status' TINYINT"`
}
type UserEditRequest struct {
UserId int `json:"user_id" validate:"required" form:"db_id" example:""`
Name string `json:"name"`
Tel string `json:"tel"`
DtalkUserId string `json:"'DtalkUserId' varchar(200)"`
DtalkDepId string `json:"'DtalkDepId' varchar(200)"`
WxOpenId string `json:"'WxOpenId' varchar(200)"`
Status int `json:"'Status' TINYINT"`
}
func (response *UserListResponse) ResponseFromDb(l cronusermodel.CronUser) {
response.UserId = l.UserId
response.Name = l.Name
response.Tel = l.Tel
response.Status = l.Status
response.Createtime = l.Createtime.Format(time.DateTime)
response.DtalkUserId = l.DtalkUserId
response.DtalkDepId = l.DtalkDepId
response.WxOpenId = l.WxOpenId
response.CreateTime = l.CreateTime.Format(time.DateTime)
return
}

View File

@ -8,6 +8,9 @@ import (
var BackendRequestMap = map[string]func() interface{}{
common.ADMIN_OAUTH_V1 + "/user/list": func() interface{} {
return new(backend.UserListRequest)
},
common.ADMIN_OAUTH_V1 + "/sql/list": func() interface{} { return new(backend.DbListRequest) },
common.ADMIN_OAUTH_V1 + "/sql/add": func() interface{} { return new(backend.DbAddRequest) },
common.ADMIN_OAUTH_V1 + "/sql/edit": func() interface{} { return new(backend.DbEditRequest) },

View File

@ -32,8 +32,9 @@ func RegisterAdminRoute(router *gin.Engine) {
//用户管理
user := v1.Group("/user")
{
user.GET("/list", backend.List)
user.GET("/info", backend.Empty)
user.POST("/list", backend.UserList)
user.POST("/add", backend.UserAdd)
user.POST("/edit", backend.UserEdit)
}
//数据库管理
sql := v1.Group("/sql")

View File

@ -2,10 +2,10 @@ package models
import (
"cron_admin/app/models/cronreportchannelmodel"
"cron_admin/app/models/userinfomodel"
"cron_admin/app/models/cronusermodel"
)
type PO interface {
cronreportchannelmodel.CronReportChannel |
userinfomodel.UserInfo
cronusermodel.CronUser
}

View File

@ -0,0 +1,44 @@
package cronusermodel
import (
"github.com/qit-team/snow-core/db"
"sync"
"time"
)
var (
once sync.Once
m *CronUserModel
)
// 实体
type CronUser struct {
UserId int `xorm:"'user_id' int(0)"`
Name string `xorm:"'name' varchar(20)"`
Tel string `xorm:"'tel' varchar(200)"`
DtalkUserId string `xorm:"'dtalk_user_id' varchar(200)"`
DtalkDepId string `xorm:"'dtalk_dep_id' varchar(200)"`
WxOpenId string `xorm:"'wx_open_id' varchar(200)"`
Status int `xorm:"'status' TINYINT"`
UpdateTime time.Time `xorm:"'update_time' datetime"`
CreateTime time.Time `xorm:"'create_time' datetime"`
}
// 表名
func (m *CronUser) TableName() string {
return "cron_user"
}
// 私有化防止被外部new
type CronUserModel struct {
db.Model //组合基础Model集成基础Model的属性和方法
}
// 单例模式
func GetInstance() *CronUserModel {
once.Do(func() {
m = new(CronUserModel)
//m.DiName = "" //设置数据库实例连接默认db.SingletonMain
})
return m
}

View File

@ -1,41 +0,0 @@
package userinfomodel
import (
"github.com/qit-team/snow-core/db"
"sync"
"time"
)
var (
once sync.Once
m *UserInfoModel
)
// 实体
type UserInfo struct {
Id int `xorm:"'Id' int(0)"`
Clientuniqueidentification string `xorm:"'ClientUniqueIdentification' varchar(255)"`
Mobile string `xorm:"'Mobile' varchar(13)"`
Status int `xorm:"'Status' TINYINT"`
Lastupdatetime time.Time `xorm:"'LastUpdateTime' datetime"`
Createtime time.Time `xorm:"'CreateTime' datetime"`
}
// 表名
func (m *UserInfo) TableName() string {
return "UserInfo"
}
// 私有化防止被外部new
type UserInfoModel struct {
db.Model //组合基础Model集成基础Model的属性和方法
}
// 单例模式
func GetInstance() *UserInfoModel {
once.Do(func() {
m = new(UserInfoModel)
//m.DiName = "" //设置数据库实例连接默认db.SingletonMain
})
return m
}

View File

@ -1,21 +1,25 @@
package services
import (
"cron_admin/app/constants/common"
"cron_admin/app/http/entities/backend"
"cron_admin/app/models/userinfomodel"
"cron_admin/app/models/crondbmodel"
"cron_admin/app/models/cronusermodel"
"cron_admin/app/utils/mapstructure"
"xorm.io/builder"
)
func GetListByWhere(request *backend.UserListRequest, page int, limit int) (count int64, UserListInfo []userinfomodel.UserInfo, err error) {
conn := builder.NewCond()
func GetListByWhere(request *backend.UserListRequest, page int, limit int) (count int64, UserListInfo []cronusermodel.CronUser, err error) {
cond := builder.NewCond()
if request.Mobile != "" {
conn = conn.And(builder.Like{"Mobile", request.Mobile})
if request.Tel != "" {
cond = cond.And(builder.Like{"tel", request.Tel})
}
if request.Status != 0 {
conn = conn.And(builder.Eq{"Status": request.Status})
cond = cond.And(builder.Eq{"status": request.Status})
}
session := userinfomodel.GetInstance().GetDb().Where(conn)
//model := repository.NewCommonRepo[userinfomodel.CronUserModel](userinfomodel.GetInstance().GetDb().NewSession())
session := cronusermodel.GetInstance().GetDb().Where(cond)
if page != 0 && limit != 0 {
session = session.Limit(page, (page-1)*limit)
@ -28,10 +32,17 @@ func GetListByWhere(request *backend.UserListRequest, page int, limit int) (coun
return
}
func UserInfo(id int) (has bool, UserCouponModel userinfomodel.UserInfo, err error) {
has, err = userinfomodel.GetInstance().GetDb().Where("id =?", id).Get(&UserCouponModel)
if err != nil {
return
}
func UserAdd(request *backend.UserAddRequest) (err error) {
var db crondbmodel.CronDb
_ = mapstructure.Decode(request, &db)
db.Status = common.STATUS_ENABLE
_, err = crondbmodel.GetInstance().GetDb().InsertOne(db)
return
}
func UserEdit(request *backend.UserEditRequest) (err error) {
var db crondbmodel.CronDb
_ = mapstructure.Decode(request, &db)
_, err = crondbmodel.GetInstance().GetDb().ID(request.UserId).Update(&db)
return
}

6
go.mod
View File

@ -54,12 +54,14 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/buger/jsonparser v1.1.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/eapache/go-resiliency v1.1.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
github.com/eapache/queue v1.1.0 // indirect
github.com/emirpasic/gods v1.12.0 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-kratos/aegis v0.2.0 // indirect
@ -85,6 +87,7 @@ require (
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect
github.com/lestrrat-go/strftime v1.0.5 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.9 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@ -97,16 +100,19 @@ require (
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/qit-team/snow v1.2.4 // indirect
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a // indirect
github.com/richardlehane/mscfb v1.0.4 // indirect
github.com/richardlehane/msoleps v1.0.4 // indirect
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/syndtr/goleveldb v1.0.0 // indirect
github.com/tidwall/gjson v1.12.1 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.0 // indirect
github.com/ugorji/go/codec v1.2.6 // indirect
github.com/urfave/cli/v2 v2.3.0 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.1 // indirect
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect

21
go.sum
View File

@ -57,6 +57,7 @@ github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc=
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/SkyAPM/go2sky v0.6.0/go.mod h1:TANzYw5EvIlTidGWvQxtvO87rM6C746HkM0xkWqnPQw=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
github.com/agiledragon/gomonkey/v2 v2.3.1 h1:k+UnUY0EMNYUFUAQVETGY9uUTxjMdnUkP0ARyJS1zzs=
@ -139,6 +140,8 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@ -171,6 +174,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/forgoer/openssl v1.6.0 h1:IueL+UfH0hKo99xFPojHLlO3QzRBQqFY+Cht0WwtOC0=
github.com/forgoer/openssl v1.6.0/go.mod h1:9DZ4yOsQmveP0aXC/BpQ++Y5TKaz5yR9+emcxmIZNZs=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
@ -236,6 +241,7 @@ github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPg
github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg=
github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w=
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
@ -503,6 +509,8 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
@ -587,6 +595,10 @@ github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb
github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE=
github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
@ -635,6 +647,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/qit-team/snow v1.2.4 h1:GFHcCJAgOnJ/rNp8Sde/TKcNSd34cf73g2t9oJbhzPs=
github.com/qit-team/snow v1.2.4/go.mod h1:4uqDUm4L9+qriJNXnaD1cA6/9aAQwHPX+Qwh4dp87yM=
github.com/qit-team/snow-core v0.1.28 h1:RrX7i6GLbcMMSVzAT1lXgS/S3M2b1OrAnsoPaRGR4PI=
github.com/qit-team/snow-core v0.1.28/go.mod h1:J9CNj6P2IRh72yVa7rut4T8ikq/4DjaisLqXZy40TNg=
github.com/qit-team/work v0.3.11 h1:AAtLTCOJ01WMFcvviK9rDGhHzaHE3bvunMOnSZ/80k8=
@ -663,6 +677,8 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
@ -719,6 +735,7 @@ github.com/swaggo/files v0.0.0-20190704085106-630677cd5c14/go.mod h1:gxQT6pBGRuI
github.com/swaggo/gin-swagger v1.3.3 h1:XHyYmeNVFG5PbyWHG4jXtxOm2P4kiZapDCWsyDDiQ/I=
github.com/swaggo/gin-swagger v1.3.3/go.mod h1:ymsZuGpbbu+S7ZoQ49QPpZoDBj6uqhb8WizgQPVgWl0=
github.com/swaggo/swag v1.7.4/go.mod h1:zD8h6h4SPv7t3l+4BKdRquqW1ASWjKZgT6Qv9z3kNqI=
github.com/swaggo/swag v1.7.6/go.mod h1:7vLqNYEtYoIsD14wXgy9oDS65MNiDANrPtbk9rnLuj0=
github.com/swaggo/swag v1.7.9 h1:6vCG5mm43ebDzGlZPMGYrYI4zKFfOr5kicQX8qjeDwc=
github.com/swaggo/swag v1.7.9/go.mod h1:gZ+TJ2w/Ve1RwQsA2IRoSOTidHz6DX+PIG8GWvbnoLU=
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
@ -742,7 +759,9 @@ github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLY
github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ=
github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
@ -918,6 +937,7 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT
golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
@ -1029,6 +1049,7 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn
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.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20181010134911-4d1c5fb19474/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=