order.go 8.8 KB

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