64 lines
2.4 KiB
Go
64 lines
2.4 KiB
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"easygoadmin/api/v1"
|
|
)
|
|
|
|
// 按模块独立拆分(代码生成器产出)。
|
|
// logic 方法签名变更时需同步维护本文件(不再整体运行 gf gen service)。
|
|
|
|
// ============================== 案例演示服务接口 ==============================
|
|
|
|
// IExample 案例演示服务接口
|
|
// 实现位于 internal/logic/example.go
|
|
type IExample interface {
|
|
// Page 案例演示分页
|
|
// 按查询条件分页返回案例演示列表
|
|
Page(ctx context.Context, req *v1.ExamplePageReq) (res *v1.ExamplePageRes, err error)
|
|
// List 案例演示平铺列表
|
|
// data 直接为数组,树形结构由前端构建
|
|
List(ctx context.Context, req *v1.ExampleListReq) (res v1.ExampleListRes, err error)
|
|
// Detail 案例演示详情
|
|
// 按主键ID查询详情
|
|
Detail(ctx context.Context, req *v1.ExampleDetailReq) (res *v1.ExampleDetailRes, err error)
|
|
// Add 新增案例演示
|
|
// 新增成功后返回新记录ID
|
|
Add(ctx context.Context, req *v1.ExampleAddReq) (res *v1.ExampleIdRes, err error)
|
|
// Update 修改案例演示
|
|
// 按主键ID更新记录
|
|
Update(ctx context.Context, req *v1.ExampleUpdateReq) (res *v1.ExampleUpdateRes, err error)
|
|
// Status 案例演示状态
|
|
// 设置记录的状态字段
|
|
Status(ctx context.Context, req *v1.ExampleStatusReq) (res *v1.ExampleStatusRes, err error)
|
|
// Delete 删除案例演示
|
|
// 按主键ID删除单条记录
|
|
Delete(ctx context.Context, req *v1.ExampleDeleteReq) (res *v1.ExampleDeleteRes, err error)
|
|
// BatchDelete 批量删除案例演示
|
|
// 按主键ID列表批量删除记录
|
|
BatchDelete(ctx context.Context, req *v1.ExampleBatchDeleteReq) (res *v1.ExampleBatchDeleteRes, err error)
|
|
// Import 导入案例演示
|
|
// 接收上传的 xls/xlsx 文件并批量导入数据
|
|
Import(ctx context.Context, req *v1.ExampleImportReq) (res *v1.ExampleImportRes, err error)
|
|
// Export 导出案例演示
|
|
// 按查询条件导出数据并返回文件访问地址
|
|
Export(ctx context.Context, req *v1.ExampleExportReq) (res *v1.ExampleExportRes, err error)
|
|
}
|
|
|
|
// localExample 案例演示服务实现实例
|
|
var localExample IExample
|
|
|
|
// Example 获取案例演示服务实例
|
|
func Example() IExample {
|
|
if localExample == nil {
|
|
panic("implement not found for interface IExample, forgot register?")
|
|
}
|
|
return localExample
|
|
}
|
|
|
|
// RegisterExample 注册案例演示服务实现
|
|
func RegisterExample(i IExample) {
|
|
localExample = i
|
|
}
|