소스 검색

feat:新增api

wangchuanjin 3 년 전
부모
커밋
5a715e8f04

BIN
api/api.exe


+ 20 - 0
api/etc/resource.yaml

@@ -0,0 +1,20 @@
+Name: resource
+Host: 0.0.0.0
+Port: 1006
+Etcd:
+  Hosts:
+  - 127.0.0.1:2379
+  Key: resource.api
+Mysql:
+  BaseService:
+    DBName: base_service
+    Address: 192.168.3.11:3366
+    UserName: root
+    PassWord: Topnet123
+    MaxOpenConns: 5
+    MaxIdleConns: 5
+Logx:
+  Mode: console #console|file|volume
+  Path: logs
+  Level: info #info|error|severe
+  KeepDays: 100

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

@@ -0,0 +1,17 @@
+package config
+
+import (
+	. "app.yhyue.com/moapp/jybase/mysql"
+	"github.com/zeromicro/go-zero/core/discov"
+	"github.com/zeromicro/go-zero/core/logx"
+	"github.com/zeromicro/go-zero/rest"
+)
+
+type Config struct {
+	rest.RestConf
+	Etcd  discov.EtcdConf
+	Mysql struct {
+		BaseService *Mysql
+	}
+	Logx logx.LogConf
+}

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

@@ -0,0 +1,22 @@
+// Code generated by goctl. DO NOT EDIT.
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/svc"
+
+	"github.com/zeromicro/go-zero/rest"
+)
+
+func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
+	server.AddRoutes(
+		[]rest.Route{
+			{
+				Method:  http.MethodPost,
+				Path:    "/resourceCenter/surplus",
+				Handler: surplusDetailHandler(serverCtx),
+			},
+		},
+	)
+}

+ 28 - 0
api/internal/handler/surplusdetailhandler.go

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

+ 54 - 0
api/internal/logic/surplusdetaillogic.go

@@ -0,0 +1,54 @@
+package logic
+
+import (
+	"context"
+	"fmt"
+
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/types"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type SurplusDetailLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewSurplusDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SurplusDetailLogic {
+	return &SurplusDetailLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+//资源剩余详情
+func (l *SurplusDetailLogic) SurplusDetail(req *types.SurplusReq) (resp *types.Reply, err error) {
+	resp = &types.Reply{}
+	if req.Appid == "" {
+		resp.Err_msg = "无效的参数appid"
+		l.Error(fmt.Sprintf("%+v", req), resp.Err_msg)
+		return resp, nil
+	} else if req.Function_code == "" {
+		resp.Err_msg = "无效的参数function_code"
+		l.Error(fmt.Sprintf("%+v", req), resp.Err_msg)
+		return resp, nil
+	} else if req.User_id == 0 && req.Ent_id == 0 && req.Ent_user_id == 0 {
+		resp.Err_msg = "无效的参数user_id、ent_id、ent_user_id"
+		l.Error(fmt.Sprintf("%+v", req), resp.Err_msg)
+		return resp, nil
+	}
+	status, total, surplus, err := Surplus(req.Appid, req.Function_code, req.User_id, req.Ent_id, req.Ent_user_id)
+	if err != nil {
+		resp.Err_msg = err.Error()
+		l.Error(fmt.Sprintf("%+v", req), resp.Err_msg)
+	}
+	resp.Err_code = status
+	resp.Data = &types.SurplusData{
+		Total:   total,
+		Surplus: surplus,
+	}
+	return
+}

+ 15 - 0
api/internal/svc/servicecontext.go

@@ -0,0 +1,15 @@
+package svc
+
+import (
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/config"
+)
+
+type ServiceContext struct {
+	Config config.Config
+}
+
+func NewServiceContext(c config.Config) *ServiceContext {
+	return &ServiceContext{
+		Config: c,
+	}
+}

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

@@ -0,0 +1,22 @@
+// Code generated by goctl. DO NOT EDIT.
+package types
+
+type SurplusReq struct {
+	Appid         string `json:"appid"`
+	Function_code string `json:"function_code"`
+	Muser_id      string `json:"userId,optional"`
+	User_id       int64  `json:"newUserId,optional"`
+	Ent_id        int64  `json:"entId,optional"`
+	Ent_user_id   int64  `json:"entUserId,optional"`
+}
+
+type Reply struct {
+	Err_code int64       `json:"err_code"`
+	Err_msg  string      `json:"err_msg"`
+	Data     interface{} `json:"data"`
+}
+
+type SurplusData struct {
+	Surplus int64 `json:"surplus"`
+	Total   int64 `json:"total"`
+}

+ 35 - 0
api/resource.api

@@ -0,0 +1,35 @@
+syntax = "v1"
+
+info(
+	author: "wangchuanjin"
+	date:   "2022-04-19"
+	desc:   "资源中台相关api"
+)
+
+type (
+	surplusReq {
+		Appid         string `json:"appid"`
+		Function_code string `json:"function_code"`
+		Muser_id      string `json:"userId,optional"`
+		User_id       int64  `json:"newUserId,optional"`
+		Ent_id        int64  `json:"entId,optional"`
+		Ent_user_id   int64  `json:"entUserId,optional"`
+	}
+
+	Reply {
+		Err_code int64       `json:"err_code"`
+		Err_msg  string      `json:"err_msg"`
+		Data     interface{} `json:"data"`
+	}
+
+	surplusData {
+		Surplus int64 `json:"surplus"`
+		Total   int64 `json:"total"`
+	}
+)
+
+service resource {
+	@doc "获取资源剩余详情"
+	@handler surplusDetail
+	post /resourceCenter/surplus (surplusReq) returns (Reply)
+}

+ 47 - 0
api/resource.go

@@ -0,0 +1,47 @@
+package main
+
+import (
+	"flag"
+	"fmt"
+	"os"
+	"os/signal"
+	"syscall"
+
+	"bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/config"
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/handler"
+	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/svc"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
+	"github.com/zeromicro/go-zero/core/conf"
+	"github.com/zeromicro/go-zero/core/logx"
+	"github.com/zeromicro/go-zero/rest"
+)
+
+var configFile = flag.String("f", "etc/resource.yaml", "the config file")
+
+func main() {
+	flag.Parse()
+	var c config.Config
+	conf.MustLoad(*configFile, &c)
+	closeNotify, err := node.NewNode(c.Etcd.Hosts...).Register(c.Etcd.Key, fmt.Sprint(c.Port))
+	if err != nil {
+		panic(err)
+	}
+	// logx 根据配置初始化
+	logx.MustSetup(c.Logx)
+	//初始化mysql
+	InitMysql(c.Mysql.BaseService)
+	//
+	ctx := svc.NewServiceContext(c)
+	server := rest.MustNewServer(c.RestConf)
+	defer server.Stop()
+	handler.RegisterHandlers(server, ctx)
+
+	fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
+	server.Start()
+
+	quit := make(chan os.Signal, 1)
+	signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
+	<-quit
+	closeNotify()
+}

+ 6 - 2
go.mod

@@ -3,7 +3,8 @@ module bp.jydev.jianyu360.cn/BaseService/resourceCenter
 go 1.18
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20220418104200-46c3fff161c7
+	app.yhyue.com/moapp/jybase v0.0.0-20220420032112-668025915ee4
+	bp.jydev.jianyu360.cn/BaseService/gateway v0.0.0-20220419090715-88ddb32961be
 	github.com/zeromicro/go-zero v1.3.2
 	google.golang.org/grpc v1.45.0
 	google.golang.org/protobuf v1.28.0
@@ -22,15 +23,18 @@ require (
 	github.com/go-redis/redis/v8 v8.11.4 // indirect
 	github.com/go-sql-driver/mysql v1.6.0 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
+	github.com/golang-jwt/jwt/v4 v4.2.0 // indirect
 	github.com/golang/mock v1.6.0 // indirect
 	github.com/golang/protobuf v1.5.2 // indirect
 	github.com/google/go-cmp v0.5.7 // indirect
 	github.com/google/gofuzz v1.2.0 // indirect
+	github.com/google/uuid v1.3.0 // indirect
 	github.com/googleapis/gnostic v0.4.1 // indirect
 	github.com/hashicorp/golang-lru v0.5.1 // indirect
 	github.com/jinzhu/inflection v1.0.0 // indirect
 	github.com/jinzhu/now v1.1.1 // indirect
 	github.com/json-iterator/go v1.1.12 // indirect
+	github.com/justinas/alice v1.2.0 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
 	github.com/modern-go/reflect2 v1.0.2 // indirect
@@ -57,7 +61,7 @@ require (
 	golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect
 	golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 // indirect
 	golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
-	golang.org/x/text v0.3.7 // indirect
+	golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2 // indirect
 	golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
 	google.golang.org/genproto v0.0.0-20220228195345-15d65a4533f7 // indirect

+ 46 - 4
go.sum

@@ -1,6 +1,12 @@
 app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d/go.mod h1:91/lSD/hS+ckMVP3WdidRzDhC60lLMdyce9QHy0cSMA=
-app.yhyue.com/moapp/jybase v0.0.0-20220418104200-46c3fff161c7 h1:LqxpxJvesxVSlXW+kgRntHd35wkw490TaKQXcLbDJfw=
-app.yhyue.com/moapp/jybase v0.0.0-20220418104200-46c3fff161c7/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
+app.yhyue.com/moapp/jybase v0.0.0-20220415064050-37ce64b3e2d4/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
+app.yhyue.com/moapp/jybase v0.0.0-20220420032112-668025915ee4 h1:GD3/xYydpFEHe3qQ1pXTTucuhxDP8eEdZIrbu2Iz10I=
+app.yhyue.com/moapp/jybase v0.0.0-20220420032112-668025915ee4/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
+bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
+bp.jydev.jianyu360.cn/BaseService/gateway v0.0.0-20220419090715-88ddb32961be h1:YCPWJEM8JHtV5ush0OEB85mKKsn2hpzKNmFhnbXyMRY=
+bp.jydev.jianyu360.cn/BaseService/gateway v0.0.0-20220419090715-88ddb32961be/go.mod h1:Yj4oabIGItuMoF0BXYLz2XAnF581kxgXBrvlUtIJrkI=
+bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220418005748-8ba5d936dd53/go.mod h1:E5lcDI3k4FESLxiAetCfWQTq8qfpy9cv0yN1oKoEO34=
+bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220418072311-2062bed1e700/go.mod h1:KjcrxTzM96tBc6G4B8tlLBn1lrVy5UJYF8+eTdP4xAE=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -44,6 +50,8 @@ github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935
 github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
 github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
+github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
 github.com/ClickHouse/clickhouse-go v1.5.1/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
 github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
@@ -79,6 +87,8 @@ github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/clbanning/mxj/v2 v2.5.5 h1:oT81vUeEiQQ/DcHbzSytRngP6Ky9O+L+0Bw0zSJag9E=
+github.com/clbanning/mxj/v2 v2.5.5/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
@@ -120,12 +130,15 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
+github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
+github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
 github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
+github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
 github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
 github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -163,6 +176,7 @@ github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfC
 github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
+github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
 github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
 github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
 github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
@@ -188,9 +202,12 @@ github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGt
 github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
 github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/gogf/gf/v2 v2.0.6 h1:2etb4FMpbQKWIJO+UjtIWrZUp01HUsFb6Po8pgizAWk=
+github.com/gogf/gf/v2 v2.0.6/go.mod h1:8uYzw7qNzuq8vrhVlWke1b1925FFqOJIgmyYW1sr/0M=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU=
 github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -265,7 +282,11 @@ github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3i
 github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
 github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
 github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
+github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
@@ -304,6 +325,7 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
+github.com/justinas/alice v1.2.0 h1:+MHSA/vccVCF4Uq37S42jwlkvI2Xzl7zTPCN5BnZNVo=
 github.com/justinas/alice v1.2.0/go.mod h1:fN5HRH/reO/zrUflLfTN43t3vXvKzvZIENsNEe7i7qA=
 github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
 github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
@@ -326,6 +348,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
+github.com/longbridgeapp/sqlparser v0.3.1 h1:iWOZWGIFgQrJRgobLXUNJdvqGRpbVXkyKUKUA5CNJBE=
+github.com/longbridgeapp/sqlparser v0.3.1/go.mod h1:GIHaUq8zvYyHLCLMJJykx1CdM6LHtkUih/QaJXySSx4=
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
@@ -333,8 +357,13 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
 github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
 github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
 github.com/mattn/go-colorable v0.1.8/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.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
+github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
@@ -354,9 +383,11 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW
 github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
+github.com/nsqio/go-nsq v1.1.0/go.mod h1:vKq36oyeVXgsS5Q8YEO7WghqidAVXQlcFxzQbQTuDEY=
 github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
 github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
+github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
 github.com/olivere/elastic v6.2.37+incompatible/go.mod h1:J+q1zQJTgAz9woqsbVRqGeB5G1iqDKVBWLNSYW8yfJ8=
 github.com/olivere/elastic/v7 v7.0.22/go.mod h1:VDexNy9NjmtAkrjNoI7tImv7FR4tf5zUA3ickqu5Pc8=
@@ -410,6 +441,7 @@ github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0
 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
 github.com/rabbitmq/amqp091-go v1.1.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM=
 github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
+github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -458,6 +490,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg=
 github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA=
 github.com/zeromicro/go-zero v1.3.2 h1:2HcmceZDEGwZWvofCG+0GXyh+Gtz/wKCW4Fq8Mb7KIg=
@@ -475,14 +508,17 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg=
 go.opentelemetry.io/otel v1.3.0 h1:APxLf0eiBwLl+SOXiJJCVYzA1OOJNyAoV8C5RNRyy7Y=
 go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs=
 go.opentelemetry.io/otel/exporters/jaeger v1.3.0 h1:HfydzioALdtcB26H5WHc4K47iTETJCdloL7VN579/L0=
 go.opentelemetry.io/otel/exporters/jaeger v1.3.0/go.mod h1:KoYHi1BtkUPncGSRtCe/eh1ijsnePhSkxwzz07vU0Fc=
 go.opentelemetry.io/otel/exporters/zipkin v1.3.0 h1:uOD28dZ7yIKITTcUS6MeAGNHYy3uhP7DTkhcJM6onlQ=
 go.opentelemetry.io/otel/exporters/zipkin v1.3.0/go.mod h1:LxGGfHIYbvsFnrJtBcazb0yG24xHdDGrT/H6RB9r3+8=
+go.opentelemetry.io/otel/sdk v1.0.0/go.mod h1:PCrDHlSy5x1kjezSdL37PhbFUMjrsLRshJ2zCzeXwbM=
 go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI=
 go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs=
+go.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs=
 go.opentelemetry.io/otel/trace v1.3.0 h1:doy8Hzb1RJ+I3yFhtDmwNc7tIyw1tNMOIsyPzp1NOGY=
 go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
@@ -582,7 +618,9 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
 golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc=
 golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -659,6 +697,8 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs=
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -672,8 +712,9 @@ 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.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2 h1:GLw7MR8AfAG2GmGcmVgObFOHXYypgGjnGno25RDwn3Y=
+golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2/go.mod h1:EFNZuWvGYxIRUEX+K8UmCFwYmZjqcrnq15ZuVldZkZ0=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -731,6 +772,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
 golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

+ 23 - 0
public/db/db.go

@@ -0,0 +1,23 @@
+package db
+
+import (
+	. "app.yhyue.com/moapp/jybase/mysql"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+var (
+	Mysql_BaseService *Mysql
+)
+
+func InitMysql(m *Mysql) {
+	Mysql_BaseService = &Mysql{
+		Address:      m.Address,
+		UserName:     m.UserName,
+		PassWord:     m.PassWord,
+		DBName:       m.DBName,
+		MaxOpenConns: m.MaxIdleConns,
+		MaxIdleConns: m.MaxIdleConns,
+	}
+	Mysql_BaseService.Init()
+	logx.Info("初始化 mysql baseService")
+}

+ 1 - 1
rpc/internal/entity/base_ent_empower.go → public/entity/base_ent_empower.go

@@ -2,7 +2,7 @@ package entity
 
 import (
 	. "app.yhyue.com/moapp/jybase/common"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
 )
 
 var Base_ent_empower = base_ent_empower{}

+ 1 - 1
rpc/internal/entity/base_function.go → public/entity/base_function.go

@@ -2,7 +2,7 @@ package entity
 
 import (
 	. "app.yhyue.com/moapp/jybase/common"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
 )
 
 var Base_function = base_function{}

+ 1 - 1
rpc/internal/entity/base_goods_function.go → public/entity/base_goods_function.go

@@ -4,7 +4,7 @@ import (
 	"strings"
 
 	. "app.yhyue.com/moapp/jybase/common"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
 )
 
 var Base_goods_function = base_goods_function{}

+ 1 - 1
rpc/internal/entity/base_power.go → public/entity/base_power.go

@@ -5,7 +5,7 @@ import (
 
 	. "app.yhyue.com/moapp/jybase/common"
 	. "app.yhyue.com/moapp/jybase/date"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
 	"github.com/zeromicro/go-zero/core/logx"
 )
 

+ 1 - 1
rpc/internal/entity/base_resource_use.go → public/entity/base_resource_use.go

@@ -5,7 +5,7 @@ import (
 	"errors"
 
 	. "app.yhyue.com/moapp/jybase/common"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
 )
 
 var Base_resource_use = base_resource_use{}

+ 0 - 0
rpc/internal/entity/base_resource_use_detail.go → public/entity/base_resource_use_detail.go


+ 107 - 0
public/service/surplus.go

@@ -0,0 +1,107 @@
+package service
+
+import (
+	"errors"
+	"time"
+
+	. "app.yhyue.com/moapp/jybase/date"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/entity"
+)
+
+/*
+ * 获取资源剩余情况
+ * @param appid
+ * @param function_code 功能代码
+ * @param user_id 用户id
+ * @param ent_id 企业id
+ * @return 状态 0:失败 1:成功 -1:不在有效期内 -2:数量不足 -3:没有授权
+ * @return 总数
+ * @return 剩余数
+ * @return 错误信息
+ */
+func Surplus(appid, function_code string, user_id, ent_id, ent_user_id int64) (int64, int64, int64, error) {
+	function := Base_function.FindByCode(appid, function_code)
+	if function == nil {
+		return 0, 0, 0, errors.New("功能原始表中没有找到该功能")
+	}
+	myPowers := Base_power.FindMyPower(appid, function_code, user_id, ent_id)
+	if myPowers == nil || len(*myPowers) == 0 {
+		return -1, 0, 0, errors.New("不在有效期内")
+	}
+	if function.Power_rule == 1 { //只对周期进行校验
+		return 1, 0, 0, nil
+	}
+	hasEmpower := func() bool {
+		empower := Base_ent_empower.FindMyEntId(appid, function_code, ent_id)
+		if empower != nil {
+			if len(*empower) == 1 {
+				if (*empower)[0].Ent_user_id == 0 {
+					return true
+				}
+			} else {
+				for _, vv := range *empower {
+					if vv.Ent_id == ent_id && vv.Ent_user_id == ent_user_id {
+						return true
+					}
+				}
+			}
+		}
+		return false
+	}
+	if function.Power_rule == 2 { //周期+数量校验
+		use_count, surplus_count := int64(0), int64(0)
+		for _, v := range *myPowers {
+			if v.Power_type == 2 && !hasEmpower() {
+				return -3, 0, 0, errors.New("没有对该用户进行授权")
+			}
+			use_count += v.Use_count
+			surplus_count += v.Surplus_count
+		}
+		if surplus_count > 0 {
+			return 1, use_count, surplus_count, nil
+		} else {
+			return -2, use_count, surplus_count, nil
+		}
+	} else if function.Power_rule == 3 { //周期+频率+数量校验
+		for _, v := range *myPowers {
+			if v.Power_type == 2 && !hasEmpower() {
+				return -3, 0, 0, errors.New("没有对该用户进行授权")
+			}
+			use, err := Base_resource_use.FindLastOne(appid, function_code, user_id, ent_id, v.Power_type)
+			if err != nil {
+				return 0, 0, 0, errors.New("查询资源使用记录失败")
+			} else if use == nil {
+				return 1, v.Strategy_count, v.Strategy_count, nil
+			}
+			create_time, err := time.ParseInLocation(Date_Full_Layout, use.Create_time, time.Local)
+			if err != nil {
+				return 0, 0, 0, errors.New("资源充值/消耗表创建时间错误," + err.Error())
+			}
+			now := time.Now()
+			if (*myPowers)[0].Limit_strategy == "1d" {
+				if create_time.Year() == now.Year() && create_time.Month() == now.Month() && create_time.Day() == now.Day() {
+					if use.Surplus_count > 0 {
+						return 1, v.Strategy_count, use.Surplus_count, nil
+					} else {
+						return -2, v.Strategy_count, use.Surplus_count, nil
+					}
+				} else {
+					return 1, v.Strategy_count, v.Strategy_count, nil
+				}
+			} else if (*myPowers)[0].Limit_strategy == "1m" {
+				if create_time.Year() == now.Year() && create_time.Month() == now.Month() {
+					if use.Surplus_count > 0 {
+						return 1, v.Strategy_count, use.Surplus_count, nil
+					} else {
+						return -2, v.Strategy_count, use.Surplus_count, nil
+					}
+				} else {
+					return 1, v.Strategy_count, v.Strategy_count, nil
+				}
+			} else {
+				return 0, 0, 0, errors.New("limit_strategy格式错误")
+			}
+		}
+	}
+	return 0, 0, 0, nil
+}

+ 1 - 1
rpc/etc/resource.yaml

@@ -6,7 +6,7 @@ Etcd:
   Key: resource.rpc
 Mysql:
   BaseService:
-    DbName: base_service
+    DBName: base_service
     Address: 192.168.3.11:3366
     UserName: root
     PassWord: Topnet123

+ 2 - 17
rpc/internal/config/config.go

@@ -1,7 +1,7 @@
 package config
 
 import (
-	"github.com/zeromicro/go-zero/core/conf"
+	. "app.yhyue.com/moapp/jybase/mysql"
 	"github.com/zeromicro/go-zero/core/logx"
 	"github.com/zeromicro/go-zero/zrpc"
 )
@@ -10,21 +10,6 @@ type Config struct {
 	zrpc.RpcServerConf
 	Logx  logx.LogConf
 	Mysql struct {
-		BaseService struct {
-			DbName       string
-			Address      string
-			UserName     string
-			PassWord     string
-			MaxOpenConns int64
-			MaxIdleConns int64
-		}
+		BaseService *Mysql
 	}
 }
-
-var C Config
-
-func init() {
-	conf.MustLoad("etc/resource.yaml", &C)
-	// logx 根据配置初始化
-	logx.MustSetup(C.Logx)
-}

+ 0 - 22
rpc/internal/db/db.go

@@ -1,22 +0,0 @@
-package db
-
-import (
-	. "app.yhyue.com/moapp/jybase/mysql"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/config"
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-var (
-	Mysql_BaseService *Mysql
-)
-
-func init() {
-	Mysql_BaseService = &Mysql{
-		Address:  C.Mysql.BaseService.Address,
-		UserName: C.Mysql.BaseService.UserName,
-		PassWord: C.Mysql.BaseService.PassWord,
-		DBName:   C.Mysql.BaseService.DbName,
-	}
-	Mysql_BaseService.Init()
-	logx.Info("初始化 mysql baseService")
-}

+ 7 - 86
rpc/internal/logic/checkpowerlogic.go

@@ -3,10 +3,9 @@ package logic
 import (
 	"context"
 	"fmt"
-	"time"
 
-	. "app.yhyue.com/moapp/jybase/date"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/service"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/svc"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb"
 
@@ -27,7 +26,7 @@ func NewCheckPowerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CheckP
 	}
 }
 
-//检查用户权益
+// 检查用户权益
 func (l *CheckPowerLogic) CheckPower(in *pb.CheckPowerReq) (*pb.Resp, error) {
 	resp := &pb.Resp{}
 	if in.Appid == "" {
@@ -45,88 +44,10 @@ func (l *CheckPowerLogic) CheckPower(in *pb.CheckPowerReq) (*pb.Resp, error) {
 		l.Error(fmt.Sprintf("%+v", in), "功能原始表中没有找到该功能")
 		return resp, nil
 	}
-	myPowers := Base_power.FindMyPower(in.Appid, in.FunctionCode, in.UserId, in.EntId)
-	if myPowers == nil || len(*myPowers) == 0 {
-		resp.Status = -1
-		l.Info(fmt.Sprintf("%+v", in), "不在有效期内")
-		return resp, nil
-	}
-	if function.Power_rule == 1 { //只对周期进行校验
-		resp.Status = 1
-		return resp, nil
-	} else {
-		for _, v := range *myPowers {
-			if v.Power_type == 2 {
-				hasEmpower := false
-				empower := Base_ent_empower.FindMyEntId(in.Appid, in.FunctionCode, in.EntId)
-				if empower != nil {
-					if len(*empower) == 1 {
-						if (*empower)[0].Ent_user_id == 0 {
-							hasEmpower = true
-						}
-					} else {
-						for _, vv := range *empower {
-							if vv.Ent_id == in.EntId && vv.Ent_user_id == in.EntUserId {
-								hasEmpower = true
-								break
-							}
-						}
-					}
-				}
-				if !hasEmpower {
-					resp.Status = -3
-					l.Info(fmt.Sprintf("%+v", in), "没有对该用户进行授权")
-					return resp, nil
-				}
-			}
-			if function.Power_rule == 2 { //周期+数量校验
-				if v.Surplus_count > 0 {
-					resp.Status = 1
-					return resp, nil
-				}
-			} else if function.Power_rule == 3 { //周期+频率+数量校验
-				use, err := Base_resource_use.FindLastOne(in.Appid, in.FunctionCode, in.UserId, in.EntId, v.Power_type)
-				if err != nil {
-					l.Error(fmt.Sprintf("%+v", in), "查询资源使用记录失败", err)
-					return resp, nil
-				} else if use == nil {
-					resp.Status = 1
-					return resp, nil
-				}
-				create_time, err := time.ParseInLocation(Date_Full_Layout, use.Create_time, time.Local)
-				if err != nil {
-					l.Error(fmt.Sprintf("%+v", in), "资源充值/消耗表创建时间错误", create_time, err)
-					return resp, nil
-				}
-				now := time.Now()
-				if (*myPowers)[0].Limit_strategy == "1d" {
-					if create_time.Year() == now.Year() && create_time.Month() == now.Month() && create_time.Day() == now.Day() {
-						if use.Surplus_count > 0 {
-							resp.Status = 1
-							return resp, nil
-						}
-					} else {
-						resp.Status = 1
-						return resp, nil
-					}
-				} else if (*myPowers)[0].Limit_strategy == "1m" {
-					if create_time.Year() == now.Year() && create_time.Month() == now.Month() {
-						if use.Surplus_count > 0 {
-							resp.Status = 1
-							return resp, nil
-						}
-					} else {
-						resp.Status = 1
-						return resp, nil
-					}
-				} else {
-					l.Error(fmt.Sprintf("%+v", in), "limit_strategy格式错误", (*myPowers)[0].Limit_strategy)
-					return resp, nil
-				}
-			}
-		}
-		resp.Status = -2
-		return resp, nil
+	status, _, _, err := Surplus(in.Appid, in.FunctionCode, in.UserId, in.EntId, in.EntUserId)
+	resp.Status = status
+	if err != nil {
+		l.Error(fmt.Sprintf("%+v", in), err.Error())
 	}
 	return resp, nil
 }

+ 2 - 2
rpc/internal/logic/deductionlogic.go

@@ -6,7 +6,7 @@ import (
 	"time"
 
 	. "app.yhyue.com/moapp/jybase/date"
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/entity"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/svc"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb"
 
@@ -27,7 +27,7 @@ func NewDeductionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Deducti
 	}
 }
 
-//资源扣减
+// 资源扣减
 func (l *DeductionLogic) Deduction(in *pb.DeductionReq) (*pb.Resp, error) {
 	resp := &pb.Resp{}
 	if in.Appid == "" {

+ 2 - 2
rpc/internal/logic/powerhandlelogic.go

@@ -4,7 +4,7 @@ import (
 	"context"
 	"fmt"
 
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/entity"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/entity"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/svc"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb"
 	"github.com/zeromicro/go-zero/core/logx"
@@ -24,7 +24,7 @@ func NewPowerHandleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Power
 	}
 }
 
-//开通或者取消权益
+// 开通或者取消权益
 func (l *PowerHandleLogic) PowerHandle(in *pb.PowerReq) (*pb.Resp, error) {
 	resp := &pb.Resp{}
 	if in.Appid == "" {

+ 0 - 2
rpc/logs/access.log

@@ -1,2 +0,0 @@
-{"@timestamp":"2022-04-14T16:56:03.131+08:00","level":"info","content":"初始化 mysql baseService"}
-{"@timestamp":"2022-04-14T16:56:20.415+08:00","level":"info","content":"初始化 mysql baseService"}

+ 0 - 0
rpc/logs/error.log


+ 0 - 0
rpc/logs/severe.log


+ 0 - 0
rpc/logs/slow.log


+ 0 - 0
rpc/logs/stat.log


+ 18 - 9
rpc/resource.go

@@ -1,32 +1,41 @@
 package main
 
 import (
+	"flag"
 	"fmt"
 
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
+	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/config"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/server"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/svc"
 	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb"
-
-	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/config"
+	"github.com/zeromicro/go-zero/core/conf"
+	"github.com/zeromicro/go-zero/core/logx"
 	"github.com/zeromicro/go-zero/core/service"
 	"github.com/zeromicro/go-zero/zrpc"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/reflection"
 )
 
+var configFile = flag.String("f", "etc/resource.yaml", "the config file")
+
 func main() {
-	ctx := svc.NewServiceContext(C)
+	flag.Parse()
+	var c Config
+	conf.MustLoad(*configFile, &c)
+	// logx 根据配置初始化
+	logx.MustSetup(c.Logx)
+	//初始化mysql
+	InitMysql(c.Mysql.BaseService)
+	ctx := svc.NewServiceContext(c)
 	svr := server.NewResourceServer(ctx)
-
-	s := zrpc.MustNewServer(C.RpcServerConf, func(grpcServer *grpc.Server) {
+	s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
 		pb.RegisterResourceServer(grpcServer, svr)
-
-		if C.Mode == service.DevMode || C.Mode == service.TestMode {
+		if c.Mode == service.DevMode || c.Mode == service.TestMode {
 			reflection.Register(grpcServer)
 		}
 	})
 	defer s.Stop()
-
-	fmt.Printf("Starting rpc server at %s...\n", C.ListenOn)
+	fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
 	s.Start()
 }

BIN
rpc/resourceCenter


BIN
rpc/rpc.exe