company.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package controller
  2. import (
  3. "cold-delivery/app/admin/model"
  4. "cold-delivery/app/admin/service"
  5. "cold-delivery/app/admin/service/dto"
  6. "cold-delivery/common/actions"
  7. "github.com/gin-gonic/gin"
  8. "github.com/gin-gonic/gin/binding"
  9. "gogs.baozhida.cn/zoie/OAuth-core/api"
  10. "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/user"
  11. _ "gogs.baozhida.cn/zoie/OAuth-core/pkg/response"
  12. )
  13. type CompanyController struct {
  14. api.Api
  15. }
  16. // GetPage 获取公司列表
  17. // @Summary 获取公司列表
  18. // @Description 获取公司列表(用户公司及子公司)
  19. // @Tags 公司
  20. // @Param name query string false "公司名称"
  21. // @Success 200 {object} response.Response{data=response.Page{list=[]model.SysDept}} "{"code": 200, "data": [...]}"
  22. // @Router /api/company [get]
  23. // @Security Bearer
  24. func (e CompanyController) GetPage(c *gin.Context) {
  25. s := service.Company{}
  26. req := dto.CompanyGetPageReq{}
  27. err := e.MakeContext(c).
  28. MakeOrm().
  29. Bind(&req, binding.Query).
  30. MakeService(&s.Service).
  31. Errors
  32. if err != nil {
  33. e.Logger.Error(err)
  34. e.Error(500, err, err.Error())
  35. return
  36. }
  37. //数据权限检查
  38. p := actions.GetPermissionFromContext(c)
  39. //p.DeptId = user.GetDeptId(c)
  40. list := make([]model.SysDept, 0)
  41. var count int64
  42. err = s.GetPage(&req, &list, &count)
  43. list, err = s.SetDeptPage(&req, p)
  44. if err != nil {
  45. e.Error(500, err, err.Error())
  46. return
  47. }
  48. e.OK(list, "查询成功")
  49. }
  50. // GetAll 添加用户-获取公司列表
  51. // @Summary 添加用户-获取公司列表
  52. // @Description 添加用户-获取公司列表
  53. // @Tags 公司
  54. // @Param id path string true "公司id"
  55. // @Success 200 {object} response.Response{data=model.SysDept} "{"code": 200, "data": [...]}"
  56. // @Router /api/company/{id} [get]
  57. // @Security Bearer
  58. func (e CompanyController) GetAll(c *gin.Context) {
  59. s := service.Company{}
  60. req := dto.CompanyGetAllReq{}
  61. err := e.MakeContext(c).
  62. MakeOrm().
  63. Bind(&req, binding.Query).
  64. MakeService(&s.Service).
  65. Errors
  66. if err != nil {
  67. e.Logger.Error(err)
  68. e.Error(500, err, err.Error())
  69. return
  70. }
  71. //数据权限检查
  72. p := actions.GetPermissionFromContext(c)
  73. p.DeptId = user.GetDeptId(c)
  74. list := make([]model.SysDept, 0)
  75. var count int64
  76. err = s.GetAll(&req, &list, &count, p)
  77. if err != nil {
  78. e.Error(500, err, err.Error())
  79. return
  80. }
  81. e.PageOK(list, int(count), 0, 0, "查询成功")
  82. }
  83. // Get 通过id获取公司
  84. // @Summary 通过id获取公司
  85. // @Description 通过id获取公司
  86. // @Tags 公司
  87. // @Param id path string true "公司id"
  88. // @Success 200 {object} response.Response{data=model.SysDept} "{"code": 200, "data": [...]}"
  89. // @Router /api/company/{id} [get]
  90. // @Security Bearer
  91. func (e CompanyController) Get(c *gin.Context) {
  92. s := service.Company{}
  93. req := dto.CompanyGetReq{}
  94. err := e.MakeContext(c).
  95. MakeOrm().
  96. Bind(&req, nil).
  97. MakeService(&s.Service).
  98. Errors
  99. if err != nil {
  100. e.Logger.Error(err)
  101. e.Error(500, err, err.Error())
  102. return
  103. }
  104. var object model.SysDept
  105. //数据权限检查
  106. err = s.Get(&req, &object)
  107. if err != nil {
  108. e.Error(500, err, err.Error())
  109. return
  110. }
  111. e.OK(object, "查询成功")
  112. }
  113. // Insert 添加公司
  114. // @Summary 添加公司
  115. // @Description 添加公司
  116. // @Tags 公司
  117. // @Accept application/json
  118. // @Product application/json
  119. // @Param data body dto.CompanyInsertReq true "data"
  120. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  121. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  122. // @Router /api/company [post]
  123. // @Security Bearer
  124. func (e CompanyController) Insert(c *gin.Context) {
  125. s := service.Company{}
  126. req := dto.CompanyInsertReq{}
  127. err := e.MakeContext(c).
  128. MakeOrm().
  129. Bind(&req, binding.JSON).
  130. MakeService(&s.Service).
  131. Errors
  132. if err != nil {
  133. e.Logger.Error(err)
  134. e.Error(500, err, err.Error())
  135. return
  136. }
  137. // 设置创建人
  138. req.SetCreateBy(user.GetUserId(c))
  139. err = s.Insert(&req)
  140. if err != nil {
  141. e.Error(500, err, err.Error())
  142. return
  143. }
  144. e.OK(req.GetId(), "创建成功")
  145. }
  146. // Update 修改公司
  147. // @Summary 修改公司
  148. // @Description 修改公司
  149. // @Tags 公司
  150. // @Accept application/json
  151. // @Product application/json
  152. // @Param data body dto.CompanyUpdateReq true "body"
  153. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  154. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  155. // @Router /api/company [put]
  156. // @Security Bearer
  157. func (e CompanyController) Update(c *gin.Context) {
  158. s := service.Company{}
  159. req := dto.CompanyUpdateReq{}
  160. err := e.MakeContext(c).
  161. MakeOrm().
  162. Bind(&req).
  163. MakeService(&s.Service).
  164. Errors
  165. if err != nil {
  166. e.Logger.Error(err)
  167. e.Error(500, err, err.Error())
  168. return
  169. }
  170. req.SetUpdateBy(user.GetUserId(c))
  171. err = s.Update(&req)
  172. if err != nil {
  173. e.Error(500, err, err.Error())
  174. return
  175. }
  176. e.OK(req.GetId(), "更新成功")
  177. }
  178. // Delete 删除公司
  179. // @Summary 删除公司
  180. // @Description 删除公司
  181. // @Tags 公司
  182. // @Accept application/json
  183. // @Product application/json
  184. // @Param data body dto.CompanyDeleteReq true "body"
  185. // @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
  186. // @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
  187. // @Router /api/company [delete]
  188. // @Security Bearer
  189. func (e CompanyController) Delete(c *gin.Context) {
  190. s := service.Company{}
  191. req := dto.CompanyDeleteReq{}
  192. err := e.MakeContext(c).
  193. MakeOrm().
  194. Bind(&req, binding.JSON, nil).
  195. MakeService(&s.Service).
  196. Errors
  197. if err != nil {
  198. e.Logger.Error(err)
  199. e.Error(500, err, err.Error())
  200. return
  201. }
  202. //数据权限检查
  203. //p := actions.GetPermissionFromContext(c)
  204. err = s.Remove(&req, nil)
  205. if err != nil {
  206. e.Error(500, err, err.Error())
  207. return
  208. }
  209. e.OK(req.GetId(), "删除成功")
  210. }