order_service_test.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. package service
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "fmt"
  6. "testing"
  7. "time"
  8. "gopkg.in/guregu/null.v3"
  9. "xiaoniaokuaiyan.com/xiaoniao/dal"
  10. "xiaoniaokuaiyan.com/xiaoniao/entity"
  11. )
  12. func TestComputeProductPrice(t *testing.T) {
  13. ids := []int{1, 3}
  14. price, rp, err := ComputeProductPrice(ids, nil, false)
  15. if err != nil {
  16. t.Fatal(err)
  17. }
  18. fmt.Println(price, rp)
  19. }
  20. func TestAddOrder(t *testing.T) {
  21. orderItem := &entity.Order{
  22. Name: "liuguiqi",
  23. Birthday: "1989-01",
  24. Address: "望京南",
  25. DetailAddress: "北京嘉美中心写字楼1211",
  26. VisitDate: "2017-11-24",
  27. VisitTimeRange: "9:30-10:30",
  28. Source: "web",
  29. Payment: 300.0,
  30. CustomId: 1,
  31. Mobile: "18310412106",
  32. CustomMobile: "18310412106",
  33. CreatedAt: time.Now().Format("2006-01-02 15:04:05"),
  34. Gender: 1,
  35. ProductIds: []entity.OrderProduct{entity.OrderProduct{ProductId: 258, Quantity: 1}},
  36. }
  37. orderSrv := &OrderService{IOrder: dal.DefaultOrderDal}
  38. r, err := orderSrv.AddOrder(orderItem, 237, "")
  39. if err != nil {
  40. t.Fatal(err)
  41. }
  42. fmt.Println(r)
  43. }
  44. func TestSplitOrder(t *testing.T) {
  45. actSrv := &ActivityService{}
  46. _, err := actSrv.AddActInfo(&entity.ActInfo{
  47. Mobile: null.StringFrom("18310412106"),
  48. Source: "-UNBLOCK",
  49. })
  50. if err != nil {
  51. t.Fatal(err)
  52. }
  53. /*orderSrv := &OrderService{IOrder: dal.DefaultOrderDal}
  54. _, err := orderSrv.IOrder.CheckAndSplitOrder("BJ17103012363295109")
  55. if err != nil {
  56. t.Fatal(err)
  57. }*/
  58. }
  59. func BenchmarkAddOrder(b *testing.B) {
  60. orderSrv := &OrderService{}
  61. for i := 0; i < b.N; i++ {
  62. orderItem := &entity.Order{
  63. Id: "BJ16042950001",
  64. Name: "liuguiqi",
  65. Age: 27,
  66. Address: "望京南",
  67. DetailAddress: "北京嘉美中心写字楼1211",
  68. VisitDate: "2016-06-24",
  69. VisitTimeRange: "10:30-11:30",
  70. Source: "web",
  71. Payment: 300.0,
  72. CustomId: 1,
  73. Mobile: "18310412106",
  74. CreatedAt: time.Now().Format("2006-01-02 15:04:05"),
  75. Gender: 1,
  76. //ProductIds: []int{38, 82},
  77. }
  78. _, err := orderSrv.AddOrder(orderItem, 1, "bj")
  79. if err != nil {
  80. b.Fatal(err)
  81. }
  82. }
  83. }
  84. func TestPayOrder(t *testing.T) {
  85. orderSrv := &OrderService{
  86. IOrder: dal.DefaultOrderDal,
  87. }
  88. orderItem := &entity.Order{
  89. Id: "SQ19082311583064680",
  90. PayType: 1,
  91. //Coupons: []int{281},
  92. }
  93. extra := map[string]string{
  94. "ip": "127.0.0.1",
  95. "trade_type": "MWEB", //"JSAPI",
  96. "device_info": "23444",
  97. "openid": "on_YX0cpx1QfdkoDlZv7M6PnzlCM",
  98. "wx_type": "mp",
  99. }
  100. result, err := orderSrv.Pay(orderItem, extra)
  101. if err != nil {
  102. t.Fatal(err)
  103. }
  104. fmt.Println(result)
  105. }
  106. func TestListOrder(t *testing.T) {
  107. orderSrv := &OrderService{
  108. IOrder: dal.DefaultOrderDal,
  109. }
  110. result, err := orderSrv.ListOrder(6, 1, 10, 0, "", false, false)
  111. if err != nil {
  112. t.Fatal(err)
  113. }
  114. fmt.Println(toJson(result))
  115. }
  116. func TestGetOrderByCode(t *testing.T) {
  117. orderSrv := &OrderService{
  118. IOrder: dal.DefaultOrderDal,
  119. }
  120. result, err := orderSrv.GetOrderInfoByCode("ABC123")
  121. if err != nil {
  122. t.Fatal(err)
  123. }
  124. fmt.Println(toJson(result))
  125. }
  126. func toJson(data interface{}) string {
  127. buf, _ := json.Marshal(data)
  128. return string(buf)
  129. }
  130. func TestRefund(t *testing.T) {
  131. orderSrv := &OrderService{
  132. IOrder: dal.DefaultOrderDal,
  133. }
  134. /*params := map[string]string{
  135. "orderId": "BJ19071618554299885",
  136. "refund_fee": "150",
  137. }
  138. data, err := orderSrv.Refund(params)
  139. */
  140. data, err := orderSrv.CancelOrder("BJ19071620220998671")
  141. if err != nil {
  142. t.Fatal(err)
  143. }
  144. fmt.Println(data)
  145. }
  146. func TestWxPayQuery(t *testing.T) {
  147. orderSrv := &OrderService{
  148. IOrder: dal.DefaultOrderDal,
  149. }
  150. data, err := orderSrv.WxPayQuery(map[string]string{
  151. "out_trade_no": "P2018071917082267240",
  152. })
  153. if err != nil {
  154. t.Fatal(err)
  155. }
  156. fmt.Println(data)
  157. }
  158. func TestCommitSurvey(t *testing.T) {
  159. ositem := &entity.OrderSurvey{
  160. OrderId: "BJ17081011423282192",
  161. ServiceScore: "",
  162. }
  163. orderSrv := &OrderService{
  164. IOrder: dal.DefaultOrderDal,
  165. }
  166. rel, err := orderSrv.CommitSurvey(ositem, 0)
  167. if err != nil {
  168. t.Fatal(err)
  169. }
  170. fmt.Println(rel)
  171. }
  172. func TestGetReportData(t *testing.T) {
  173. data, err := GetReportData("BJ18032911141848772", "")
  174. if err != nil {
  175. t.Fatal(err)
  176. }
  177. buf := &bytes.Buffer{}
  178. jencoder := json.NewEncoder(buf)
  179. jencoder.SetEscapeHTML(false)
  180. jencoder.Encode(data)
  181. fmt.Println(buf.String())
  182. }
  183. func TestOrderReport(t *testing.T) {
  184. orderSrv := &OrderService{
  185. IOrder: dal.DefaultOrderDal,
  186. }
  187. data, err := orderSrv.OrderReport("BJ20041409231146245", "SPECIAL")
  188. if err != nil {
  189. t.Fatal(err)
  190. }
  191. fmt.Println(data)
  192. }
  193. func TestUpdateOrder(t *testing.T) {
  194. orderSrv := &OrderService{
  195. IOrder: dal.DefaultOrderDal,
  196. }
  197. /*_, err := orderSrv.OrderUpdate(&entity.Order{
  198. CustomId: 3068,
  199. Id: "BJ19071611270223630",
  200. MaterialId: 1,
  201. Address: "京东图书仓办公区2楼",
  202. VisitDate: "2019-08-11",
  203. }, "3")
  204. */
  205. data, err := orderSrv.OrderDetail("BJ19072314071282001")
  206. if err != nil {
  207. fmt.Println(err)
  208. }
  209. fmt.Println(data)
  210. }
  211. func TestInsertAgent(t *testing.T) {
  212. orderSrv := &OrderService{
  213. IOrder: dal.DefaultOrderDal,
  214. }
  215. data, err := orderSrv.InsertAgent("test", "onNpDw5bTDjppxo8PqCAqP_1dYn8", "", "13141018539")
  216. if err != nil {
  217. fmt.Println(err)
  218. }
  219. fmt.Println(data)
  220. }
  221. // qz 测试拆分订单 20200828
  222. func TestSplitOrderV2(t *testing.T) {
  223. orderSrv := &OrderService{
  224. IOrder: dal.DefaultOrderDal,
  225. }
  226. orderSrv.SplitOrder("BJ20082221295149024", 985)
  227. }