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) }