app

package module
v0.0.0-...-4fa02e0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: GPL-3.0 Imports: 37 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CommonDao = &DaoBaseFunc{}

Functions

func AppPath

func AppPath() string

获取当前执行程序所在的绝对路径

func CurrentLoginUserId

func CurrentLoginUserId(r *http.Request) string

取当前用户

func EnableFind

func EnableFind(moduleName string) bool

*

  • 取查询控制开关(取控制开关简化方式)
  • @param moduleName 模块名称
  • @return

func EnableTag

func EnableTag(moduleName string, i int) bool

*

  • 取控制开关
  • 控制开关,7个数的控制分别是:删除、修改、查询、导出、统计、步骤值可逆、物理删除
  • 其中前5个为'是否仅创建者可操作'后续为其它控制开关
  • @param moduleName 模块名称
  • @param i 位数,从右到左数,下标从1开始
  • @return

func FreeappCfg

func FreeappCfg()

*

  • 释放配置文件

func GetEntity

func GetEntity(name string) dbinfo.Entity

*

  • 取得已注册业务实体
  • @param name 业务模块名称
  • @return 业务实体

func GetNewId

func GetNewId(iLength int, TableName string) string

取新ID

func HasSection

func HasSection(sectionName string) bool

判断配置组是否存在

func IsCloudApp

func IsCloudApp() bool

判断程序是否要加入分布式系统

func IsCloudSystem

func IsCloudSystem() bool

判断程序是否启用桥接

func IsNotCloudApp

func IsNotCloudApp() bool

判断程序是否非分布式系统

func IsNotCloudSystem

func IsNotCloudSystem() bool

判断程序是否禁用桥接

func ReadConfigKey

func ReadConfigKey(section, key string, def interface{}) interface{}

读取配置值

func SetTableKeyServiceName

func SetTableKeyServiceName(name string)

*

  • 设置表主键服务名称
  • name 服务名称

func ToEntity

func ToEntity(entity interface{}, names ...string) *msgentity.MsgEntity

*

  • 通过结构体获取
  • @param entity 结构体样式
  • @param names 辅助'项名称',若不传递则按结构体名称做'项名称'
  • @return 返回新建结构体实体

Types

type AopUtil

type AopUtil struct{}

func (AopUtil) CallAfterFunc

func (au AopUtil) CallAfterFunc(funcName string, ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity

*

  • 调用Aop-函数执行后调用函数
  • @param funcName 被监听函数 xxservice.xx
  • @param doFunc 被调用函数
  • @return

func (AopUtil) CallAroundFunc

func (au AopUtil) CallAroundFunc(funcName string, ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity

*

  • 调用Aop-函数执行中调用函数
  • @param funcName 被监听函数 xxservice.xx
  • @param doFunc 被调用函数
  • @return

func (AopUtil) CallBeforeFunc

func (au AopUtil) CallBeforeFunc(funcName string, ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity

*

  • 调用Aop-函数执行前调用函数
  • @param funcName 被监听函数 xxservice.xx
  • @param doFunc 被调用函数
  • @return

func (AopUtil) RegisterAfter

func (au AopUtil) RegisterAfter(funcName string, doFunc func(ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity)

*

  • 注册Aop-函数执行后调用函数
  • @param funcName 被监听函数
  • @param doFunc 被调用函数
  • @return

func (AopUtil) RegisterAround

func (au AopUtil) RegisterAround(funcName string, doFunc func(ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity)

*

  • 注册Aop-函数执行中调用函数
  • @param funcName 被监听函数 xxservice.xx
  • @param doFunc 被调用函数
  • @return

func (AopUtil) RegisterBefore

func (au AopUtil) RegisterBefore(funcName string, doFunc func(ctx ginutil.Context, params ...interface{}) *msgentity.MsgEntity)

*

  • 注册Aop-函数执行前调用函数
  • @param funcName 被监听函数
  • @param doFunc 被调用函数
  • @return

type BrickApp

type BrickApp struct{}

func (BrickApp) CheckPollCode

func (BrickApp) CheckPollCode(key string, isClose bool) bool

*

  • 程序注册码校验
  • @param key 干扰密钥
  • @param isClose 验证失败时是否关闭程序
  • @return

func (BrickApp) Run

func (ba BrickApp) Run(InterceptorFunc func(ctx ginutil.Context) bool)

*

  • 程序运行
  • @param InterceptorFunc 拦截函数

type Cloud

type Cloud struct{}

func (Cloud) CloudMonitor

func (Cloud) CloudMonitor(ctx ginutil.Context) interface{}

#region @Api {title=中心监听接口} @return {type=json explainType=MsgEntity<string> explain=返回响应} @RequestMapping {name=CloudMonitor type=GET,POST value=/cloud/monitor} #endregion

func (Cloud) RegistraCloud

func (Cloud) RegistraCloud()

*

  • 注册服务到注册中心

type CommonService

type CommonService = ServiceBaseFunc

type Controller

type Controller interface {
	GetModuleEntity(control Controller) (dbinfo.Entity, error) //对应模块数据实体
	GetModuleService(control Controller) (Service, error)      //对应模块业务实体
	GetModuleDao(control Controller) (Dao, error)              //对应模块数据处理实体
	RegisterUrl()                                              //http接口注册
	Enable() int                                               //控制操作,首位9不参与用7个数代表开关,0为不限制,1为限制
	CheckRepeatCombination() []string                          //检查待新增内容是否存在重复数据(多字段组合重复即重复)集合
	CheckRepeatAlone() map[string]int                          //检查待新增内容是否存在重复数据(单独字段重复即重复)集合,注意:int必须是1、10、100、1000
	IdValuePrefix() string                                     //记录编号值前缀,此属性用于给id字段添加前缀,以便于在分布式系统中进行数据合并,注意:前缀只有1个字符
	LikeTimeLimit() int                                        //模糊查询时是否要进行时间范围限制,默认900000天内,已经相当于不限制了
	SetOwner(owner Controller)                                 //设置父对象
}

web控制层接口定义,用于规范控制层结构体

func GetController

func GetController(name string) Controller

*

  • 取得已注册业务模块
  • @param name 业务模块名称
  • @return 业务模块

func RegisterController

func RegisterController(controller Controller) Controller

*

  • 注册业务模块
  • @param name 业务模块名称
  • @param controller 业务模块
  • @return 业务模块

type ControllerBaseFunc

type ControllerBaseFunc struct {
	// contains filtered or unexported fields
}

基类

func (*ControllerBaseFunc) CheckRepeatAlone

func (control *ControllerBaseFunc) CheckRepeatAlone() map[string]int

-- 检查待新增内容是否存在重复数据(单独字段重复即重复)集合,注意:int必须是1、10、100、1000 --//

func (*ControllerBaseFunc) CheckRepeatCombination

func (control *ControllerBaseFunc) CheckRepeatCombination() []string

检查待新增内容是否存在重复数据(多字段组合重复即重复)集合

func (*ControllerBaseFunc) Enable

func (control *ControllerBaseFunc) Enable() int

-- 控制操作,首位9不参与用7个数代表开关,0为不限制,1为限制 --// -- 7个数的控制分别是:删除、修改、查询、导出、统计、步骤值可逆、物理删除 --// -- 其中前5个为'是否仅创建者可操作'后续为其它控制开关 --//

func (*ControllerBaseFunc) GetModuleDao

func (control *ControllerBaseFunc) GetModuleDao(controller Controller) (Dao, error)

*

  • 获取模块数据访问实体

func (*ControllerBaseFunc) GetModuleEntity

func (control *ControllerBaseFunc) GetModuleEntity(controller Controller) (dbinfo.Entity, error)

*

  • 获取模块数据实体

func (*ControllerBaseFunc) GetModuleService

func (control *ControllerBaseFunc) GetModuleService(controller Controller) (Service, error)

*

  • 获取模块业务实体

func (*ControllerBaseFunc) IdValuePrefix

func (control *ControllerBaseFunc) IdValuePrefix() string

*

  • 记录编号值前缀,此属性用于给id字段添加前缀,以便于在分布式系统中进行数据合并
  • 注意:前缀只有1个字符

func (*ControllerBaseFunc) LikeTimeLimit

func (control *ControllerBaseFunc) LikeTimeLimit() int

*

  • 模糊查询时是否要进行时间范围限制,默认限制7天内

func (*ControllerBaseFunc) RegisterUrl

func (control *ControllerBaseFunc) RegisterUrl()

http接口注册

func (*ControllerBaseFunc) SetOwner

func (control *ControllerBaseFunc) SetOwner(owner Controller)

*

  • 设置父对象
  • @param owner

type ControllerUtil

type ControllerUtil struct{}

func (ControllerUtil) Add

func (controlUtil ControllerUtil) Add(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 新增
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) AddNode

func (controlUtil ControllerUtil) AddNode(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 新增树节点
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) AddRequestAttrib

func (controlUtil ControllerUtil) AddRequestAttrib(ctx ginutil.Context, attribs ...[]string)

*

  • 增加请求属性
  • 注:函数应用于模块控制器时修改或传递到通用方法时,切勿滥用
  • @Param ctx http请求对象
  • @Param attribs 参数键值对数组,[name,value],如果value不存在则为”
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) AddToGroup

func (controlUtil ControllerUtil) AddToGroup(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 添加数据到指定组下
  • 警告:对象必须符合树形结构要求,如:Id、Pid
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Adds

func (controlUtil ControllerUtil) Adds(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 批量新增
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) ClearCache

func (controlUtil ControllerUtil) ClearCache(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 清理指定用户的缓存
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Del

func (controlUtil ControllerUtil) Del(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 删除
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Edit

func (controlUtil ControllerUtil) Edit(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 修改
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Edits

func (controlUtil ControllerUtil) Edits(ctx ginutil.Context, control Controller, transactional bool) *msgentity.MsgEntity

*

  • 批量修改
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param transactional 启用事务
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindAll

func (controlUtil ControllerUtil) FindAll(ctx ginutil.Context, control Controller, attachWhere ...set.Set) *msgentity.MsgEntity

*

  • 查询所有数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindByDate

func (controlUtil ControllerUtil) FindByDate(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 查询时间范围内数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindByGroup

func (controlUtil ControllerUtil) FindByGroup(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 查询组结构数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindById

func (controlUtil ControllerUtil) FindById(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据主键查询数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口

func (ControllerUtil) FindByKey

func (controlUtil ControllerUtil) FindByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据关键值取对象集合
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindByPage

func (controlUtil ControllerUtil) FindByPage(ctx ginutil.Context, control Controller, injectionCondition ...set.Set) *msgentity.MsgEntity

*

  • 查询分页数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param injectionCondition 注入条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindByRow

func (controlUtil ControllerUtil) FindByRow(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 查找指定行数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindByTree

func (controlUtil ControllerUtil) FindByTree(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 读取树形结构数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindCountByKey

func (controlUtil ControllerUtil) FindCountByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据关键值查数量
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindOneByKey

func (controlUtil ControllerUtil) FindOneByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的第一个
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) FindValueByKey

func (controlUtil ControllerUtil) FindValueByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的符合条件的第一条记录的指定字段
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) GetParams

func (controlUtil ControllerUtil) GetParams(ctx ginutil.Context, entity interface{}) *msgentity.MsgEntity

*

  • 取所有参数,并转换成对应实体属性类型(map[string]interface{})
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) GetValueByField

func (controlUtil ControllerUtil) GetValueByField(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) GetValueByFieldName

func (controlUtil ControllerUtil) GetValueByFieldName(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Group

func (controlUtil ControllerUtil) Group(ctx ginutil.Context, control Controller, fields map[string]string) *msgentity.MsgEntity

*

  • 根据字段名取分组数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param fields 分组字段[字段名,字段别名]
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) GroupAndCount

func (controlUtil ControllerUtil) GroupAndCount(ctx ginutil.Context, control Controller, fields map[string]string) *msgentity.MsgEntity

*

  • 根据字段名取分组数据且取数量
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param fields 分组字段[字段名,字段别名]
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) GroupByField

func (controlUtil ControllerUtil) GroupByField(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据字段名取分组数据
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) HasById

func (controlUtil ControllerUtil) HasById(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 取表中指定字段的最小值
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) HasByKey

func (controlUtil ControllerUtil) HasByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 检查关键值记录是否存在(返回1:存在;0:不存在)
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) LookImg

func (controlUtil ControllerUtil) LookImg(ctx ginutil.Context, control Controller, modelName, filename string)

*

  • 获取图片
  • @param ctx http请求对象
  • @param control 控制层接口
  • @param modelName 模块名称
  • @param filename 文件名
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) MaxByField

func (controlUtil ControllerUtil) MaxByField(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 取表中指定字段的最大值
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) MinByField

func (controlUtil ControllerUtil) MinByField(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 取表中指定字段的最小值
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) ReversalByKey

func (controlUtil ControllerUtil) ReversalByKey(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 根据关键值翻转值(限布尔值类型,1转2,2转1)
  • 警告:此方法只支持布尔值类型,且只支持翻转1和2
  • @Param ctx http请求对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Save

func (controlUtil ControllerUtil) Save(ctx ginutil.Context, control Controller) *msgentity.MsgEntity

*

  • 保存(有ID则更新,否则新增)
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) SaveList

func (controlUtil ControllerUtil) SaveList(ctx ginutil.Context, control Controller, transactional bool) *msgentity.MsgEntity

*

  • 批量操作
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param transactional 启用事务
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) Saves

func (controlUtil ControllerUtil) Saves(ctx ginutil.Context, control Controller, transactional bool) *msgentity.MsgEntity

*

  • 批量保存
  • @param ctx GinHttp上下文对象
  • @param control 控制层接口
  • @param transactional 启用事务
  • @return *msgentity.MsgEntity 返回验证结果

func (ControllerUtil) UpFile

func (controlUtil ControllerUtil) UpFile(ctx ginutil.Context, control Controller, modelName string) *msgentity.MsgEntity

*

  • 上传文件
  • @param ctx http请求对象
  • @param control 控制层接口
  • @param modelName 模块名称
  • @return *msgentity.MsgEntity 返回验证结果

type Dao

type Dao interface {

	/**
	 * 新增
	 * @param entity 待保存实体
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	Add(entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 通用新增数据方法
	 * @param entity 待保存实体
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	AddCommon(entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 新增树节点
	 * @param entity 检查用数据结构
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	AddNode(entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 批量新增
	 * @param entity 检查用数据结构
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	Adds(entitys []dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 修改状态
	 * @param entity 实体类
	 * @param id 编号
	 * @param state 状态值
	 * @param edition 记录版本号
	 * @param Memo 备注
	 * @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	ChangeState(entity dbinfo.Entity, id interface{}, state int, edition int, Memo string, unidirectional bool) *msgentity.MsgEntity

	/**
	 * 修改步骤值(如果设置为单向则新值必须大于旧值)
	 * @param id 编号
	 * @param setp 步骤值
	 * @param edition 记录版本号
	 * @param Memo 备注
	 * @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
	 * @param entity 实体类
	 * @return msgentity.MsgEntity 返回执行情况
	 */
	ChangeSetp(entity dbinfo.Entity, id interface{}, setp int, edition int, Memo string, unidirectional bool) *msgentity.MsgEntity

	/**
	 * 逻辑删除(非物理删除)
	 * @param entity 实体类
	 * @param id 记录编号值
	 * @param edition 记录版本号
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	DelSign(entity dbinfo.Entity, id interface{}, edition int, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 逻辑删除(非物理删除)
	 * @param entity 实体类
	 * @param whereInfo 条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	DelSignByMap(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 删除
	 * @param entity 对象类型
	 * @param id 记录编号值
	 * @param edition 记录版本号
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	Del(entity dbinfo.Entity, id interface{}, edition int, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 删除
	 * @param entity 对象类型
	 * @param whereInfo 条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	DelByMap(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 修改
	 * @param entity 对象类型
	 * @param id 记录编号值
	 * @param edition 记录版本号
	 * @param data 待更新的字段和值
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	Edit(entity dbinfo.Entity, id interface{}, edition int, data map[string]interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 批量修改(事务)
	 * @param entity 对象类型
	 * @param datas 待更新的字段和值集合
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	Edits(entity dbinfo.Entity, datas []map[string]interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 批量保存(事务)
	 * @param entity 对象类型
	 * @param addList 待新增集合
	 * @param editList 待更新集合
	 * @param delList 待删除集合
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @param transactional 是否启用事务
	 * @return msgentity.MsgEntity
	 */
	SaveList(entity dbinfo.Entity, addList, editList, delList []map[string]interface{}, currentUser string, onlyCreator, transactional bool) *msgentity.MsgEntity

	/**
	 * 根据主键查询数据
	 * @param entity 检查用数据结构
	 * @param id 主键
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	FindById(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据主键查询数据(返回结构体数据)
	 * @param entity 检查用数据结构
	 * @param id 主键
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	EntityById(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据sql查询数据(返回结构体数据)
	 * @param entityList 结构体集合
	 * @param sql sql语句
	 * @param where 查询条件
	 * @return msgentity.MsgEntity
	 */
	EntityBySql(entityList interface{}, sql string, where map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 查询所有数据
	 * @param entity 检查用数据结构
	 * @param where 查询条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	FindAll(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 查询指定时间内数据
	 * @param entity 检查用数据结构
	 * @param dateSt 开始时间
	 * @param dateEd 结束时间
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	FindByDate(entity dbinfo.Entity, dateSt string, dateEd string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 查询指定行数据
	 * @param entity 检查用数据结构
	 * @param id 记录编号
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	FindByRow(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 查询分页数据
	 * @param entity 检查用数据结构
	 * @param findByPageParam 分页参数
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅创建用户
	 * @return msgentity.MsgEntity
	 */
	FindByPage(entity dbinfo.Entity, findByPageParam dbinfo.FindByPageParam, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 取路径字段
	 * @param Id 主键
	 * @param dbName 数据库名
	 * @param tableName 表名
	 * @return string
	 */
	GetPath(Id, dbName, tableName string) string

	/**
	 * 取指定节点下的子节点编号
	 * @param tableInfo 表信息
	 * @param Pid 父节点
	 * @return
	 */
	NewChildId(tableInfo dbinfo.Entity, Pid string) *msgentity.MsgEntity

	/**
	 * 验证新增数据是否存在重复
	 * @param entity 数据实体
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	ValidEntityRepeatByAdd(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

	/**
	 * 验证更新数据是否存在重复
	 * @param entity 数据实体
	 * @param id 主键
	 * @param data 数据
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	ValidEntityRepeatByEdit(entity dbinfo.Entity, id interface{}, data map[string]interface{}, currentUser string) *msgentity.MsgEntity

	/**
	 * 通用树型结构表添加数据时重复检查方法
	 * @param entity 数据实体
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	CommonCheckRepeatByAddAndTree(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

	/**
	 * 通用树型结构表添加数据时重复检查方法
	 * @param entity 数据实体
	 * @param id 主键
	 * @param Name 展现名
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	CommonCheckRepeatByEditAndTree(entity dbinfo.Entity, id interface{}, Name interface{}, currentUser string) *msgentity.MsgEntity

	/**
	 * 通用添加数据时重复检查方法
	 * @param entity 数据实体
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	CommonCheckRepeatByAdd(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

	/**
	 * 通用更新数据时重复检查方法
	 * @param entity 数据实体
	 * @param id 数据主键
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	CommonCheckRepeatByEdit(entity dbinfo.Entity, id interface{}, currentUser string) *msgentity.MsgEntity

	/**
	 * 读取树形结构数据
	 * @param entity 数据实体
	 * @param groupColumn 分组字段
	 * @param groupName 分组名称
	 * @param currentUser 当前用户
	 * @return msgentity.MsgEntity
	 */
	FindByTree(entity dbinfo.Entity, groupmn, groupName string, currentUser string) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定记录编号的数据库表中对应字段的值
	 * @param entity 实体类
	 * @param id 记录编号
	 * @param fieldNames 待取数据的字段名称集合
	 * @param currentUser 当前用户
	 * @Param onlyCreator 是否只取当前用户创建的数据
	 * @return msgentity.MsgEntity 返回内容data中存放的是Map
	 */
	GetValueByFieldName(entity dbinfo.Entity, id interface{}, fieldNames []string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定记录编号的数据库表中对应字段的值
	 * @param entity 实体类
	 * @param id 记录编号
	 * @param fieldName 待取数据的字段名称集合
	 * @param currentUser 当前用户
	 * @Param onlyCreator 是否只取当前用户创建的数据
	 * @return msgentity.MsgEntity 返回内容data中存放的是Map
	 */
	GetValueByField(entity dbinfo.Entity, id interface{}, fieldName, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定条件的数据库表中对应字段的值
	 * @param entity 实体类
	 * @param whereInfo 条件
	 * @param fieldName 待取数据的字段名称集合
	 * @param currentUser 当前用户
	 * @Param onlyCreator 是否只取当前用户创建的数据
	 * @return msgentity.MsgEntity 返回内容data中存放的是Map
	 */
	GetValueByWhere(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 取记录对应的版本号
	 * @param entity 实体类
	 * @param idName 编号
	 * @return
	 */
	GetEdition(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 取记录对应的状态值
	 * @param entity 实体类
	 * @param id 编号
	 * @return
	 */
	GetState(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @Param currentUser 当前用户
	 * @Param onlyCreator 是否只取当前用户创建的数据
	 * @return msgentity.MsgEntity
	 */
	FindByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合中的第一个
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @Param currentUser 当前用户
	 * @param onlyCreator 是否只取当前用户创建的数据
	 * @param fields 指定要查询的字段集合
	 * @return msgentity.MsgEntity
	 */
	FindOneByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool, fields ...string) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合中的符合条件的第一条记录的指定字段
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param fieldName 指定要查询的字段
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅查询创建者
	 * @return msgentity.MsgEntity
	 */
	FindValueByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合中的符合条件的第一条记录的指定字段
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param fieldMap 指定要查询的字段集合(原字段, 别名)
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅查询创建者
	 * @return msgentity.MsgEntity
	 */
	FindByFields(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldMap map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据关键值查数量
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 仅查询创建者
	 * @return msgentity.MsgEntity
	 */
	FindCountByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 以事务方式执行多个sql
	 * 注意:Mapper必须存在才能执行
	 * @param sqls [sql, params]
	 * @return msgentity.MsgEntity 一个执行失败则回滚
	 */
	TransactionSql(sqls map[string]map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 根据字段名取分组数据
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param fields 字段名与别名对象
	 * @param currentUser 当前用户
	 * @param onlyCreator 用户查询限制(仅创建者可见)
	 * @return
	 */
	GroupByField(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据字段名取分组数据,并返回数量
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param fields 字段名与别名对象
	 * @param currentUser 当前用户
	 * @param onlyCreator 用户查询限制(仅创建者可见)
	 * @return
	 */
	GroupByFieldAndCount(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 根据字段名取分组数据
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param fields 字段名与别名对象
	 * @param currentUser 当前用户
	 * @param onlyCreator 用户查询限制(仅创建者可见)
	 * @param isGroupCount 添加分组后是否添加'数量列'
	 * @return
	 */
	GroupByFieldBase(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator, isGroupCount bool) *msgentity.MsgEntity

	/**
	 * 取表中指定字段的最大值
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param field 字段名
	 * @param where 查询条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 用户查询限制(仅创建者可见)
	 * @return msgentity.MsgEntity
	 */
	MaxByField(entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 取表中指定字段的最小值
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param field 字段名
	 * @param where 查询条件
	 * @param currentUser 当前用户
	 * @param onlyCreator 用户查询限制(仅创建者可见)
	 * @param whereStr 查询条件字符串
	 * @return
	 */
	MinByField(entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 检查关键值记录是否存在(返回1:存在;0:不存在)
	 * @param entity 实体类
	 * @param id 记录编号
	 * @return msgentity.MsgEntity
	 */
	HasById(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 检查关键值记录是否存在(返回1:存在;0:不存在)
	 * @param entity 实体类
	 * @Param keyName 字段名
	 * @Param keyValue 字段值
	 * @return msgentity.MsgEntity
	 */
	HasByKey(entity dbinfo.Entity, keyName string, keyValue interface{}) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @param where 存放查询条件
	 * @return msgentity.MsgEntity
	 */
	DoSql(sql string, where ...interface{}) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @param where 存放查询条件
	 * @return msgentity.MsgEntity
	 */
	ExecSql(sql string, where ...interface{}) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @param where 存放查询条件
	 * @return msgentity.MsgEntity
	 */
	GetValue(sql string, where ...interface{}) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取一行数据(多列)
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录
	 * @param sql 待执行的SQL脚本
	 * @param where 存放查询条件
	 * @return msgentity.MsgEntity
	 */
	GetRow(sql string, where ...interface{}) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取多行数据(多列)
	 * 注意:库名必须用${}进行包装,此脚本可返回多条记录
	 * @param sql SQL脚本
	 * @param where 存放查询条件
	 * @return msgentity.MsgEntity
	 */
	GetRows(sql string, where ...interface{}) *msgentity.MsgEntity

	/**
	 * 根据关键值翻转值(限布尔值类型,1转2,2转1)
	 * @Param entity 实体类
	 * @Param whereInfo 存放查询条件
	 * @Param reversalColumn 翻转的字段名
	 * @Param currentUser 当前用户
	 * @Param onlyCreator 是否只翻转创建人创建的数据
	 * @return msgentity.MsgEntity
	 */
	ReversalByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, reversalColumn, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	* 根据条件仅查询指定字段名数据
	* @param entity 实体类
	* @param whereInfo
	* @param fieldNames 待取数据的字段名称集合
	* @Param currentUser 当前用户
	* @Param onlyCreator 是否只翻转创建人创建的数据
	* @return msgentity.MsgEntity 返回内容data中存放的是Map
	 */
	FindField(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldNames []string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

	/**
	 * 设置父对象
	 * @param owner 父对象
	 */
	SetOwner(owner Dao)

	/**
	 * 对gorm.First操作进行封装
	 * @param entity 实体类
	 * @param conds
	 * @return
	 */
	First(entity dbinfo.Entity, conds ...interface{}) (dbinfo.Entity, error)

	// 对gorm.Create操作进行封装
	Create(entity dbinfo.Entity) (dbinfo.Entity, error)

	// 对gorm.Save操作进行封装,
	// 警告:Save是一个组合函数。 如果保存值不包含主键,它将执行 Create,否则它将执行 Update (包含所有字段)。
	Save(entity dbinfo.Entity) (dbinfo.Entity, error)

	// 对gorm.Delete操作进行封装
	Delete(entity dbinfo.Entity, conds ...interface{}) (int, error)
}

we数据层接口定义,用于规范控制层结构体

func GetDao

func GetDao(name string) Dao

* * 取得已注册业务模块 * @param name 业务模块名称 * @return 业务模块

func RegisterDao

func RegisterDao(name string, dao Dao) Dao

*

  • 注册数据处理模块
  • @param name 模块名称
  • @param dao 数据处理模块
  • @return 数据处理模块

type DaoBaseFunc

type DaoBaseFunc struct {
	// contains filtered or unexported fields
}

func (DaoBaseFunc) Add

func (dao DaoBaseFunc) Add(entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 新增
  • @param entity 待保存实体

func (DaoBaseFunc) AddCommon

func (dao DaoBaseFunc) AddCommon(entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 通用新增数据方法
  • @param entity 待保存实体

func (DaoBaseFunc) AddNode

func (dao DaoBaseFunc) AddNode(entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 新增树节点
  • @param entity 检查用数据结构

func (DaoBaseFunc) Adds

func (dao DaoBaseFunc) Adds(entitys []dbinfo.Entity) *msgentity.MsgEntity

批量新增

func (DaoBaseFunc) ChangeSetp

func (dao DaoBaseFunc) ChangeSetp(entity dbinfo.Entity, id interface{}, setp, edition int, Memo string, unidirectional bool) *msgentity.MsgEntity

*

  • 修改步骤值(如果设置为单向则新值必须大于旧值)
  • @param id 编号
  • @param setp 步骤值
  • @param edition 记录版本号
  • @param Memo 备注
  • @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
  • @param entity 实体类
  • @return msgentity.MsgEntity 返回执行情况

func (DaoBaseFunc) ChangeState

func (dao DaoBaseFunc) ChangeState(entity dbinfo.Entity, id interface{}, state, edition int, Memo string, unidirectional bool) *msgentity.MsgEntity

*

  • 修改状态
  • @param entity 实体类
  • @param id 编号
  • @param state 状态值
  • @param edition 记录版本号
  • @param Memo 备注
  • @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
  • @return msgentity.MsgEntity 返回执行情况

func (DaoBaseFunc) CommonCheckRepeatByAdd

func (dao DaoBaseFunc) CommonCheckRepeatByAdd(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

*

  • 通用添加数据时重复检查方法
  • @param entity 数据实体
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) CommonCheckRepeatByAddAndTree

func (dao DaoBaseFunc) CommonCheckRepeatByAddAndTree(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

*

  • 通用树型结构表添加数据时重复检查方法
  • @param entity 数据实体
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) CommonCheckRepeatByEdit

func (dao DaoBaseFunc) CommonCheckRepeatByEdit(entity dbinfo.Entity, id interface{}, currentUser string) *msgentity.MsgEntity

*

  • 通用更新数据时重复检查方法
  • @param entity 数据实体
  • @param id 数据主键
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) CommonCheckRepeatByEditAndTree

func (dao DaoBaseFunc) CommonCheckRepeatByEditAndTree(entity dbinfo.Entity, id interface{}, Name interface{}, currentUser string) *msgentity.MsgEntity

*

  • 通用树型结构表添加数据时重复检查方法
  • @param entity 数据实体
  • @param id 主键
  • @param Name 展现名
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) Create

func (DaoBaseFunc) Create(entity dbinfo.Entity) (dbinfo.Entity, error)

对gorm.Create操作进行封装

func (DaoBaseFunc) Del

func (dao DaoBaseFunc) Del(entity dbinfo.Entity, id interface{}, edition int, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据ID删除记录
  • @param entity 实体信息
  • @param id 记录编号
  • @param edition 记录版本号
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建者能删除
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) DelByMap

func (dao DaoBaseFunc) DelByMap(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据条件删除
  • @param entity
  • @param whereInfo
  • @param currentUser 当前用户
  • @param onlyCreator 只创建人能删除
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) DelSign

func (dao DaoBaseFunc) DelSign(entity dbinfo.Entity, id interface{}, edition int, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据ID逻辑删除(非物理删除)
  • @param entity 实体信息
  • @param id 记录编号
  • @param edition 记录版本号
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建者能删除
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) DelSignByMap

func (dao DaoBaseFunc) DelSignByMap(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据条件逻辑删除(非物理删除)
  • @param entity 实体信息
  • @param whereInfo 条件信息
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建者能删除
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) Delete

func (DaoBaseFunc) Delete(entity dbinfo.Entity, conds ...interface{}) (int, error)

对gorm.Delete操作进行封装

func (DaoBaseFunc) DoSql

func (dao DaoBaseFunc) DoSql(sql string, where ...interface{}) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) Edit

func (dao DaoBaseFunc) Edit(entity dbinfo.Entity, id interface{}, edition int, data map[string]interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 修改
  • @param entity 对象类型
  • @param id 记录编号值
  • @param edition 记录版本号
  • @param data 待更新的字段和值
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) Edits

func (dao DaoBaseFunc) Edits(entity dbinfo.Entity, datas []map[string]interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 批量修改(事务)
  • @param entity 对象类型
  • @param datas 待更新的字段和值集合
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) EntityById

func (dao DaoBaseFunc) EntityById(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据主键查询数据(返回结构体数据)
  • @param entity 检查用数据结构
  • @param id 主键
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) EntityBySql

func (dao DaoBaseFunc) EntityBySql(entityList interface{}, sql string, where map[string]interface{}) *msgentity.MsgEntity

func (DaoBaseFunc) ExecSql

func (dao DaoBaseFunc) ExecSql(sql string, where ...interface{}) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindAll

func (dao DaoBaseFunc) FindAll(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 查询所有数据
  • @param entity 检查用数据结构
  • @param where 查询条件
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByDate

func (dao DaoBaseFunc) FindByDate(entity dbinfo.Entity, dateSt string, dateEd string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 查询指定时间内数据
  • @param entity 检查用数据结构
  • @param dateSt 开始时间
  • @param dateEd 结束时间
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByFields

func (dao DaoBaseFunc) FindByFields(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldMap map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的符合条件的第一条记录的指定字段
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param fieldMap 指定要查询的字段集合(原字段, 别名)
  • @param currentUser 当前用户
  • @param onlyCreator 仅查询创建者
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindById

func (dao DaoBaseFunc) FindById(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据主键查询数据
  • @param entity 检查用数据结构
  • @param id 主键
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByKey

func (dao DaoBaseFunc) FindByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据关键值取对象集合
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @Param currentUser 当前用户
  • @Param onlyCreator 是否只取当前用户创建的数据
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByPage

func (dao DaoBaseFunc) FindByPage(entity dbinfo.Entity, findByPageParam dbinfo.FindByPageParam, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 查询分页数据
  • @param entity 检查用数据结构
  • @param findByPageParam 分页参数
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByRow

func (dao DaoBaseFunc) FindByRow(entity dbinfo.Entity, id interface{}, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 查询指定行数据
  • @param entity 检查用数据结构
  • @param id 记录编号
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindByTree

func (dao DaoBaseFunc) FindByTree(entity dbinfo.Entity, groupColumn, groupName, currentUser string) *msgentity.MsgEntity

*

  • 读取树形结构数据
  • @param entity 数据实体
  • @param groupColumn 分组字段
  • @param groupName 分组名称
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindCountByKey

func (dao DaoBaseFunc) FindCountByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据关键值查数量
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param currentUser 当前用户
  • @param onlyCreator 仅查询创建者
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindField

func (dao DaoBaseFunc) FindField(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldNames []string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据条件仅查询指定字段名数据
  • @param entity 实体类
  • @param whereInfo
  • @param fieldNames 待取数据的字段名称集合
  • @Param currentUser 当前用户
  • @Param onlyCreator 是否只翻转创建人创建的数据
  • @return msgentity.MsgEntity 返回内容data中存放的是Map

func (DaoBaseFunc) FindOneByKey

func (dao DaoBaseFunc) FindOneByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool, fields ...string) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的第一个
  • @Param entity 实体类
  • @Param whereInfo 存放查询条件
  • @Param currentUser 当前用户
  • @param onlyCreator 是否只取当前用户创建的数据
  • @param fields 指定要查询的字段集合
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) FindValueByKey

func (dao DaoBaseFunc) FindValueByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的符合条件的第一条记录的指定字段
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param fieldName 指定要查询的字段
  • @param currentUser 当前用户
  • @param onlyCreator 仅查询创建者
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) First

func (DaoBaseFunc) First(entity dbinfo.Entity, conds ...interface{}) (dbinfo.Entity, error)

对gorm.First操作进行封装

func (DaoBaseFunc) GetEdition

func (dao DaoBaseFunc) GetEdition(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 取记录对应的版本号
  • @param entity 实体类
  • @param idName 编号
  • @return

func (DaoBaseFunc) GetFindByPageSelectSql

func (dao DaoBaseFunc) GetFindByPageSelectSql(currentUser string, entity dbinfo.Entity,
	findByPageParam dbinfo.FindByPageParam, onlyCreator bool) (string, string, map[string]interface{})

分页数据查询部分语句,在分页查询数据及 数据搜索时使用 返回 findByPageCountSql, findByPageSql, params

func (DaoBaseFunc) GetFindByPageSelectSqlByField

func (DaoBaseFunc) GetFindByPageSelectSqlByField(dataInfo *dbinfo.DataInfo, TableName, sFieldName string, oTherJoin map[string]string) (string, string)

取分页查询的字段信息

func (DaoBaseFunc) GetPath

func (dao DaoBaseFunc) GetPath(Id, dbName, tableName string) string

取路径字段

func (DaoBaseFunc) GetRow

func (dao DaoBaseFunc) GetRow(sql string, where ...interface{}) *msgentity.MsgEntity

*

  • 执行SQL脚本获取一行数据(多列)
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录
  • @param sql 待执行的SQL脚本
  • @param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) GetRows

func (dao DaoBaseFunc) GetRows(sql string, where ...interface{}) *msgentity.MsgEntity

*

  • 执行SQL脚本获取多行数据(多列)
  • 注意:库名必须用${}进行包装,此脚本可返回多条记录
  • @param sql SQL脚本
  • @param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) GetState

func (dao DaoBaseFunc) GetState(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 取记录对应的状态值
  • @param entity 实体类
  • @param id 编号
  • @return

func (DaoBaseFunc) GetValue

func (dao DaoBaseFunc) GetValue(sql string, where ...interface{}) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) GetValueByField

func (dao DaoBaseFunc) GetValueByField(entity dbinfo.Entity, id interface{}, fieldName, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param entity 实体类
  • @param id 记录编号
  • @param fieldName 待取数据的字段名称集合
  • @param currentUser 当前用户
  • @Param onlyCreator 是否只取当前用户创建的数据
  • @return msgentity.MsgEntity 返回内容data中存放的是Map

func (DaoBaseFunc) GetValueByFieldName

func (dao DaoBaseFunc) GetValueByFieldName(entity dbinfo.Entity, id interface{}, fieldNames []string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param entity 实体类
  • @param id 记录编号
  • @param fieldNames 待取数据的字段名称集合
  • @param currentUser 当前用户
  • @Param onlyCreator 是否只取当前用户创建的数据
  • @return msgentity.MsgEntity 返回内容data中存放的是Map

func (DaoBaseFunc) GetValueByWhere

func (dao DaoBaseFunc) GetValueByWhere(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据字段名取指定条件的数据库表中对应字段的值
  • @param entity 实体类
  • @param whereInfo 条件
  • @param fieldName 待取数据的字段名称集合
  • @param currentUser 当前用户
  • @Param onlyCreator 是否只取当前用户创建的数据
  • @return msgentity.MsgEntity 返回内容data中存放的是Map

func (DaoBaseFunc) GroupByField

func (dao DaoBaseFunc) GroupByField(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据字段名取分组数据
  • @param entity 实体类
  • @param Creator 指定用户
  • @param fields 字段名与别名对象
  • @param currentUser 当前用户
  • @param onlyCreator 用户查询限制(仅创建者可见)
  • @return

func (DaoBaseFunc) GroupByFieldAndCount

func (dao DaoBaseFunc) GroupByFieldAndCount(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据字段名取分组数据,并返回数量
  • @param entity 实体类
  • @param Creator 指定用户
  • @param fields 字段名与别名对象
  • @param currentUser 当前用户
  • @param onlyCreator 用户查询限制(仅创建者可见)
  • @return

func (DaoBaseFunc) GroupByFieldBase

func (dao DaoBaseFunc) GroupByFieldBase(entity dbinfo.Entity, Creator string, fields map[string]string, currentUser string, onlyCreator, isGroupCount bool) *msgentity.MsgEntity

*

  • 根据字段名取分组数据
  • @param entity 实体类
  • @param Creator 指定用户
  • @param fields 字段名与别名对象
  • @param currentUser 当前用户
  • @param onlyCreator 用户查询限制(仅创建者可见)
  • @param isGroupCount 添加分组后是否添加'数量列'
  • @return

func (DaoBaseFunc) HasById

func (dao DaoBaseFunc) HasById(entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 检查关键值记录是否存在(返回1:存在;0:不存在)
  • @param entity 实体类
  • @param id 记录编号
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) HasByKey

func (dao DaoBaseFunc) HasByKey(entity dbinfo.Entity, keyName string, keyValue interface{}) *msgentity.MsgEntity

*

  • 检查关键值记录是否存在(返回1:存在;0:不存在)
  • @param entity 实体类
  • @Param keyName 字段名
  • @Param keyValue 字段值
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) MaxByField

func (dao DaoBaseFunc) MaxByField(entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 取表中指定字段的最大值
  • @param entity 实体类
  • @param Creator 指定用户
  • @param field 字段名
  • @param where 查询条件
  • @param currentUser 当前用户
  • @param onlyCreator 用户查询限制(仅创建者可见)
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) MinByField

func (dao DaoBaseFunc) MinByField(entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 取表中指定字段的最小值
  • @param entity 实体类
  • @param Creator 指定用户
  • @param field 字段名
  • @param where 查询条件
  • @param currentUser 当前用户
  • @param onlyCreator 用户查询限制(仅创建者可见)
  • @param whereStr 查询条件字符串
  • @return

func (DaoBaseFunc) NewChildId

func (dao DaoBaseFunc) NewChildId(entity dbinfo.Entity, Pid string) *msgentity.MsgEntity

*

  • 取指定节点下的子节点编号
  • @param tableInfo 表信息
  • @param Pid 父节点
  • @return

func (DaoBaseFunc) ReversalByKey

func (dao DaoBaseFunc) ReversalByKey(entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, reversalColumn, currentUser string, onlyCreator bool) *msgentity.MsgEntity

*

  • 根据关键值翻转值(限布尔值类型,1转2,2转1)
  • @Param entity 实体类
  • @Param whereInfo 存放查询条件
  • @Param reversalColumn 翻转的字段名
  • @Param currentUser 当前用户
  • @Param onlyCreator 是否只翻转创建人创建的数据
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) Save

func (DaoBaseFunc) Save(entity dbinfo.Entity) (dbinfo.Entity, error)

对gorm.Save操作进行封装, 警告:Save是一个组合函数。 如果保存值不包含主键,它将执行 Create,否则它将执行 Update (包含所有字段)。

func (DaoBaseFunc) SaveList

func (dao DaoBaseFunc) SaveList(entity dbinfo.Entity, addList, editList, delList []map[string]interface{}, currentUser string, onlyCreator, transactional bool) *msgentity.MsgEntity

*

  • 批量保存(事务)
  • @param entity 对象类型
  • @param addList 待新增集合
  • @param editList 待更新集合
  • @param delList 待删除集合
  • @param currentUser 当前用户
  • @param onlyCreator 仅创建用户
  • @param transactional 是否启用事务
  • @return msgentity.MsgEntity

func (*DaoBaseFunc) SetOwner

func (dao *DaoBaseFunc) SetOwner(owner Dao)

*

  • 设置父对象
  • @param owner

func (DaoBaseFunc) TransactionSql

func (dao DaoBaseFunc) TransactionSql(sqls map[string]map[string]interface{}) *msgentity.MsgEntity

*

  • 以事务方式执行多个sql
  • 注意:Mapper必须存在才能执行
  • @param sqls [sql, params]
  • @return msgentity.MsgEntity 一个执行失败则回滚

func (DaoBaseFunc) ValidEntityRepeatByAdd

func (dao DaoBaseFunc) ValidEntityRepeatByAdd(entity dbinfo.Entity, currentUser string) *msgentity.MsgEntity

*

  • 验证新增数据是否存在重复
  • @param entity 数据实体
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

func (DaoBaseFunc) ValidEntityRepeatByEdit

func (dao DaoBaseFunc) ValidEntityRepeatByEdit(entity dbinfo.Entity, id interface{}, data map[string]interface{}, currentUser string) *msgentity.MsgEntity

*

  • 验证更新数据是否存在重复
  • @param entity 数据实体
  • @param id 主键
  • @param data 数据
  • @param currentUser 当前用户
  • @return *msgentity.MsgEntity 返回验证结果

type Service

type Service interface {

	/**
	 * 取对应模块数据层实体,若子类未设置则返回DaoBaseFunc
	 * @return Dao, error 返回对应模块数据层实体,错误信息
	 */
	GetModuleDao() (Dao, error) //对应模块数据层实体

	/**
	 * 验证新增数据是否存在重复 (一旦使用则覆盖通用方法)
	 * @param ctx GinHttp上下文对象
	 * @param entity 验证数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CheckRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 验证更新数据是否存在重复 (一旦使用则覆盖通用方法)
	 * @param ctx GinHttp上下文对象
	 * @param entity 待验证数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CheckRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 新增
	 * @param ctx GinHttp上下文对象
	 * @param entity 检查用数据结构
	 * @param data 数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	Add(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 新增普通数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 检查用数据结构
	 * @param data 数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	AddCommon(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 新增树节点
	 * @param ctx GinHttp上下文对象
	 * @param entity 检查用数据结构
	 * @param data 数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	AddNode(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 批量新增
	 * @param ctx GinHttp上下文对象
	 * @param entitys 数据结构
	 * @param list 数据集合
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	Adds(ctx ginutil.Context, entitys []dbinfo.Entity, list []map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 批量新增
	 * @param ctx GinHttp上下文对象
	 * @param entitys 数据结构
	 * @param list 数据集合
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	AddList(ctx ginutil.Context, entitys []dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 修改状态
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @param state 状态值
	 * @param edition 记录版本号
	 * @param memo 备注
	 * @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
	 * @return *msgentity.MsgEntity 返回验证结果 返回执行情况
	 */
	ChangeState(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, state int, edition int, memo string, unidirectional bool) *msgentity.MsgEntity

	/**
	 * 修改步骤值(如果设置为单向则新值必须大于旧值)
	 * @param ctx GinHttp上下文对象
	 * @param id 编号
	 * @param setp 步骤值
	 * @param edition 记录版本号
	 * @param memo 备注
	 * @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
	 * @param entity 实体类
	 * @return *msgentity.MsgEntity 返回验证结果 返回执行情况
	 */
	ChangeSetp(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, setp int, edition int, memo string, unidirectional bool) *msgentity.MsgEntity

	/**
	 * 删除
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param id 记录编号值
	 * @param edition 记录版本号
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	Del(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, edition int) *msgentity.MsgEntity

	/**
	 * 删除
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param where 执行条件
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	DelByMap(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 按实体保留map中的数据
	 * @param entity 对象类型
	 * @param data 数据
	 */
	HoldByEntity(entity dbinfo.Entity, data map[string]interface{}) map[string]interface{}

	/**
	 * 修改
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param data 待更新的字段和值
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	Edit(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 批量修改
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param datas 待更新的字段和值集合
	 * @param transactional 启用事务
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	Edits(ctx ginutil.Context, entity dbinfo.Entity, datas []map[string]interface{}, transactional bool) *msgentity.MsgEntity

	/**
	 * 保存(有ID则更新,否则新增)
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param data 待保存数据
	 * @return msgentity.MsgEntity
	 */
	Save(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 批量保存
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param datas 待保存集合
	 * @param transactional 是否启用事务
	 * @return msgentity.MsgEntity
	 */
	Saves(ctx ginutil.Context, entity dbinfo.Entity, datas []map[string]interface{}, transactional bool) *msgentity.MsgEntity

	/**
	 * 批量操作
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param addList 待新增集合
	 * @param editList 待更新集合
	 * @param delList 待删除集合
	 * @param transactional 是否启用事务
	 * @return msgentity.MsgEntity
	 */
	SaveList(ctx ginutil.Context, entity dbinfo.Entity, addList, editList, delList []map[string]interface{}, transactional bool) *msgentity.MsgEntity

	/**
	 * 根据主键查询数据
	 * @param ctx GinHttp上下文对象
	 * @param id 主键
	 * @param entity 检查用数据结构
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindById(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 查询所有数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param whereInfo 查询条件
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindAll(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 查询指定时间内数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param dateSt 开始时间
	 * @param dateEd 结束时间
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByDate(ctx ginutil.Context, entity dbinfo.Entity, dateSt string, dateEd string) *msgentity.MsgEntity

	/**
	 * 查询指定行数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param id 编号
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByRow(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 查询分页数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 对象类型
	 * @param findByPageParam 查询分页参数
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByPage(ctx ginutil.Context, entity dbinfo.Entity, findByPageParam dbinfo.FindByPageParam) *msgentity.MsgEntity

	/**
	 * 补充数据库实体类的数据--新增
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @param selfId 自提供的编号,防止从序列中获取
	 * @param idValuePrefix Id前缀
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	SupplyDbEntityAttrByAdd(ctx ginutil.Context, entity dbinfo.Entity, selfId string, idValuePrefix string) *msgentity.MsgEntity

	/**
	 * 补充数据库实体类的数据--修改
	 * @param ctx GinHttp上下文对象
	 * @param data 待修改的数据
	 * @param entity 参照结构体
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	SupplyDbEntityAttrByEdit(ctx ginutil.Context, data map[string]interface{}, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 验证新增数据是否存在重复
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	ValidEntityRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 验证更新数据是否存在重复
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @param data 数据
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	ValidEntityRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 通用树型结构表添加数据时重复检查方法
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CommonCheckRepeatByAddAndTree(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 通用树型结构表添加数据时重复检查方法
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @param id
	 * @param Name
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CommonCheckRepeatByEditAndTree(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, Name interface{}) *msgentity.MsgEntity

	/**
	 * 通用添加数据时重复检查方法
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CommonCheckRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

	/**
	 * 通用更新数据时重复检查方法
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @param id
	 * @param data
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CommonCheckRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, data map[string]interface{}) *msgentity.MsgEntity

	/**
	 * 读取树形结构数据
	 * @param ctx GinHttp上下文对象
	 * @param entity
	 * @param groupColumn
	 * @param groupName
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByTree(ctx ginutil.Context, entity dbinfo.Entity, groupColumn, groupName string) *msgentity.MsgEntity

	/**
	 * List转树形结构
	 * @param source Map或切片结构
	 * @param rootName
	 * @param idFieldName
	 * @param pIdFieldName
	 * @param childFieldName
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	CreateTree(source interface{}, rootName, idFieldName, pIdFieldName, childFieldName string) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定记录编号的数据库表中对应字段的值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @param fieldNames 待取数据的字段名称集合
	 * @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map
	 */
	GetValueByFieldName(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, fieldNames []string) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定记录编号的数据库表中对应字段的值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @param fieldName 待取数据的字段名称集合
	 * @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map
	 */
	GetValueByField(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, fieldName string) *msgentity.MsgEntity

	/**
	 * 根据字段名取指定条件的数据库表中对应字段的值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param whereInfo 条件
	 * @param fieldName 待取数据的字段名称集合
	 * @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map
	 */
	GetValueByWhere(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName string) *msgentity.MsgEntity

	/**
	 * 取记录对应的版本号
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	GetEdition(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 取记录对应的状态值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param id 编号
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	GetState(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合中的第一个
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param fields 指定要查询的字段集合
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindOneByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fields ...string) *msgentity.MsgEntity

	/**
	 * 根据关键值取对象集合中的符合条件的第一条记录的指定字段
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param fieldName 指定要查询的字段
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindValueByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName string) *msgentity.MsgEntity

	/**
	 * 根据指定字段进行分组查询
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @param fieldMap 指定要查询的字段集合(原字段, 别名)
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByFields(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldMap map[string]string) *msgentity.MsgEntity

	/**
	 * 根据关键值查数量
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param where 存放查询条件
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindCountByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 根据字段名取分组数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param fields 字段名与别名对象
	 * @return
	 */
	GroupByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, fields map[string]string) *msgentity.MsgEntity

	/**
	 * 根据字段名取分组数据及分组后数量
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param fields 字段名与别名对象
	 * @return
	 */
	GroupByFieldAndCount(ctx ginutil.Context, entity dbinfo.Entity, Creator string, fields map[string]string) *msgentity.MsgEntity

	/**
	 * 取表中指定字段的最大值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param field 字段名
	 * @param where 查询条件字符串
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	MaxByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 取表中指定字段的最小值
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param Creator 指定用户
	 * @param field 字段名
	 * @param where 查询条件
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	MinByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

	/**
	 * 检查关键值记录是否存在(返回1:存在;0:不存在)
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @Param id
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	HasById(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

	/**
	 * 检查关键值记录是否存在(返回1:存在;0:不存在)
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @Param keyName 字段名
	 * @Param keyValue 字段值
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	HasByKey(ctx ginutil.Context, entity dbinfo.Entity, keyName string, keyValue interface{}) *msgentity.MsgEntity

	/**
	 * 清理指定用户的缓存
	 * @param ctx GinHttp上下文对象
	 * @param cacheName 缓存名
	 * @Param user 用户名
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	ClearCache(ctx ginutil.Context, cacheName string, user string) *msgentity.MsgEntity

	/**
	 * 查询组结构数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param groupColumn 分组名(树节点)所在字段名
	 * @param groupName 分组名(树节点)
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	FindByGroup(ctx ginutil.Context, entity dbinfo.Entity, groupColumn, groupName string) *msgentity.MsgEntity

	/**
	 * 添加数据到指定组下
	 * 警告:对象必须符合树形结构要求,如:Id、Pid
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体对象
	 * @param groupName 分组字段名称(树节点)
	 * @param groupalue 分组字段值(树节点)
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	AddToGroup(ctx ginutil.Context, entity dbinfo.Entity, groupName, groupValue string) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	DoSql(sql string) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	ExecSql(sql string) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取单行单列数据
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
	 * @param sql 待执行的SQL脚本
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	GetValue(sql string) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取一行数据(多列)
	 * 注意:库名必须用${}进行包装,此脚本应只存在一条记录
	 * @param sql 待执行的SQL脚本
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	GetRow(sql string) *msgentity.MsgEntity

	/**
	 * 执行SQL脚本获取多行数据(多列)
	 * 注意:库名必须用${}进行包装,此脚本可返回多条记录
	 * @param sql SQL脚本
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	GetRows(sql string) *msgentity.MsgEntity

	/**
	 * 根据关键值翻转值(限布尔值类型,1转2,2转1)
	 * 警告:此方法只支持布尔值类型,且只支持翻转1和2
	 * @param ctx GinHttp上下文对象
	 * @Param entity 实体类
	 * @Param whereInfo 存放查询条件
	 * @Param reversalColumn 翻转的字段名
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	ReversalByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, reversalColumn string) *msgentity.MsgEntity

	/**
	 * 根据条件仅查询指定字段名数据
	 * @param ctx GinHttp上下文对象
	 * @param entity 实体类
	 * @param whereInfo
	 * @param fieldNames 待取数据的字段名称集合
	 * @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map
	 */
	FindField(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldNames []string) *msgentity.MsgEntity

	/**
	 * 上传文件
	 * @param ctx GinHttp上下文对象
	 * @param modelName 模块名称
	 * @return *msgentity.MsgEntity 返回验证结果
	 */
	UpFile(ctx ginutil.Context, modelName string) *msgentity.MsgEntity

	/**
	 * 获取图片
	 * @param ctx GinHttp上下文对象
	 * @param modelName 模块名称
	 * @param filename 文件名
	 */
	LookImg(ctx ginutil.Context, modelName, filename string)

	/**
	 * 设置父对象
	 * @param owner 父对象
	 */
	SetOwner(owner Service)
	// contains filtered or unexported methods
}

we业务层接口定义,用于规范控制层结构体

func GetService

func GetService(name string) Service

*

  • 取得已注册业务模块
  • @param name 业务模块名称
  • @return 业务模块

func RegisterService

func RegisterService(name string, service Service) Service

*

  • 注册业务模块
  • @param service 业务模块名称
  • @return 业务模块

type ServiceBaseFunc

type ServiceBaseFunc struct {
	// contains filtered or unexported fields
}

基类

func (ServiceBaseFunc) Add

func (service ServiceBaseFunc) Add(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

*

  • 新增
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param data 数据
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) AddCommon

func (service ServiceBaseFunc) AddCommon(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

*

  • 新增普通数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param data 数据
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) AddList

func (service ServiceBaseFunc) AddList(ctx ginutil.Context, entitys []dbinfo.Entity) *msgentity.MsgEntity

*

  • 批量新增
  • @param ctx GinHttp上下文对象
  • @param entitys 检查用数据结构
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) AddNode

func (service ServiceBaseFunc) AddNode(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

*

  • 新增树节点
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param data 数据
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) AddToGroup

func (service ServiceBaseFunc) AddToGroup(ctx ginutil.Context, entity dbinfo.Entity, groupName, groupValue string) *msgentity.MsgEntity

*

  • 添加数据到指定组下
  • 警告:对象必须符合树形结构要求,如:Id、Pid
  • @param ctx GinHttp上下文对象
  • @param entity 实体对象
  • @param groupName 分组字段名称(树节点)
  • @param groupValue 分组字段值(树节点)
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) Adds

func (service ServiceBaseFunc) Adds(ctx ginutil.Context, entitys []dbinfo.Entity, list []map[string]interface{}) *msgentity.MsgEntity

*

  • 批量新增
  • @param ctx GinHttp上下文对象
  • @param entitys 检查用数据结构
  • @param list数据
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ChangeSetp

func (service ServiceBaseFunc) ChangeSetp(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, setp int, edition int, memo string, unidirectional bool) *msgentity.MsgEntity

*

  • 修改步骤值(如果设置为单向则新值必须大于旧值)
  • @param ctx GinHttp上下文对象
  • @param id 编号
  • @param setp 步骤值
  • @param edition 记录版本号
  • @param memo 备注
  • @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
  • @param entity 实体类
  • @return *msgentity.MsgEntity 返回验证结果 返回执行情况

func (ServiceBaseFunc) ChangeState

func (service ServiceBaseFunc) ChangeState(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, state int, edition int, memo string, unidirectional bool) *msgentity.MsgEntity

*

  • 修改状态
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param id 编号
  • @param state 状态值
  • @param edition 记录版本号
  • @param memo 备注
  • @param unidirectional 是否单向 设置为单向则新值必须大于旧值才能执行
  • @return *msgentity.MsgEntity 返回验证结果 返回执行情况

func (*ServiceBaseFunc) CheckRepeatByAdd

func (service *ServiceBaseFunc) CheckRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 验证新增数据是否存在重复 (一旦使用则覆盖通用方法)
  • @param ctx GinHttp上下文对象
  • @param entity 验证数据
  • @return *msgentity.MsgEntity 返回验证结果

func (*ServiceBaseFunc) CheckRepeatByEdit

func (service *ServiceBaseFunc) CheckRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 验证更新数据是否存在重复 (一旦使用则覆盖通用方法)
  • @param ctx GinHttp上下文对象
  • @param entity 待验证数据
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ClearCache

func (service ServiceBaseFunc) ClearCache(ctx ginutil.Context, cacheName, user string) *msgentity.MsgEntity

*

  • 清理指定用户的缓存
  • @param ctx GinHttp上下文对象
  • @param cacheName 缓存名
  • @Param user 用户名
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) CommonCheckRepeatByAdd

func (service ServiceBaseFunc) CommonCheckRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 通用添加数据时重复检查方法
  • @param ctx GinHttp上下文对象
  • @param entity
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) CommonCheckRepeatByAddAndTree

func (service ServiceBaseFunc) CommonCheckRepeatByAddAndTree(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 通用树型结构表添加数据时重复检查方法
  • @param ctx GinHttp上下文对象
  • @param entity
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) CommonCheckRepeatByEdit

func (service ServiceBaseFunc) CommonCheckRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, data map[string]interface{}) *msgentity.MsgEntity

*

  • 通用更新数据时重复检查方法
  • @param ctx GinHttp上下文对象
  • @param entity
  • @param id
  • @param data
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) CommonCheckRepeatByEditAndTree

func (service ServiceBaseFunc) CommonCheckRepeatByEditAndTree(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, Name interface{}) *msgentity.MsgEntity

*

  • 通用树型结构表添加数据时重复检查方法
  • @param ctx GinHttp上下文对象
  • @param entity
  • @param id
  • @param Name
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) CreateTree

func (service ServiceBaseFunc) CreateTree(source interface{},
	rootName, idFieldName, pIdFieldName, childFieldName string) *msgentity.MsgEntity

*

  • List转树形结构
  • @param source Map或切片结构
  • @param rootName
  • @param idFieldName
  • @param pIdFieldName
  • @param childFieldName
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) Del

func (service ServiceBaseFunc) Del(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, edition int) *msgentity.MsgEntity

*

  • 删除
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param id 记录编号值
  • @param edition 记录版本号
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) DelByMap

func (service ServiceBaseFunc) DelByMap(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 根据条件删除
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param where 执行条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) DoSql

func (service ServiceBaseFunc) DoSql(sql string) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) Edit

func (service ServiceBaseFunc) Edit(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

*

  • 修改
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param data 待更新的字段和值
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) Edits

func (service ServiceBaseFunc) Edits(ctx ginutil.Context, entity dbinfo.Entity, datas []map[string]interface{}, transactional bool) *msgentity.MsgEntity

*

  • 批量修改
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param datas 待更新的字段和值集合
  • @param transactional 启用事务
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ExecSql

func (service ServiceBaseFunc) ExecSql(sql string) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindAll

func (service ServiceBaseFunc) FindAll(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 查询所有数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param whereInfo 查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByDate

func (service ServiceBaseFunc) FindByDate(ctx ginutil.Context, entity dbinfo.Entity, dateSt string, dateEd string) *msgentity.MsgEntity

*

  • 查询指定时间内数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param id 主键
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByFields

func (service ServiceBaseFunc) FindByFields(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldMap map[string]string) *msgentity.MsgEntity

*

  • 根据指定字段进行分组查询
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param fieldMap 指定要查询的字段集合(原字段, 别名)
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByGroup

func (service ServiceBaseFunc) FindByGroup(ctx ginutil.Context, entity dbinfo.Entity, groupColumn, groupName string) *msgentity.MsgEntity

*

  • 查询组结构数据
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param groupColumn 分组名(树节点)所在字段名
  • @param groupName 分组名(树节点)
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindById

func (service ServiceBaseFunc) FindById(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 根据主键查询数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param id 主键
  • @param entity 检查用数据结构

func (ServiceBaseFunc) FindByKey

func (service ServiceBaseFunc) FindByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 根据关键值取对象集合
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByPage

func (service ServiceBaseFunc) FindByPage(ctx ginutil.Context, entity dbinfo.Entity, findByPageParam dbinfo.FindByPageParam) *msgentity.MsgEntity

*

  • 查询分页数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param findByPageParam 查询分页参数
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByRow

func (service ServiceBaseFunc) FindByRow(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 查询指定行数据
  • @param ctx GinHttp上下文对象
  • @param entity 检查用数据结构
  • @param id 主键
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindByTree

func (service ServiceBaseFunc) FindByTree(ctx ginutil.Context, entity dbinfo.Entity, groupColumn, groupName string) *msgentity.MsgEntity

*

  • 读取树形结构数据
  • @param ctx GinHttp上下文对象
  • @param entity
  • @param groupColumn
  • @param groupName
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindCountByKey

func (service ServiceBaseFunc) FindCountByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 根据关键值查数量
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindField

func (service ServiceBaseFunc) FindField(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldNames []string) *msgentity.MsgEntity

*

  • 根据条件仅查询指定字段名数据
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param whereInfo
  • @param fieldNames 待取数据的字段名称集合
  • @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map

func (ServiceBaseFunc) FindOneByKey

func (service ServiceBaseFunc) FindOneByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fields ...string) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的第一个
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param fields 指定要查询的字段集合
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) FindValueByKey

func (service ServiceBaseFunc) FindValueByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName string) *msgentity.MsgEntity

*

  • 根据关键值取对象集合中的符合条件的第一条记录的指定字段
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param where 存放查询条件
  • @param fieldName 指定要查询的字段
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GetEdition

func (service ServiceBaseFunc) GetEdition(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 取记录对应的版本号
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param idName 编号
  • @return *msgentity.MsgEntity 返回验证结果

func (*ServiceBaseFunc) GetModuleDao

func (service *ServiceBaseFunc) GetModuleDao() (Dao, error)

*

  • 取对应模块数据层实体
  • @return Dao 返回对应模块数据层实体,错误信息

func (ServiceBaseFunc) GetRow

func (service ServiceBaseFunc) GetRow(sql string) *msgentity.MsgEntity

*

  • 执行SQL脚本获取一行数据(多列)
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录
  • @param sql 待执行的SQL脚本
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GetRows

func (service ServiceBaseFunc) GetRows(sql string) *msgentity.MsgEntity

*

  • 执行SQL脚本获取多行数据(多列)
  • 注意:库名必须用${}进行包装,此脚本可返回多条记录
  • @param sql SQL脚本
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GetState

func (service ServiceBaseFunc) GetState(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 取记录对应的状态值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param idName 编号
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GetValue

func (service ServiceBaseFunc) GetValue(sql string) *msgentity.MsgEntity

*

  • 执行SQL脚本获取单行单列数据
  • 注意:库名必须用${}进行包装,此脚本应只存在一条记录且为单列
  • @param sql 待执行的SQL脚本
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GetValueByField

func (service ServiceBaseFunc) GetValueByField(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, fieldName string) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param id
  • @param fieldName 待取数据的字段名称集合
  • @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map

func (ServiceBaseFunc) GetValueByFieldName

func (service ServiceBaseFunc) GetValueByFieldName(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, fieldNames []string) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param id
  • @param fieldNames 待取数据的字段名称集合
  • @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map

func (ServiceBaseFunc) GetValueByWhere

func (service ServiceBaseFunc) GetValueByWhere(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, fieldName string) *msgentity.MsgEntity

*

  • 根据字段名取指定记录编号的数据库表中对应字段的值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param whereInfo 条件
  • @param fieldName 待取数据的字段名称集合
  • @return *msgentity.MsgEntity 返回验证结果 返回内容data中存放的是Map

func (ServiceBaseFunc) GroupByField

func (service ServiceBaseFunc) GroupByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, fields map[string]string) *msgentity.MsgEntity

*

  • 根据字段名取分组数据
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param Creator 指定用户
  • @param fields 字段名与别名对象
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) GroupByFieldAndCount

func (service ServiceBaseFunc) GroupByFieldAndCount(ctx ginutil.Context, entity dbinfo.Entity, Creator string, fields map[string]string) *msgentity.MsgEntity

*

  • 根据字段名取分组数据及分组后数量
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param Creator 指定用户
  • @param fields 字段名与别名对象
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) HasById

func (service ServiceBaseFunc) HasById(ctx ginutil.Context, entity dbinfo.Entity, id interface{}) *msgentity.MsgEntity

*

  • 检查关键值记录是否存在(返回1:存在;0:不存在)
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @Param id
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) HasByKey

func (service ServiceBaseFunc) HasByKey(ctx ginutil.Context, entity dbinfo.Entity, keyName string, keyValue interface{}) *msgentity.MsgEntity

*

  • 检查关键值记录是否存在(返回1:存在;0:不存在)
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @Param keyName 字段名
  • @Param keyValue 字段值
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) HoldByEntity

func (service ServiceBaseFunc) HoldByEntity(entity dbinfo.Entity, data map[string]interface{}) map[string]interface{}

*

  • 按实体保留map中的数据
  • @param entity 对象类型
  • @param data 数据
  • @return map[string]interface{} 返回保留后的数据

func (ServiceBaseFunc) LookImg

func (service ServiceBaseFunc) LookImg(ctx ginutil.Context, modelName, filename string)

*

  • 获取图片
  • @param ctx GinHttp上下文对象
  • @param modelName 模块名称
  • @param filename 文件名

func (ServiceBaseFunc) MaxByField

func (service ServiceBaseFunc) MaxByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 取表中指定字段的最大值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param Creator 指定用户
  • @param field 字段名
  • @param where 查询条件字符串
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) MinByField

func (service ServiceBaseFunc) MinByField(ctx ginutil.Context, entity dbinfo.Entity, Creator string, field string, whereInfo []dbinfo.WhereInfo) *msgentity.MsgEntity

*

  • 取表中指定字段的最小值
  • @param ctx GinHttp上下文对象
  • @param entity 实体类
  • @param Creator 指定用户
  • @param field 字段名
  • @param where 查询条件
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ReversalByKey

func (service ServiceBaseFunc) ReversalByKey(ctx ginutil.Context, entity dbinfo.Entity, whereInfo []dbinfo.WhereInfo, reversalColumn string) *msgentity.MsgEntity

*

  • 根据关键值翻转值(限布尔值类型,1转2,2转1)
  • 警告:此方法只支持布尔值类型,且只支持翻转1和2
  • @param ctx GinHttp上下文对象
  • @Param entity 实体类
  • @Param whereInfo 存放查询条件
  • @Param reversalColumn 翻转的字段名
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) Save

func (service ServiceBaseFunc) Save(ctx ginutil.Context, entity dbinfo.Entity, data map[string]interface{}) *msgentity.MsgEntity

*

  • 保存(有ID则更新,否则新增)
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param data 待保存数据
  • @return msgentity.MsgEntity

func (ServiceBaseFunc) SaveList

func (service ServiceBaseFunc) SaveList(ctx ginutil.Context, entity dbinfo.Entity, addList, editList, delList []map[string]interface{}, transactional bool) *msgentity.MsgEntity

*

  • 批量操作
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param addList 待新增集合
  • @param editList 待更新集合
  • @param delList 待删除集合
  • @param transactional 是否启用事务
  • @return msgentity.MsgEntity

func (ServiceBaseFunc) Saves

func (service ServiceBaseFunc) Saves(ctx ginutil.Context, entity dbinfo.Entity, datas []map[string]interface{}, transactional bool) *msgentity.MsgEntity

*

  • 批量保存
  • @param ctx GinHttp上下文对象
  • @param entity 对象类型
  • @param datas 待保存集合
  • @param transactional 是否启用事务
  • @return msgentity.MsgEntity

func (*ServiceBaseFunc) SetOwner

func (service *ServiceBaseFunc) SetOwner(owner Service)

*

  • 设置父对象
  • @param owner

func (ServiceBaseFunc) SupplyDbEntityAttrByAdd

func (service ServiceBaseFunc) SupplyDbEntityAttrByAdd(ctx ginutil.Context, entity dbinfo.Entity, selfId string, idValuePrefix string) *msgentity.MsgEntity

*

  • 补充数据库实体类的数据--新增
  • @param ctx GinHttp上下文对象
  • @param entity
  • @param selfId 自提供的编号,防止从序列中获取
  • @param idValuePrefix Id前缀
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) SupplyDbEntityAttrByEdit

func (service ServiceBaseFunc) SupplyDbEntityAttrByEdit(ctx ginutil.Context, data map[string]interface{}, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 补充数据库实体类的数据--修改
  • @param ctx GinHttp上下文对象
  • @param data 待修改的数据
  • @param entity 参照结构体
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) UpFile

func (service ServiceBaseFunc) UpFile(ctx ginutil.Context, modelName string) *msgentity.MsgEntity

*

  • 上传文件
  • @param ctx GinHttp上下文对象
  • @param modelName 模块名称
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ValidEntityRepeatByAdd

func (service ServiceBaseFunc) ValidEntityRepeatByAdd(ctx ginutil.Context, entity dbinfo.Entity) *msgentity.MsgEntity

*

  • 验证新增数据是否存在重复
  • @param ctx GinHttp上下文对象
  • @param entity 参照结构体
  • @return *msgentity.MsgEntity 返回验证结果

func (ServiceBaseFunc) ValidEntityRepeatByEdit

func (service ServiceBaseFunc) ValidEntityRepeatByEdit(ctx ginutil.Context, entity dbinfo.Entity, id interface{}, data map[string]interface{}) *msgentity.MsgEntity

*

  • 验证更新数据是否存在重复
  • @param ctx GinHttp上下文对象
  • @param entity 参照结构体
  • @param id 主键值
  • @param data 待修改的数据
  • @return *msgentity.MsgEntity 返回验证结果

Jump to

Keyboard shortcuts

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