ソースを参照

feat:用户接口

xuzhiheng 3 年 前
コミット
12fe3d1729

+ 2 - 0
README.md

@@ -4,4 +4,6 @@ v1.1
 
 $ goctl rpc protoc userCenter.proto --go_out=. --go-grpc_out=. --zrpc_out=.
 
+$ goctl rpc proto -src userCenter.proto -dir .
+
 $ goctl api go -api userCenter.api -dir .

+ 4 - 1
api/etc/usercenter-api.yaml

@@ -16,4 +16,7 @@ Logx:
   Mode: console #console|file|volume
   Path: ./logs
   Level: info #info|error|severe
-  KeepDays: 10
+  KeepDays: 10
+Auth:
+  AccessSecret: jianyuservice
+  AccessExpire: 600

+ 4 - 0
api/internal/config/config.go

@@ -11,4 +11,8 @@ type Config struct {
 	UserCenterRpcConf zrpc.RpcClientConf
 	GatewayRpcConf    zrpc.RpcClientConf
 	Logx              logx.LogConf
+	Auth              struct {
+		AccessSecret string
+		AccessExpire int64
+	}
 }

+ 21 - 0
api/internal/handler/routes.go

@@ -59,4 +59,25 @@ func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
 			},
 		},
 	)
+
+	engine.AddRoutes(
+		[]rest.Route{
+			{
+				Method:  http.MethodPost,
+				Path:    "/userCenter/user/add",
+				Handler: UserAddHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/userCenter/user/updateById",
+				Handler: UserUpdateHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/userCenter/user/deleteById",
+				Handler: UserDelHandler(serverCtx),
+			},
+		},
+		rest.WithJwt(serverCtx.Config.Auth.AccessSecret),
+	)
 }

+ 29 - 0
api/internal/handler/useraddhandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/logic"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func UserAddHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.UserAddReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewUserAddLogic(r.Context(), ctx)
+		resp, err := l.UserAdd(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 29 - 0
api/internal/handler/userdelhandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/logic"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func UserDelHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.UserDelReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewUserDelLogic(r.Context(), ctx)
+		resp, err := l.UserDel(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 29 - 0
api/internal/handler/userupdatehandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/logic"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func UserUpdateHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.UserUpdateReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewUserUpdateLogic(r.Context(), ctx)
+		resp, err := l.UserUpdate(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 45 - 0
api/internal/logic/useraddlogic.go

@@ -0,0 +1,45 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserAddLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewUserAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) UserAddLogic {
+	return UserAddLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *UserAddLogic) UserAdd(req types.UserAddReq) (*types.Resp, error) {
+	// todo: add your logic here and delete this line
+	res, err := entity.UserCenterRpc.UserAdd(l.ctx, &UserAddReq{
+		Appid:    req.Appid,
+		Phone:    req.Phone,
+		Nickname: req.Nickname,
+		Headimg:  req.Headimg,
+		Company:  req.Company,
+		Position: req.Position,
+		Password: req.Password,
+		Openid:   req.Openid,
+		Unionid:  req.Unionid,
+	})
+	return &types.Resp{
+		Error_code: res.ErrorCode,
+		Error_msg:  res.ErrorMsg,
+		Data:       res.Data,
+	}, err
+}

+ 37 - 0
api/internal/logic/userdellogic.go

@@ -0,0 +1,37 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserDelLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewUserDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) UserDelLogic {
+	return UserDelLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *UserDelLogic) UserDel(req types.UserDelReq) (*types.Resp, error) {
+	// todo: add your logic here and delete this line
+	res, err := entity.UserCenterRpc.UserDel(l.ctx, &UserIdReq{
+		Id: req.Id,
+	})
+	return &types.Resp{
+		Error_code: res.ErrorCode,
+		Error_msg:  res.ErrorMsg,
+		Data:       res.Data,
+	}, err
+}

+ 46 - 0
api/internal/logic/userupdatelogic.go

@@ -0,0 +1,46 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/api/internal/types"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserUpdateLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewUserUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) UserUpdateLogic {
+	return UserUpdateLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *UserUpdateLogic) UserUpdate(req types.UserUpdateReq) (*types.Resp, error) {
+	// todo: add your logic here and delete this line
+	res, err := entity.UserCenterRpc.UserUpdate(l.ctx, &UserIdReq{
+		Appid:    req.Appid,
+		Id:       req.Id,
+		Phone:    req.Phone,
+		Nickname: req.Nickname,
+		Headimg:  req.Headimg,
+		Company:  req.Company,
+		Position: req.Position,
+		Password: req.Password,
+		Openid:   req.Openid,
+		Unionid:  req.Unionid,
+	})
+	return &types.Resp{
+		Error_code: res.ErrorCode,
+		Error_msg:  res.ErrorMsg,
+		Data:       res.Data,
+	}, err
+}

+ 32 - 0
api/internal/types/types.go

@@ -185,3 +185,35 @@ type GetStatus struct {
 	AuthStatus int64 `json:"authStatus"`
 	IsInEnt    bool  `json:"isInEnt"`
 }
+
+type UserAddReq struct {
+	Authorization string `header:"Authorization"`
+	Appid         string `json:"appid"`
+	Phone         string `json:"phone"`
+	Nickname      string `json:"nickname"`
+	Headimg       string `json:"headimg"`
+	Company       string `json:"company"`
+	Position      string `json:"position"`
+	Password      string `json:"password"`
+	Openid        string `json:"openid"`
+	Unionid       string `json:"unionid"`
+}
+
+type UserUpdateReq struct {
+	Authorization string `header:"Authorization"`
+	Appid         string `json:"appid"`
+	Id            int64  `json:"id"`
+	Phone         string `json:"phone"`
+	Nickname      string `json:"nickname"`
+	Headimg       string `json:"headimg"`
+	Company       string `json:"company"`
+	Position      string `json:"position"`
+	Password      string `json:"password"`
+	Openid        string `json:"openid"`
+	Unionid       string `json:"unionid"`
+}
+
+type UserDelReq struct {
+	Authorization string `header:"Authorization"`
+	Id            int64  `json:"id"`
+}

+ 50 - 6
api/userCenter.api

@@ -198,6 +198,38 @@ type (
 		AuthStatus int64 `json:"authStatus"`
 		IsInEnt    bool  `json:"isInEnt"`
 	}
+
+	UserAddReq {
+		Authorization string `header:"Authorization"`
+		Appid         string `json:"appid"`
+		Phone         string `json:"phone"`
+		Nickname      string `json:"nickname"`
+		Headimg       string `json:"headimg"`
+		Company       string `json:"company"`
+		Position      string `json:"position"`
+		Password      string `json:"password"`
+		Openid        string `json:"openid"`
+		Unionid       string `json:"unionid"`
+	}
+
+	UserUpdateReq {
+		Authorization string `header:"Authorization"`
+		Appid         string `json:"appid"`
+		Id            int64  `json:"id"`
+		Phone         string `json:"phone"`
+		Nickname      string `json:"nickname"`
+		Headimg       string `json:"headimg"`
+		Company       string `json:"company"`
+		Position      string `json:"position"`
+		Password      string `json:"password"`
+		Openid        string `json:"openid"`
+		Unionid       string `json:"unionid"`
+	}
+
+	UserDelReq {
+		Authorization string `header:"Authorization"`
+		Id            int64  `json:"id"`
+	}
 )
 
 service userCenter-api {
@@ -208,15 +240,27 @@ service userCenter-api {
 	@handler EntAuth
 	post /userCenter/ent/auth (authEntReq) returns(resp)
 	@handler EntList
-	post /userCenter/ent/list (entListReq)returns (entListResp)
+	post /userCenter/ent/list (entListReq) returns (entListResp)
 	@handler ExamineList
-	post /userCenter/ent/examineList(ExamineListReq) returns (ExamineListResp)
+	post /userCenter/ent/examineList (ExamineListReq) returns (ExamineListResp)
 	@handler EntInfo
-	post /userCenter/ent/info (checkEntReq)returns(EntInfoResp)
+	post /userCenter/ent/info (checkEntReq) returns (EntInfoResp)
 	@handler ExamineInfo
-	post /userCenter/ent/examineInfo(ExamineInfoReq) returns(ExamineInfoResp)
+	post /userCenter/ent/examineInfo (ExamineInfoReq) returns (ExamineInfoResp)
 	@handler UpdateEnt
-	post /userCenter/ent/update(UpdateEntReq)returns(resp)
+	post /userCenter/ent/update (UpdateEntReq) returns (resp)
 	@handler GetStatusByCode
-	post /userCenter/ent/getStatusByCode(GetStatusByCodeReq)returns(GetStatusByCodeResp)
+	post /userCenter/ent/getStatusByCode (GetStatusByCodeReq) returns (GetStatusByCodeResp)
+}
+
+@server(
+	jwt: Auth
+)
+service userCenter-api {
+	@handler UserAdd
+	post /userCenter/user/add (UserAddReq) returns (resp)
+	@handler UserUpdate
+	post /userCenter/user/updateById (UserUpdateReq) returns (resp)
+	@handler UserDel
+	post /userCenter/user/deleteById (UserDelReq) returns (resp)
 }

+ 3 - 1
entity/db.go

@@ -5,5 +5,7 @@ import (
 )
 
 var (
-	Mysql *mysql.Mysql
+	Mysql             *mysql.Mysql
+	UserTable         = "base_user"
+	UserSnapshotTable = "base_user_snapshot"
 )

+ 1 - 1
rpc/internal/logic/checkentlogic.go

@@ -30,7 +30,7 @@ func (l *CheckEntLogic) CheckEnt(in *pb.CheckEntReq) (*pb.CheckEntResp, error) {
 	return &pb.CheckEntResp{
 		ErrorCode: code,
 		ErrorMsg:  msg,
-		Data: &pb.CheckEntRespCheckData{
+		Data: &pb.CheckData{
 			AuthStatus:   authStatus,
 			FrozenStatus: frozenStatus,
 		},

+ 1 - 1
rpc/internal/logic/entexaminelogic.go

@@ -30,7 +30,7 @@ func (l *EntExamineLogic) EntExamine(in *pb.ExamineReq) (*pb.ExamineResp, error)
 	return &pb.ExamineResp{
 		ErrorCode: code,
 		ErrorMsg:  msg,
-		Data: &pb.ExamineResp_ExamineData{
+		Data: &pb.ExamineData{
 			Status: status,
 		},
 	}, nil

+ 1 - 1
rpc/internal/logic/entupdatelogic.go

@@ -30,7 +30,7 @@ func (l *EntUpdateLogic) EntUpdate(in *pb.EntUpdateReq) (*pb.ExamineResp, error)
 	return &pb.ExamineResp{
 		ErrorCode: code,
 		ErrorMsg:  msg,
-		Data: &pb.ExamineResp_ExamineData{
+		Data: &pb.ExamineData{
 			Status: status,
 		},
 	}, nil

+ 1 - 1
rpc/internal/logic/getstatusbycodelogic.go

@@ -30,7 +30,7 @@ func (l *GetStatusByCodeLogic) GetStatusByCode(in *pb.GetStatusByCodeReq) (*pb.G
 	return &pb.GetStatusByCodeResp{
 		ErrorMsg:  msg,
 		ErrorCode: 0,
-		Data: &pb.GetStatusByCodeResp_GetStatusByCode{
+		Data: &pb.GetStatusByCode{
 			AuthStatus: int64(status),
 			IsInEnt:    isIn,
 		},

+ 31 - 0
rpc/internal/logic/useraddlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewUserAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserAddLogic {
+	return &UserAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 新增用户
+func (l *UserAddLogic) UserAdd(in *pb.UserAddReq) (*pb.ExamineResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.UserAdd(in), nil
+}

+ 31 - 0
rpc/internal/logic/userdellogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserDelLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewUserDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserDelLogic {
+	return &UserDelLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 删除用户
+func (l *UserDelLogic) UserDel(in *pb.UserIdReq) (*pb.ExamineResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.UserDel(in), nil
+}

+ 32 - 0
rpc/internal/logic/userupdatelogic.go

@@ -0,0 +1,32 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/service"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type UserUpdateLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewUserUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserUpdateLogic {
+	return &UserUpdateLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 更新用户
+func (l *UserUpdateLogic) UserUpdate(in *pb.UserIdReq) (*pb.ExamineResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.UserUpdate(in), nil
+}

+ 19 - 2
rpc/internal/server/usercenterserver.go

@@ -13,7 +13,6 @@ import (
 
 type UserCenterServer struct {
 	svcCtx *svc.ServiceContext
-	pb.UnimplementedUserCenterServer
 }
 
 func NewUserCenterServer(svcCtx *svc.ServiceContext) *UserCenterServer {
@@ -58,7 +57,7 @@ func (s *UserCenterServer) EntInfo(ctx context.Context, in *pb.CheckEntReq) (*pb
 	return l.EntInfo(in)
 }
 
-//  冻结/解冻企业
+// 冻结/解冻企业
 func (s *UserCenterServer) EntUpdate(ctx context.Context, in *pb.EntUpdateReq) (*pb.ExamineResp, error) {
 	l := logic.NewEntUpdateLogic(ctx, s.svcCtx)
 	return l.EntUpdate(in)
@@ -75,3 +74,21 @@ func (s *UserCenterServer) GetStatusByCode(ctx context.Context, in *pb.GetStatus
 	l := logic.NewGetStatusByCodeLogic(ctx, s.svcCtx)
 	return l.GetStatusByCode(in)
 }
+
+// 新增用户
+func (s *UserCenterServer) UserAdd(ctx context.Context, in *pb.UserAddReq) (*pb.ExamineResp, error) {
+	l := logic.NewUserAddLogic(ctx, s.svcCtx)
+	return l.UserAdd(in)
+}
+
+// 更新用户
+func (s *UserCenterServer) UserUpdate(ctx context.Context, in *pb.UserIdReq) (*pb.ExamineResp, error) {
+	l := logic.NewUserUpdateLogic(ctx, s.svcCtx)
+	return l.UserUpdate(in)
+}
+
+// 删除用户
+func (s *UserCenterServer) UserDel(ctx context.Context, in *pb.UserIdReq) (*pb.ExamineResp, error) {
+	l := logic.NewUserDelLogic(ctx, s.svcCtx)
+	return l.UserDel(in)
+}

BIN
rpc/pb/.DS_Store


ファイルの差分が大きいため隠しています
+ 603 - 328
rpc/pb/userCenter.pb.go


+ 0 - 411
rpc/pb/userCenter_grpc.pb.go

@@ -1,411 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.2.0
-// - protoc             v3.19.4
-// source: userCenter.proto
-
-package pb
-
-import (
-	context "context"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
-
-// UserCenterClient is the client API for UserCenter service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type UserCenterClient interface {
-	//企业认证
-	EntAuth(ctx context.Context, in *EntAuthReq, opts ...grpc.CallOption) (*EntAuthResp, error)
-	//机构审核
-	EntExamine(ctx context.Context, in *ExamineReq, opts ...grpc.CallOption) (*ExamineResp, error)
-	//企业列表
-	EntList(ctx context.Context, in *EntListReq, opts ...grpc.CallOption) (*EntListResp, error)
-	//审核列表
-	ExamineList(ctx context.Context, in *ExamineListReq, opts ...grpc.CallOption) (*ExamineListResp, error)
-	//查看企业状态
-	CheckEnt(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*CheckEntResp, error)
-	//查看企业详情
-	EntInfo(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*EntInfoResp, error)
-	// 冻结/解冻企业
-	EntUpdate(ctx context.Context, in *EntUpdateReq, opts ...grpc.CallOption) (*ExamineResp, error)
-	//查看审核详情
-	ExamineInfo(ctx context.Context, in *CheckExamineReq, opts ...grpc.CallOption) (*EntInfoResp, error)
-	//根据统一社会信用代码查询企业状态
-	GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq, opts ...grpc.CallOption) (*GetStatusByCodeResp, error)
-}
-
-type userCenterClient struct {
-	cc grpc.ClientConnInterface
-}
-
-func NewUserCenterClient(cc grpc.ClientConnInterface) UserCenterClient {
-	return &userCenterClient{cc}
-}
-
-func (c *userCenterClient) EntAuth(ctx context.Context, in *EntAuthReq, opts ...grpc.CallOption) (*EntAuthResp, error) {
-	out := new(EntAuthResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/EntAuth", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) EntExamine(ctx context.Context, in *ExamineReq, opts ...grpc.CallOption) (*ExamineResp, error) {
-	out := new(ExamineResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/EntExamine", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) EntList(ctx context.Context, in *EntListReq, opts ...grpc.CallOption) (*EntListResp, error) {
-	out := new(EntListResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/EntList", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) ExamineList(ctx context.Context, in *ExamineListReq, opts ...grpc.CallOption) (*ExamineListResp, error) {
-	out := new(ExamineListResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/ExamineList", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) CheckEnt(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*CheckEntResp, error) {
-	out := new(CheckEntResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/CheckEnt", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) EntInfo(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*EntInfoResp, error) {
-	out := new(EntInfoResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/EntInfo", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) EntUpdate(ctx context.Context, in *EntUpdateReq, opts ...grpc.CallOption) (*ExamineResp, error) {
-	out := new(ExamineResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/EntUpdate", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) ExamineInfo(ctx context.Context, in *CheckExamineReq, opts ...grpc.CallOption) (*EntInfoResp, error) {
-	out := new(EntInfoResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/ExamineInfo", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *userCenterClient) GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq, opts ...grpc.CallOption) (*GetStatusByCodeResp, error) {
-	out := new(GetStatusByCodeResp)
-	err := c.cc.Invoke(ctx, "/UserCenter/GetStatusByCode", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// UserCenterServer is the server API for UserCenter service.
-// All implementations must embed UnimplementedUserCenterServer
-// for forward compatibility
-type UserCenterServer interface {
-	//企业认证
-	EntAuth(context.Context, *EntAuthReq) (*EntAuthResp, error)
-	//机构审核
-	EntExamine(context.Context, *ExamineReq) (*ExamineResp, error)
-	//企业列表
-	EntList(context.Context, *EntListReq) (*EntListResp, error)
-	//审核列表
-	ExamineList(context.Context, *ExamineListReq) (*ExamineListResp, error)
-	//查看企业状态
-	CheckEnt(context.Context, *CheckEntReq) (*CheckEntResp, error)
-	//查看企业详情
-	EntInfo(context.Context, *CheckEntReq) (*EntInfoResp, error)
-	// 冻结/解冻企业
-	EntUpdate(context.Context, *EntUpdateReq) (*ExamineResp, error)
-	//查看审核详情
-	ExamineInfo(context.Context, *CheckExamineReq) (*EntInfoResp, error)
-	//根据统一社会信用代码查询企业状态
-	GetStatusByCode(context.Context, *GetStatusByCodeReq) (*GetStatusByCodeResp, error)
-	mustEmbedUnimplementedUserCenterServer()
-}
-
-// UnimplementedUserCenterServer must be embedded to have forward compatible implementations.
-type UnimplementedUserCenterServer struct {
-}
-
-func (UnimplementedUserCenterServer) EntAuth(context.Context, *EntAuthReq) (*EntAuthResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method EntAuth not implemented")
-}
-func (UnimplementedUserCenterServer) EntExamine(context.Context, *ExamineReq) (*ExamineResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method EntExamine not implemented")
-}
-func (UnimplementedUserCenterServer) EntList(context.Context, *EntListReq) (*EntListResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method EntList not implemented")
-}
-func (UnimplementedUserCenterServer) ExamineList(context.Context, *ExamineListReq) (*ExamineListResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method ExamineList not implemented")
-}
-func (UnimplementedUserCenterServer) CheckEnt(context.Context, *CheckEntReq) (*CheckEntResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method CheckEnt not implemented")
-}
-func (UnimplementedUserCenterServer) EntInfo(context.Context, *CheckEntReq) (*EntInfoResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method EntInfo not implemented")
-}
-func (UnimplementedUserCenterServer) EntUpdate(context.Context, *EntUpdateReq) (*ExamineResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method EntUpdate not implemented")
-}
-func (UnimplementedUserCenterServer) ExamineInfo(context.Context, *CheckExamineReq) (*EntInfoResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method ExamineInfo not implemented")
-}
-func (UnimplementedUserCenterServer) GetStatusByCode(context.Context, *GetStatusByCodeReq) (*GetStatusByCodeResp, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method GetStatusByCode not implemented")
-}
-func (UnimplementedUserCenterServer) mustEmbedUnimplementedUserCenterServer() {}
-
-// UnsafeUserCenterServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to UserCenterServer will
-// result in compilation errors.
-type UnsafeUserCenterServer interface {
-	mustEmbedUnimplementedUserCenterServer()
-}
-
-func RegisterUserCenterServer(s grpc.ServiceRegistrar, srv UserCenterServer) {
-	s.RegisterService(&UserCenter_ServiceDesc, srv)
-}
-
-func _UserCenter_EntAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(EntAuthReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).EntAuth(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/EntAuth",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).EntAuth(ctx, req.(*EntAuthReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_EntExamine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(ExamineReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).EntExamine(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/EntExamine",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).EntExamine(ctx, req.(*ExamineReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_EntList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(EntListReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).EntList(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/EntList",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).EntList(ctx, req.(*EntListReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_ExamineList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(ExamineListReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).ExamineList(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/ExamineList",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).ExamineList(ctx, req.(*ExamineListReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_CheckEnt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CheckEntReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).CheckEnt(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/CheckEnt",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).CheckEnt(ctx, req.(*CheckEntReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_EntInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CheckEntReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).EntInfo(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/EntInfo",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).EntInfo(ctx, req.(*CheckEntReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_EntUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(EntUpdateReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).EntUpdate(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/EntUpdate",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).EntUpdate(ctx, req.(*EntUpdateReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_ExamineInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CheckExamineReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).ExamineInfo(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/ExamineInfo",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).ExamineInfo(ctx, req.(*CheckExamineReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _UserCenter_GetStatusByCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(GetStatusByCodeReq)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(UserCenterServer).GetStatusByCode(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/UserCenter/GetStatusByCode",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(UserCenterServer).GetStatusByCode(ctx, req.(*GetStatusByCodeReq))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-// UserCenter_ServiceDesc is the grpc.ServiceDesc for UserCenter service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var UserCenter_ServiceDesc = grpc.ServiceDesc{
-	ServiceName: "UserCenter",
-	HandlerType: (*UserCenterServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "EntAuth",
-			Handler:    _UserCenter_EntAuth_Handler,
-		},
-		{
-			MethodName: "EntExamine",
-			Handler:    _UserCenter_EntExamine_Handler,
-		},
-		{
-			MethodName: "EntList",
-			Handler:    _UserCenter_EntList_Handler,
-		},
-		{
-			MethodName: "ExamineList",
-			Handler:    _UserCenter_ExamineList_Handler,
-		},
-		{
-			MethodName: "CheckEnt",
-			Handler:    _UserCenter_CheckEnt_Handler,
-		},
-		{
-			MethodName: "EntInfo",
-			Handler:    _UserCenter_EntInfo_Handler,
-		},
-		{
-			MethodName: "EntUpdate",
-			Handler:    _UserCenter_EntUpdate_Handler,
-		},
-		{
-			MethodName: "ExamineInfo",
-			Handler:    _UserCenter_ExamineInfo_Handler,
-		},
-		{
-			MethodName: "GetStatusByCode",
-			Handler:    _UserCenter_GetStatusByCode_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "userCenter.proto",
-}

+ 55 - 21
rpc/userCenter.proto

@@ -44,12 +44,13 @@ message ExamineReq{
 message ExamineResp{
 	int64   error_code = 1;
 	string  error_msg = 2;
-	message ExamineData{
-		int64 status = 1;
-	}
 	ExamineData data =3;
 }
 
+message ExamineData{
+	int64 status = 1;
+}
+
 //企业列表入参
 message EntListReq{
 	string name = 1;//企业名称
@@ -135,13 +136,14 @@ message CheckEntReq{
 message CheckEntResp{
 	int64   error_code = 1;
 	string  error_msg = 2;
-	message checkData {
-		int64 authStatus =1;//企业是否认证 -1 未通过,0 未认证,1 已认证. -2 已到期 3待审核
-		int64 frozenStatus =2; //冻结  1正常  0冻结
-	}
 	checkData data =3;
 }
 
+message checkData {
+	int64 authStatus =1;//企业是否认证 -1 未通过,0 未认证,1 已认证. -2 已到期 3待审核
+	int64 frozenStatus =2; //冻结  1正常  0冻结
+}
+
 message EntInfoResp{
 	int64   error_code = 1;
 	string  error_msg = 2;
@@ -192,30 +194,62 @@ message GetStatusByCodeReq{
 message GetStatusByCodeResp{
 	int64   error_code = 1;
 	string  error_msg = 2;
-	message GetStatusByCode {
-		int64 authStatus =1;//企业是否认证 -1 未通过,0 未认证,1 已认证. -2 已到期 3待审核
-		bool isInEnt =2; //是否在该企业内
-	}
 	GetStatusByCode data = 3; //详情
 }
 
+message GetStatusByCode {
+	int64 authStatus =1;//企业是否认证 -1 未通过,0 未认证,1 已认证. -2 已到期 3待审核
+	bool isInEnt =2; //是否在该企业内
+}
+
+message UserAddReq {
+	string appid = 1;
+	string phone = 2;
+	string nickname = 3;
+	string headimg = 4;
+	string company = 5;
+	string position = 6;
+	string password = 7;
+	string openid = 8;
+	string unionid = 9;
+}
+
+message UserIdReq {
+	string appid = 1;
+	int64 id = 2; 
+	string phone = 3;
+	string nickname = 4;
+	string headimg = 5;
+	string company = 6;
+	string position = 7;
+	string password = 8;
+	string openid = 9;
+	string unionid = 10;
+}
+
 service UserCenter {
 	//企业认证
 	rpc EntAuth (EntAuthReq) returns (EntAuthResp);
 	//机构审核
-	rpc EntExamine(ExamineReq) returns (ExamineResp);
+	rpc EntExamine (ExamineReq) returns (ExamineResp);
 	//企业列表
-	rpc EntList(EntListReq) returns (EntListResp);
+	rpc EntList (EntListReq) returns (EntListResp);
 	//审核列表
-	rpc ExamineList (ExamineListReq)returns (ExamineListResp);
+	rpc ExamineList (ExamineListReq) returns (ExamineListResp);
 	//查看企业状态
-	rpc CheckEnt (CheckEntReq) returns(CheckEntResp);
+	rpc CheckEnt (CheckEntReq) returns (CheckEntResp);
 	//查看企业详情
-	rpc EntInfo (CheckEntReq)returns (EntInfoResp);
-	// 冻结/解冻企业
-	rpc EntUpdate (EntUpdateReq) returns(ExamineResp);
+	rpc EntInfo (CheckEntReq) returns (EntInfoResp);
+	//冻结/解冻企业
+	rpc EntUpdate (EntUpdateReq) returns (ExamineResp);
 	//查看审核详情
-	rpc ExamineInfo(CheckExamineReq) returns (EntInfoResp);
+	rpc ExamineInfo (CheckExamineReq) returns (EntInfoResp);
 	//根据统一社会信用代码查询企业状态
-	rpc GetStatusByCode(GetStatusByCodeReq) returns(GetStatusByCodeResp);
-}
+	rpc GetStatusByCode(GetStatusByCodeReq) returns (GetStatusByCodeResp);
+	//新增用户
+	rpc UserAdd (UserAddReq) returns (ExamineResp);
+	//更新用户
+	rpc UserUpdate (UserIdReq) returns (ExamineResp);
+	//删除用户
+	rpc UserDel (UserIdReq) returns (ExamineResp);
+ }

+ 81 - 54
rpc/usercenter/usercenter.go

@@ -1,6 +1,8 @@
 // Code generated by goctl. DO NOT EDIT!
 // Source: userCenter.proto
 
+//go:generate mockgen -destination ./usercenter_mock.go -package usercenter -source $GOFILE
+
 package usercenter
 
 import (
@@ -9,54 +11,61 @@ import (
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
 
 	"github.com/zeromicro/go-zero/zrpc"
-	"google.golang.org/grpc"
 )
 
 type (
-	CheckEntReq                         = pb.CheckEntReq
-	CheckEntResp                        = pb.CheckEntResp
-	CheckEntRespCheckData               = pb.CheckEntRespCheckData
-	CheckExamineReq                     = pb.CheckExamineReq
-	EntAuthData                         = pb.EntAuthData
-	EntAuthReq                          = pb.EntAuthReq
-	EntAuthResp                         = pb.EntAuthResp
-	EntData                             = pb.EntData
-	EntInfoData                         = pb.EntInfoData
-	EntInfoResp                         = pb.EntInfoResp
-	EntList                             = pb.EntList
-	EntListReq                          = pb.EntListReq
-	EntListResp                         = pb.EntListResp
-	EntUpdateReq                        = pb.EntUpdateReq
-	ExamineList                         = pb.ExamineList
-	ExamineListData                     = pb.ExamineListData
-	ExamineListReq                      = pb.ExamineListReq
-	ExamineListResp                     = pb.ExamineListResp
-	ExamineReq                          = pb.ExamineReq
-	ExamineResp                         = pb.ExamineResp
-	ExamineResp_ExamineData             = pb.ExamineResp_ExamineData
-	GetStatusByCodeReq                  = pb.GetStatusByCodeReq
-	GetStatusByCodeResp                 = pb.GetStatusByCodeResp
-	GetStatusByCodeResp_GetStatusByCode = pb.GetStatusByCodeResp_GetStatusByCode
+	EntListReq          = pb.EntListReq
+	EntListResp         = pb.EntListResp
+	EntInfoData         = pb.EntInfoData
+	GetStatusByCodeResp = pb.GetStatusByCodeResp
+	CheckExamineReq     = pb.CheckExamineReq
+	GetStatusByCodeReq  = pb.GetStatusByCodeReq
+	EntAuthData         = pb.EntAuthData
+	ExamineListResp     = pb.ExamineListResp
+	ExamineListData     = pb.ExamineListData
+	CheckEntReq         = pb.CheckEntReq
+	CheckEntResp        = pb.CheckEntResp
+	CheckData           = pb.CheckData
+	GetStatusByCode     = pb.GetStatusByCode
+	EntList             = pb.EntList
+	EntInfoResp         = pb.EntInfoResp
+	EntUpdateReq        = pb.EntUpdateReq
+	UserAddReq          = pb.UserAddReq
+	UserIdReq           = pb.UserIdReq
+	ExamineListReq      = pb.ExamineListReq
+	ExamineList         = pb.ExamineList
+	EntAuthReq          = pb.EntAuthReq
+	EntAuthResp         = pb.EntAuthResp
+	ExamineReq          = pb.ExamineReq
+	ExamineResp         = pb.ExamineResp
+	ExamineData         = pb.ExamineData
+	EntData             = pb.EntData
 
 	UserCenter interface {
 		// 企业认证
-		EntAuth(ctx context.Context, in *EntAuthReq, opts ...grpc.CallOption) (*EntAuthResp, error)
+		EntAuth(ctx context.Context, in *EntAuthReq) (*EntAuthResp, error)
 		// 机构审核
-		EntExamine(ctx context.Context, in *ExamineReq, opts ...grpc.CallOption) (*ExamineResp, error)
+		EntExamine(ctx context.Context, in *ExamineReq) (*ExamineResp, error)
 		// 企业列表
-		EntList(ctx context.Context, in *EntListReq, opts ...grpc.CallOption) (*EntListResp, error)
+		EntList(ctx context.Context, in *EntListReq) (*EntListResp, error)
 		// 审核列表
-		ExamineList(ctx context.Context, in *ExamineListReq, opts ...grpc.CallOption) (*ExamineListResp, error)
+		ExamineList(ctx context.Context, in *ExamineListReq) (*ExamineListResp, error)
 		// 查看企业状态
-		CheckEnt(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*CheckEntResp, error)
+		CheckEnt(ctx context.Context, in *CheckEntReq) (*CheckEntResp, error)
 		// 查看企业详情
-		EntInfo(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*EntInfoResp, error)
-		//  冻结/解冻企业
-		EntUpdate(ctx context.Context, in *EntUpdateReq, opts ...grpc.CallOption) (*ExamineResp, error)
+		EntInfo(ctx context.Context, in *CheckEntReq) (*EntInfoResp, error)
+		// 冻结/解冻企业
+		EntUpdate(ctx context.Context, in *EntUpdateReq) (*ExamineResp, error)
 		// 查看审核详情
-		ExamineInfo(ctx context.Context, in *CheckExamineReq, opts ...grpc.CallOption) (*EntInfoResp, error)
+		ExamineInfo(ctx context.Context, in *CheckExamineReq) (*EntInfoResp, error)
 		// 根据统一社会信用代码查询企业状态
-		GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq, opts ...grpc.CallOption) (*GetStatusByCodeResp, error)
+		GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq) (*GetStatusByCodeResp, error)
+		// 新增用户
+		UserAdd(ctx context.Context, in *UserAddReq) (*ExamineResp, error)
+		// 更新用户
+		UserUpdate(ctx context.Context, in *UserIdReq) (*ExamineResp, error)
+		// 删除用户
+		UserDel(ctx context.Context, in *UserIdReq) (*ExamineResp, error)
 	}
 
 	defaultUserCenter struct {
@@ -71,55 +80,73 @@ func NewUserCenter(cli zrpc.Client) UserCenter {
 }
 
 // 企业认证
-func (m *defaultUserCenter) EntAuth(ctx context.Context, in *EntAuthReq, opts ...grpc.CallOption) (*EntAuthResp, error) {
+func (m *defaultUserCenter) EntAuth(ctx context.Context, in *EntAuthReq) (*EntAuthResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.EntAuth(ctx, in, opts...)
+	return client.EntAuth(ctx, in)
 }
 
 // 机构审核
-func (m *defaultUserCenter) EntExamine(ctx context.Context, in *ExamineReq, opts ...grpc.CallOption) (*ExamineResp, error) {
+func (m *defaultUserCenter) EntExamine(ctx context.Context, in *ExamineReq) (*ExamineResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.EntExamine(ctx, in, opts...)
+	return client.EntExamine(ctx, in)
 }
 
 // 企业列表
-func (m *defaultUserCenter) EntList(ctx context.Context, in *EntListReq, opts ...grpc.CallOption) (*EntListResp, error) {
+func (m *defaultUserCenter) EntList(ctx context.Context, in *EntListReq) (*EntListResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.EntList(ctx, in, opts...)
+	return client.EntList(ctx, in)
 }
 
 // 审核列表
-func (m *defaultUserCenter) ExamineList(ctx context.Context, in *ExamineListReq, opts ...grpc.CallOption) (*ExamineListResp, error) {
+func (m *defaultUserCenter) ExamineList(ctx context.Context, in *ExamineListReq) (*ExamineListResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.ExamineList(ctx, in, opts...)
+	return client.ExamineList(ctx, in)
 }
 
 // 查看企业状态
-func (m *defaultUserCenter) CheckEnt(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*CheckEntResp, error) {
+func (m *defaultUserCenter) CheckEnt(ctx context.Context, in *CheckEntReq) (*CheckEntResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.CheckEnt(ctx, in, opts...)
+	return client.CheckEnt(ctx, in)
 }
 
 // 查看企业详情
-func (m *defaultUserCenter) EntInfo(ctx context.Context, in *CheckEntReq, opts ...grpc.CallOption) (*EntInfoResp, error) {
+func (m *defaultUserCenter) EntInfo(ctx context.Context, in *CheckEntReq) (*EntInfoResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.EntInfo(ctx, in, opts...)
+	return client.EntInfo(ctx, in)
 }
 
-//  冻结/解冻企业
-func (m *defaultUserCenter) EntUpdate(ctx context.Context, in *EntUpdateReq, opts ...grpc.CallOption) (*ExamineResp, error) {
+// 冻结/解冻企业
+func (m *defaultUserCenter) EntUpdate(ctx context.Context, in *EntUpdateReq) (*ExamineResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.EntUpdate(ctx, in, opts...)
+	return client.EntUpdate(ctx, in)
 }
 
 // 查看审核详情
-func (m *defaultUserCenter) ExamineInfo(ctx context.Context, in *CheckExamineReq, opts ...grpc.CallOption) (*EntInfoResp, error) {
+func (m *defaultUserCenter) ExamineInfo(ctx context.Context, in *CheckExamineReq) (*EntInfoResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.ExamineInfo(ctx, in, opts...)
+	return client.ExamineInfo(ctx, in)
 }
 
 // 根据统一社会信用代码查询企业状态
-func (m *defaultUserCenter) GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq, opts ...grpc.CallOption) (*GetStatusByCodeResp, error) {
+func (m *defaultUserCenter) GetStatusByCode(ctx context.Context, in *GetStatusByCodeReq) (*GetStatusByCodeResp, error) {
+	client := pb.NewUserCenterClient(m.cli.Conn())
+	return client.GetStatusByCode(ctx, in)
+}
+
+// 新增用户
+func (m *defaultUserCenter) UserAdd(ctx context.Context, in *UserAddReq) (*ExamineResp, error) {
+	client := pb.NewUserCenterClient(m.cli.Conn())
+	return client.UserAdd(ctx, in)
+}
+
+// 更新用户
+func (m *defaultUserCenter) UserUpdate(ctx context.Context, in *UserIdReq) (*ExamineResp, error) {
+	client := pb.NewUserCenterClient(m.cli.Conn())
+	return client.UserUpdate(ctx, in)
+}
+
+// 删除用户
+func (m *defaultUserCenter) UserDel(ctx context.Context, in *UserIdReq) (*ExamineResp, error) {
 	client := pb.NewUserCenterClient(m.cli.Conn())
-	return client.GetStatusByCode(ctx, in, opts...)
+	return client.UserDel(ctx, in)
 }

+ 138 - 0
service/user.go

@@ -0,0 +1,138 @@
+package service
+
+import (
+	"database/sql"
+	"time"
+
+	"bp.jydev.jianyu360.cn/BaseService/userCenter/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
+)
+
+func UserAdd(this *UserAddReq) *ExamineResp {
+	userId := entity.Mysql.Insert(entity.UserTable, map[string]interface{}{
+		"appid":       this.Appid,
+		"phone":       this.Phone,
+		"nickname":    this.Nickname,
+		"headimg":     this.Headimg,
+		"company":     this.Company,
+		"position":    this.Position,
+		"password":    this.Password,
+		"openid":      this.Openid,
+		"unionid":     this.Unionid,
+		"create_time": time.Now().Format("2006-01-02 15:04:05"),
+	})
+	status := 0
+	if userId > 0 {
+		status = 1
+	}
+	return &ExamineResp{
+		ErrorCode: 1,
+		ErrorMsg:  "成功",
+		Data:      &ExamineData{Status: int64(status)},
+	}
+}
+
+func UserUpdate(this *UserIdReq) *ExamineResp {
+	ok := UserUpdates(this)
+	status := 0
+	if ok {
+		status = 1
+	}
+	return &ExamineResp{
+		ErrorCode: 1,
+		ErrorMsg:  "成功",
+		Data:      &ExamineData{Status: int64(status)},
+	}
+}
+
+func UserDel(this *UserIdReq) *ExamineResp {
+	ok := UserDels(this)
+	status := 0
+	if ok {
+		status = 1
+	}
+	return &ExamineResp{
+		ErrorCode: 1,
+		ErrorMsg:  "成功",
+		Data:      &ExamineData{Status: int64(status)},
+	}
+}
+
+func UserUpdates(this *UserIdReq) bool {
+	ok := false
+	flag := entity.Mysql.ExecTx("", func(tx *sql.Tx) bool {
+		set := map[string]interface{}{}
+		if this.Phone != "" {
+			set["phone"] = this.Phone
+		}
+		if this.Nickname != "" {
+			set["nickname"] = this.Nickname
+		}
+		if this.Headimg != "" {
+			set["headimg"] = this.Headimg
+		}
+		if this.Company != "" {
+			set["company"] = this.Company
+		}
+		if this.Position != "" {
+			set["position"] = this.Position
+		}
+		if this.Password != "" {
+			set["password"] = this.Password
+		}
+		if this.Openid != "" {
+			set["openid"] = this.Openid
+		}
+		if this.Unionid != "" {
+			set["unionid"] = this.Unionid
+		}
+		ok1 := entity.Mysql.UpdateByTx(tx, entity.UserTable, map[string]interface{}{"id": this.Id}, set)
+		snapshot := entity.Mysql.InsertByTx(tx, entity.UserSnapshotTable, map[string]interface{}{
+			"appid":       this.Appid,
+			"user_id":     this.Id,
+			"phone":       this.Phone,
+			"nickname":    this.Nickname,
+			"headimg":     this.Headimg,
+			"company":     this.Company,
+			"position":    this.Position,
+			"password":    this.Password,
+			"openid":      this.Openid,
+			"unionid":     this.Unionid,
+			"create_time": time.Now().Format("2006-01-02 15:04:05"),
+		})
+		return ok1 && snapshot > 0
+	})
+	if flag {
+		ok = true
+	}
+	return ok
+}
+
+func UserDels(this *UserIdReq) bool {
+	ok := false
+	userData := entity.Mysql.FindOne(entity.UserTable, map[string]interface{}{"id": this.Id}, "", "")
+	if userData != nil && len(*userData) > 0 {
+		flag := entity.Mysql.ExecTx("", func(tx *sql.Tx) bool {
+			thisdata := *userData
+			ok1 := entity.Mysql.DeleteByTx(tx, entity.UserTable, map[string]interface{}{"id": this.Id})
+			snapshot := entity.Mysql.InsertByTx(tx, entity.UserSnapshotTable, map[string]interface{}{
+				"appid":       thisdata["appid"],
+				"user_id":     this.Id,
+				"phone":       thisdata["phone"],
+				"nickname":    thisdata["nickname"],
+				"headimg":     thisdata["headimg"],
+				"company":     thisdata["company"],
+				"position":    thisdata["position"],
+				"password":    thisdata["password"],
+				"openid":      thisdata["openid"],
+				"unionid":     thisdata["unionid"],
+				"create_time": time.Now().Format("2006-01-02 15:04:05"),
+			})
+			return ok1 && snapshot > 0
+		})
+		if flag {
+			ok = true
+		}
+	}
+	return ok
+}

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません