package script import ( "bytes" "encoding/json" "fmt" "io" "net/http" "time" ) const ( URL = "http://127.0.0.1:15000/voucher/timeSliceQueryPush" DEV_URL = "http://open.cszfan.com/voucher/timeSliceQueryPush" PRO_URL = "https://voucher.86698.cn/voucher/timeSliceQueryPush" ) const ( SINGLE_URL = "http://127.0.0.1:15000//voucher/pushWechatQuery" DEV_SINGLE_URL = "http://open.cszfan.com//voucher/pushWechatQuery" PRO_SINGLE_URL = "https://voucher.86698.cn//voucher/pushWechatQuery" ) func timeSliceQueryPush(startTime, endTime time.Time, duration time.Duration, requestURL string) error { // 每指定间隔时间发送一次请求 for t := startTime; t.Before(endTime); t = t.Add(duration) { end := t.Add(duration) // 计算每次请求的结束时间 // 创建请求体 requestBody := map[string]any{ "go_num": 2, // 并发数量 "time_slice_hours": 1, // 时间间隔 "product_no": "", "start_time": t.Format(time.DateTime), "end_time": end.Format(time.DateTime), } // 将请求体转换为 JSON 格式 bodyBytes, err := json.Marshal(requestBody) if err != nil { return err } fmt.Printf("body:%s\n", string(bodyBytes)) // 发送请求 if err2 := sendRequest(bodyBytes, requestURL); err2 != nil { fmt.Printf("Error sending request: %v\n", err2) } // 等待一段时间后再发送下一个请求 time.Sleep(1 * time.Second) // 可以根据需要调整间隔时间 } return nil } func pushWechatQuery(startTime, endTime time.Time, duration time.Duration, requestURL string) error { // 每指定间隔时间发送一次请求 for t := startTime; t.Before(endTime); t = t.Add(duration) { end := t.Add(duration) // 计算每次请求的结束时间 // 创建请求体 requestBody := map[string]any{ "order_no": "", "product_no": "", "start_time": t.Format(time.DateTime), "end_time": end.Format(time.DateTime), } // 将请求体转换为 JSON 格式 bodyBytes, err := json.Marshal(requestBody) if err != nil { return err } fmt.Printf("requestBody:%s\n", string(bodyBytes)) // 发送请求 if err2 := sendRequest(bodyBytes, requestURL); err2 != nil { fmt.Printf("Error sending request: %v\n", err2) } // 等待一段时间后再发送下一个请求 time.Sleep(1 * time.Second) // 可以根据需要调整间隔时间 } return nil } func sendRequest(body []byte, requestURL string) error { resp, err := http.Post(requestURL, "application/json", bytes.NewBuffer(body)) if err != nil { return fmt.Errorf("failed to send POST request: %v", err) } defer resp.Body.Close() bodyBytes, err := io.ReadAll(resp.Body) if err != nil { return fmt.Errorf("读取响应体失败: %w", err) } if resp.StatusCode == http.StatusOK { fmt.Printf("responsBody:%s", string(bodyBytes)) } return fmt.Errorf("failed with status code: %d", resp.StatusCode) }