This commit is contained in:
白茶清欢 2021-07-25 19:05:59 +08:00
parent d0e44320fc
commit c463d12f0b
47 changed files with 201 additions and 201 deletions

View File

@ -2,7 +2,7 @@
//
// Description : 任意类型之间的相互转换
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-23 10:23 下午
package convert
@ -16,7 +16,7 @@ package convert
代码中有一个Scaner接口可以自行实现然后通过"convertAssign()"函数作为dst参数传入
Author : zhangdeman001@ke.com<张德满>
Author : zhangdeman001@ke.com<白茶清欢>
*/
import (

View File

@ -2,14 +2,14 @@
//
// Description : easylock...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 6:29 下午
package easylock
// EasyLock ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:18 下午 2021/4/1
type EasyLock interface {

View File

@ -2,7 +2,7 @@
//
// Description : easylock ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-04-01 4:13 下午
package easylock
@ -13,14 +13,14 @@ type option struct {
// Option 设置option选项
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:15 下午 2021/4/1
type OptionFunc func(o *option)
// WithFlag 设置flag
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:17 下午 2021/4/1
func WithFlag(flag string) OptionFunc {
@ -31,7 +31,7 @@ func WithFlag(flag string) OptionFunc {
// LockCnt 计数lockCnt
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:41 下午 2021/4/1
type LockCnt struct {
@ -44,7 +44,7 @@ type base struct {
// ParseOption 解析option
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:24 下午 2021/4/1
func (b *base) ParseOption(optionFuncList ...OptionFunc) *option {
@ -57,7 +57,7 @@ func (b *base) ParseOption(optionFuncList ...OptionFunc) *option {
// AddLockCnt 锁数量加一
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:44 下午 2021/4/1
func (b *base) AddLockCnt(lockCnt *LockCnt) {
@ -66,7 +66,7 @@ func (b *base) AddLockCnt(lockCnt *LockCnt) {
// DecreaseLockCnt 锁数量
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:45 下午 2021/4/1
func (b *base) DecreaseLockCnt(lockCnt *LockCnt) {
@ -75,7 +75,7 @@ func (b *base) DecreaseLockCnt(lockCnt *LockCnt) {
// AddRLockCnt 锁数量加一
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:44 下午 2021/4/1
func (b *base) AddRLockCnt(lockCnt *LockCnt) {
@ -84,7 +84,7 @@ func (b *base) AddRLockCnt(lockCnt *LockCnt) {
// DecreaseRLockCnt 锁数量
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:45 下午 2021/4/1
func (b *base) DecreaseRLockCnt(lockCnt *LockCnt) {

View File

@ -2,7 +2,7 @@
//
// Description : easylock...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 10:55 下午
package easylock
@ -11,7 +11,7 @@ import "github.com/pkg/errors"
// segmentError ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 1:44 下午 2021/2/24
func segmentError() error {

View File

@ -2,7 +2,7 @@
//
// Description : 包装各种姿势的锁
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 6:26 下午
package easylock
@ -11,7 +11,7 @@ import "sync"
// NewLock获取普通锁实例,因为只有一把锁,flag没有意义,传空即可
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:42 下午 2021/2/24
func NewLock() EasyLock {

View File

@ -2,7 +2,7 @@
//
// Description : 分段的锁
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 10:44 下午
package easylock
@ -11,7 +11,7 @@ import "git.zhangdeman.cn/zhangdeman/gopkg/util"
// NewSegment 获取分段锁
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:20 下午 2021/2/24
func NewSegment(segmentCnt int) (EasyLock, error) {

View File

@ -2,14 +2,14 @@
//
// Description : easymap...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-23 9:55 下午
package easymap
// EasyMap 约束各种数据接口的实现
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:56 下午 2021/2/23
type EasyMap interface {

View File

@ -2,7 +2,7 @@
//
// Description : easymap...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-23 10:15 下午
package easymap
@ -11,7 +11,7 @@ import "github.com/pkg/errors"
// keyNotFound key 不存在
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:17 下午 2021/2/23
func keyNotFound(key interface{}) error {
@ -20,7 +20,7 @@ func keyNotFound(key interface{}) error {
// convertFail 数据类型妆换失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:28 下午 2021/2/23
func convertFail(err error) error {
@ -29,7 +29,7 @@ func convertFail(err error) error {
// segmentError ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 1:44 下午 2021/2/24
func segmentError() error {

View File

@ -2,7 +2,7 @@
//
// Description : 普通的的map,增加锁支持
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-23 10:03 下午
package easymap
@ -15,7 +15,7 @@ import (
// NewNormal 获取map实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:07 下午 2021/2/23
func NewNormal(withLock bool) EasyMap {
@ -31,7 +31,7 @@ func NewNormal(withLock bool) EasyMap {
// normal 普通map,内部可以加锁
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:03 下午 2021/2/23
type normal struct {
@ -235,7 +235,7 @@ func (n *normal) Exist(key interface{}) bool {
// GetAll 读取全部数据使用的是原始数据深拷贝,避免获取到全部数据之后,直接读取导致并发读写
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:36 下午 2021/2/23
func (n *normal) GetAll() map[interface{}]interface{} {

View File

@ -2,7 +2,7 @@
//
// Description : 分段存储的map并发行更好,分段数量为 1 将退化成普通的
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-23 10:47 下午
package easymap
@ -13,7 +13,7 @@ import (
// NewSegment 获取分段map实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:05 下午 2021/2/24
func NewSegment(segmentCnt int, withLock bool) (EasyMap, error) {

View File

@ -2,7 +2,7 @@
//
// Description : 内置sync.Map + segment
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 2:08 下午
package easymap

View File

@ -2,7 +2,7 @@
//
// Description : easymap...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 5:57 下午
package easymap

View File

@ -2,7 +2,7 @@
//
// Description : 内置sync.Map + segment
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 2:08 下午
package easymap
@ -13,7 +13,7 @@ import (
// NewSegmentSync 获取SegmentSync实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 6:02 下午 2021/2/24
func NewSegmentSync(segment int) (EasyMap, error) {

View File

@ -2,7 +2,7 @@
//
// Description : 便捷的相关API处理
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-26 2:06 下午
package api
@ -13,7 +13,7 @@ import (
// IApi 每一个接口的实现约束
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:08 下午 2021/3/26
type IApi interface {
@ -29,7 +29,7 @@ type IApi interface {
// RouterFunc 注册路由的函数
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:09 下午 2021/3/26
type RouterFunc func() (method string, uri string, handlerFunc gin.HandlerFunc, middlewareList []gin.HandlerFunc)

View File

@ -2,7 +2,7 @@
//
// Description : 注册路由
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-26 2:13 下午
package api
@ -25,7 +25,7 @@ var (
// DisableDebugLog 禁用debug日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:17 下午 2021/3/26
func DisableDebugLog() {
@ -34,7 +34,7 @@ func DisableDebugLog() {
// RegisterRouter 注册一个路由
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:14 下午 2021/3/26
func RegisterRouter(router *gin.Engine, apiInstanceList ...interface{}) error {
@ -106,7 +106,7 @@ func RegisterRouter(router *gin.Engine, apiInstanceList ...interface{}) error {
// routerLog 记录日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:28 下午 2021/3/26
func routerLog(msg string) {

View File

@ -2,7 +2,7 @@
//
// Description : 路由注册单元测试
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-26 3:49 下午
package api
@ -18,7 +18,7 @@ import (
// TestRegisterRouter ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:50 下午 2021/3/26
func TestRegisterRouter(t *testing.T) {

View File

@ -2,7 +2,7 @@
//
// Description : middleware...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-09 5:52 下午
package middleware
@ -16,7 +16,7 @@ import (
// InitRequest 初始化请求信息,统一设置请求时间/请求ID等信息
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:53 下午 2021/3/9
func InitRequest() func(ctx *gin.Context) {

View File

@ -54,7 +54,7 @@ func ParseGetRequestURI(url *url.URL) map[string][]string {
// ParseGetRequestBody 解析get请求的body
//
// Author : zhangdeman001@ke.com<张德满>
// Author : zhangdeman001@ke.com<白茶清欢>
//
// Date : 9:07 下午 2021/7/24
func ParseGetRequestBody(ctx *gin.Context) {

View File

@ -2,7 +2,7 @@
//
// Description : request...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-07-24 9:21 下午
package request

View File

@ -2,7 +2,7 @@
//
// Description : 结合gin框架的一些工具集
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-09 4:51 下午
package util
@ -18,7 +18,7 @@ import (
// Response 向客户端响应数据
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:52 下午 2021/3/9
func Response(ctx *gin.Context, code interface{}, message string, data interface{}) {
@ -34,7 +34,7 @@ func Response(ctx *gin.Context, code interface{}, message string, data interface
// RegisterRouter 注册gin路由
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:36 下午 2021/3/9
func RegisterRouter(router *gin.Engine, method string, uri string, handler gin.HandlerFunc, middlewareList []gin.HandlerFunc) error {
@ -67,7 +67,7 @@ func RegisterRouter(router *gin.Engine, method string, uri string, handler gin.H
// RegisterRouterGroup 注册gin路由
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:36 下午 2021/3/9
func RegisterRouterGroup(router *gin.RouterGroup, method string, uri string, handler gin.HandlerFunc) error {

View File

@ -2,7 +2,7 @@
//
// Description : 动态构建json
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-10 10:26 下午
package json
@ -24,7 +24,7 @@ const (
// JSONode JSOM节点
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:33 下午 2021/3/10
type JSONode struct {
@ -42,7 +42,7 @@ type JSONode struct {
// NewDynamicJSON 获取JSON实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:36 下午 2021/3/10
func NewDynamicJSON() *DynamicJSON {
@ -62,7 +62,7 @@ func NewDynamicJSON() *DynamicJSON {
// DynamicJSON 动态json
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:03 下午 2021/3/10
type DynamicJSON struct {
@ -74,7 +74,7 @@ type DynamicJSON struct {
// SetValue 设置节点值,如果节点不存在,创建;如果已存在,更新, 多级key使用, value 必须是基础数据类型, 如果是结构体, 需要继续添加path,多级path使用.分割
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:45 下午 2021/3/10
func (dj *DynamicJSON) SetValue(path string, value interface{}, isComplexType bool) {
@ -102,7 +102,7 @@ func (dj *DynamicJSON) SetValue(path string, value interface{}, isComplexType bo
// String 获取字符串的格式JSON
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:16 下午 2021/3/11
func (dj *DynamicJSON) String() string {
@ -114,7 +114,7 @@ func (dj *DynamicJSON) String() string {
// buildTpl 构建json模版与绑定数据
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:38 下午 2021/3/11
func (dj *DynamicJSON) buildTpl(root *JSONode, tplList *[]string, valList *[]interface{}) (*[]string, *[]interface{}) {
@ -151,7 +151,7 @@ func (dj *DynamicJSON) buildTpl(root *JSONode, tplList *[]string, valList *[]int
// getValFormat 构建值得占位符
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:49 下午 2021/3/13
func (dj *DynamicJSON) getValFormat(root *JSONode) string {
@ -181,7 +181,7 @@ func (dj *DynamicJSON) getValFormat(root *JSONode) string {
// getStartSymbol 计算起始的符号
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:21 下午 2021/3/13
func (dj *DynamicJSON) getStartSymbol(root *JSONode) string {
@ -216,7 +216,7 @@ func (dj *DynamicJSON) getStartSymbol(root *JSONode) string {
// getEndSymbol 计算结束的符号
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:21 下午 2021/3/13
func (dj *DynamicJSON) getEndSymbol(root *JSONode) string {
@ -246,7 +246,7 @@ func (dj *DynamicJSON) getEndSymbol(root *JSONode) string {
// Search 搜索一个key TODO : 优化
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:19 下午 2021/3/10
func (dj *DynamicJSON) search(root *JSONode, key string) *JSONode {
@ -266,7 +266,7 @@ func (dj *DynamicJSON) search(root *JSONode, key string) *JSONode {
// createNode 创建新的节点
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:57 下午 2021/3/10
func (dj *DynamicJSON) createNode(parent *JSONode, key string, value interface{}, isComplexType bool) error {
@ -309,7 +309,7 @@ func (dj *DynamicJSON) createNode(parent *JSONode, key string, value interface{}
// extraSliceIndex 抽取slice索引
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:37 下午 2021/3/11
func (dj *DynamicJSON) extraSliceIndex(key string) (bool, int) {

View File

@ -2,7 +2,7 @@
//
// Description : json...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-10 11:44 下午
package json
@ -14,7 +14,7 @@ import (
// TestJSON ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:58 下午 2021/3/14
func TestJSON(t *testing.T) {
@ -42,7 +42,7 @@ func TestJSON(t *testing.T) {
// TestType 判断数据类型断言
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:59 下午 2021/3/14
func TestType(t *testing.T) {
@ -51,7 +51,7 @@ func TestType(t *testing.T) {
// TestSelect 测试动态选择字段
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:47 下午 2021/4/13
func TestSelect(t *testing.T) {

View File

@ -2,7 +2,7 @@
//
// Description : 将复杂数据结构转化为 JSONNode 树
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-14 10:40 下午
package json
@ -22,7 +22,7 @@ import (
// NewParseJSONTree 获取解析的实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:43 下午 2021/3/14
func NewParseJSONTree(data interface{}) *ParseJSONTree {
@ -31,7 +31,7 @@ func NewParseJSONTree(data interface{}) *ParseJSONTree {
// ParseJSONTree 解析json树
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:41 下午 2021/3/14
type ParseJSONTree struct {
@ -40,7 +40,7 @@ type ParseJSONTree struct {
// Parse 解析数据
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:44 下午 2021/3/14
func (pjt *ParseJSONTree) Parse(pathList []string) (*DynamicJSON, error) {
@ -77,7 +77,7 @@ func (pjt *ParseJSONTree) Parse(pathList []string) (*DynamicJSON, error) {
// isLegalData 判断是否能转换成json结构, 只有slice/map/struct/能转换成slice或map的[]byte是合法的
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:46 下午 2021/3/14
func (pjt *ParseJSONTree) isLegalData() bool {

View File

@ -2,7 +2,7 @@
//
// Description : config 日志配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-02 3:07 下午
package logger
@ -39,7 +39,7 @@ const (
// RotateLogConfig 日志切割的配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:08 下午 2021/1/2
type RotateLogConfig struct {
@ -54,14 +54,14 @@ type RotateLogConfig struct {
// SetRotateLogConfigOption 设置日志切割的选项
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:13 下午 2021/1/2
type SetRotateLogConfigFunc func(rlc *RotateLogConfig)
// WithTimeIntervalType 设置日志切割时间间隔
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:34 下午 2021/1/2
func WithTimeIntervalType(timeIntervalType TimeIntervalType) SetRotateLogConfigFunc {
@ -72,7 +72,7 @@ func WithTimeIntervalType(timeIntervalType TimeIntervalType) SetRotateLogConfigF
// WithDivisionChar 设置分隔符
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:49 下午 2021/1/2
func WithDivisionChar(divisionChar string) SetRotateLogConfigFunc {
@ -83,7 +83,7 @@ func WithDivisionChar(divisionChar string) SetRotateLogConfigFunc {
// WithMaxAge 设置日志保存时间
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:03 下午 2021/1/2
func WithMaxAge(maxAge time.Duration) SetRotateLogConfigFunc {
@ -94,7 +94,7 @@ func WithMaxAge(maxAge time.Duration) SetRotateLogConfigFunc {
// NewRotateLogConfig 生成日志切割的配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:53 下午 2021/1/2
func NewRotateLogConfig(logPath string, logFile string, option ...SetRotateLogConfigFunc) (*RotateLogConfig, error) {
@ -121,7 +121,7 @@ func NewRotateLogConfig(logPath string, logFile string, option ...SetRotateLogCo
// formatConfig 格式化配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:23 下午 2021/1/2
func formatConfig(c *RotateLogConfig) error {
@ -188,7 +188,7 @@ const (
// defaultTimeEncoder 默认的时间处理
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:53 下午 2021/1/2
func defaultTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
@ -200,7 +200,7 @@ func defaultTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
// SecondTimeEncoder 秒级时间戳格式化
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:34 下午 2021/1/3
func SecondTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
@ -209,7 +209,7 @@ func SecondTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
// MsTimeEncoder 毫秒时间格式化方法
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:35 下午 2021/1/3
func MsTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
@ -220,7 +220,7 @@ func MsTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
// defaultEncodeDuration 默认的原始时间处理
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:56 下午 2021/1/2
func defaultEncodeDuration(d time.Duration, enc zapcore.PrimitiveArrayEncoder) {
@ -229,7 +229,7 @@ func defaultEncodeDuration(d time.Duration, enc zapcore.PrimitiveArrayEncoder) {
// OptionLogger 日志配置的选项
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:41 下午 2021/1/2
type OptionLogger struct {
@ -280,7 +280,7 @@ func WithEncoder(encoder zapcore.Encoder) SetLoggerOptionFunc {
// WithUseJsonFormat 日志是否使用json格式数据
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:30 上午 2021/1/3
func WithUseJsonFormat(isJsonFormat bool) SetLoggerOptionFunc {
@ -291,7 +291,7 @@ func WithUseJsonFormat(isJsonFormat bool) SetLoggerOptionFunc {
// WithMessageKey 使用message key
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:32 上午 2021/1/3
func WithMessageKey(messageKey string) SetLoggerOptionFunc {
@ -306,7 +306,7 @@ func WithMessageKey(messageKey string) SetLoggerOptionFunc {
// WithLevelKey 设置level key
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:33 上午 2021/1/3
func WithLevelKey(levelKey string) SetLoggerOptionFunc {
@ -321,7 +321,7 @@ func WithLevelKey(levelKey string) SetLoggerOptionFunc {
// WithTimeKey 设置time key ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:34 上午 2021/1/3
func WithTimeKey(timeKey string) SetLoggerOptionFunc {
@ -336,7 +336,7 @@ func WithTimeKey(timeKey string) SetLoggerOptionFunc {
// WithCallerKey 设置caller key
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:37 上午 2021/1/3
func WithCallerKey(callerKey string) SetLoggerOptionFunc {
@ -351,7 +351,7 @@ func WithCallerKey(callerKey string) SetLoggerOptionFunc {
// WithShortCaller 是否使用短caller格式
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:39 上午 2021/1/3
func WithShortCaller(useShortCaller bool) SetLoggerOptionFunc {
@ -362,7 +362,7 @@ func WithShortCaller(useShortCaller bool) SetLoggerOptionFunc {
// WithTimeEncoder 设置格式化时间方法
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:41 上午 2021/1/3
func WithTimeEncoder(encoder zapcore.TimeEncoder) SetLoggerOptionFunc {
@ -376,7 +376,7 @@ func WithTimeEncoder(encoder zapcore.TimeEncoder) SetLoggerOptionFunc {
// WithEncodeDuration 原始时间
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:42 上午 2021/1/3
func WithEncodeDuration(encoder zapcore.DurationEncoder) SetLoggerOptionFunc {
@ -390,7 +390,7 @@ func WithEncodeDuration(encoder zapcore.DurationEncoder) SetLoggerOptionFunc {
// GetEncoder 获取空中台输出的encoder
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 6:24 下午 2021/1/2
func GetEncoder(option ...SetLoggerOptionFunc) zapcore.Encoder {

View File

@ -2,7 +2,7 @@
//
// Description : logger...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-03 12:58 上午
package logger
@ -14,7 +14,7 @@ import (
// FormatJson 格式化输出json
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 1:06 上午 2021/1/3
func FormatJson(src interface{}) string {

View File

@ -2,7 +2,7 @@
//
// Description : error 定义日志处理过程中的各种错误
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-02 2:44 下午
package logger
@ -11,7 +11,7 @@ import "github.com/pkg/errors"
// CreateLogFileError 创建日志文件失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2:55 下午 2021/1/2
func CreateLogFileError(err error, logFilePath string) error {
@ -20,7 +20,7 @@ func CreateLogFileError(err error, logFilePath string) error {
// LogPathEmptyError 日志路径为空
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:03 下午 2021/1/2
func LogPathEmptyError() error {
@ -29,7 +29,7 @@ func LogPathEmptyError() error {
// CustomTimeIntervalError 自定义日志切割时间间隔错误
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:11 下午 2021/1/2
func CustomTimeIntervalError() error {
@ -38,7 +38,7 @@ func CustomTimeIntervalError() error {
// DealLogPathError 日志路径处理异常
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:31 下午 2021/1/2
func DealLogPathError(err error, logPath string) error {
@ -47,7 +47,7 @@ func DealLogPathError(err error, logPath string) error {
// LogSplitTypeError 日志切割类型错误
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:50 下午 2021/1/2
func LogSplitTypeError(splitType TimeIntervalType) error {
@ -56,7 +56,7 @@ func LogSplitTypeError(splitType TimeIntervalType) error {
// CreateIOWriteError 创建日志实例失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:20 下午 2021/1/2
func CreateIOWriteError(err error) error {

View File

@ -2,7 +2,7 @@
//
// Description : logger 日志文件
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-02 5:04 下午
package logger
@ -22,7 +22,7 @@ import (
// NewLogger 获取日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:05 下午 2021/1/2
func NewLogger(loggerLevel zapcore.Level, splitConfig *RotateLogConfig, optionFunc ...SetLoggerOptionFunc) (*zap.Logger, error) {
@ -78,7 +78,7 @@ func NewLogger(loggerLevel zapcore.Level, splitConfig *RotateLogConfig, optionFu
// NewConsoleLogger 获取控制台输出的日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:22 下午 2021/4/17
func NewConsoleLogger(loggerLevel zapcore.Level, optionFunc ...SetLoggerOptionFunc) (*zap.Logger, error) {
@ -115,7 +115,7 @@ type Logger struct {
// getWriter 获取日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:08 下午 2021/1/2
func (l *Logger) getWriter() (io.Writer, error) {

View File

@ -2,7 +2,7 @@
//
// Description : logger_test 单元测试
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-02 4:59 下午
package logger
@ -19,7 +19,7 @@ import (
// Test_Logger ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:50 下午 2021/1/2
func Test_Logger(t *testing.T) {
@ -41,7 +41,7 @@ func Test_Logger(t *testing.T) {
// Test_FormatJson 测试json格式化输出
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 1:08 上午 2021/1/3
func Test_FormatJson(t *testing.T) {
@ -59,7 +59,7 @@ func Test_FormatJson(t *testing.T) {
// Test_Time 测试格式化纳秒时间戳
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:32 下午 2021/1/3
func Test_Time(t *testing.T) {

View File

@ -2,7 +2,7 @@
//
// Description : gorm v2 版本接口实现
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-01 9:52 下午
package wrapper
@ -24,7 +24,7 @@ import (
// NewGormV2 获取日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:56 下午 2021/3/1
func NewGormV2(loggerLevel zapcore.Level, consoleOutput bool, encoder zapcore.Encoder, splitConfig *logger2.RotateLogConfig, traceIDField string, skip int) (logger.Interface, error) {
@ -47,7 +47,7 @@ func NewGormV2(loggerLevel zapcore.Level, consoleOutput bool, encoder zapcore.En
// Gorm v2 版本库日志实现
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:55 下午 2021/3/1
type Gorm struct {
@ -58,7 +58,7 @@ type Gorm struct {
// LogMode ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:08 下午 2021/3/1
func (g *Gorm) LogMode(level logger.LogLevel) logger.Interface {
@ -67,7 +67,7 @@ func (g *Gorm) LogMode(level logger.LogLevel) logger.Interface {
// Info 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:18 下午 2021/3/1
func (g *Gorm) Info(ctx context.Context, s string, i ...interface{}) {
@ -81,7 +81,7 @@ func (g *Gorm) Info(ctx context.Context, s string, i ...interface{}) {
// Warn ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:16 下午 2021/3/1
func (g *Gorm) Warn(ctx context.Context, s string, i ...interface{}) {
@ -95,7 +95,7 @@ func (g *Gorm) Warn(ctx context.Context, s string, i ...interface{}) {
// Error 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:18 下午 2021/3/1
func (g *Gorm) Error(ctx context.Context, s string, i ...interface{}) {
@ -109,7 +109,7 @@ func (g *Gorm) Error(ctx context.Context, s string, i ...interface{}) {
// Trace Trace 记录
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:19 下午 2021/3/1
func (g *Gorm) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error) {
@ -136,7 +136,7 @@ func (g *Gorm) Trace(ctx context.Context, begin time.Time, fc func() (string, in
// getTraceID 获取traceID
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:11 下午 2021/3/1
func (g *Gorm) getTraceID(ctx context.Context) string {
@ -145,7 +145,7 @@ func (g *Gorm) getTraceID(ctx context.Context) string {
// GetGormSQL 获取tracefn
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:38 下午 2021/3/1
func GetGormSQL(dbClient *gorm.DB) func() (string, int64) {

View File

@ -2,7 +2,7 @@
//
// Description : http_gin 使用gin框架时的记录日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-01-03 3:43 下午
package wrapper
@ -19,7 +19,7 @@ import (
// NewGinLogger 使用gin框架记录日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:45 下午 2021/1/3
func NewGinLogger(loggerLevel zapcore.Level, consoleOutput bool, encoder zapcore.Encoder, splitConfig *logger.RotateLogConfig, extractFieldList []string, skip int) (*Gin, error) {
@ -43,7 +43,7 @@ func NewGinLogger(loggerLevel zapcore.Level, consoleOutput bool, encoder zapcore
// Gin 包装gin实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 3:59 下午 2021/1/3
type Gin struct {
@ -53,7 +53,7 @@ type Gin struct {
// formatFieldList 格式化日志field列表
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:13 下午 2021/1/3
func (gw *Gin) formatFieldList(ginCtx *gin.Context, inputFieldList []zap.Field) []zap.Field {
@ -74,7 +74,7 @@ func (gw *Gin) formatFieldList(ginCtx *gin.Context, inputFieldList []zap.Field)
// Debug 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:14 下午 2021/1/3
func (gw *Gin) Debug(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -84,7 +84,7 @@ func (gw *Gin) Debug(ginCtx *gin.Context, msg string, field ...zap.Field) {
// Info 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:28 下午 2021/1/3
func (gw *Gin) Info(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -94,7 +94,7 @@ func (gw *Gin) Info(ginCtx *gin.Context, msg string, field ...zap.Field) {
// Warn 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:29 下午 2021/1/3
func (gw *Gin) Warn(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -104,7 +104,7 @@ func (gw *Gin) Warn(ginCtx *gin.Context, msg string, field ...zap.Field) {
// Error 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:29 下午 2021/1/3
func (gw *Gin) Error(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -114,7 +114,7 @@ func (gw *Gin) Error(ginCtx *gin.Context, msg string, field ...zap.Field) {
// Panic 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:29 下午 2021/1/3
func (gw *Gin) Panic(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -124,7 +124,7 @@ func (gw *Gin) Panic(ginCtx *gin.Context, msg string, field ...zap.Field) {
// DPanic 日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:30 下午 2021/1/3
func (gw *Gin) DPanic(ginCtx *gin.Context, msg string, field ...zap.Field) {
@ -134,7 +134,7 @@ func (gw *Gin) DPanic(ginCtx *gin.Context, msg string, field ...zap.Field) {
// GetZapLoggerInstance 获取zap日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021/01/03 22:56:47
func (gw *Gin) GetZapLoggerInstance() *zap.Logger {

View File

@ -2,7 +2,7 @@
//
// Description : mysql客户端
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-01 9:20 下午
package mysql
@ -18,7 +18,7 @@ import (
// GetDatabaseClient 获取日志实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:49 下午 2021/3/1
func GetDatabaseClient(conf *DBConfig, logConf *LogConfig) (*gorm.DB, error) {
@ -49,7 +49,7 @@ func GetDatabaseClient(conf *DBConfig, logConf *LogConfig) (*gorm.DB, error) {
// buildConnectionDSN 构建建立连接的DSN
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:34 下午 2021/3/1
func buildConnectionDSN(conf *DBConfig) string {

View File

@ -2,7 +2,7 @@
//
// Description : 数据定义
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-01 9:27 下午
package mysql
@ -14,7 +14,7 @@ import (
// DBConfig 数据库连接的配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:32 下午 2021/3/1
type DBConfig struct {
@ -30,7 +30,7 @@ type DBConfig struct {
// LogConfig 日志配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:51 下午 2021/3/1
type LogConfig struct {

View File

@ -2,7 +2,7 @@
//
// Description : 异常定义
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-01 9:42 下午
package mysql
@ -11,7 +11,7 @@ import "github.com/pkg/errors"
// ConnectionOpenError 数据库连接失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:43 下午 2021/3/1
func ConnectionOpenError(err error) error {
@ -20,7 +20,7 @@ func ConnectionOpenError(err error) error {
// CreateDBLogError 打开日志失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:53 下午 2021/3/1
func CreateDBLogError(err error) error {

View File

@ -2,7 +2,7 @@
//
// Description : redis 客户端
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-27 4:49 下午
package redis
@ -20,7 +20,7 @@ import (
// defaultParseError ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:59 下午 2021/2/27
func defaultParseError(err error) error {
@ -44,7 +44,7 @@ func defaultParseError(err error) error {
// Options 连接选项,百分之百兼容第三方包的选项
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:57 下午 2021/2/27
type Options struct {
@ -63,7 +63,7 @@ type RealClient struct {
// NewClient 获取redis client实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:05 下午 2021/2/27
func NewClient(config map[string]Options, parseErrorFunc func(err error) error) (ClientInterface, error) {
@ -80,7 +80,7 @@ func NewClient(config map[string]Options, parseErrorFunc func(err error) error)
// Client 包装的redis client
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 4:52 下午 2021/2/27
type Client struct {
@ -91,7 +91,7 @@ type Client struct {
// init 初始化redis连接
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:31 下午 2021/2/27
func (c *Client) init() error {
@ -135,7 +135,7 @@ func (c *Client) init() error {
// getLogger ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 7:07 下午 2021/2/27
func (c *Client) getLogger(conf *LoggerConfig) (*zap.Logger, error) {
@ -152,7 +152,7 @@ func (c *Client) getLogger(conf *LoggerConfig) (*zap.Logger, error) {
// GetRedisClient 获取redis实例
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:16 下午 2021/2/27
func (c *Client) GetRedisClient(flag string) (*RealClient, error) {
@ -165,7 +165,7 @@ func (c *Client) GetRedisClient(flag string) (*RealClient, error) {
// log 记录redis请求日志
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:52 下午 2021/2/27
func (c *Client) log(ctx *Context, realClient *RealClient, cmdResult redisInstance.Cmder, startTime int64, finishTime int64) {
@ -183,7 +183,7 @@ func (c *Client) log(ctx *Context, realClient *RealClient, cmdResult redisInstan
// CommandProxy 执行命令的代理
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:41 下午 2021/2/27
func (c *Client) CommandProxy(ctx *Context, flag string, cmd string, param ...interface{}) (interface{}, error) {
@ -210,7 +210,7 @@ func (c *Client) CommandProxy(ctx *Context, flag string, cmd string, param ...in
// CommandProxyWithReceiver 执行命令,并解析结果
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:00 下午 2021/2/27
func (c *Client) CommandProxyWithReceiver(ctx *Context, flag string, receiver interface{}, cmd string, param ...interface{}) error {
@ -231,7 +231,7 @@ func (c *Client) CommandProxyWithReceiver(ctx *Context, flag string, receiver in
// ClientInterface 定义redis client的接口实现,方便单元测试数据mock
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:49 下午 2021/2/27
type ClientInterface interface {

View File

@ -2,7 +2,7 @@
//
// Description : redis...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-27 8:22 下午
package redis
@ -30,7 +30,7 @@ const (
// Context 请求上下文
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:25 下午 2021/2/27
type Context struct {
@ -44,7 +44,7 @@ type Context struct {
// NewContext 生成一个上下文
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:26 下午 2021/2/27
func NewContext(flag string, of ...SetContextFunc) *Context {
@ -87,7 +87,7 @@ type SetContextFunc func(rc *Context)
// WithCtx 设置context
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:30 下午 2021/2/27
func WithCtx(ctx context.Context) SetContextFunc {
@ -98,7 +98,7 @@ func WithCtx(ctx context.Context) SetContextFunc {
// WithGinCtx 设置gin上下文
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:34 下午 2021/2/27
func WithGinCtx(ginCtx *gin.Context) SetContextFunc {
@ -109,7 +109,7 @@ func WithGinCtx(ginCtx *gin.Context) SetContextFunc {
// WithExtra 设置扩展信息
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:36 下午 2021/2/27
func WithExtra(extra easymap.EasyMap) SetContextFunc {
@ -120,7 +120,7 @@ func WithExtra(extra easymap.EasyMap) SetContextFunc {
// WithRequestIDField 设置request_id参数名
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:41 下午 2021/2/27
func WithRequestIDField(requestIDField string) SetContextFunc {
@ -131,7 +131,7 @@ func WithRequestIDField(requestIDField string) SetContextFunc {
// WithRequestID ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 8:42 下午 2021/2/27
func WithRequestID(requestID string) SetContextFunc {

View File

@ -2,7 +2,7 @@
//
// Description : redis...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-27 5:13 下午
package redis
@ -11,7 +11,7 @@ import "github.com/pkg/errors"
// FlagNotFound flag不存在异常
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:15 下午 2021/2/27
func FlagNotFound(flag string) error {
@ -20,7 +20,7 @@ func FlagNotFound(flag string) error {
// LoggerInitFail 日志初始化失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 7:30 下午 2021/2/27
func LoggerInitFail(flag string, err error) error {
@ -29,7 +29,7 @@ func LoggerInitFail(flag string, err error) error {
// EmptyCmd 未设置要执行的命令
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:46 下午 2021/2/27
func EmptyCmd() error {
@ -38,7 +38,7 @@ func EmptyCmd() error {
// CommandExecuteFail 命令执行失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:58 下午 2021/2/27
func CommandExecuteFail(err error) error {
@ -47,7 +47,7 @@ func CommandExecuteFail(err error) error {
// ReceiverISNIL 数据接收者是空指针
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:05 下午 2021/2/27
func ReceiverISNIL() error {
@ -56,7 +56,7 @@ func ReceiverISNIL() error {
// ResultConvertFail 数据结果解析失败
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:07 下午 2021/2/27
func ResultConvertFail(err error) error {

View File

@ -2,7 +2,7 @@
//
// Description : redis...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-27 5:26 下午
package redis
@ -14,7 +14,7 @@ import (
// LoggerConfig 日志配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:26 下午 2021/2/27
type LoggerConfig struct {
@ -28,7 +28,7 @@ type LoggerConfig struct {
// LogFieldConfig 日志字段配置
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 9:20 下午 2021/2/27
type LogFieldConfig struct {

View File

@ -2,7 +2,7 @@
//
// Description : redis...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-27 10:14 下午
package redis
@ -18,7 +18,7 @@ import (
// TestCommandProxy ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:22 下午 2021/2/27
func TestCommandProxy(t *testing.T) {

View File

@ -2,7 +2,7 @@
//
// Description : 按需返回对外暴露的字段
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-10 6:38 下午
package safe
@ -15,7 +15,7 @@ import (
// Filter 按需输出数据
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 6:40 下午 2021/3/10
func Filter(source []byte, filter []string) ([]byte, error) {

View File

@ -2,7 +2,7 @@
//
// Description : safe...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-10 10:07 下午
package safe

View File

@ -2,7 +2,7 @@
//
// Description : 安全策略之,访问黑名单
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-07 11:34 下午
package safe
@ -14,14 +14,14 @@ import (
// IPBlack ip黑名单
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:35 下午 2021/3/7
var IPBlack *ipBlack
// InitIPBlack 初始化ip黑名单
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:36 下午 2021/3/7
func InitIPBlack(ipList []string) error {
@ -31,7 +31,7 @@ func InitIPBlack(ipList []string) error {
// InitIPBlackWithSeg ip黑名单分片存储
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:37 下午 2021/3/7
func InitIPBlackWithSeg(seg int, ipList []string) error {
@ -53,7 +53,7 @@ type ipBlack struct {
// Add 添加黑名单IP
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:05 上午 2021/3/8
func (ib *ipBlack) Add(ip string) {
@ -62,7 +62,7 @@ func (ib *ipBlack) Add(ip string) {
// Del 删除一个黑名单IP ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:06 上午 2021/3/8
func (ib *ipBlack) Del(ip string) {
@ -71,7 +71,7 @@ func (ib *ipBlack) Del(ip string) {
// IsBlack 判断ip是否存在于和名单之中
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:07 上午 2021/3/8
func (ib *ipBlack) IsBlack(ip string) bool {

View File

@ -2,7 +2,7 @@
//
// Description : try...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-07-24 11:15 下午
package try

View File

@ -2,7 +2,7 @@
//
// Description : 文件相关工具
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-04-26 6:00 下午
package util
@ -18,7 +18,7 @@ import (
// GetProjectPath 获取项目路径(可执行文件所在目录)
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:32 下午 2021/4/26
func GetProjectPath() (string, error) {
@ -37,7 +37,7 @@ func GetProjectPath() (string, error) {
// ReadYmlConfig 读取yml配置问价,并解析到指定的结构体中
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:35 下午 2021/4/26
func ReadYmlConfig(filePath string, result interface{}) error {
@ -56,7 +56,7 @@ func ReadYmlConfig(filePath string, result interface{}) error {
// ReadFileContent 读取文件内容
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:37 下午 2021/4/26
func ReadFileContent(filePath string) ([]byte, error) {
@ -78,7 +78,7 @@ func ReadFileContent(filePath string) ([]byte, error) {
// IsFileExist 判断文件是否存在
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:37 下午 2021/4/26
func IsFileExist(filePath string) (bool, bool) {

View File

@ -2,7 +2,7 @@
//
// Description : util...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-02-24 11:04 下午
package util
@ -15,7 +15,7 @@ import (
// GetHashID ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:04 下午 2021/2/24
func GetHashID(key interface{}) uint64 {
@ -24,7 +24,7 @@ func GetHashID(key interface{}) uint64 {
// GetHashIDMod 获取hashID并取模
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:07 下午 2021/2/24
func GetHashIDMod(key interface{}, shard int) int {

View File

@ -2,7 +2,7 @@
//
// Description : util...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-09 5:56 下午
package util
@ -11,7 +11,7 @@ import "net"
// GetHostIP 获取本机IP地址
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 5:58 下午 2021/3/9
func GetHostIP() string {

View File

@ -2,7 +2,7 @@
//
// Description : 字符串相关的工具
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-09 6:00 下午
package util
@ -16,7 +16,7 @@ import (
// GenRandomString 获取随机长度的字符串
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 6:01 下午 2021/3/9
func GenRandomString(source string, length uint) string {
@ -38,7 +38,7 @@ func GenRandomString(source string, length uint) string {
// Md5 对字符串进行md5加密
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 6:01 下午 2021/3/9
func Md5(str string) string {

View File

@ -2,7 +2,7 @@
//
// Description : util ...
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2021-03-14 11:11 下午
package util
@ -11,7 +11,7 @@ import "encoding/json"
// StructToMap 结构体转为map
//
// Author : go_developer@163.com<张德满>
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:12 下午 2021/3/14
func StructToMap(data interface{}) (map[string]interface{}, error) {