怡亚通rpc
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

236 lines
4.1 KiB

2 years ago
  1. package yytrpc
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "log"
  6. )
  7. // 提交怡亚通订单
  8. func CreateOrder(dbname, siteid, order_sn string, url ...string) (bool, error) {
  9. if dbname == "" || siteid == "" || order_sn == "" {
  10. return false, errors.New("参数错误")
  11. }
  12. conn, err := rpc_server_conn(url...)
  13. if err != nil {
  14. return false, err
  15. }
  16. defer conn.Close()
  17. data := OrderParam{}
  18. data.Dbname = dbname
  19. data.SiteId = siteid
  20. data.OrderSn = order_sn
  21. req, err := SetReqData(data)
  22. if err != nil {
  23. log.Println("CreateOrder crypter error:", err)
  24. return false, err
  25. }
  26. res := &Response{}
  27. err = conn.CreateOrder(req, res)
  28. if err != nil {
  29. log.Println("yytrpc CreateOrder error:", err)
  30. return false, err
  31. }
  32. res_data_de, err := GetResData(res)
  33. if err != nil {
  34. return false, err
  35. }
  36. if res_data_de == "" {
  37. return false, nil
  38. }
  39. var return_res bool
  40. err = json.Unmarshal([]byte(res_data_de), &return_res)
  41. if err != nil {
  42. return false, err
  43. }
  44. return return_res, nil
  45. }
  46. // 确认收货
  47. func ConfirmReceive(dbname, siteid, supplier_order_sn string, url ...string) (bool, error) {
  48. if dbname == "" || siteid == "" || supplier_order_sn == "" {
  49. return false, errors.New("参数错误")
  50. }
  51. conn, err := rpc_server_conn(url...)
  52. if err != nil {
  53. return false, err
  54. }
  55. defer conn.Close()
  56. data := map[string]string{}
  57. data["database"] = dbname
  58. data["site_id"] = siteid
  59. data["supplier_order_sn"] = supplier_order_sn
  60. req, err := SetReqData(data)
  61. if err != nil {
  62. log.Println("confirmReceive crypter error:", err)
  63. return false, err
  64. }
  65. res := &Response{}
  66. err = conn.ConfirmReceive(req, res)
  67. if err != nil {
  68. log.Println("yytrpc confirmReceive error:", err)
  69. return false, err
  70. }
  71. res_data_de, err := GetResData(res)
  72. if err != nil {
  73. return false, err
  74. }
  75. if res_data_de == "" {
  76. return false, nil
  77. }
  78. var return_res bool
  79. err = json.Unmarshal([]byte(res_data_de), &return_res)
  80. if err != nil {
  81. return false, err
  82. }
  83. return return_res, nil
  84. }
  85. // 申请售后
  86. func ApplyRefund(dbname, siteid, supplier_order_sn, refund_type, refund_reason string, url ...string) (bool, error) {
  87. if dbname == "" || siteid == "" || supplier_order_sn == "" || refund_type == "" || refund_reason == "" {
  88. return false, errors.New("参数错误")
  89. }
  90. conn, err := rpc_server_conn(url...)
  91. if err != nil {
  92. return false, err
  93. }
  94. defer conn.Close()
  95. data := map[string]string{}
  96. data["database"] = dbname
  97. data["site_id"] = siteid
  98. data["supplier_order_sn"] = supplier_order_sn
  99. data["refund_type"] = refund_type
  100. data["refund_reason"] = refund_reason
  101. req, err := SetReqData(data)
  102. if err != nil {
  103. log.Println("ApplyRefund crypter error:", err)
  104. return false, err
  105. }
  106. res := &Response{}
  107. err = conn.ApplyRefund(req, res)
  108. if err != nil {
  109. log.Println("yytrpc ApplyRefund error:", err)
  110. return false, err
  111. }
  112. res_data_de, err := GetResData(res)
  113. if err != nil {
  114. return false, err
  115. }
  116. if res_data_de == "" {
  117. return false, nil
  118. }
  119. var return_res bool
  120. err = json.Unmarshal([]byte(res_data_de), &return_res)
  121. if err != nil {
  122. return false, err
  123. }
  124. return return_res, nil
  125. }
  126. // 撤销售后
  127. func CancelRefund(dbname, siteid, supplier_refund_sn, supplier_buyer_id string, url ...string) (bool, error) {
  128. if dbname == "" || siteid == "" || supplier_refund_sn == "" || supplier_buyer_id == "" {
  129. return false, errors.New("参数错误")
  130. }
  131. conn, err := rpc_server_conn(url...)
  132. if err != nil {
  133. return false, err
  134. }
  135. defer conn.Close()
  136. data := map[string]string{}
  137. data["database"] = dbname
  138. data["site_id"] = siteid
  139. data["supplier_refund_sn"] = supplier_refund_sn
  140. data["supplier_buyer_id"] = supplier_buyer_id
  141. req, err := SetReqData(data)
  142. if err != nil {
  143. log.Println("CancelRefund crypter error:", err)
  144. return false, err
  145. }
  146. res := &Response{}
  147. err = conn.CancelRefund(req, res)
  148. if err != nil {
  149. log.Println("yytrpc CancelRefund error:", err)
  150. return false, err
  151. }
  152. res_data_de, err := GetResData(res)
  153. if err != nil {
  154. return false, err
  155. }
  156. if res_data_de == "" {
  157. return false, nil
  158. }
  159. var return_res bool
  160. err = json.Unmarshal([]byte(res_data_de), &return_res)
  161. if err != nil {
  162. return false, err
  163. }
  164. return return_res, nil
  165. }