浏览代码

no message

xingzai 2 年之前
父节点
当前提交
ff9979f732
共有 5 个文件被更改,包括 441 次插入0 次删除
  1. 288 0
      controllers/yidong.go
  2. 108 0
      models/yidong.go
  3. 36 0
      routers/commentsRouter.go
  4. 5 0
      routers/router.go
  5. 4 0
      utils/constants.go

+ 288 - 0
controllers/yidong.go

@@ -0,0 +1,288 @@
+package controllers
+
+import (
+	"encoding/json"
+	"fmt"
+	"hongze/hongze_cygx/models"
+	"hongze/hongze_cygx/utils"
+	"io/ioutil"
+	"net/http"
+	"strings"
+	"time"
+)
+
+type BaseYidongController struct {
+	BaseCommonController
+}
+
+// @Title 取得TOKEN API
+// @Description 取得TOKEN API
+// @Success 200 {object} models.ConfigResp
+// @router /get_token [get]
+func (this *BaseYidongController) GetToken() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	url := "https://services-dev.valueonline.cn/oauth/token?grant_type=client_credentials&response_type=token&client_id=d9bfb79627ac30d0&client_secret=96a61dd2d9bfb79627ac30d02188bbe2"
+	method := "GET"
+
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, nil)
+
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	req.Header.Add("User-Agent", "apifox/1.0.0 (https://www.apifox.cn)")
+
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	defer res.Body.Close()
+
+	type Ydtoklen struct {
+		Success     string `json:"success"`
+		ExpiresIn   int    `json:"expires_in"`
+		AccessToken string `json:"access_token"`
+	}
+	var ydtoklen Ydtoklen
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	//fmt.Println(body)
+	err = json.Unmarshal(body, &ydtoklen)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+	}
+	cacheKey := utils.YD_TOKEN
+	utils.Rc.Put(cacheKey, ydtoklen.AccessToken, time.Second*7000)
+	utils.FileLog.Info(string(body))
+	//fmt.Println(body)
+	fmt.Println(string(body))
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = ydtoklen
+}
+
+// @Title 获取路演列表数据
+// @Description 获取路演列表数据
+// @Success 200 {object} models.ConfigResp
+// @router /get/activity/list [get]
+func (this *BaseYidongController) Ativitylist() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	cacheKey := utils.YD_TOKEN
+	Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
+	url := "https://services-dev.valueonline.cn/interact/activityManageApi/getRoadshowList?access_token=" + Ydtoklen
+	method := "POST"
+	//payload := strings.NewReader(`{"meetingStatus":"0,1","conveneStartStr":"2022-05-06","conveneEndStr":"2022-05-14",
+	//"lastUpdateTime":"2022-05-08 12:00:00"}`)
+
+	payload := strings.NewReader(`{
+    "meetingStatus": "0,1,2"
+}`)
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, payload)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	req.Header.Add("User-Agent", "apifox/1.0.0 (https://www.apifox.cn)")
+	req.Header.Add("Content-Type", "application/json")
+
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	defer res.Body.Close()
+	var ApifoxModal *models.ApifoxModal
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	utils.FileLog.Info(string(body))
+	//fmt.Println(body)
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		utils.FileLog.Info(err.Error())
+		return
+	}
+
+	//fmt.Println(body)
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = ApifoxModal
+}
+
+// @Title 获取路演详细信息
+// @Description 获取路演详细信息
+// @Success 200 {object} models.ConfigResp
+// @router /get/activity/detail [get]
+func (this *BaseYidongController) Detail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	cacheKey := utils.YD_TOKEN
+	Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
+	url := "https://services-dev.valueonline.cn/interact/activityManageApi/getRoadshowDetail?access_token=" + Ydtoklen
+	method := "POST"
+	payload := strings.NewReader(`{"activityId":"9395325920258067463"}`)
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, payload)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	req.Header.Add("Content-Type", "application/json")
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	defer res.Body.Close()
+	var ApifoxModal *models.ApifoxModaldetail
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	utils.FileLog.Info(string(body))
+	fmt.Println(string(body))
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	//fmt.Println(body)
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = ApifoxModal
+}
+
+// @Title 获取参会人员信息
+// @Description 获取参会人员信息
+// @Success 200 {object} models.ConfigResp
+// @router /get/activity/userList [get]
+func (this *BaseYidongController) UserList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	cacheKey := utils.YD_TOKEN
+	Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
+	url := "https://services-dev.valueonline.cn/interact/activityManageApi/getAttendPersonList?access_token=" + Ydtoklen
+	method := "POST"
+	payload := strings.NewReader(`{"activityId":"9395147645597532110"}`)
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, payload)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	req.Header.Add("Content-Type", "application/json")
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	defer res.Body.Close()
+	var ApifoxModal *models.ApifoxModaluser
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	utils.FileLog.Info(string(body))
+	fmt.Println(string(body))
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	//fmt.Println(body)
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = ApifoxModal
+}
+
+// @Title 生成用户相关信息接口
+// @Description 生成用户相关信息接口
+// @Success 200 {object} models.ConfigResp
+// @router /get/activity/createUserInfo [get]
+func (this *BaseYidongController) CreateUserInfo() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	cacheKey := utils.YD_TOKEN
+	Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
+	url := "https://services-dev.valueonline.cn/interact/activityManageApi/getAttendPersonList?access_token=" + Ydtoklen
+	method := "POST"
+	payload := strings.NewReader(`{"activityId":"9395147645597532110"}`)
+	client := &http.Client{}
+	req, err := http.NewRequest(method, url, payload)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	req.Header.Add("Content-Type", "application/json")
+	res, err := client.Do(req)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	defer res.Body.Close()
+	var ApifoxModal *models.ApifoxModaluser
+	body, err := ioutil.ReadAll(res.Body)
+	if err != nil {
+		fmt.Println(err)
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	utils.FileLog.Info(string(body))
+	fmt.Println(string(body))
+	err = json.Unmarshal(body, &ApifoxModal)
+	if err != nil {
+		fmt.Println("Getres.PublicGetDate Err:", err.Error())
+		utils.FileLog.Info(err.Error())
+		return
+	}
+	//fmt.Println(body)
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = ApifoxModal
+}

+ 108 - 0
models/yidong.go

@@ -0,0 +1,108 @@
+package models
+
+type ApifoxModal struct {
+	ErrorCode interface{} `json:"errorCode"`
+	ErrorMsg  interface{} `json:"errorMsg"`
+	Result    []Result    `json:"result"`
+	Success   bool        `json:"success"`
+	Timestamp int64       `json:"timestamp"`
+}
+
+type Result struct {
+	ActivityJoinType               string      `json:"activityJoinType"`               // 活动入会类型,01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会
+	Banner                         string      `json:"banner"`                         // 宣传图
+	BusinessCardOpen               string      `json:"businessCardOpen"`               // 上传名片是否开启,1是 0否
+	BusinessCardRequired           string      `json:"businessCardRequired"`           // 上传名片是否必填,1是 0否
+	CertificateInformationOpen     string      `json:"certificateInformationOpen"`     // 证件信息是否开启,1是 0否
+	CertificateInformationRequired string      `json:"certificateInformationRequired"` // 证件信息是否必填,1是 0否
+	CompanyCodeOpen                string      `json:"companyCodeOpen"`                // 公司代码是否开启,1是 0否
+	CompanyCodeRequired            string      `json:"companyCodeRequired"`            // 公司代码是否必填,1是 0否
+	CompanyInfo                    string      `json:"companyInfo"`                    // 公司名称
+	CompanyShortNameOpen           string      `json:"companyShortNameOpen"`           // 公司名称是否开启,1是 0否
+	CompanyShortNameRequired       string      `json:"companyShortNameRequired"`       // 公司名称是否必填,1是 0否
+	End                            string      `json:"end"`                            // 活动结束时间
+	ID                             string      `json:"id"`                             // 活动主键id
+	IndustrySwName                 string      `json:"industrySwName"`                 // 行业
+	InviteeOpen                    *string     `json:"inviteeOpen"`                    // 邀请机构是否开启,1是 0否
+	InviteeRequired                *string     `json:"inviteeRequired"`                // 邀请机构是否必填,1是 0否
+	JobNameOpen                    string      `json:"jobNameOpen"`                    // 职务是否开启,1是 0否
+	JobNameRequired                string      `json:"jobNameRequired"`                // 职务是否必填,1是 0否
+	MailOpen                       string      `json:"mailOpen"`                       // 邮箱是否开启,1是 0否
+	MailRequired                   string      `json:"mailRequired"`                   // 邮箱是否必填,1是 0否
+	PersonNameOpen                 string      `json:"personNameOpen"`                 // 姓名是否开启,1是 0否
+	PersonNameRequired             string      `json:"personNameRequired"`             // 姓名是否必填,1是 0否
+	PersonTelephoneOpen            string      `json:"personTelephoneOpen"`            // 手机号是否开启,1是 0否
+	PersonTelephoneRequired        string      `json:"personTelephoneRequired"`        // 手机号是否必填,1是 0否
+	SignUpEnd                      interface{} `json:"signUpEnd"`                      // 报名结束时间,适应于报名审核后可入会,为空表示不限制报名时间
+	SignUpStart                    interface{} `json:"signUpStart"`                    // 报名开始时间,适应于报名审核后可入会,为空表示不限制报名时间
+	Start                          string      `json:"start"`                          // 活动开始时间
+	SyncFlag                       string      `json:"syncFlag"`                       // 同步有效性,同步有效性 1有效,0失效
+	Title                          string      `json:"title"`                          // 活动主题
+	Type                           string      `json:"type"`                           // 路演类型
+	URL                            string      `json:"url"`                            // 活动短链接
+}
+
+type ApifoxModalDetail struct {
+	ErrorCode interface{} `json:"errorCode"`
+	ErrorMsg  interface{} `json:"errorMsg"`
+	Result    Result      `json:"result"`
+	Success   bool        `json:"success"`
+	Timestamp int64       `json:"timestamp"`
+}
+
+type ResultDetail struct {
+	GuestIntroduceType string     `json:"guestIntroduceType"` // 嘉宾类型,嘉宾类型(0-列表,1-图片)
+	GuestPersonList    []UserList `json:"guestPersonList"`    // 嘉宾列表,适用列表类型
+	GuestPicURL        string     `json:"guestPicUrl"`        // 嘉宾图片链接,适用图片类型
+}
+
+type UserList struct {
+	CompanyName        string  `json:"companyName"`        // 公司
+	HeadPortraitURL    string  `json:"headPortraitUrl"`    // 头像
+	ID                 string  `json:"id"`                 // 嘉宾主键id
+	JobName            string  `json:"jobName"`            // 职务
+	PersonIntroduction *string `json:"personIntroduction"` // 嘉宾介绍
+	PersonName         string  `json:"personName"`         // 姓名
+}
+
+type ApifoxModaldetail struct {
+	ErrorCode    interface{}  `json:"errorCode"`
+	ErrorMsg     interface{}  `json:"errorMsg"`
+	Resultdetail Resultdetail `json:"result"`
+	Success      bool         `json:"success"`
+	Timestamp    int64        `json:"timestamp"`
+}
+
+type Resultdetail struct {
+	GuestIntroduceType string `json:"guestIntroduceType"` // 嘉宾类型,嘉宾类型(0-列表,1-图片)
+	GuestPersonList    []嘉宾列表 `json:"guestPersonList"`    // 嘉宾列表,适用列表类型
+	GuestPicURL        string `json:"guestPicUrl"`        // 嘉宾图片链接,适用图片类型
+}
+
+type 嘉宾列表 struct {
+	CompanyName        string  `json:"companyName"`        // 公司
+	HeadPortraitURL    string  `json:"headPortraitUrl"`    // 头像
+	ID                 string  `json:"id"`                 // 嘉宾主键id
+	JobName            string  `json:"jobName"`            // 职务
+	PersonIntroduction *string `json:"personIntroduction"` // 嘉宾介绍
+	PersonName         string  `json:"personName"`         // 姓名
+}
+
+type ApifoxModaluser struct {
+	ErrorCode interface{}  `json:"errorCode"`
+	ErrorMsg  interface{}  `json:"errorMsg"`
+	Result    []Resultuser `json:"result"`
+	Success   bool         `json:"success"`
+	Timestamp int64        `json:"timestamp"`
+}
+
+type Resultuser struct {
+	DeviceType      *int64  `json:"deviceType"`                // 参会方式,1-PC,2-Mac,3-Android,4-IOS,5-Web,6-iPad,7-Android Pad,8-小程序
+	Duration        *string `json:"duration"`                  // 参会时长
+	EndTime         *string `json:"endTime"`                   // 最后退会时间
+	ID              *string `json:"id,omitempty"`              // 主键id
+	PersonTelephone *string `json:"personTelephone,omitempty"` // 用户手机号
+	StartTime       *string `json:"startTime"`                 // 最早入会时间
+	Status          *string `json:"status"`                    // 状态,D表示被删除
+	UserID          *string `json:"userId,omitempty"`          // 用户id
+}

+ 36 - 0
routers/commentsRouter.go

@@ -367,6 +367,42 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"],
+        beego.ControllerComments{
+            Method: "Detail",
+            Router: `/get/activity/detail`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"],
+        beego.ControllerComments{
+            Method: "Ativitylist",
+            Router: `/get/activity/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"],
+        beego.ControllerComments{
+            Method: "UserList",
+            Router: `/get/activity/userList`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:BaseYidongController"],
+        beego.ControllerComments{
+            Method: "GetToken",
+            Router: `/get_token`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ChartController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ChartController"],
         beego.ControllerComments{
             Method: "ChartCollect",

+ 5 - 0
routers/router.go

@@ -114,6 +114,11 @@ func init() {
 				&controllers.ReportBillboardController{},
 			),
 		),
+		web.NSNamespace("/yidong",
+			web.NSInclude(
+				&controllers.BaseYidongController{},
+			),
+		),
 	)
 	web.AddNamespace(ns)
 }

+ 4 - 0
utils/constants.go

@@ -98,3 +98,7 @@ const (
 const (
 	YAN_XUAN__EXPLAIN = "买方研选内容实行阶段,限时免费。也欢迎您向我们提宝贵建议。"
 )
+
+const (
+	YD_TOKEN = "yidong_token"
+)