order.go 12 KB

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