base

package
v0.0.0-...-6d8854b Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2019 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const TX = "tx"

Variables

This section is empty.

Functions

func Check

func Check(i interface{})

func DbxDatabase

func DbxDatabase() *dbx.Database

func ExecuteContext

func ExecuteContext(ctx context.Context, fn TxFunc) error

该方法没有真正开启1个事务,从 ctx 获取 *TxRunner 事务对象

func GetEnvelopeActivityLink() string

func GetEnvelopeDomain

func GetEnvelopeDomain() string

func Iris

func Iris() *iris.Application

func Props

func Props() kvs.ConfigSource

获取全局配置实例

func Translate

func Translate() ut.Translator

func Tx

func Tx(fn TxFunc) error

事务执行

func TxContext

func TxContext(ctx context.Context, fn TxFunc) error

事务执行

func Validate

func Validate() *validator.Validate

func ValidateStruct

func ValidateStruct(s interface{}) error

func WithValueContext

func WithValueContext(parent context.Context, runner *dbx.TxRunner) context.Context

在context上下文对象中传递 *TxRunner对象 实现跨方法执行事务 在不同方法使用同1个 *TxRunner事务对象 在同1个*TxRunner事务对象执行不同逻辑 和 ExecuteContext 配合

Types

type BaseDao

type BaseDao struct {
	Tx *sql.Tx
}

func (*BaseDao) SetTx

func (d *BaseDao) SetTx(tx *sql.Tx)

type DbxDatabaseStarter

type DbxDatabaseStarter struct {
	// 继承 BaseStarter 免去实现一系列的 start方法
	infra.BaseStarter
}

dbx数据库starter 设置为全局

func (*DbxDatabaseStarter) Setup

func (s *DbxDatabaseStarter) Setup(ctx infra.StarterContext)

TODO:NOTICE 数据库连接启动生命周期要晚于配置文件加载 数据库资源初始化放到 Setup阶段

type IrisServerStarter

type IrisServerStarter struct {
	infra.BaseStarter
}

func (*IrisServerStarter) Init

func (i *IrisServerStarter) Init(ctx infra.StarterContext)

func (*IrisServerStarter) Start

func (i *IrisServerStarter) Start(ctx infra.StarterContext)

func (*IrisServerStarter) StartBlocking

func (i *IrisServerStarter) StartBlocking() bool

IrisServerStarter 是阻塞式的 需要实现阻塞接口

type PropsStarter

type PropsStarter struct {
	// 继承 BaseStarter
	infra.BaseStarter
}

func (*PropsStarter) Init

func (p *PropsStarter) Init(ctx infra.StarterContext)

配置相关启动优先级最高,程序启动要首先读取配置文件

type Res

type Res struct {
	Code    ResCode     `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

type ResCode

type ResCode int
const (
	ResCodeOk                ResCode = 1000
	ResCodeValidationErr     ResCode = 2000
	ResCodeRequestParamsErr  ResCode = 2100
	ResCodeInternalServerErr ResCode = 5000
	// 业务异常
	ResCodeBizErr                ResCode = 6000
	ResCodeBizTransferredFailure ResCode = 6010
)

type SystemAccount

type SystemAccount struct {
	AccountNo   string
	AccountName string
	UserId      string
	Username    string
}

系统红包账户

func GetSystemAccount

func GetSystemAccount() *SystemAccount

type TxFunc

type TxFunc func(runner *dbx.TxRunner) error

type ValidatorStarter

type ValidatorStarter struct {
	infra.BaseStarter
}

func (*ValidatorStarter) Init

func (v *ValidatorStarter) Init(ctx infra.StarterContext)

验证器翻译器 和 其他基础组件依赖性不强 只需要在接收用户请求之前创建好即可,即只需要先于web服务器创建前注册好验证器即可

Jump to

Keyboard shortcuts

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