签入脚本
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 文章控制器 ==============================
|
||||
|
||||
// CArticle 文章控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Article() 处理
|
||||
type CArticle struct{}
|
||||
|
||||
// Page 文章分页
|
||||
// 按查询条件分页返回文章列表
|
||||
func (c *CArticle) Page(ctx context.Context, req *v1.ArticlePageReq) (res *v1.ArticlePageRes, err error) {
|
||||
return service.Article().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 文章列表
|
||||
// 返回符合条件的文章精简列表,供下拉或最新展示使用
|
||||
func (c *CArticle) List(ctx context.Context, req *v1.ArticleListReq) (res v1.ArticleListRes, err error) {
|
||||
return service.Article().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 文章详情
|
||||
// 按文章ID查询详情
|
||||
func (c *CArticle) Detail(ctx context.Context, req *v1.ArticleDetailReq) (res *v1.ArticleDetailRes, err error) {
|
||||
return service.Article().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增文章
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CArticle) Add(ctx context.Context, req *v1.ArticleAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Article().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改文章
|
||||
// 按文章ID更新记录
|
||||
func (c *CArticle) Update(ctx context.Context, req *v1.ArticleUpdateReq) (res *v1.ArticleUpdateRes, err error) {
|
||||
return service.Article().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 文章状态
|
||||
// 设置文章的草稿或发布状态
|
||||
func (c *CArticle) Status(ctx context.Context, req *v1.ArticleStatusReq) (res *v1.ArticleStatusRes, err error) {
|
||||
return service.Article().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除文章
|
||||
// 按文章ID删除单条记录
|
||||
func (c *CArticle) Delete(ctx context.Context, req *v1.ArticleDeleteReq) (res *v1.ArticleDeleteRes, err error) {
|
||||
return service.Article().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除文章
|
||||
// 按文章ID列表批量删除记录
|
||||
func (c *CArticle) BatchDelete(ctx context.Context, req *v1.ArticleBatchDeleteReq) (res *v1.ArticleBatchDeleteRes, err error) {
|
||||
return service.Article().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 认证控制器 ==============================
|
||||
|
||||
// CAuth 认证控制器
|
||||
// 薄层控制器,参数解析、权限与日志切面由 router.Bind 统一处理
|
||||
type CAuth struct{}
|
||||
|
||||
// Login 登录
|
||||
// 校验用户名、密码及验证码,成功后签发访问令牌与刷新令牌
|
||||
func (c *CAuth) Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error) {
|
||||
return service.Auth().Login(ctx, req)
|
||||
}
|
||||
|
||||
// Logout 登出
|
||||
// 将当前访问令牌加入黑名单,使其立即失效
|
||||
func (c *CAuth) Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error) {
|
||||
return service.Auth().Logout(ctx, req)
|
||||
}
|
||||
|
||||
// Captcha 图形验证码
|
||||
// 生成图形验证码并返回验证码标识与图片内容
|
||||
func (c *CAuth) Captcha(ctx context.Context, req *v1.CaptchaReq) (res *v1.CaptchaRes, err error) {
|
||||
return service.Auth().Captcha(ctx, req)
|
||||
}
|
||||
|
||||
// Refresh 刷新令牌
|
||||
// 支持 refresh_token 刷新与 password 密码模式两种授权方式
|
||||
func (c *CAuth) Refresh(ctx context.Context, req *v1.RefreshReq) (res *v1.RefreshRes, err error) {
|
||||
return service.Auth().Refresh(ctx, req)
|
||||
}
|
||||
|
||||
// CheckToken 校验令牌
|
||||
// 校验令牌有效性并返回用户ID
|
||||
func (c *CAuth) CheckToken(ctx context.Context, req *v1.CheckTokenReq) (res *v1.CheckTokenRes, err error) {
|
||||
return service.Auth().CheckToken(ctx, req)
|
||||
}
|
||||
|
||||
// RemoveToken 撤销指定令牌
|
||||
// 将指定令牌加入黑名单,实现踢下线
|
||||
func (c *CAuth) RemoveToken(ctx context.Context, req *v1.RemoveTokenReq) (res *v1.RemoveTokenRes, err error) {
|
||||
return service.Auth().RemoveToken(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 缓存监控控制器 ==============================
|
||||
|
||||
// CCacheMonitor 缓存监控控制器
|
||||
type CCacheMonitor struct{}
|
||||
|
||||
// Info 缓存监控信息
|
||||
func (c *CCacheMonitor) Info(ctx context.Context, req *v1.CacheInfoReq) (res *v1.CacheInfoRes, err error) {
|
||||
return service.CacheMonitor().Info(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 分类控制器 ==============================
|
||||
|
||||
// CCategory 分类控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Category() 处理
|
||||
type CCategory struct{}
|
||||
|
||||
// Page 分类分页
|
||||
// 按查询条件分页返回平铺的分类列表
|
||||
func (c *CCategory) Page(ctx context.Context, req *v1.CategoryPageReq) (res *v1.CategoryPageRes, err error) {
|
||||
return service.Category().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 分类平铺列表
|
||||
// 返回分类平铺列表,由前端自行构建树形结构
|
||||
func (c *CCategory) List(ctx context.Context, req *v1.CategoryListReq) (res v1.CategoryListRes, err error) {
|
||||
return service.Category().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 分类详情
|
||||
// 按分类ID查询详情
|
||||
func (c *CCategory) Detail(ctx context.Context, req *v1.CategoryDetailReq) (res *v1.CategoryDetailRes, err error) {
|
||||
return service.Category().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增分类
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CCategory) Add(ctx context.Context, req *v1.CategoryAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Category().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改分类
|
||||
// 按分类ID更新记录
|
||||
func (c *CCategory) Update(ctx context.Context, req *v1.CategoryUpdateReq) (res *v1.CategoryUpdateRes, err error) {
|
||||
return service.Category().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除分类
|
||||
// 按分类ID删除单条记录
|
||||
func (c *CCategory) Delete(ctx context.Context, req *v1.CategoryDeleteReq) (res *v1.CategoryDeleteRes, err error) {
|
||||
return service.Category().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除分类
|
||||
// 按分类ID列表批量删除记录
|
||||
func (c *CCategory) BatchDelete(ctx context.Context, req *v1.CategoryBatchDeleteReq) (res *v1.CategoryBatchDeleteRes, err error) {
|
||||
return service.Category().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 城市控制器 ==============================
|
||||
|
||||
// CCity 城市控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.City() 处理
|
||||
type CCity struct{}
|
||||
|
||||
// Page 城市分页
|
||||
// 按查询条件分页返回城市列表
|
||||
func (c *CCity) Page(ctx context.Context, req *v1.CityPageReq) (res *v1.CityPageRes, err error) {
|
||||
return service.City().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 城市列表
|
||||
// 按父级编码、层级等条件返回城市列表,供级联选择使用
|
||||
func (c *CCity) List(ctx context.Context, req *v1.CityListReq) (res v1.CityListRes, err error) {
|
||||
return service.City().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 城市详情
|
||||
// 按城市ID查询详情
|
||||
func (c *CCity) Detail(ctx context.Context, req *v1.CityDetailReq) (res *v1.CityDetailRes, err error) {
|
||||
return service.City().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增城市
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CCity) Add(ctx context.Context, req *v1.CityAddReq) (res *v1.IdRes, err error) {
|
||||
return service.City().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改城市
|
||||
// 按城市ID更新记录
|
||||
func (c *CCity) Update(ctx context.Context, req *v1.CityUpdateReq) (res *v1.CityUpdateRes, err error) {
|
||||
return service.City().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除城市
|
||||
// 按城市ID删除单条记录
|
||||
func (c *CCity) Delete(ctx context.Context, req *v1.CityDeleteReq) (res *v1.CityDeleteRes, err error) {
|
||||
return service.City().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除城市
|
||||
// 按城市ID列表批量删除记录
|
||||
func (c *CCity) BatchDelete(ctx context.Context, req *v1.CityBatchDeleteReq) (res *v1.CityBatchDeleteRes, err error) {
|
||||
return service.City().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// ByParent 按父编码查询下级城市
|
||||
// 登录用户即可访问,返回指定父级下的直属下级城市
|
||||
func (c *CCity) ByParent(ctx context.Context, req *v1.CityByParentReq) (res *v1.CityByParentRes, err error) {
|
||||
return service.City().ByParent(ctx, req)
|
||||
}
|
||||
|
||||
// GetCityList 按父编码获取城市列表
|
||||
// 登录用户即可访问,供级联选择器懒加载下级城市
|
||||
func (c *CCity) GetCityList(ctx context.Context, req *v1.CityGetListReq) (res v1.CityGetListRes, err error) {
|
||||
return service.City().GetCityList(ctx, req)
|
||||
}
|
||||
|
||||
// AreaProvince 省份列表
|
||||
// 登录用户即可访问,返回顶级省份列表
|
||||
func (c *CCity) AreaProvince(ctx context.Context, req *v1.AreaParentReq) (res *v1.AreaParentRes, err error) {
|
||||
return service.City().AreaProvince(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 配置控制器 ==============================
|
||||
|
||||
// CConfig 配置控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Config() 处理
|
||||
type CConfig struct{}
|
||||
|
||||
// Page 配置分页
|
||||
// 按查询条件分页返回配置列表
|
||||
func (c *CConfig) Page(ctx context.Context, req *v1.ConfigPageReq) (res *v1.ConfigPageRes, err error) {
|
||||
return service.Config().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 配置列表
|
||||
// 返回配置列表,每项携带其下的配置项集合
|
||||
func (c *CConfig) List(ctx context.Context, req *v1.ConfigListReq) (res v1.ConfigListRes, err error) {
|
||||
return service.Config().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 配置详情
|
||||
// 按配置ID查询详情及其下的配置项集合
|
||||
func (c *CConfig) Detail(ctx context.Context, req *v1.ConfigDetailReq) (res *v1.ConfigDetailRes, err error) {
|
||||
return service.Config().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增配置
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CConfig) Add(ctx context.Context, req *v1.ConfigAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Config().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改配置
|
||||
// 按配置ID更新记录
|
||||
func (c *CConfig) Update(ctx context.Context, req *v1.ConfigUpdateReq) (res *v1.ConfigUpdateRes, err error) {
|
||||
return service.Config().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除配置
|
||||
// 按配置ID删除单条记录
|
||||
func (c *CConfig) Delete(ctx context.Context, req *v1.ConfigDeleteReq) (res *v1.ConfigDeleteRes, err error) {
|
||||
return service.Config().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除配置
|
||||
// 按配置ID列表批量删除记录
|
||||
func (c *CConfig) BatchDelete(ctx context.Context, req *v1.ConfigBatchDeleteReq) (res *v1.ConfigBatchDeleteRes, err error) {
|
||||
return service.Config().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// WebIndex 获取网站配置
|
||||
// 返回配置分组及其下的配置项,供网站配置页渲染
|
||||
func (c *CConfig) WebIndex(ctx context.Context, req *v1.ConfigWebIndexReq) (res *v1.ConfigWebIndexRes, err error) {
|
||||
return service.Config().WebIndex(ctx, req)
|
||||
}
|
||||
|
||||
// WebSave 保存网站配置
|
||||
// 接收配置项编码到值的平铺映射并批量保存
|
||||
func (c *CConfig) WebSave(ctx context.Context, req *v1.ConfigWebSaveReq) (res *v1.ConfigWebSaveRes, err error) {
|
||||
return service.Config().WebSave(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 配置项控制器 ==============================
|
||||
|
||||
// CConfigItem 配置项控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.ConfigItem() 处理
|
||||
type CConfigItem struct{}
|
||||
|
||||
// Page 配置项分页
|
||||
// 按查询条件分页返回配置项列表
|
||||
func (c *CConfigItem) Page(ctx context.Context, req *v1.ConfigItemPageReq) (res *v1.ConfigItemPageRes, err error) {
|
||||
return service.ConfigItem().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 配置项列表
|
||||
// 按所属配置、状态等条件返回配置项集合
|
||||
func (c *CConfigItem) List(ctx context.Context, req *v1.ConfigItemListReq) (res v1.ConfigItemListRes, err error) {
|
||||
return service.ConfigItem().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 配置项详情
|
||||
// 按配置项ID查询详情及其值列表
|
||||
func (c *CConfigItem) Detail(ctx context.Context, req *v1.ConfigItemDetailReq) (res *v1.ConfigItemDetailRes, err error) {
|
||||
return service.ConfigItem().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增配置项
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CConfigItem) Add(ctx context.Context, req *v1.ConfigItemAddReq) (res *v1.IdRes, err error) {
|
||||
return service.ConfigItem().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改配置项
|
||||
// 按配置项ID更新记录
|
||||
func (c *CConfigItem) Update(ctx context.Context, req *v1.ConfigItemUpdateReq) (res *v1.ConfigItemUpdateRes, err error) {
|
||||
return service.ConfigItem().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除配置项
|
||||
// 按配置项ID删除单条记录
|
||||
func (c *CConfigItem) Delete(ctx context.Context, req *v1.ConfigItemDeleteReq) (res *v1.ConfigItemDeleteRes, err error) {
|
||||
return service.ConfigItem().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除配置项
|
||||
// 按配置项ID列表批量删除记录
|
||||
func (c *CConfigItem) BatchDelete(ctx context.Context, req *v1.ConfigItemBatchDeleteReq) (res *v1.ConfigItemBatchDeleteRes, err error) {
|
||||
return service.ConfigItem().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 部门控制器 ==============================
|
||||
|
||||
// CDept 部门控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Dept() 处理
|
||||
type CDept struct{}
|
||||
|
||||
// Page 部门分页
|
||||
// 按查询条件分页返回部门列表
|
||||
func (c *CDept) Page(ctx context.Context, req *v1.DeptPageReq) (res *v1.DeptPageRes, err error) {
|
||||
return service.Dept().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 部门平铺列表
|
||||
// 返回部门平铺列表,由前端自行构建树形结构
|
||||
func (c *CDept) List(ctx context.Context, req *v1.DeptListReq) (res v1.DeptListRes, err error) {
|
||||
return service.Dept().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 部门详情
|
||||
// 按部门ID查询详情
|
||||
func (c *CDept) Detail(ctx context.Context, req *v1.DeptDetailReq) (res *v1.DeptDetailRes, err error) {
|
||||
return service.Dept().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增部门
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CDept) Add(ctx context.Context, req *v1.DeptAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Dept().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改部门
|
||||
// 按部门ID更新记录
|
||||
func (c *CDept) Update(ctx context.Context, req *v1.DeptUpdateReq) (res *v1.DeptUpdateRes, err error) {
|
||||
return service.Dept().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除部门
|
||||
// 按部门ID删除单条记录
|
||||
func (c *CDept) Delete(ctx context.Context, req *v1.DeptDeleteReq) (res *v1.DeptDeleteRes, err error) {
|
||||
return service.Dept().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除部门
|
||||
// 按部门ID列表批量删除记录
|
||||
func (c *CDept) BatchDelete(ctx context.Context, req *v1.DeptBatchDeleteReq) (res *v1.DeptBatchDeleteRes, err error) {
|
||||
return service.Dept().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 字典控制器 ==============================
|
||||
|
||||
// CDict 字典控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Dict() 处理
|
||||
type CDict struct{}
|
||||
|
||||
// Page 字典分页
|
||||
// 按查询条件分页返回字典列表
|
||||
func (c *CDict) Page(ctx context.Context, req *v1.DictPageReq) (res *v1.DictPageRes, err error) {
|
||||
return service.Dict().Page(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 字典详情
|
||||
// 按字典ID查询详情及其下的字典项集合
|
||||
func (c *CDict) Detail(ctx context.Context, req *v1.DictDetailReq) (res *v1.DictDetailRes, err error) {
|
||||
return service.Dict().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增字典
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CDict) Add(ctx context.Context, req *v1.DictAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Dict().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改字典
|
||||
// 按字典ID更新记录
|
||||
func (c *CDict) Update(ctx context.Context, req *v1.DictUpdateReq) (res *v1.DictUpdateRes, err error) {
|
||||
return service.Dict().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除字典
|
||||
// 按字典ID删除单条记录
|
||||
func (c *CDict) Delete(ctx context.Context, req *v1.DictDeleteReq) (res *v1.DictDeleteRes, err error) {
|
||||
return service.Dict().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除字典
|
||||
// 按字典ID列表批量删除记录
|
||||
func (c *CDict) BatchDelete(ctx context.Context, req *v1.DictBatchDeleteReq) (res *v1.DictBatchDeleteRes, err error) {
|
||||
return service.Dict().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// RefreshCache 刷新字典缓存
|
||||
// 按字典编码刷新缓存,编码为空时刷新全部
|
||||
func (c *CDict) RefreshCache(ctx context.Context, req *v1.DictRefreshCacheReq) (res *v1.DictRefreshCacheRes, err error) {
|
||||
return service.Dict().RefreshCache(ctx, req)
|
||||
}
|
||||
|
||||
// AliasList 字典别名列表
|
||||
// 登录用户即可访问,供前端字典查询场景使用
|
||||
func (c *CDict) AliasList(ctx context.Context, req *v1.DictAliasListReq) (res v1.DictAliasListRes, err error) {
|
||||
return service.Dict().AliasList(ctx, req)
|
||||
}
|
||||
|
||||
// AliasInfo 字典别名详情
|
||||
// 登录用户即可访问,按字典编码查询字典及其字典项
|
||||
func (c *CDict) AliasInfo(ctx context.Context, req *v1.DictAliasInfoReq) (res *v1.DictAliasInfoRes, err error) {
|
||||
return service.Dict().AliasInfo(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 字典项控制器 ==============================
|
||||
|
||||
// CDictItem 字典项控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.DictItem() 处理
|
||||
type CDictItem struct{}
|
||||
|
||||
// Page 字典项分页
|
||||
// 按查询条件分页返回字典项列表
|
||||
func (c *CDictItem) Page(ctx context.Context, req *v1.DictItemPageReq) (res *v1.DictItemPageRes, err error) {
|
||||
return service.DictItem().Page(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 字典项详情
|
||||
// 按字典项ID查询详情
|
||||
func (c *CDictItem) Detail(ctx context.Context, req *v1.DictItemDetailReq) (res *v1.DictItemDetailRes, err error) {
|
||||
return service.DictItem().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增字典项
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CDictItem) Add(ctx context.Context, req *v1.DictItemAddReq) (res *v1.IdRes, err error) {
|
||||
return service.DictItem().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改字典项
|
||||
// 按字典项ID更新记录
|
||||
func (c *CDictItem) Update(ctx context.Context, req *v1.DictItemUpdateReq) (res *v1.DictItemUpdateRes, err error) {
|
||||
return service.DictItem().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除字典项
|
||||
// 按字典项ID删除单条记录
|
||||
func (c *CDictItem) Delete(ctx context.Context, req *v1.DictItemDeleteReq) (res *v1.DictItemDeleteRes, err error) {
|
||||
return service.DictItem().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除字典项
|
||||
// 按字典项ID列表批量删除记录
|
||||
func (c *CDictItem) BatchDelete(ctx context.Context, req *v1.DictItemBatchDeleteReq) (res *v1.DictItemBatchDeleteRes, err error) {
|
||||
return service.DictItem().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// QuickList 快捷字典项列表
|
||||
// 登录用户即可访问,按字典编码查询并走缓存
|
||||
func (c *CDictItem) QuickList(ctx context.Context, req *v1.DictItemQuickListReq) (res v1.DictItemQuickListRes, err error) {
|
||||
return service.DictItem().QuickList(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 案例演示控制器 ==============================
|
||||
|
||||
// CExample 案例演示控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Example() 处理
|
||||
type CExample struct{}
|
||||
|
||||
// Page 案例演示分页
|
||||
// 按查询条件分页返回案例演示列表
|
||||
func (c *CExample) Page(ctx context.Context, req *v1.ExamplePageReq) (res *v1.ExamplePageRes, err error) {
|
||||
return service.Example().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 案例演示平铺列表
|
||||
// data 直接为数组,树形结构由前端 buildTree 构建
|
||||
func (c *CExample) List(ctx context.Context, req *v1.ExampleListReq) (res v1.ExampleListRes, err error) {
|
||||
return service.Example().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 案例演示详情
|
||||
// 按主键ID查询详情
|
||||
func (c *CExample) Detail(ctx context.Context, req *v1.ExampleDetailReq) (res *v1.ExampleDetailRes, err error) {
|
||||
return service.Example().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增案例演示
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CExample) Add(ctx context.Context, req *v1.ExampleAddReq) (res *v1.ExampleIdRes, err error) {
|
||||
return service.Example().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改案例演示
|
||||
// 按主键ID更新记录
|
||||
func (c *CExample) Update(ctx context.Context, req *v1.ExampleUpdateReq) (res *v1.ExampleUpdateRes, err error) {
|
||||
return service.Example().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 案例演示状态
|
||||
// 设置记录的状态字段
|
||||
func (c *CExample) Status(ctx context.Context, req *v1.ExampleStatusReq) (res *v1.ExampleStatusRes, err error) {
|
||||
return service.Example().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除案例演示
|
||||
// 按主键ID删除单条记录
|
||||
func (c *CExample) Delete(ctx context.Context, req *v1.ExampleDeleteReq) (res *v1.ExampleDeleteRes, err error) {
|
||||
return service.Example().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除案例演示
|
||||
// 按主键ID列表批量删除记录
|
||||
func (c *CExample) BatchDelete(ctx context.Context, req *v1.ExampleBatchDeleteReq) (res *v1.ExampleBatchDeleteRes, err error) {
|
||||
return service.Example().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// Import 导入案例演示
|
||||
// 接收上传的 xls/xlsx 文件并批量导入数据
|
||||
func (c *CExample) Import(ctx context.Context, req *v1.ExampleImportReq) (res *v1.ExampleImportRes, err error) {
|
||||
return service.Example().Import(ctx, req)
|
||||
}
|
||||
|
||||
// Export 导出案例演示
|
||||
// 按查询条件导出数据并返回文件访问地址
|
||||
func (c *CExample) Export(ctx context.Context, req *v1.ExampleExportReq) (res *v1.ExampleExportRes, err error) {
|
||||
return service.Example().Export(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 文件模板控制器 ==============================
|
||||
|
||||
// CFileTemplate 文件模板控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.FileTemplate() 处理
|
||||
type CFileTemplate struct{}
|
||||
|
||||
// Page 文件模板分页
|
||||
// 按查询条件分页返回文件模板列表
|
||||
func (c *CFileTemplate) Page(ctx context.Context, req *v1.FileTemplatePageReq) (res *v1.FileTemplatePageRes, err error) {
|
||||
return service.FileTemplate().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 文件模板列表
|
||||
// 按关键词返回文件模板列表
|
||||
func (c *CFileTemplate) List(ctx context.Context, req *v1.FileTemplateListReq) (res v1.FileTemplateListRes, err error) {
|
||||
return service.FileTemplate().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 文件模板详情
|
||||
// 按模板ID查询详情
|
||||
func (c *CFileTemplate) Detail(ctx context.Context, req *v1.FileTemplateDetailReq) (res *v1.FileTemplateDetailRes, err error) {
|
||||
return service.FileTemplate().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增文件模板
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CFileTemplate) Add(ctx context.Context, req *v1.FileTemplateAddReq) (res *v1.IdRes, err error) {
|
||||
return service.FileTemplate().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改文件模板
|
||||
// 按模板ID更新记录
|
||||
func (c *CFileTemplate) Update(ctx context.Context, req *v1.FileTemplateUpdateReq) (res *v1.FileTemplateUpdateRes, err error) {
|
||||
return service.FileTemplate().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除文件模板
|
||||
// 按模板ID删除单条记录
|
||||
func (c *CFileTemplate) Delete(ctx context.Context, req *v1.FileTemplateDeleteReq) (res *v1.FileTemplateDeleteRes, err error) {
|
||||
return service.FileTemplate().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除文件模板
|
||||
// 按模板ID列表批量删除记录
|
||||
func (c *CFileTemplate) BatchDelete(ctx context.Context, req *v1.FileTemplateBatchDeleteReq) (res *v1.FileTemplateBatchDeleteRes, err error) {
|
||||
return service.FileTemplate().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// ByCode 按编码查询模板
|
||||
// 登录用户即可访问,按模板编码查询模板详情
|
||||
func (c *CFileTemplate) ByCode(ctx context.Context, req *v1.FileTemplateByCodeReq) (res *v1.FileTemplateByCodeRes, err error) {
|
||||
return service.FileTemplate().ByCode(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 代码生成控制器 ==============================
|
||||
|
||||
// CGenerator 代码生成控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Generator() 处理
|
||||
type CGenerator struct{}
|
||||
|
||||
// Page 数据表分页
|
||||
// 分页返回数据库表元信息列表
|
||||
func (c *CGenerator) Page(ctx context.Context, req *v1.GeneratorPageReq) (res *v1.GeneratorPageRes, err error) {
|
||||
return service.Generator().Page(ctx, req)
|
||||
}
|
||||
|
||||
// Preview 预览代码
|
||||
// 根据所选数据表渲染代码,仅返回文件清单不落盘
|
||||
func (c *CGenerator) Preview(ctx context.Context, req *v1.GeneratorPreviewReq) (res *v1.GeneratorPreviewRes, err error) {
|
||||
return service.Generator().Preview(ctx, req)
|
||||
}
|
||||
|
||||
// Generate 一键生成
|
||||
// 生成代码文件并同步创建菜单、字典与路由
|
||||
func (c *CGenerator) Generate(ctx context.Context, req *v1.GeneratorGenerateReq) (res *v1.GeneratorGenerateRes, err error) {
|
||||
return service.Generator().Generate(ctx, req)
|
||||
}
|
||||
|
||||
// BatchGenerate 批量生成
|
||||
// 按数据表逐表生成,并返回各表的执行结果
|
||||
func (c *CGenerator) BatchGenerate(ctx context.Context, req *v1.GeneratorBatchGenerateReq) (res *v1.GeneratorBatchGenerateRes, err error) {
|
||||
return service.Generator().BatchGenerate(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 个人中心与菜单聚合控制器 ==============================
|
||||
|
||||
// CIndex 个人中心与菜单聚合控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Index() 处理
|
||||
type CIndex struct{}
|
||||
|
||||
// GetUser 获取当前登录用户信息
|
||||
// 返回用户基础信息、角色与权限集合
|
||||
func (c *CIndex) GetUser(ctx context.Context, req *v1.GetUserReq) (res *v1.GetUserRes, err error) {
|
||||
return service.Index().GetUser(ctx, req)
|
||||
}
|
||||
|
||||
// GetMenus 获取当前用户菜单树
|
||||
// 返回当前用户可见的菜单树形结构
|
||||
func (c *CIndex) GetMenus(ctx context.Context, req *v1.GetMenusReq) (res *v1.GetMenusRes, err error) {
|
||||
return service.Index().GetMenus(ctx, req)
|
||||
}
|
||||
|
||||
// GetMenusById 获取当前用户菜单树(带路径参数)
|
||||
// 与无路径参数的菜单路由共用同一处理逻辑
|
||||
func (c *CIndex) GetMenusById(ctx context.Context, req *v1.GetMenusByIdReq) (res *v1.GetMenusRes, err error) {
|
||||
return service.Index().GetMenusById(ctx, req)
|
||||
}
|
||||
|
||||
// UpdatePassword 修改个人密码
|
||||
// 校验原密码后更新为新密码
|
||||
func (c *CIndex) UpdatePassword(ctx context.Context, req *v1.UpdatePasswordReq) (res *v1.UpdatePasswordRes, err error) {
|
||||
return service.Index().UpdatePassword(ctx, req)
|
||||
}
|
||||
|
||||
// UpdateProfile 更新个人信息
|
||||
// 更新当前登录用户的个人资料
|
||||
func (c *CIndex) UpdateProfile(ctx context.Context, req *v1.UpdateProfileReq) (res *v1.UpdateProfileRes, err error) {
|
||||
return service.Index().UpdateProfile(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 定时任务控制器 ==============================
|
||||
|
||||
// CJob 定时任务控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Job() 处理
|
||||
type CJob struct{}
|
||||
|
||||
// Page 任务分页
|
||||
// 按查询条件分页返回定时任务列表
|
||||
func (c *CJob) Page(ctx context.Context, req *v1.JobPageReq) (res *v1.JobPageRes, err error) {
|
||||
return service.Job().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 任务列表
|
||||
// 按关键词、状态等条件返回定时任务列表
|
||||
func (c *CJob) List(ctx context.Context, req *v1.JobListReq) (res v1.JobListRes, err error) {
|
||||
return service.Job().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 任务详情
|
||||
// 按任务ID查询详情
|
||||
func (c *CJob) Detail(ctx context.Context, req *v1.JobDetailReq) (res *v1.JobDetailRes, err error) {
|
||||
return service.Job().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增任务
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CJob) Add(ctx context.Context, req *v1.JobAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Job().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改任务
|
||||
// 按任务ID更新记录
|
||||
func (c *CJob) Update(ctx context.Context, req *v1.JobUpdateReq) (res *v1.JobUpdateRes, err error) {
|
||||
return service.Job().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除任务
|
||||
// 按任务ID删除单条记录
|
||||
func (c *CJob) Delete(ctx context.Context, req *v1.JobDeleteReq) (res *v1.JobDeleteRes, err error) {
|
||||
return service.Job().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除任务
|
||||
// 按任务ID列表批量删除记录
|
||||
func (c *CJob) BatchDelete(ctx context.Context, req *v1.JobBatchDeleteReq) (res *v1.JobBatchDeleteRes, err error) {
|
||||
return service.Job().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// RunOnce 立即执行一次任务
|
||||
// 触发指定任务立即执行一次
|
||||
func (c *CJob) RunOnce(ctx context.Context, req *v1.JobRunOnceReq) (res *v1.JobRunOnceRes, err error) {
|
||||
return service.Job().RunOnce(ctx, req)
|
||||
}
|
||||
|
||||
// Pause 暂停任务
|
||||
// 暂停指定任务的调度
|
||||
func (c *CJob) Pause(ctx context.Context, req *v1.JobPauseReq) (res *v1.JobPauseRes, err error) {
|
||||
return service.Job().Pause(ctx, req)
|
||||
}
|
||||
|
||||
// Resume 恢复任务
|
||||
// 恢复指定任务的调度
|
||||
func (c *CJob) Resume(ctx context.Context, req *v1.JobResumeReq) (res *v1.JobResumeRes, err error) {
|
||||
return service.Job().Resume(ctx, req)
|
||||
}
|
||||
|
||||
// Status 设置任务状态
|
||||
// 设置任务的未发布、运行中或暂停状态
|
||||
func (c *CJob) Status(ctx context.Context, req *v1.JobStatusReq) (res *v1.JobStatusRes, err error) {
|
||||
return service.Job().Status(ctx, req)
|
||||
}
|
||||
|
||||
// DaemonStatus 查询调度器状态
|
||||
// 返回调度器中运行的任务数、任务键与启动时间
|
||||
func (c *CJob) DaemonStatus(ctx context.Context, req *v1.JobDaemonStatusReq) (res *v1.JobDaemonStatusRes, err error) {
|
||||
return service.Job().DaemonStatus(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 任务日志控制器 ==============================
|
||||
|
||||
// CJobLog 任务日志控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.JobLog() 处理
|
||||
type CJobLog struct{}
|
||||
|
||||
// Page 任务日志分页
|
||||
// 按查询条件分页返回任务日志列表
|
||||
func (c *CJobLog) Page(ctx context.Context, req *v1.JobLogPageReq) (res *v1.JobLogPageRes, err error) {
|
||||
return service.JobLog().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 任务日志列表
|
||||
// 按关键词、任务ID、状态等条件返回任务日志列表
|
||||
func (c *CJobLog) List(ctx context.Context, req *v1.JobLogListReq) (res v1.JobLogListRes, err error) {
|
||||
return service.JobLog().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 任务日志详情
|
||||
// 按日志ID查询详情
|
||||
func (c *CJobLog) Detail(ctx context.Context, req *v1.JobLogDetailReq) (res *v1.JobLogDetailRes, err error) {
|
||||
return service.JobLog().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除任务日志
|
||||
// 按日志ID删除单条记录
|
||||
func (c *CJobLog) Delete(ctx context.Context, req *v1.JobLogDeleteReq) (res *v1.JobLogDeleteRes, err error) {
|
||||
return service.JobLog().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除任务日志
|
||||
// 按日志ID列表批量删除记录
|
||||
func (c *CJobLog) BatchDelete(ctx context.Context, req *v1.JobLogBatchDeleteReq) (res *v1.JobLogBatchDeleteRes, err error) {
|
||||
return service.JobLog().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 职级控制器 ==============================
|
||||
|
||||
// CLevel 职级控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Level() 处理
|
||||
type CLevel struct{}
|
||||
|
||||
// Page 职级分页
|
||||
// 按查询条件分页返回职级列表
|
||||
func (c *CLevel) Page(ctx context.Context, req *v1.LevelPageReq) (res *v1.LevelPageRes, err error) {
|
||||
return service.Level().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 职级列表
|
||||
// 按关键词、状态等条件返回职级列表
|
||||
func (c *CLevel) List(ctx context.Context, req *v1.LevelListReq) (res v1.LevelListRes, err error) {
|
||||
return service.Level().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 职级详情
|
||||
// 按职级ID查询详情
|
||||
func (c *CLevel) Detail(ctx context.Context, req *v1.LevelDetailReq) (res *v1.LevelDetailRes, err error) {
|
||||
return service.Level().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增职级
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CLevel) Add(ctx context.Context, req *v1.LevelAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Level().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改职级
|
||||
// 按职级ID更新记录
|
||||
func (c *CLevel) Update(ctx context.Context, req *v1.LevelUpdateReq) (res *v1.LevelUpdateRes, err error) {
|
||||
return service.Level().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 职级状态
|
||||
// 设置职级的正常或禁用状态
|
||||
func (c *CLevel) Status(ctx context.Context, req *v1.LevelStatusReq) (res *v1.LevelStatusRes, err error) {
|
||||
return service.Level().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除职级
|
||||
// 按职级ID删除单条记录
|
||||
func (c *CLevel) Delete(ctx context.Context, req *v1.LevelDeleteReq) (res *v1.LevelDeleteRes, err error) {
|
||||
return service.Level().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除职级
|
||||
// 按职级ID列表批量删除记录
|
||||
func (c *CLevel) BatchDelete(ctx context.Context, req *v1.LevelBatchDeleteReq) (res *v1.LevelBatchDeleteRes, err error) {
|
||||
return service.Level().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// Import 导入职级
|
||||
// 接收上传的 xls/xlsx 文件并批量导入数据
|
||||
func (c *CLevel) Import(ctx context.Context, req *v1.LevelImportReq) (res *v1.LevelImportRes, err error) {
|
||||
return service.Level().Import(ctx, req)
|
||||
}
|
||||
|
||||
// Export 导出职级
|
||||
// 按查询条件导出职级数据并返回文件访问地址
|
||||
func (c *CLevel) Export(ctx context.Context, req *v1.LevelExportReq) (res *v1.LevelExportRes, err error) {
|
||||
return service.Level().Export(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 友链控制器 ==============================
|
||||
|
||||
// CLink 友链控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Link() 处理
|
||||
type CLink struct{}
|
||||
|
||||
// Page 友链分页
|
||||
// 按查询条件分页返回友链列表
|
||||
func (c *CLink) Page(ctx context.Context, req *v1.LinkPageReq) (res *v1.LinkPageRes, err error) {
|
||||
return service.Link().Page(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 友链详情
|
||||
// 按友链ID查询详情
|
||||
func (c *CLink) Detail(ctx context.Context, req *v1.LinkDetailReq) (res *v1.LinkDetailRes, err error) {
|
||||
return service.Link().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增友链
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CLink) Add(ctx context.Context, req *v1.LinkAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Link().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改友链
|
||||
// 按友链ID更新记录
|
||||
func (c *CLink) Update(ctx context.Context, req *v1.LinkUpdateReq) (res *v1.LinkUpdateRes, err error) {
|
||||
return service.Link().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除友链
|
||||
// 按友链ID删除单条记录
|
||||
func (c *CLink) Delete(ctx context.Context, req *v1.LinkDeleteReq) (res *v1.LinkDeleteRes, err error) {
|
||||
return service.Link().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除友链
|
||||
// 按友链ID列表批量删除记录
|
||||
func (c *CLink) BatchDelete(ctx context.Context, req *v1.LinkBatchDeleteReq) (res *v1.LinkBatchDeleteRes, err error) {
|
||||
return service.Link().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 登录日志控制器 ==============================
|
||||
|
||||
// CLoginLog 登录日志控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.LoginLog() 处理
|
||||
type CLoginLog struct{}
|
||||
|
||||
// Page 登录日志分页
|
||||
// 按查询条件分页返回登录日志列表
|
||||
func (c *CLoginLog) Page(ctx context.Context, req *v1.LoginLogPageReq) (res *v1.LoginLogPageRes, err error) {
|
||||
return service.LoginLog().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 登录日志列表
|
||||
// 按关键词、类型、状态等条件返回登录日志列表
|
||||
func (c *CLoginLog) List(ctx context.Context, req *v1.LoginLogListReq) (res v1.LoginLogListRes, err error) {
|
||||
return service.LoginLog().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 登录日志详情
|
||||
// 按日志ID查询详情
|
||||
func (c *CLoginLog) Detail(ctx context.Context, req *v1.LoginLogDetailReq) (res *v1.LoginLogDetailRes, err error) {
|
||||
return service.LoginLog().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除登录日志
|
||||
// 按日志ID删除单条记录
|
||||
func (c *CLoginLog) Delete(ctx context.Context, req *v1.LoginLogDeleteReq) (res *v1.LoginLogDeleteRes, err error) {
|
||||
return service.LoginLog().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除登录日志
|
||||
// 按日志ID列表批量删除记录
|
||||
func (c *CLoginLog) BatchDelete(ctx context.Context, req *v1.LoginLogBatchDeleteReq) (res *v1.LoginLogBatchDeleteRes, err error) {
|
||||
return service.LoginLog().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 菜单控制器 ==============================
|
||||
|
||||
// CMenu 菜单控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Menu() 处理
|
||||
type CMenu struct{}
|
||||
|
||||
// Page 菜单分页
|
||||
// 按查询条件分页返回平铺的菜单列表
|
||||
func (c *CMenu) Page(ctx context.Context, req *v1.MenuPageReq) (res *v1.MenuPageRes, err error) {
|
||||
return service.Menu().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 菜单平铺列表
|
||||
// 返回菜单平铺列表,由前端自行构建树形结构
|
||||
func (c *CMenu) List(ctx context.Context, req *v1.MenuListReq) (res v1.MenuListRes, err error) {
|
||||
return service.Menu().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 菜单详情
|
||||
// 按菜单ID查询详情
|
||||
func (c *CMenu) Detail(ctx context.Context, req *v1.MenuDetailReq) (res *v1.MenuDetailRes, err error) {
|
||||
return service.Menu().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增菜单
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CMenu) Add(ctx context.Context, req *v1.MenuAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Menu().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改菜单
|
||||
// 按菜单ID更新记录
|
||||
func (c *CMenu) Update(ctx context.Context, req *v1.MenuUpdateReq) (res *v1.MenuUpdateRes, err error) {
|
||||
return service.Menu().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除菜单
|
||||
// 按菜单ID删除单条记录
|
||||
func (c *CMenu) Delete(ctx context.Context, req *v1.MenuDeleteReq) (res *v1.MenuDeleteRes, err error) {
|
||||
return service.Menu().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除菜单
|
||||
// 按菜单ID列表批量删除记录
|
||||
func (c *CMenu) BatchDelete(ctx context.Context, req *v1.MenuBatchDeleteReq) (res *v1.MenuBatchDeleteRes, err error) {
|
||||
return service.Menu().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 公告控制器 ==============================
|
||||
|
||||
// CNotice 公告控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Notice() 处理
|
||||
type CNotice struct{}
|
||||
|
||||
// Page 公告分页
|
||||
// 按查询条件分页返回公告列表
|
||||
func (c *CNotice) Page(ctx context.Context, req *v1.NoticePageReq) (res *v1.NoticePageRes, err error) {
|
||||
return service.Notice().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 公告列表
|
||||
// 按关键词、类型、状态等条件返回公告精简列表
|
||||
func (c *CNotice) List(ctx context.Context, req *v1.NoticeListReq) (res v1.NoticeListRes, err error) {
|
||||
return service.Notice().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 公告详情
|
||||
// 按公告ID查询详情
|
||||
func (c *CNotice) Detail(ctx context.Context, req *v1.NoticeDetailReq) (res *v1.NoticeDetailRes, err error) {
|
||||
return service.Notice().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增公告
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CNotice) Add(ctx context.Context, req *v1.NoticeAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Notice().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改公告
|
||||
// 按公告ID更新记录
|
||||
func (c *CNotice) Update(ctx context.Context, req *v1.NoticeUpdateReq) (res *v1.NoticeUpdateRes, err error) {
|
||||
return service.Notice().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 公告状态
|
||||
// 设置公告的草稿或发布状态
|
||||
func (c *CNotice) Status(ctx context.Context, req *v1.NoticeStatusReq) (res *v1.NoticeStatusRes, err error) {
|
||||
return service.Notice().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除公告
|
||||
// 按公告ID删除单条记录
|
||||
func (c *CNotice) Delete(ctx context.Context, req *v1.NoticeDeleteReq) (res *v1.NoticeDeleteRes, err error) {
|
||||
return service.Notice().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除公告
|
||||
// 按公告ID列表批量删除记录
|
||||
func (c *CNotice) BatchDelete(ctx context.Context, req *v1.NoticeBatchDeleteReq) (res *v1.NoticeBatchDeleteRes, err error) {
|
||||
return service.Notice().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 在线用户控制器 ==============================
|
||||
|
||||
// COnlineUser 在线用户控制器
|
||||
type COnlineUser struct{}
|
||||
|
||||
// Page 在线用户分页
|
||||
func (c *COnlineUser) Page(ctx context.Context, req *v1.OnlineUserPageReq) (res *v1.OnlineUserPageRes, err error) {
|
||||
return service.OnlineUser().Page(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 在线会话详情
|
||||
func (c *COnlineUser) Detail(ctx context.Context, req *v1.OnlineUserDetailReq) (res *v1.OnlineUserDetailRes, err error) {
|
||||
return service.OnlineUser().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// ForceLogout 强制下线
|
||||
func (c *COnlineUser) ForceLogout(ctx context.Context, req *v1.OnlineUserForceLogoutReq) (res *v1.OnlineUserForceLogoutRes, err error) {
|
||||
return service.OnlineUser().ForceLogout(ctx, req)
|
||||
}
|
||||
|
||||
// ForceLogoutUser 踢出该用户全部设备
|
||||
func (c *COnlineUser) ForceLogoutUser(ctx context.Context, req *v1.OnlineUserForceLogoutUserReq) (res *v1.OnlineUserForceLogoutUserRes, err error) {
|
||||
return service.OnlineUser().ForceLogoutUser(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 操作日志控制器 ==============================
|
||||
|
||||
// COperLog 操作日志控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.OperLog() 处理
|
||||
type COperLog struct{}
|
||||
|
||||
// Page 操作日志分页
|
||||
// 按查询条件分页返回操作日志列表
|
||||
func (c *COperLog) Page(ctx context.Context, req *v1.OperLogPageReq) (res *v1.OperLogPageRes, err error) {
|
||||
return service.OperLog().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 操作日志列表
|
||||
// 按关键词、类型、状态等条件返回操作日志列表
|
||||
func (c *COperLog) List(ctx context.Context, req *v1.OperLogListReq) (res v1.OperLogListRes, err error) {
|
||||
return service.OperLog().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 操作日志详情
|
||||
// 按日志ID查询详情
|
||||
func (c *COperLog) Detail(ctx context.Context, req *v1.OperLogDetailReq) (res *v1.OperLogDetailRes, err error) {
|
||||
return service.OperLog().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除操作日志
|
||||
// 按日志ID删除单条记录
|
||||
func (c *COperLog) Delete(ctx context.Context, req *v1.OperLogDeleteReq) (res *v1.OperLogDeleteRes, err error) {
|
||||
return service.OperLog().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除操作日志
|
||||
// 按日志ID列表批量删除记录
|
||||
func (c *COperLog) BatchDelete(ctx context.Context, req *v1.OperLogBatchDeleteReq) (res *v1.OperLogBatchDeleteRes, err error) {
|
||||
return service.OperLog().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 参数控制器 ==============================
|
||||
|
||||
// CParam 参数控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Param() 处理
|
||||
type CParam struct{}
|
||||
|
||||
// Page 参数分页
|
||||
// 按查询条件分页返回参数列表
|
||||
func (c *CParam) Page(ctx context.Context, req *v1.ParamPageReq) (res *v1.ParamPageRes, err error) {
|
||||
return service.Param().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 参数列表
|
||||
// 按关键词、类型、状态等条件返回参数列表
|
||||
func (c *CParam) List(ctx context.Context, req *v1.ParamListReq) (res v1.ParamListRes, err error) {
|
||||
return service.Param().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 参数详情
|
||||
// 按参数ID查询详情
|
||||
func (c *CParam) Detail(ctx context.Context, req *v1.ParamDetailReq) (res *v1.ParamDetailRes, err error) {
|
||||
return service.Param().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增参数
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CParam) Add(ctx context.Context, req *v1.ParamAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Param().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改参数
|
||||
// 按参数ID更新记录
|
||||
func (c *CParam) Update(ctx context.Context, req *v1.ParamUpdateReq) (res *v1.ParamUpdateRes, err error) {
|
||||
return service.Param().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除参数
|
||||
// 按参数ID删除单条记录
|
||||
func (c *CParam) Delete(ctx context.Context, req *v1.ParamDeleteReq) (res *v1.ParamDeleteRes, err error) {
|
||||
return service.Param().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除参数
|
||||
// 按参数ID列表批量删除记录
|
||||
func (c *CParam) BatchDelete(ctx context.Context, req *v1.ParamBatchDeleteReq) (res *v1.ParamBatchDeleteRes, err error) {
|
||||
return service.Param().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 岗位控制器 ==============================
|
||||
|
||||
// CPosition 岗位控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Position() 处理
|
||||
type CPosition struct{}
|
||||
|
||||
// Page 岗位分页
|
||||
// 按查询条件分页返回岗位列表
|
||||
func (c *CPosition) Page(ctx context.Context, req *v1.PositionPageReq) (res *v1.PositionPageRes, err error) {
|
||||
return service.Position().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 岗位列表
|
||||
// 按关键词、状态等条件返回岗位列表
|
||||
func (c *CPosition) List(ctx context.Context, req *v1.PositionListReq) (res v1.PositionListRes, err error) {
|
||||
return service.Position().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 岗位详情
|
||||
// 按岗位ID查询详情
|
||||
func (c *CPosition) Detail(ctx context.Context, req *v1.PositionDetailReq) (res *v1.PositionDetailRes, err error) {
|
||||
return service.Position().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增岗位
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CPosition) Add(ctx context.Context, req *v1.PositionAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Position().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改岗位
|
||||
// 按岗位ID更新记录
|
||||
func (c *CPosition) Update(ctx context.Context, req *v1.PositionUpdateReq) (res *v1.PositionUpdateRes, err error) {
|
||||
return service.Position().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 岗位状态
|
||||
// 设置岗位的正常或禁用状态
|
||||
func (c *CPosition) Status(ctx context.Context, req *v1.PositionStatusReq) (res *v1.PositionStatusRes, err error) {
|
||||
return service.Position().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除岗位
|
||||
// 按岗位ID删除单条记录
|
||||
func (c *CPosition) Delete(ctx context.Context, req *v1.PositionDeleteReq) (res *v1.PositionDeleteRes, err error) {
|
||||
return service.Position().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除岗位
|
||||
// 按岗位ID列表批量删除记录
|
||||
func (c *CPosition) BatchDelete(ctx context.Context, req *v1.PositionBatchDeleteReq) (res *v1.PositionBatchDeleteRes, err error) {
|
||||
return service.Position().BatchDelete(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 角色控制器 ==============================
|
||||
|
||||
// CRole 角色控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Role() 处理
|
||||
type CRole struct{}
|
||||
|
||||
// Page 角色分页
|
||||
// 按查询条件分页返回角色列表
|
||||
func (c *CRole) Page(ctx context.Context, req *v1.RolePageReq) (res *v1.RolePageRes, err error) {
|
||||
return service.Role().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 角色列表
|
||||
// 按关键词返回角色精简列表
|
||||
func (c *CRole) List(ctx context.Context, req *v1.RoleListReq) (res v1.RoleListRes, err error) {
|
||||
return service.Role().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 角色详情
|
||||
// 按角色ID查询详情
|
||||
func (c *CRole) Detail(ctx context.Context, req *v1.RoleDetailReq) (res *v1.RoleDetailRes, err error) {
|
||||
return service.Role().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增角色
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CRole) Add(ctx context.Context, req *v1.RoleAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Role().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改角色
|
||||
// 按角色ID更新记录
|
||||
func (c *CRole) Update(ctx context.Context, req *v1.RoleUpdateReq) (res *v1.RoleUpdateRes, err error) {
|
||||
return service.Role().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除角色
|
||||
// 按角色ID删除单条记录
|
||||
func (c *CRole) Delete(ctx context.Context, req *v1.RoleDeleteReq) (res *v1.RoleDeleteRes, err error) {
|
||||
return service.Role().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除角色
|
||||
// 按角色ID列表批量删除记录
|
||||
func (c *CRole) BatchDelete(ctx context.Context, req *v1.RoleBatchDeleteReq) (res *v1.RoleBatchDeleteRes, err error) {
|
||||
return service.Role().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// MenuList 角色菜单勾选列表
|
||||
// 返回菜单平铺列表并附带勾选状态,供权限配置使用
|
||||
func (c *CRole) MenuList(ctx context.Context, req *v1.RoleMenuListReq) (res v1.RoleMenuListRes, err error) {
|
||||
return service.Role().MenuList(ctx, req)
|
||||
}
|
||||
|
||||
// SavePermission 保存角色菜单权限
|
||||
// 按角色ID保存其可访问的菜单ID列表
|
||||
func (c *CRole) SavePermission(ctx context.Context, req *v1.RoleSavePermissionReq) (res *v1.RoleSavePermissionRes, err error) {
|
||||
return service.Role().SavePermission(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 服务器监控控制器 ==============================
|
||||
|
||||
// CServerMonitor 服务器监控控制器
|
||||
type CServerMonitor struct{}
|
||||
|
||||
// Info 服务器监控信息
|
||||
func (c *CServerMonitor) Info(ctx context.Context, req *v1.ServerInfoReq) (res *v1.ServerInfoRes, err error) {
|
||||
return service.ServerMonitor().Info(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 租户控制器 ==============================
|
||||
|
||||
// CTenant 租户控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Tenant() 处理
|
||||
type CTenant struct{}
|
||||
|
||||
// Page 租户分页
|
||||
// 按查询条件分页返回租户列表
|
||||
func (c *CTenant) Page(ctx context.Context, req *v1.TenantPageReq) (res *v1.TenantPageRes, err error) {
|
||||
return service.Tenant().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 租户列表
|
||||
// 按关键词、状态等条件返回租户精简列表
|
||||
func (c *CTenant) List(ctx context.Context, req *v1.TenantListReq) (res v1.TenantListRes, err error) {
|
||||
return service.Tenant().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 租户详情
|
||||
// 按租户ID查询详情
|
||||
func (c *CTenant) Detail(ctx context.Context, req *v1.TenantDetailReq) (res *v1.TenantDetailRes, err error) {
|
||||
return service.Tenant().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增租户
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CTenant) Add(ctx context.Context, req *v1.TenantAddReq) (res *v1.IdRes, err error) {
|
||||
return service.Tenant().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改租户
|
||||
// 按租户ID更新记录
|
||||
func (c *CTenant) Update(ctx context.Context, req *v1.TenantUpdateReq) (res *v1.TenantUpdateRes, err error) {
|
||||
return service.Tenant().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 租户状态
|
||||
// 设置租户的正常或禁用状态
|
||||
func (c *CTenant) Status(ctx context.Context, req *v1.TenantStatusReq) (res *v1.TenantStatusRes, err error) {
|
||||
return service.Tenant().Status(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除租户
|
||||
// 按租户ID删除单条记录
|
||||
func (c *CTenant) Delete(ctx context.Context, req *v1.TenantDeleteReq) (res *v1.TenantDeleteRes, err error) {
|
||||
return service.Tenant().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除租户
|
||||
// 按租户ID列表批量删除记录
|
||||
func (c *CTenant) BatchDelete(ctx context.Context, req *v1.TenantBatchDeleteReq) (res *v1.TenantBatchDeleteRes, err error) {
|
||||
return service.Tenant().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// Account 创建租户账号
|
||||
// 同时创建租户及其初始管理员账号
|
||||
func (c *CTenant) Account(ctx context.Context, req *v1.TenantAccountReq) (res *v1.TenantAccountRes, err error) {
|
||||
return service.Tenant().Account(ctx, req)
|
||||
}
|
||||
|
||||
// Users 租户用户列表
|
||||
// 按租户ID查询该租户下的用户列表
|
||||
func (c *CTenant) Users(ctx context.Context, req *v1.TenantUsersReq) (res *v1.TenantUsersRes, err error) {
|
||||
return service.Tenant().Users(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 文件上传控制器 ==============================
|
||||
|
||||
// CUpload 文件上传控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Upload() 处理
|
||||
type CUpload struct{}
|
||||
|
||||
// UploadFile 上传单文件
|
||||
// 接收单个上传文件并返回文件访问地址与基本信息
|
||||
func (c *CUpload) UploadFile(ctx context.Context, req *v1.UploadFileReq) (res *v1.UploadFileRes, err error) {
|
||||
return service.Upload().UploadFile(ctx, req)
|
||||
}
|
||||
|
||||
// UploadFiles 批量上传文件
|
||||
// 接收多个上传文件并返回各文件的访问地址与基本信息
|
||||
func (c *CUpload) UploadFiles(ctx context.Context, req *v1.UploadFilesReq) (res *v1.UploadFilesRes, err error) {
|
||||
return service.Upload().UploadFiles(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
"easygoadmin/internal/service"
|
||||
)
|
||||
|
||||
// ============================== 用户控制器 ==============================
|
||||
|
||||
// CUser 用户控制器
|
||||
// 薄层控制器,仅负责参数透传,业务逻辑由 service.User() 处理
|
||||
type CUser struct{}
|
||||
|
||||
// Page 用户分页
|
||||
// 按查询条件分页返回用户列表
|
||||
func (c *CUser) Page(ctx context.Context, req *v1.UserPageReq) (res *v1.UserPageRes, err error) {
|
||||
return service.User().Page(ctx, req)
|
||||
}
|
||||
|
||||
// List 用户列表
|
||||
// 按关键词、状态等条件返回用户精简列表,供下拉选择使用
|
||||
func (c *CUser) List(ctx context.Context, req *v1.UserListReq) (res v1.UserListRes, err error) {
|
||||
return service.User().List(ctx, req)
|
||||
}
|
||||
|
||||
// Detail 用户详情
|
||||
// 按用户ID查询详情,含角色ID数组与四级区划编码
|
||||
func (c *CUser) Detail(ctx context.Context, req *v1.UserDetailReq) (res *v1.UserDetailRes, err error) {
|
||||
return service.User().Detail(ctx, req)
|
||||
}
|
||||
|
||||
// Add 新增用户
|
||||
// 新增成功后返回新记录ID
|
||||
func (c *CUser) Add(ctx context.Context, req *v1.UserAddReq) (res *v1.IdRes, err error) {
|
||||
return service.User().Add(ctx, req)
|
||||
}
|
||||
|
||||
// Update 修改用户
|
||||
// 按用户ID更新记录,密码留空时不做修改
|
||||
func (c *CUser) Update(ctx context.Context, req *v1.UserUpdateReq) (res *v1.UserUpdateRes, err error) {
|
||||
return service.User().Update(ctx, req)
|
||||
}
|
||||
|
||||
// Status 用户状态
|
||||
// 设置用户的正常或禁用状态
|
||||
func (c *CUser) Status(ctx context.Context, req *v1.UserStatusReq) (res *v1.UserStatusRes, err error) {
|
||||
return service.User().Status(ctx, req)
|
||||
}
|
||||
|
||||
// ResetPwd 重置用户密码
|
||||
// 密码为空时重置为系统默认密码
|
||||
func (c *CUser) ResetPwd(ctx context.Context, req *v1.UserResetPwdReq) (res *v1.UserResetPwdRes, err error) {
|
||||
return service.User().ResetPwd(ctx, req)
|
||||
}
|
||||
|
||||
// Delete 删除用户
|
||||
// 按用户ID删除单条记录
|
||||
func (c *CUser) Delete(ctx context.Context, req *v1.UserDeleteReq) (res *v1.UserDeleteRes, err error) {
|
||||
return service.User().Delete(ctx, req)
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除用户
|
||||
// 按用户ID列表批量删除记录
|
||||
func (c *CUser) BatchDelete(ctx context.Context, req *v1.UserBatchDeleteReq) (res *v1.UserBatchDeleteRes, err error) {
|
||||
return service.User().BatchDelete(ctx, req)
|
||||
}
|
||||
|
||||
// Import 导入用户
|
||||
// 接收上传的 xls/xlsx 文件并批量导入数据
|
||||
func (c *CUser) Import(ctx context.Context, req *v1.UserImportReq) (res *v1.UserImportRes, err error) {
|
||||
return service.User().Import(ctx, req)
|
||||
}
|
||||
|
||||
// Export 导出用户
|
||||
// 按查询条件导出用户数据并返回文件访问地址
|
||||
func (c *CUser) Export(ctx context.Context, req *v1.UserExportReq) (res *v1.UserExportRes, err error) {
|
||||
return service.User().Export(ctx, req)
|
||||
}
|
||||
|
||||
// Document 用户打印信息
|
||||
// 返回用户详情及关联的角色、部门、职级、岗位名称
|
||||
func (c *CUser) Document(ctx context.Context, req *v1.UserDocumentReq) (res *v1.UserDocumentRes, err error) {
|
||||
return service.User().Document(ctx, req)
|
||||
}
|
||||
Reference in New Issue
Block a user