| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- package datacube
- import (
- "fmt"
- "github.com/silenceper/wechat/v2/util"
- )
- const (
- getUpstreamMsg = "https://api.weixin.qq.com/datacube/getupstreammsg"
- getUpstreamMsgHour = "https://api.weixin.qq.com/datacube/getupstreammsghour"
- getUpstreamMsgWeek = "https://api.weixin.qq.com/datacube/getupstreammsgweek"
- getUpstreamMsgMonth = "https://api.weixin.qq.com/datacube/getupstreammsgmonth"
- getUpstreamMsgDist = "https://api.weixin.qq.com/datacube/getupstreammsgdist"
- getUpstreamMsgDistWeek = "https://api.weixin.qq.com/datacube/getupstreammsgdistweek"
- getUpstreamMsgDistMonth = "https://api.weixin.qq.com/datacube/getupstreammsgdistmonth"
- )
- // ResUpstreamMsg 获取消息发送概况数据响应
- type ResUpstreamMsg struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- MsgType int `json:"msg_type"`
- MsgUser int `json:"msg_user"`
- MsgCount int `json:"msg_count"`
- } `json:"list"`
- }
- // ResUpstreamMsgHour 获取消息分送分时数据响应
- type ResUpstreamMsgHour struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- RefHour int `json:"ref_hour"`
- MsgType int `json:"msg_type"`
- MsgUser int `json:"msg_user"`
- MsgCount int `json:"msg_count"`
- } `json:"list"`
- }
- // ResUpstreamMsgWeek 获取消息发送周数据响应
- type ResUpstreamMsgWeek struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- MsgType int `json:"msg_type"`
- MsgUser int `json:"msg_user"`
- MsgCount int `json:"msg_count"`
- } `json:"list"`
- }
- // ResUpstreamMsgMonth 获取消息发送月数据响应
- type ResUpstreamMsgMonth struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- MsgType int `json:"msg_type"`
- MsgUser int `json:"msg_user"`
- MsgCount int `json:"msg_count"`
- } `json:"list"`
- }
- // ResUpstreamMsgDist 获取消息发送分布数据响应
- type ResUpstreamMsgDist struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- CountInterval int `json:"count_interval"`
- MsgUser int `json:"msg_user"`
- } `json:"list"`
- }
- // ResUpstreamMsgDistWeek 获取消息发送分布周数据响应
- type ResUpstreamMsgDistWeek struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- CountInterval int `json:"count_interval"`
- MsgUser int `json:"msg_user"`
- } `json:"list"`
- }
- // ResUpstreamMsgDistMonth 获取消息发送分布月数据响应
- type ResUpstreamMsgDistMonth struct {
- util.CommonError
- List []struct {
- RefDate string `json:"ref_date"`
- CountInterval int `json:"count_interval"`
- MsgUser int `json:"msg_user"`
- } `json:"list"`
- }
- // GetUpstreamMsg 获取消息发送概况数据
- func (cube *DataCube) GetUpstreamMsg(s string, e string) (resUpstreamMsg ResUpstreamMsg, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsg, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsg, "GetUpstreamMsg")
- return
- }
- // GetUpstreamMsgHour 获取消息分送分时数据
- func (cube *DataCube) GetUpstreamMsgHour(s string, e string) (resUpstreamMsgHour ResUpstreamMsgHour, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgHour, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgHour, "GetUpstreamMsgHour")
- return
- }
- // GetUpstreamMsgWeek 获取消息发送周数据
- func (cube *DataCube) GetUpstreamMsgWeek(s string, e string) (resUpstreamMsgWeek ResUpstreamMsgWeek, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgWeek, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgWeek, "GetUpstreamMsgWeek")
- return
- }
- // GetUpstreamMsgMonth 获取消息发送月数据
- func (cube *DataCube) GetUpstreamMsgMonth(s string, e string) (resUpstreamMsgMonth ResUpstreamMsgMonth, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgMonth, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgMonth, "GetUpstreamMsgMonth")
- return
- }
- // GetUpstreamMsgDist 获取消息发送分布数据
- func (cube *DataCube) GetUpstreamMsgDist(s string, e string) (resUpstreamMsgDist ResUpstreamMsgDist, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgDist, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgDist, "GetUpstreamMsgDist")
- return
- }
- // GetUpstreamMsgDistWeek 获取消息发送分布周数据
- func (cube *DataCube) GetUpstreamMsgDistWeek(s string, e string) (resUpstreamMsgDistWeek ResUpstreamMsgDistWeek, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgDistWeek, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgDistWeek, "GetUpstreamMsgDistWeek")
- return
- }
- // GetUpstreamMsgDistMonth 获取消息发送分布月数据
- func (cube *DataCube) GetUpstreamMsgDistMonth(s string, e string) (resUpstreamMsgDistMonth ResUpstreamMsgDistMonth, err error) {
- accessToken, err := cube.GetAccessToken()
- if err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", getUpstreamMsgDistMonth, accessToken)
- reqDate := &reqDate{
- BeginDate: s,
- EndDate: e,
- }
- response, err := util.PostJSON(uri, reqDate)
- if err != nil {
- return
- }
- err = util.DecodeWithError(response, &resUpstreamMsgDistMonth, "GetUpstreamMsgDistMonth")
- return
- }
|