order.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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. type OrderAppletInsertReq struct {
  54. Id int `json:"id" comment:"编码" swaggerignore:"true"` // 编码
  55. CustomerId string `json:"customerId"` // 顾客id
  56. Address string `json:"address"` // 顾客地址
  57. Lng float64 `json:"lng"` // 经度
  58. Lat float64 `json:"lat"` // 纬度
  59. City string `json:"city"` // 所在地市
  60. Area string `json:"area"` // 所属区/县
  61. Phone string `json:"phone"` // 顾客电话
  62. StoreId int `json:"storeId"` // 门店id
  63. GoodsId int `json:"goodsId"` // 商品id
  64. SpecId int `json:"specId"` // 规格id
  65. Quantity int `json:"quantity"` // 数量
  66. Source int `json:"source"` // 来源 1-坐席下单 2-小程序
  67. Remark string `json:"remark"`
  68. AddressImg string `json:"addressImg"` // 现场图片
  69. State int `json:"state" swaggerignore:"true"` // 状态 已下单
  70. OrderTime common.Time `json:"orderTime" swaggerignore:"true"`
  71. common.ControlBy `swaggerignore:"true"`
  72. common.DeptBy `swaggerignore:"true"`
  73. }
  74. func (s *OrderInsertReq) Generate(order *model.Order) {
  75. if s.Id != 0 {
  76. order.Id = s.Id
  77. }
  78. order.CustomerId = s.CustomerId
  79. order.Address = s.Address
  80. order.Phone = s.Phone
  81. order.StoreId = s.StoreId
  82. order.UserId = s.UserId
  83. order.GoodsId = s.GoodsId
  84. order.SpecId = s.SpecId
  85. order.Quantity = s.Quantity
  86. order.Remark = s.Remark
  87. order.Source = s.Source
  88. order.OrderId = util.NewUuid()
  89. order.State = model.OrderStateOrder
  90. order.OrderTime = common.Time(time.Now())
  91. if s.ControlBy.UpdateBy != 0 {
  92. order.UpdateBy = s.UpdateBy
  93. }
  94. if s.ControlBy.CreateBy != 0 {
  95. order.CreateBy = s.CreateBy
  96. }
  97. if s.DeptBy.DeptId != 0 {
  98. order.DeptId = s.DeptId
  99. }
  100. }
  101. func (s *OrderAppletInsertReq) Generate(order *model.Order) {
  102. if s.Id != 0 {
  103. order.Id = s.Id
  104. }
  105. order.CustomerId = s.CustomerId
  106. order.Address = s.Address
  107. order.Phone = s.Phone
  108. order.StoreId = s.StoreId
  109. order.GoodsId = s.GoodsId
  110. order.SpecId = s.SpecId
  111. order.Quantity = s.Quantity
  112. order.Remark = s.Remark
  113. order.Source = s.Source
  114. order.OrderId = util.NewUuid()
  115. order.State = model.OrderStateOrder
  116. order.OrderTime = common.Time(time.Now())
  117. if s.ControlBy.UpdateBy != 0 {
  118. order.UpdateBy = s.UpdateBy
  119. }
  120. if s.ControlBy.CreateBy != 0 {
  121. order.CreateBy = s.CreateBy
  122. }
  123. if s.DeptBy.DeptId != 0 {
  124. order.DeptId = s.DeptId
  125. }
  126. }
  127. func (s *OrderInsertReq) GetId() interface{} {
  128. return s.Id
  129. }
  130. func (s *OrderAppletInsertReq) GetId() interface{} {
  131. return s.Id
  132. }
  133. type OrderUpdateReq struct {
  134. Id int `json:"id" comment:"编码" swaggerignore:"true"` // 编码
  135. Address string `json:"address"` // 顾客地址
  136. Phone string `json:"Phone"` // 顾客电话
  137. StoreId int `json:"storeId"` // 门店id
  138. UserId int `json:"userId"` // 送气人员id
  139. GoodsId int `json:"goodsId"` // 商品id
  140. SpecId int `json:"specId"` // 规格id
  141. Quantity int `json:"quantity"` // 数量
  142. Remark string `json:"remark"`
  143. common.ControlBy `swaggerignore:"true"`
  144. }
  145. type OrderAppletUpdateReq struct {
  146. Id int `json:"id" comment:"编码" swaggerignore:"true"` // 编码
  147. Address string `json:"address"` // 顾客地址
  148. Lng float64 `json:"lng"` // 经度
  149. Lat float64 `json:"lat"` // 纬度
  150. City string `json:"city"` // 所在地市
  151. Area string `json:"area"` // 所属区/县
  152. Phone string `json:"Phone"` // 顾客电话
  153. GoodsId int `json:"goodsId"` // 商品id
  154. SpecId int `json:"specId"` // 规格id
  155. Quantity int `json:"quantity"` // 数量
  156. Remark string `json:"remark"`
  157. AddressImg string `json:"addressImg"` // 现场图片
  158. common.ControlBy `swaggerignore:"true"`
  159. }
  160. func (s *OrderUpdateReq) Generate(order *model.Order) {
  161. if s.Id != 0 {
  162. order.Id = s.Id
  163. }
  164. order.Address = s.Address
  165. order.Phone = s.Phone
  166. order.StoreId = s.StoreId
  167. order.UserId = s.UserId
  168. order.GoodsId = s.GoodsId
  169. order.SpecId = s.SpecId
  170. order.Quantity = s.Quantity
  171. order.Remark = s.Remark
  172. if s.ControlBy.UpdateBy != 0 {
  173. order.UpdateBy = s.UpdateBy
  174. }
  175. if s.ControlBy.CreateBy != 0 {
  176. order.CreateBy = s.CreateBy
  177. }
  178. }
  179. func (s *OrderAppletUpdateReq) Generate(order *model.Order) {
  180. if s.Id != 0 {
  181. order.Id = s.Id
  182. }
  183. order.Address = s.Address
  184. order.Phone = s.Phone
  185. order.GoodsId = s.GoodsId
  186. order.SpecId = s.SpecId
  187. order.Quantity = s.Quantity
  188. order.Remark = s.Remark
  189. if s.ControlBy.UpdateBy != 0 {
  190. order.UpdateBy = s.UpdateBy
  191. }
  192. if s.ControlBy.CreateBy != 0 {
  193. order.CreateBy = s.CreateBy
  194. }
  195. }
  196. func (s *OrderUpdateReq) GetId() interface{} {
  197. return s.Id
  198. }
  199. func (s *OrderAppletUpdateReq) GetId() interface{} {
  200. return s.Id
  201. }
  202. type OrderGetReq struct {
  203. Id int `uri:"id"`
  204. }
  205. func (s *OrderGetReq) GetId() interface{} {
  206. return s.Id
  207. }
  208. type OrderDeleteReq struct {
  209. Id int `json:"id"`
  210. common.ControlBy `swaggerignore:"true"`
  211. }
  212. func (s *OrderDeleteReq) GetId() interface{} {
  213. return s.Id
  214. }
  215. type OrderCancelReq struct {
  216. Id int `json:"id"`
  217. common.ControlBy `swaggerignore:"true"`
  218. }
  219. func (s *OrderCancelReq) GetId() interface{} {
  220. return s.Id
  221. }
  222. type OrderDeliveryReq struct {
  223. Id int `json:"id"`
  224. StoreId int `json:"storeId"` // 门店id
  225. UserId int `json:"userId"` // 送气员id
  226. Remark string `json:"remark"`
  227. common.ControlBy `swaggerignore:"true"`
  228. }
  229. func (s *OrderDeliveryReq) Generate(order *model.Order) {
  230. if s.Id != 0 {
  231. order.Id = s.Id
  232. }
  233. order.StoreId = s.StoreId
  234. order.UserId = s.UserId
  235. order.Remark = s.Remark
  236. order.State = model.OrderStateDelivery
  237. if s.ControlBy.UpdateBy != 0 {
  238. order.UpdateBy = s.UpdateBy
  239. }
  240. if s.ControlBy.CreateBy != 0 {
  241. order.CreateBy = s.CreateBy
  242. }
  243. }
  244. func (s *OrderDeliveryReq) GetId() interface{} {
  245. return s.Id
  246. }
  247. type OrderUpdateStateReq struct {
  248. Id int `json:"id"`
  249. State int `json:"state"`
  250. ChipUid string `json:"chipUid"` // 高频id
  251. common.ControlBy `swaggerignore:"true"`
  252. }
  253. func (s *OrderUpdateStateReq) Generate(order *model.Order) {
  254. if s.Id != 0 {
  255. order.Id = s.Id
  256. }
  257. order.State = s.State
  258. if s.ControlBy.UpdateBy != 0 {
  259. order.UpdateBy = s.UpdateBy
  260. }
  261. if s.ControlBy.CreateBy != 0 {
  262. order.CreateBy = s.CreateBy
  263. }
  264. }
  265. func (s *OrderUpdateStateReq) GetId() interface{} {
  266. return s.Id
  267. }
  268. type AppletOrderGetPageReq struct {
  269. dto.Pagination `search:"-"`
  270. State int `form:"state" search:"-"` // 订单状态 1-已下单 2-已派送 3-已送达 4-已取消
  271. Source int `form:"source" search:"type:exact;column:source;table:order"` // 订单状态 1-坐席下单 2-小程序
  272. OrderStartTime string `form:"orderStartTime" search:"type:gte;column:order_time;table:order"` // 下单开始时间
  273. OrderEndTime string `form:"orderEndTime" search:"type:lte;column:order_time;table:order"` // 下单结束时间
  274. Phone string `form:"phone" search:"type:contains;column:phone;table:order"` // 客户电话
  275. CustomerId string `form:"customerId" search:"type:contains;column:customer_id;table:order"` // 客户id
  276. OrderOrder
  277. }
  278. func (m *AppletOrderGetPageReq) GetNeedSearch() interface{} {
  279. return *m
  280. }