87 lines
2.9 KiB
Go
87 lines
2.9 KiB
Go
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)
|
|
}
|