order.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. package dto
  2. import (
  3. "gas-cylinder-api/app/admin/model"
  4. "gas-cylinder-api/common/dto"
  5. common "gas-cylinder-api/common/model"
  6. "github.com/alibaba/sentinel-golang/util"
  7. "time"
  8. )
  9. type OrderGetPageReq struct {
  10. dto.Pagination `search:"-"`
  11. State int `form:"state" search:"type:exact;column:state;table:order"` // 订单状态 1-已下单 2-已派送 3-已送达 4-已取消
  12. Source int `form:"source" search:"type:exact;column:source;table:order"` // 订单状态 1-坐席下单 2-小程序
  13. OrderStartTime string `form:"orderStartTime" search:"type:gte;column:order_time;table:order"` // 下单开始时间
  14. OrderEndTime string `form:"orderEndTime" search:"type:lte;column:order_time;table:order"` // 下单结束时间
  15. Phone string `form:"phone" search:"type:contains;column:phone;table:order"` // 客户电话
  16. CustomerId string `form:"customerId" search:"type:contains;column:customer_id;table:order"` // 客户id
  17. OrderOrder
  18. }
  19. type OrderOrder struct {
  20. CreatedAtOrder string `search:"type:order;column:created_at;table:order" form:"createdAtOrder" default:"desc"`
  21. }
  22. func (m *OrderGetPageReq) GetNeedSearch() interface{} {
  23. return *m
  24. }
  25. type OrderGetDeliveryPageReq struct {
  26. dto.Pagination `search:"-"`
  27. State int `form:"state" search:"type:exact;column:state;table:order"` // 订单状态 1-已下单 2-已派送 3-已送达 4-已取消
  28. OrderStartTime string `form:"orderStartTime" search:"type:gte;column:order_time;table:order"` // 下单开始时间
  29. OrderEndTime string `form:"orderEndTime" search:"type:lte;column:order_time;table:order"` // 下单结束时间
  30. Phone string `form:"phone" search:"type:contains;column:phone;table:order"` // 客户电话
  31. }
  32. func (m *OrderGetDeliveryPageReq) GetNeedSearch() interface{} {
  33. return *m
  34. }
  35. // 坐席下单
  36. type OrderInsertReq struct {
  37. Id int `json:"id" comment:"编码" swaggerignore:"true"` // 编码
  38. CustomerId string `json:"customerId"` // 顾客id
  39. Address string `json:"address"` // 顾客地址
  40. Phone string `json:"phone"` // 顾客电话
  41. StoreId int `json:"storeId"` // 门店id
  42. UserId int `json:"userId"` // 送气人员id
  43. GoodsId int `json:"goodsId"` // 商品id
  44. SpecId int `json:"specId"` // 规格id
  45. Quantity int `json:"quantity"` // 数量
  46. Source int `json:"source"` // 来源 1-坐席下单 2-小程序
  47. Remark string `json:"remark"`
  48. State int `json:"state" swaggerignore:"true"` // 状态 已下单
  49. OrderTime common.Time `json:"orderTime" swaggerignore:"true"`
  50. common.ControlBy `swaggerignore:"true"`
  51. common.DeptBy `swaggerignore:"true"`
  52. }
  53. func (s *OrderInsertReq) Generate(order *model.Order) {
  54. if s.Id != 0 {
  55. order.Id = s.Id
  56. }
  57. order.CustomerId = s.CustomerId
  58. order.Address = s.Address
  59. order.Phone = s.Phone
  60. order.StoreId = s.StoreId
  61. order.UserId = s.UserId
  62. order.GoodsId = s.GoodsId
  63. order.SpecId = s.SpecId
  64. order.Quantity = s.Quantity
  65. order.Remark = s.Remark
  66. order.Source = s.Source
  67. order.OrderId = util.NewUuid()
  68. order.State = model.OrderStateOrder
  69. order.OrderTime = common.Time(time.Now())
  70. if s.ControlBy.UpdateBy != 0 {
  71. order.UpdateBy = s.UpdateBy
  72. }
  73. if s.ControlBy.CreateBy != 0 {
  74. order.CreateBy = s.CreateBy
  75. }
  76. if s.DeptBy.DeptId != 0 {
  77. order.DeptId = s.DeptId
  78. }
  79. }
  80. func (s *OrderInsertReq) GetId() interface{} {
  81. return s.Id
  82. }
  83. type OrderUpdateReq struct {
  84. Id int `json:"id" comment:"编码" swaggerignore:"true"` // 编码
  85. Address string `json:"address"` // 顾客地址
  86. Phone string `json:"Phone"` // 顾客电话
  87. StoreId int `json:"storeId"` // 门店id
  88. UserId int `json:"userId"` // 送气人员id
  89. GoodsId int `json:"goodsId"` // 商品id
  90. SpecId int `json:"specId"` // 规格id
  91. Quantity int `json:"quantity"` // 数量
  92. Remark string `json:"remark"`
  93. common.ControlBy `swaggerignore:"true"`
  94. }
  95. func (s *OrderUpdateReq) Generate(order *model.Order) {
  96. if s.Id != 0 {
  97. order.Id = s.Id
  98. }
  99. order.Address = s.Address
  100. order.Phone = s.Phone
  101. order.StoreId = s.StoreId
  102. order.UserId = s.UserId
  103. order.GoodsId = s.GoodsId
  104. order.SpecId = s.SpecId
  105. order.Quantity = s.Quantity
  106. order.Remark = s.Remark
  107. if s.ControlBy.UpdateBy != 0 {
  108. order.UpdateBy = s.UpdateBy
  109. }
  110. if s.ControlBy.CreateBy != 0 {
  111. order.CreateBy = s.CreateBy
  112. }
  113. }
  114. func (s *OrderUpdateReq) GetId() interface{} {
  115. return s.Id
  116. }
  117. type OrderGetReq struct {
  118. Id int `uri:"id"`
  119. }
  120. func (s *OrderGetReq) GetId() interface{} {
  121. return s.Id
  122. }
  123. type OrderDeleteReq struct {
  124. Id int `json:"id"`
  125. common.ControlBy `swaggerignore:"true"`
  126. }
  127. func (s *OrderDeleteReq) GetId() interface{} {
  128. return s.Id
  129. }
  130. type OrderCancelReq struct {
  131. Id int `json:"id"`
  132. common.ControlBy `swaggerignore:"true"`
  133. }
  134. func (s *OrderCancelReq) GetId() interface{} {
  135. return s.Id
  136. }
  137. type OrderDeliveryReq struct {
  138. Id int `json:"id"`
  139. StoreId int `json:"storeId"` // 门店id
  140. UserId int `json:"userId"` // 送气员id
  141. Remark string `json:"remark"`
  142. common.ControlBy `swaggerignore:"true"`
  143. }
  144. func (s *OrderDeliveryReq) Generate(order *model.Order) {
  145. if s.Id != 0 {
  146. order.Id = s.Id
  147. }
  148. order.StoreId = s.StoreId
  149. order.UserId = s.UserId
  150. order.Remark = s.Remark
  151. order.State = model.OrderStateDelivery
  152. if s.ControlBy.UpdateBy != 0 {
  153. order.UpdateBy = s.UpdateBy
  154. }
  155. if s.ControlBy.CreateBy != 0 {
  156. order.CreateBy = s.CreateBy
  157. }
  158. }
  159. func (s *OrderDeliveryReq) GetId() interface{} {
  160. return s.Id
  161. }
  162. type OrderUpdateStateReq struct {
  163. Id int `json:"id"`
  164. State int `json:"state"`
  165. ChipUid string `json:"chipUid"` // 高频id
  166. common.ControlBy `swaggerignore:"true"`
  167. }
  168. func (s *OrderUpdateStateReq) Generate(order *model.Order) {
  169. if s.Id != 0 {
  170. order.Id = s.Id
  171. }
  172. order.State = s.State
  173. if s.ControlBy.UpdateBy != 0 {
  174. order.UpdateBy = s.UpdateBy
  175. }
  176. if s.ControlBy.CreateBy != 0 {
  177. order.CreateBy = s.CreateBy
  178. }
  179. }
  180. func (s *OrderUpdateStateReq) GetId() interface{} {
  181. return s.Id
  182. }