order.go 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. package controller
  2. import (
  3. "gas-cylinder-api/app/admin/model"
  4. "gas-cylinder-api/app/admin/service"
  5. "gas-cylinder-api/app/admin/service/dto"
  6. "gas-cylinder-api/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. )
  12. type OrderController struct {
  13. api.Api
  14. }
  15. // GetPage 获取下单列表
  16. // @Summary 获取下单列表
  17. // @Description 获取下单列表
  18. // @Tags 订单
  19. // @Success 200 {object} response.Response{data=response.Page{list=[]model.Order}} "{"code": 200, "data": [...]}"
  20. // @Router /api/Order [get]
  21. // @Security Bearer
  22. func (e OrderController) GetPage(c *gin.Context) {
  23. s := service.Order{}
  24. req := dto.OrderGetPageReq{}
  25. err := e.MakeContext(c).
  26. MakeOrm().
  27. Bind(&req, binding.Query).
  28. MakeService(&s.Service).
  29. Errors
  30. if err != nil {
  31. e.Logger.Error(err)
  32. e.Error(500, err, err.Error())
  33. return
  34. }
  35. //数据权限检查
  36. p := actions.GetPermissionFromContext(c)
  37. list := make([]model.Order, 0)
  38. var count int64
  39. err = s.GetPage(&req, &list, &count, p)
  40. if err != nil {
  41. e.Error(500, err, err.Error())
  42. return
  43. }
  44. e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
  45. }
  46. // Get 通过id获取下单
  47. // @Summary 通过id获取下单
  48. // @Description 通过id获取下单
  49. // @Tags 订单
  50. // @Param id path string true "下单id"
  51. // @Success 200 {object} response.Response{data=model.Order} "{"code": 200, "data": [...]}"
  52. // @Router /api/Order/{id} [get]
  53. // @Security Bearer
  54. func (e OrderController) Get(c *gin.Context) {
  55. s := service.Order{}
  56. req := dto.OrderGetReq{}
  57. err := e.MakeContext(c).
  58. MakeOrm().
  59. Bind(&req, nil).
  60. MakeService(&s.Service).
  61. Errors
  62. if err != nil {
  63. e.Logger.Error(err)
  64. e.Error(500, err, err.Error())
  65. return
  66. }
  67. var object model.Order
  68. p := actions.GetPermissionFromContext(c)
  69. //数据权限检查
  70. err = s.Get(&req, &object, p)
  71. if err != nil {
  72. e.Error(500, err, err.Error())
  73. return
  74. }
  75. e.OK(object, "查询成功")
  76. }
  77. // Insert 下单
  78. // @Summary 下单
  79. // @Description 下单
  80. // @Tags 订单
  81. // @Accept application/json
  82. // @Product application/json
  83. // @Param data body dto.OrderInsertReq true "data"
  84. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  85. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  86. // @Router /api/order [post]
  87. // @Security Bearer
  88. func (e OrderController) Insert(c *gin.Context) {
  89. s := service.Order{}
  90. req := dto.OrderInsertReq{}
  91. err := e.MakeContext(c).
  92. MakeOrm().
  93. Bind(&req, binding.JSON).
  94. MakeService(&s.Service).
  95. Errors
  96. if err != nil {
  97. e.Logger.Error(err)
  98. e.Error(500, err, err.Error())
  99. return
  100. }
  101. //数据权限检查
  102. p := actions.GetPermissionFromContext(c)
  103. // 设置创建人
  104. req.SetCreateBy(user.GetUserId(c))
  105. req.SetDeptId(p.DeptId)
  106. err = s.Insert(&req)
  107. if err != nil {
  108. e.Error(500, err, err.Error())
  109. return
  110. }
  111. e.OK(req.GetId(), "创建成功")
  112. }
  113. // Update 修改订单
  114. // @Summary 修改订单
  115. // @Description 修改订单
  116. // @Tags 订单
  117. // @Accept application/json
  118. // @Product application/json
  119. // @Param data body dto.OrderUpdateReq true "data"
  120. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  121. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  122. // @Router /api/order [post]
  123. // @Security Bearer
  124. func (e OrderController) Update(c *gin.Context) {
  125. s := service.Order{}
  126. req := dto.OrderUpdateReq{}
  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. p := actions.GetPermissionFromContext(c)
  139. // 设置创建人
  140. req.SetCreateBy(user.GetUserId(c))
  141. err = s.Update(&req, p)
  142. if err != nil {
  143. e.Error(500, err, err.Error())
  144. return
  145. }
  146. e.OK(req.GetId(), "修改成功")
  147. }
  148. // Cancel 取消订单
  149. // @Summary 取消订单
  150. // @Description 取消订单
  151. // @Tags 订单
  152. // @Accept application/json
  153. // @Product application/json
  154. // @Param data body dto.OrderCancelReq true "data"
  155. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  156. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  157. // @Router /api/order/cancel [post]
  158. // @Security Bearer
  159. func (e OrderController) Cancel(c *gin.Context) {
  160. s := service.Order{}
  161. req := dto.OrderCancelReq{}
  162. err := e.MakeContext(c).
  163. MakeOrm().
  164. Bind(&req, binding.JSON).
  165. MakeService(&s.Service).
  166. Errors
  167. if err != nil {
  168. e.Logger.Error(err)
  169. e.Error(500, err, err.Error())
  170. return
  171. }
  172. //数据权限检查
  173. p := actions.GetPermissionFromContext(c)
  174. // 设置创建人
  175. req.SetUpdateBy(user.GetUserId(c))
  176. err = s.Cancel(&req, p)
  177. if err != nil {
  178. e.Error(500, err, err.Error())
  179. return
  180. }
  181. e.OK(req.GetId(), "取消成功")
  182. }
  183. // Delivery 派单
  184. // @Summary 派单
  185. // @Description 派单
  186. // @Tags 订单
  187. // @Accept application/json
  188. // @Product application/json
  189. // @Param data body dto.OrderDeliveryReq true "body"
  190. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  191. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  192. // @Router /api/order [put]
  193. // @Security Bearer
  194. func (e OrderController) Delivery(c *gin.Context) {
  195. s := service.Order{}
  196. req := dto.OrderDeliveryReq{}
  197. err := e.MakeContext(c).
  198. MakeOrm().
  199. Bind(&req).
  200. MakeService(&s.Service).
  201. Errors
  202. if err != nil {
  203. e.Logger.Error(err)
  204. e.Error(500, err, err.Error())
  205. return
  206. }
  207. p := actions.GetPermissionFromContext(c)
  208. req.SetUpdateBy(user.GetUserId(c))
  209. err = s.Delivery(&req, p)
  210. if err != nil {
  211. e.Error(500, err, err.Error())
  212. return
  213. }
  214. e.OK(req.GetId(), "派单成功")
  215. }
  216. // GetDeliveryPage 获取送气员订单列表
  217. // @Summary 获取送气员订单列表
  218. // @Description 获取送气员订单列表
  219. // @Tags 订单
  220. // @Success 200 {object} response.Response{data=response.Page{list=[]model.Order}} "{"code": 200, "data": [...]}"
  221. // @Router /api/order/delivery [get]
  222. // @Security Bearer
  223. func (e OrderController) GetDeliveryPage(c *gin.Context) {
  224. s := service.Order{}
  225. req := dto.OrderGetDeliveryPageReq{}
  226. err := e.MakeContext(c).
  227. MakeOrm().
  228. Bind(&req, binding.Query).
  229. MakeService(&s.Service).
  230. Errors
  231. if err != nil {
  232. e.Logger.Error(err)
  233. e.Error(500, err, err.Error())
  234. return
  235. }
  236. //数据权限检查
  237. p := actions.GetPermissionFromContext(c)
  238. list := make([]model.Order, 0)
  239. var count int64
  240. err = s.GetDeliveryPage(&req, &list, &count, p)
  241. if err != nil {
  242. e.Error(500, err, err.Error())
  243. return
  244. }
  245. e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
  246. }
  247. // UpdateState 修改订单状态
  248. // @Summary 修改订单状态
  249. // @Description 修改订单状态
  250. // @Tags 订单
  251. // @Accept application/json
  252. // @Product application/json
  253. // @Param data body dto.OrderUpdateStateReq true "body"
  254. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  255. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  256. // @Router /api/order/state [put]
  257. // @Security Bearer
  258. func (e OrderController) UpdateState(c *gin.Context) {
  259. s := service.Order{}
  260. req := dto.OrderUpdateStateReq{}
  261. err := e.MakeContext(c).
  262. MakeOrm().
  263. Bind(&req).
  264. MakeService(&s.Service).
  265. Errors
  266. if err != nil {
  267. e.Logger.Error(err)
  268. e.Error(500, err, err.Error())
  269. return
  270. }
  271. p := actions.GetPermissionFromContext(c)
  272. req.SetUpdateBy(user.GetUserId(c))
  273. err = s.UpdateState(&req, p)
  274. if err != nil {
  275. e.Error(500, err, err.Error())
  276. return
  277. }
  278. e.OK(req.GetId(), "修改成功")
  279. }
  280. // Delete 删除
  281. // @Summary 删除
  282. // @Description 删除
  283. // @Tags 订单
  284. // @Accept application/json
  285. // @Product application/json
  286. // @Param data body dto.OrderDeleteReq true "body"
  287. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  288. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  289. // @Router /api/order [put]
  290. // @Security Bearer
  291. func (e OrderController) Delete(c *gin.Context) {
  292. s := service.Order{}
  293. req := dto.OrderDeleteReq{}
  294. err := e.MakeContext(c).
  295. MakeOrm().
  296. Bind(&req, binding.JSON, nil).
  297. MakeService(&s.Service).
  298. Errors
  299. if err != nil {
  300. e.Logger.Error(err)
  301. e.Error(500, err, err.Error())
  302. return
  303. }
  304. //数据权限检查
  305. p := actions.GetPermissionFromContext(c)
  306. err = s.Remove(&req, p)
  307. if err != nil {
  308. e.Error(500, err, err.Error())
  309. return
  310. }
  311. e.OK(req.GetId(), "删除成功")
  312. }