dict.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/common_definition/comm_def"
  5. "dashoo.cn/micro/app/model"
  6. "dashoo.cn/micro/app/service"
  7. "dashoo.cn/opms_libary/myerrors"
  8. "github.com/gogf/gf/frame/g"
  9. "github.com/gogf/gf/os/glog"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. type Dict struct{}
  13. // GetDictTypeList 分页查询字典分类列表信息
  14. func (c *Dict) GetDictTypeList(ctx context.Context, req *model.ListSysDictTypeReq, rsp *comm_def.CommonMsg) error {
  15. // 参数校验
  16. // 设置默认的页数
  17. if req.PageSize == 0 {
  18. req.PageSize = DefaultPageNum
  19. }
  20. dictService, err := service.NewDictTypeService(ctx)
  21. if flag, err, _, _ := myerrors.CheckError(err); flag {
  22. return err
  23. }
  24. total, list, err := dictService.GetList(req)
  25. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  26. if err != nil {
  27. g.Log().Error(err)
  28. return err
  29. }
  30. rsp.Data = g.Map{"list": list, "total": total}
  31. return nil
  32. }
  33. // GetDictTypeEntity 根据id获取字典分类详情信息
  34. func (c *Dict) GetDictTypeEntity(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  35. // 参数校验
  36. if req.Id == 0 {
  37. return NoParamsErr
  38. }
  39. dictService, err := service.NewDictTypeService(ctx)
  40. if flag, err, _, _ := myerrors.CheckError(err); flag {
  41. return err
  42. }
  43. data, err := dictService.GetDictById(req.Id)
  44. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  45. if err != nil {
  46. g.Log().Error(err)
  47. return err
  48. }
  49. rsp.Data = data
  50. return nil
  51. }
  52. // CreateDictType 添加字典分类
  53. func (c *Dict) CreateDictType(ctx context.Context, req *model.SysDictTypeAddReq, rsp *comm_def.CommonMsg) error {
  54. // 参数校验
  55. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  56. return err
  57. }
  58. dictService, err := service.NewDictTypeService(ctx)
  59. if flag, err, _, _ := myerrors.CheckError(err); flag {
  60. return err
  61. }
  62. err = dictService.Create(req)
  63. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  64. return err
  65. }
  66. // UpdateDictType 更新字典分类信息
  67. func (c *Dict) UpdateDictType(ctx context.Context, req *model.SysDictTypeEditReq, rsp *comm_def.CommonMsg) error {
  68. // 参数校验
  69. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  70. return err
  71. }
  72. dictService, err := service.NewDictTypeService(ctx)
  73. if flag, err, _, _ := myerrors.CheckError(err); flag {
  74. return err
  75. }
  76. err = dictService.UpdateById(req)
  77. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  78. return err
  79. }
  80. // DeleteDictTypeByIds 删除字典分类 支持批量删除
  81. func (c *Dict) DeleteDictTypeByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  82. // 参数校验
  83. if len(req.Ids) == 0 {
  84. return NoParamsErr
  85. }
  86. dictService, err := service.NewDictTypeService(ctx)
  87. if err != nil {
  88. return err
  89. }
  90. err = dictService.Delete(req.Ids)
  91. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  92. return err
  93. }
  94. // 字典明细数据相关
  95. // GetDictDataList 分页查询字典明细列表信息
  96. func (c *Dict) GetDictDataList(ctx context.Context, req *model.SelectDictPageReq, rsp *comm_def.CommonMsg) error {
  97. dictService, err := service.NewDictDataService(ctx)
  98. if err != nil {
  99. return err
  100. }
  101. if req.PageSize == 0 {
  102. req.PageSize = DefaultPageNum
  103. }
  104. total, list, err := dictService.GetDictDataList(req)
  105. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  106. if err != nil {
  107. glog.Error(err)
  108. return err
  109. }
  110. rsp.Data = g.Map{"list": list, "total": total}
  111. return nil
  112. }
  113. // GetDictDataEntity 根据id获取字典明细详情信息
  114. func (c *Dict) GetDictDataEntity(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  115. // 参数校验
  116. if req.Id == 0 {
  117. return NoParamsErr
  118. }
  119. dictService, err := service.NewDictDataService(ctx)
  120. if err != nil {
  121. return err
  122. }
  123. data, err := dictService.GetDictDataById(req.Id)
  124. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  125. if err != nil {
  126. glog.Error(err)
  127. return err
  128. }
  129. rsp.Data = data
  130. return nil
  131. }
  132. // GetDictDataByType 根据字典类型获取字典项明细
  133. func (c *Dict) GetDictDataByType(ctx context.Context, req *model.GetDictReq, rsp *comm_def.CommonMsg) error {
  134. dictService, err := service.NewDictDataService(ctx)
  135. if err != nil {
  136. return err
  137. }
  138. list, err := dictService.GetDictWithDataByType(req)
  139. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  140. if err != nil {
  141. glog.Error(err)
  142. return err
  143. }
  144. rsp.Data = list
  145. return nil
  146. }
  147. // CreateDictData 添加字典明细
  148. func (c *Dict) CreateDictData(ctx context.Context, req *model.DictDataAddReq, rsp *comm_def.CommonMsg) error {
  149. // 参数校验
  150. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  151. return err
  152. }
  153. dictService, err := service.NewDictDataService(ctx)
  154. if err != nil {
  155. return err
  156. }
  157. _, err = dictService.Create(req)
  158. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  159. if err != nil {
  160. glog.Error(err)
  161. return err
  162. }
  163. return nil
  164. }
  165. // UpdateDictData 更新字典明细信息
  166. func (c *Dict) UpdateDictData(ctx context.Context, req *model.EditDictDataReq, rsp *comm_def.CommonMsg) error {
  167. // 参数校验
  168. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  169. return err
  170. }
  171. dictService, err := service.NewDictDataService(ctx)
  172. if err != nil {
  173. return err
  174. }
  175. err = dictService.UpdateByDict(req)
  176. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  177. if err != nil {
  178. glog.Error(err)
  179. return err
  180. }
  181. return nil
  182. }
  183. // DeleteDictDataByIds 删除字典明细 支持批量删除
  184. func (c *Dict) DeleteDictDataByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  185. // 参数验证
  186. if len(req.Ids) == 0 {
  187. return NoParamsErr
  188. }
  189. dictService, err := service.NewDictDataService(ctx)
  190. if err != nil {
  191. return err
  192. }
  193. err = dictService.DeleteDictDataByIds(req.Ids)
  194. _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  195. if err != nil {
  196. glog.Error(err)
  197. return err
  198. }
  199. return nil
  200. }