user_test.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package manage
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. "net/http"
  8. "net/url"
  9. sutil "sfbase/utils"
  10. "strings"
  11. "testing"
  12. "time"
  13. )
  14. /*var (
  15. product1 = &model.Product{
  16. BaseModel: model.BaseModel{ID: 1003},
  17. Name: "行业招标数据",
  18. Path: "/path1",
  19. UnitPrice: 50, //单价精确到分 5毛
  20. MinUnit: 1, //最小单位1,即 5毛/条
  21. ProductType: 1, //产品类型 0-按次 1-按条
  22. TestNum: 100,
  23. }
  24. product2 = &model.Product{
  25. Name: "中国移动招标数据",
  26. Path: "/path2",
  27. UnitPrice: 1500, //单价精确到分 15快
  28. MinUnit: 1, //最小单位1,即 15快/次
  29. ProductType: 0, //产品类型 0-按次 1-按条
  30. TestNum: 500,
  31. }
  32. )*/
  33. func init() {
  34. //todo init connection db operation
  35. }
  36. func Test_CreateUser(t *testing.T) {
  37. log.Println("devUserCreate testing......")
  38. //appID := utils.GetAppID(time.Now().Unix())
  39. //secretKey := sutil.GetComplexRandom(8, 3, 5)
  40. data := make(url.Values)
  41. data["name"] = []string{"河南拓普"}
  42. data["phone"] = []string{"18238182402"}
  43. data["ip_white_list"] = []string{"*"}
  44. bs, _ := sutil.HttpPostForm("http://localhost:8080/manage/user/create", map[string]string{}, data)
  45. log.Print(string(bs))
  46. //log.Printf("create successful appID:[%s],secretKey:[%s]", appID, secretKey)
  47. //创建用户、给用户开通接口产品时候有以下几种情况
  48. //1.线上给账户充值10000块(user_account),不去实际购买产品,无购买记录,用户产品表无剩余量(left_num为0).此时又分两种情况
  49. //1.1 按次扣账户余额
  50. //1.2 按量扣账户余额
  51. //appID := ""
  52. //tradeMoney := 1 * 100 * 10000 //充值1万块钱
  53. }
  54. func Test_UserProductChoose(t *testing.T) {
  55. appId := "sfPQRYRQMAAwcGBwYBCgcA"
  56. projectIds := "1009"
  57. startTime := "2021-01-11 00:00:00"
  58. endTime := "2022-01-11 00:00:00"
  59. leftNum := "10000"
  60. costModel := "0"
  61. interfaceStatus := "0"
  62. callTimesLimitDay := "100"
  63. dataNumOneTimes := "100"
  64. data := make(url.Values)
  65. data["appId"] = []string{appId}
  66. data["projectIds"] = []string{projectIds}
  67. data["startTime"] = []string{startTime}
  68. data["endTime"] = []string{endTime}
  69. data["leftNum"] = []string{leftNum}
  70. data["costModel"] = []string{costModel}
  71. data["interfaceStatus"] = []string{interfaceStatus}
  72. data["callTimesLimitDay"] = []string{callTimesLimitDay}
  73. data["dataNumOneTimes"] = []string{dataNumOneTimes}
  74. data["tradeMoney"] = []string{"1000"}
  75. data["buyType"] = []string{"1"}
  76. data["historyUnitPrice"] = []string{"18"}
  77. now := time.Now().Unix()
  78. bs, _ := sutil.HttpPostForm("http://localhost:8080/manage/user/userProjectChoose", map[string]string{
  79. "timestamp": fmt.Sprint(now),
  80. }, data)
  81. log.Print(string(bs))
  82. }
  83. func Test_UserProjectList(t *testing.T) {
  84. appId := "sfPQRYRQMAAwcGBwYBCgcA"
  85. data := make(url.Values)
  86. data["appId"] = []string{appId}
  87. now := time.Now().Unix()
  88. bs, _ := sutil.HttpPostForm("http://localhost:8080/manage/user/userProjectList", map[string]string{
  89. "timestamp": fmt.Sprint(now),
  90. }, data)
  91. log.Print(string(bs))
  92. }
  93. func post(url string, form map[string]string) (data map[string]interface{}) {
  94. str := ""
  95. for k, v := range form {
  96. str += "&" + k + "=" + v
  97. }
  98. log.Println(str)
  99. res, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(str))
  100. if err != nil {
  101. log.Println("post err:", err.Error())
  102. } else if res.Body != nil {
  103. defer res.Body.Close()
  104. bs, _ := ioutil.ReadAll(res.Body)
  105. json.Unmarshal(bs, &data)
  106. }
  107. return
  108. }