package handler import ( "context" "dashoo.cn/opms_libary/myerrors" "dashoo.cn/common_definition/comm_def" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gvalid" "dashoo.cn/micro/app/model" "dashoo.cn/micro/app/service" ) type DictHandler struct{} // GetDictTypeList 分页查询字典分类列表信息 func (h *DictHandler) GetDictTypeList(ctx context.Context, req *model.ListSysDictTypeReq, rsp *comm_def.CommonMsg) error { // 参数校验 dictService, err := service.NewDictTypeService(ctx) if err != nil { return err } total, list, err := dictService.GetList(req) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return nil } // GetDictTypeEntity 根据id获取字典分类详情信息 func (h *DictHandler) GetDictTypeEntity(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error { // 参数校验 if req.Id == 0 { return myerrors.TipsError("请求参数不存在。") } dictService, err := service.NewDictTypeService(ctx) if err != nil { return err } data, err := dictService.GetDictById(req.Id) if err != nil { return err } rsp.Data = data return nil } // CreateDictType 添加字典分类 func (h *DictHandler) CreateDictType(ctx context.Context, req *model.SysDictTypeAddReq, rsp *comm_def.CommonMsg) error { // 参数校验 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } dictService, err := service.NewDictTypeService(ctx) if err != nil { return err } err = dictService.Create(req) return err } // UpdateDictType 更新字典分类信息 func (h *DictHandler) UpdateDictType(ctx context.Context, req *model.SysDictTypeEditReq, rsp *comm_def.CommonMsg) error { // 参数校验 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } dictService, err := service.NewDictTypeService(ctx) if err != nil { return err } err = dictService.UpdateById(req) return err } // DeleteDictTypeByIds 删除字典分类 支持批量删除 func (h *DictHandler) DeleteDictTypeByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error { // 参数校验 if len(req.Ids) == 0 { return myerrors.TipsError("请求参数不存在。") } dictService, err := service.NewDictTypeService(ctx) if err != nil { return err } err = dictService.Delete(req.Ids) return err } // 字典明细数据相关 // GetDictDataList 分页查询字典明细列表信息 func (h *DictHandler) GetDictDataList(ctx context.Context, req *model.SelectDictPageReq, rsp *comm_def.CommonMsg) error { dictService, err := service.NewDictDataService(ctx) if err != nil { return err } total, list, err := dictService.GetDictDataList(req) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return nil } // GetDictDataEntity 根据id获取字典明细详情信息 func (h *DictHandler) GetDictDataEntity(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error { // 参数校验 if req.Id == 0 { return myerrors.TipsError("请求参数不存在。") } dictService, err := service.NewDictDataService(ctx) if err != nil { return err } data, err := dictService.GetDictDataById(req.Id) if err != nil { return err } rsp.Data = data return nil } // GetDictDataByType 根据字典类型获取字典项明细 func (h *DictHandler) GetDictDataByType(ctx context.Context, req *model.GetDictReq, rsp *comm_def.CommonMsg) error { dictService, err := service.NewDictDataService(ctx) if err != nil { return err } list, err := dictService.GetDictWithDataByType(req) if err != nil { return err } rsp.Data = list return nil } // CreateDictData 添加字典明细 func (h *DictHandler) CreateDictData(ctx context.Context, req *model.DictDataAddReq, rsp *comm_def.CommonMsg) error { // 参数校验 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } dictService, err := service.NewDictDataService(ctx) if err != nil { return err } rsp.Data, err = dictService.Create(req) if err != nil { return err } return nil } // UpdateDictData 更新字典明细信息 func (h *DictHandler) UpdateDictData(ctx context.Context, req *model.EditDictDataReq, rsp *comm_def.CommonMsg) error { // 参数校验 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } dictService, err := service.NewDictDataService(ctx) if err != nil { return err } err = dictService.UpdateByDict(req) if err != nil { return err } return nil } // DeleteDictDataByIds 删除字典明细 支持批量删除 func (h *DictHandler) DeleteDictDataByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error { // 参数验证 if len(req.Ids) == 0 { return myerrors.TipsError("请求参数不存在。") } dictService, err := service.NewDictDataService(ctx) if err != nil { return err } err = dictService.DeleteDictDataByIds(req.Ids) if err != nil { return err } return nil }