浏览代码

用户选择产品接口开发

jiaojiao7 4 年之前
父节点
当前提交
d6a49b643d
共有 2 个文件被更改,包括 91 次插入1 次删除
  1. 43 0
      manage/user/user.go
  2. 48 1
      test/manage/user_test.go

+ 43 - 0
manage/user/user.go

@@ -4,6 +4,12 @@ import (
 	"github.com/gin-gonic/gin"
 	"go.uber.org/zap"
 	"sfbase/global"
+	"sfis/db"
+	"sfis/model"
+	"sfis/model/response"
+	"strconv"
+	"strings"
+	"time"
 )
 
 func DevUserManageRegister(router *gin.Engine) {
@@ -11,9 +17,46 @@ func DevUserManageRegister(router *gin.Engine) {
 	userGroup.Use()
 	{
 		userGroup.POST("/create", userCreate)
+		userGroup.POST("/userProjectChoose", userProjectChoose)
 	}
 }
 
 func userCreate(context *gin.Context) {
 	global.Logger.Info("创建user", zap.Any("app_id:", "yhet6332h"), zap.Any("secret_key", "ffh2273hjd"))
 }
+
+func userProjectChoose(c *gin.Context) {
+	appId := c.PostForm("appId")
+	projectIds := c.PostForm("projectIds")
+	startTime := c.PostForm("startTime") //时间格式2021-01-11 16:50:06
+	endTime := c.PostForm("endTime")
+	leftNum, _ := strconv.Atoi(c.PostForm("leftNum"))
+	costModel, _ := strconv.Atoi(c.PostForm("costModel"))
+	interfaceStatus, _ := strconv.Atoi(c.PostForm("interfaceStatus"))
+	callTimesLimitDay, _ := strconv.Atoi(c.PostForm("callTimesLimitDay"))
+	dataNumOneTimes, _ := strconv.Atoi(c.PostForm("dataNumOneTimes"))
+	insertArr := []*model.UserProduct{}
+	projectIdsArr := strings.Split(projectIds, ",")
+	if len(projectIdsArr) > 0 {
+		for _, v := range projectIdsArr {
+			userProject := &model.UserProduct{}
+			userProject.AppID = appId
+			userProject.StartAt, _ = time.ParseInLocation("2006-01-02 15:04:05", startTime, time.Local)
+			userProject.EndAt, _ = time.ParseInLocation("2006-01-02 15:04:05", endTime, time.Local)
+			userProject.LeftNum = leftNum
+			userProject.CostModel = costModel
+			userProject.InterfaceStatus = interfaceStatus
+			userProject.CallTimesLimitDay = callTimesLimitDay
+			userProject.DataNumLimitOneTimes = dataNumOneTimes
+			id, _ := strconv.Atoi(v)
+			userProject.ProductID = id
+			insertArr = append(insertArr, userProject)
+		}
+		tx := db.GetSFISDB().CreateInBatches(insertArr, len(insertArr))
+		if tx.Error == nil {
+			response.Ok(c)
+			return
+		}
+	}
+	response.FailWithMessage("缺少参数", c)
+}

+ 48 - 1
test/manage/user_test.go

@@ -1,9 +1,15 @@
 package manage
 
 import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
 	"log"
+	"net/http"
+	"net/url"
 	sutil "sfbase/utils"
 	"sfis/utils"
+	"strings"
 	"testing"
 	"time"
 )
@@ -47,6 +53,47 @@ func Test_CreateUser(t *testing.T) {
 	//appID := ""
 	//tradeMoney := 1 * 100 * 10000 //充值1万块钱
 }
-func chooseUserProduct(appID string, tradeMoney int) {
+func Test_UserProductChoose(t *testing.T) {
+	appId := "sfPQRYRQMAAwcGBwYBCgcA"
+	projectIds := "1007,1008"
+	startTime := "2021-01-11 00:00:00"
+	endTime := "2022-01-11 00:00:00"
+	leftNum := "10000"
+	costModel := "0"
+	interfaceStatus := "0"
+	callTimesLimitDay := "100"
+	dataNumOneTimes := "100"
+	data := make(url.Values)
+	data["appId"] = []string{appId}
+	data["projectIds"] = []string{projectIds}
+	data["startTime"] = []string{startTime}
+	data["endTime"] = []string{endTime}
+	data["leftNum"] = []string{leftNum}
+	data["costModel"] = []string{costModel}
+	data["interfaceStatus"] = []string{interfaceStatus}
+	data["callTimesLimitDay"] = []string{callTimesLimitDay}
+	data["dataNumOneTimes"] = []string{dataNumOneTimes}
+	now := time.Now().Unix()
 
+	bs, _ := sutil.HttpPostForm("http://localhost:8080/manage/user/userProjectChoose", map[string]string{
+		"timestamp": fmt.Sprint(now),
+	}, data)
+	log.Print(string(bs))
+}
+
+func post(url string, form map[string]string) (data map[string]interface{}) {
+	str := ""
+	for k, v := range form {
+		str += "&" + k + "=" + v
+	}
+	log.Println(str)
+	res, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(str))
+	if err != nil {
+		log.Println("post err:", err.Error())
+	} else if res.Body != nil {
+		defer res.Body.Close()
+		bs, _ := ioutil.ReadAll(res.Body)
+		json.Unmarshal(bs, &data)
+	}
+	return
 }