projecthandler.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. // 模块控制接口-项目
  2. // 秒寻科技
  3. // zt 2024-02-03
  4. package projecthandler
  5. import (
  6. "ipsomc/core/dao/mysql/mysqlmodel"
  7. "ipsomc/core/gin/bind"
  8. "ipsomc/core/gin/resp"
  9. "ipsomc/module/project/projectapi"
  10. "ipsomc/module/project/projectlogic"
  11. "ipsomc/module/project/projectmodel"
  12. "github.com/gin-gonic/gin"
  13. )
  14. type ProjectHan struct {
  15. bindApi bind.BindApi
  16. projectApi projectapi.ProjectApi
  17. projectLgc projectlogic.ProjectLgc
  18. }
  19. // 增加
  20. func (obj *ProjectHan) AddProjectHan(c *gin.Context) {
  21. dataModel := new(projectmodel.Project)
  22. //把前端数据绑定到模型
  23. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  24. resp.RespFail(c, "数据错误")
  25. return
  26. }
  27. //保存数据
  28. if err := obj.projectLgc.AddProjectLgc(dataModel); err != nil {
  29. resp.RespFail(c, err.Error())
  30. return
  31. }
  32. //返回数据
  33. resp.RespData(c, dataModel)
  34. }
  35. // 修改
  36. func (obj *ProjectHan) UpdateProjectHan(c *gin.Context) {
  37. dataModel := new(projectmodel.Project)
  38. dataMap := make(map[string]interface{})
  39. //把前端数据绑定到模型
  40. if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
  41. resp.RespFail(c, err.Error())
  42. return
  43. }
  44. //保存数据
  45. if err := obj.projectApi.UpdateProject(dataModel, dataMap); err != nil {
  46. resp.RespFail(c, err.Error())
  47. return
  48. }
  49. //返回数据
  50. resp.RespOk(c)
  51. }
  52. // 删除
  53. func (obj *ProjectHan) DeleteProjectHan(c *gin.Context) {
  54. dataModel := new(projectmodel.Project)
  55. //把前端数据绑定到模型
  56. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  57. resp.RespFail(c, "数据解析错误")
  58. return
  59. }
  60. if err := obj.projectApi.DeleteProject(dataModel); err != nil {
  61. resp.RespFail(c, err.Error())
  62. return
  63. }
  64. //返回数据
  65. resp.RespOk(c)
  66. }
  67. // 查询单条记录
  68. func (obj *ProjectHan) GetProjectByIdHan(c *gin.Context) {
  69. dataModel := new(projectmodel.Project)
  70. //把前端数据绑定到模型
  71. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  72. resp.RespFail(c, "数据解析错误")
  73. return
  74. }
  75. if err := obj.projectApi.GetProjectById(dataModel); err != nil {
  76. resp.RespFail(c, err.Error())
  77. return
  78. }
  79. //返回数据
  80. resp.RespData(c, dataModel)
  81. }
  82. // 查询
  83. func (obj *ProjectHan) GetProjectListHan(c *gin.Context) {
  84. dataModel := new(projectmodel.Project)
  85. listParam := new(mysqlmodel.ListParam)
  86. dataList := []projectmodel.Project{}
  87. //把前端数据绑定到模型
  88. if err := obj.bindApi.Bind2Query(c, listParam); err != nil {
  89. resp.RespFail(c, "数据解析错误")
  90. return
  91. }
  92. if err := obj.projectApi.GetProjectList(dataModel, listParam, &dataList); err != nil {
  93. resp.RespFail(c, err.Error())
  94. return
  95. }
  96. resp.RespList(c, dataList)
  97. }
  98. // 分页查询
  99. func (obj *ProjectHan) GetProjectPageListHan(c *gin.Context) {
  100. dataModel := new(projectmodel.Project)
  101. pageListParam := new(mysqlmodel.PageListParam)
  102. dataList := []projectmodel.Project{}
  103. //把前端数据绑定到模型
  104. if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil {
  105. resp.RespFail(c, "数据解析错误")
  106. return
  107. }
  108. pageListData, err := obj.projectApi.GetProjectPageList(dataModel, pageListParam, &dataList)
  109. if err != nil {
  110. resp.RespFail(c, err.Error())
  111. return
  112. }
  113. resp.RespList(c, pageListData)
  114. }