address.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. "errors"
  8. "github.com/gin-gonic/gin"
  9. "github.com/gin-gonic/gin/binding"
  10. "gogs.baozhida.cn/zoie/OAuth-core/api"
  11. "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/user"
  12. _ "gogs.baozhida.cn/zoie/OAuth-core/pkg/response"
  13. )
  14. type AddressController struct {
  15. api.Api
  16. }
  17. // GetPage 获取地址列表
  18. // @Summary 获取地址列表
  19. // @Description 获取地址列表
  20. // @Tags 地址
  21. // @Param pageSize query int false "页条数"
  22. // @Param page query int false "页码"
  23. // @Success 200 {object} response.Response{data=response.Page{list=[]model.Address}} "{"code": 200, "data": [...]}"
  24. // @Router /api/address [get]
  25. // @Security Bearer
  26. func (e AddressController) GetPage(c *gin.Context) {
  27. s := service.Address{}
  28. req := dto.AddressGetPageReq{}
  29. err := e.MakeContext(c).
  30. MakeOrm().
  31. Bind(&req, binding.Query).
  32. MakeService(&s.Service).
  33. Errors
  34. if err != nil {
  35. e.Logger.Error(err)
  36. e.Error(500, err, err.Error())
  37. return
  38. }
  39. if req.AddressType != model.AddressTypeConsignee && req.AddressType != model.AddressTypeSender {
  40. err = errors.New("地址类型错误")
  41. e.Error(500, err, err.Error())
  42. return
  43. }
  44. //数据权限检查
  45. p := actions.GetPermissionFromContext(c)
  46. //数据权限检查
  47. list := make([]model.Address, 0)
  48. var count int64
  49. err = s.GetPage(&req, &list, &count, p)
  50. if err != nil {
  51. e.Error(500, err, err.Error())
  52. return
  53. }
  54. e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
  55. }
  56. // Get 通过id获取地址
  57. // @Summary 通过id获取地址
  58. // @Description 通过id获取地址
  59. // @Tags 地址
  60. // @Param id path string true "地址id"
  61. // @Success 200 {object} response.Response{data=model.Address} "{"code": 200, "data": [...]}"
  62. // @Router /api/address/{id} [get]
  63. // @Security Bearer
  64. func (e AddressController) Get(c *gin.Context) {
  65. s := service.Address{}
  66. req := dto.AddressGetReq{}
  67. err := e.MakeContext(c).
  68. MakeOrm().
  69. Bind(&req, nil).
  70. MakeService(&s.Service).
  71. Errors
  72. if err != nil {
  73. e.Logger.Error(err)
  74. e.Error(500, err, err.Error())
  75. return
  76. }
  77. var object model.Address
  78. p := actions.GetPermissionFromContext(c)
  79. //数据权限检查
  80. err = s.Get(&req, &object, p)
  81. if err != nil {
  82. e.Error(500, err, err.Error())
  83. return
  84. }
  85. e.OK(object, "查询成功")
  86. }
  87. // Insert 添加地址
  88. // @Summary 添加地址
  89. // @Description 添加地址
  90. // @Tags 地址
  91. // @Accept application/json
  92. // @Product application/json
  93. // @Param data body dto.AddressInsertReq true "data"
  94. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  95. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  96. // @Router /api/address [post]
  97. // @Security Bearer
  98. func (e AddressController) Insert(c *gin.Context) {
  99. s := service.Address{}
  100. req := dto.AddressInsertReq{}
  101. err := e.MakeContext(c).
  102. MakeOrm().
  103. Bind(&req, binding.JSON).
  104. MakeService(&s.Service).
  105. Errors
  106. if err != nil {
  107. e.Logger.Error(err)
  108. e.Error(500, err, err.Error())
  109. return
  110. }
  111. p := actions.GetPermissionFromContext(c)
  112. // 设置创建人
  113. req.SetCreateBy(user.GetUserId(c))
  114. req.SetDeptId(p.DeptId)
  115. err = s.Insert(&req)
  116. if err != nil {
  117. e.Error(500, err, err.Error())
  118. return
  119. }
  120. e.OK(req.GetId(), "创建成功")
  121. }
  122. // Update 修改地址
  123. // @Summary 修改地址
  124. // @Description 修改地址
  125. // @Tags 地址
  126. // @Accept application/json
  127. // @Product application/json
  128. // @Param data body dto.AddressUpdateReq true "body"
  129. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  130. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  131. // @Router /api/address [put]
  132. // @Security Bearer
  133. func (e AddressController) Update(c *gin.Context) {
  134. s := service.Address{}
  135. req := dto.AddressUpdateReq{}
  136. err := e.MakeContext(c).
  137. MakeOrm().
  138. Bind(&req).
  139. MakeService(&s.Service).
  140. Errors
  141. if err != nil {
  142. e.Logger.Error(err)
  143. e.Error(500, err, err.Error())
  144. return
  145. }
  146. p := actions.GetPermissionFromContext(c)
  147. req.SetUpdateBy(user.GetUserId(c))
  148. err = s.Update(&req, p)
  149. if err != nil {
  150. e.Error(500, err, err.Error())
  151. return
  152. }
  153. e.OK(req.GetId(), "更新成功")
  154. }
  155. // Delete 删除地址
  156. // @Summary 删除地址
  157. // @Description 删除地址
  158. // @Tags 地址
  159. // @Accept application/json
  160. // @Product application/json
  161. // @Param data body dto.AddressDeleteReq true "body"
  162. // @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
  163. // @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
  164. // @Router /api/address [delete]
  165. // @Security Bearer
  166. func (e AddressController) Delete(c *gin.Context) {
  167. s := service.Address{}
  168. req := dto.AddressDeleteReq{}
  169. userSvc := service.SysUser{}
  170. err := e.MakeContext(c).
  171. MakeOrm().
  172. Bind(&req, binding.JSON, nil).
  173. MakeService(&s.Service).
  174. MakeService(&userSvc.Service).
  175. Errors
  176. if err != nil {
  177. e.Logger.Error(err)
  178. e.Error(500, err, err.Error())
  179. return
  180. }
  181. //数据权限检查
  182. p := actions.GetPermissionFromContext(c)
  183. err = s.Remove(&req, p)
  184. if err != nil {
  185. e.Error(500, err, err.Error())
  186. return
  187. }
  188. e.OK(req.GetId(), "删除成功")
  189. }