yidong.go 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hongze/hongze_cygx/models"
  6. "hongze/hongze_cygx/services"
  7. "hongze/hongze_cygx/utils"
  8. "io/ioutil"
  9. "net/http"
  10. "strings"
  11. )
  12. type BaseYidongController struct {
  13. BaseCommonController
  14. }
  15. // @Title 取得TOKEN API
  16. // @Description 取得TOKEN API
  17. // @Success 200 {object} models.ConfigResp
  18. // @router /get_token [get]
  19. func (this *BaseYidongController) GetToken() {
  20. br := new(models.BaseResponse).Init()
  21. defer func() {
  22. this.Data["json"] = br
  23. this.ServeJSON()
  24. }()
  25. type Ydtoklen struct {
  26. Success string `json:"success"`
  27. ExpiresIn int `json:"expires_in"`
  28. AccessToken string `json:"access_token"`
  29. }
  30. var ydtoklen Ydtoklen
  31. //url := utils.YiDongZhengTongYunUrl + "oauth/token?grant_type=client_credentials&response_type=token&client_id=" + utils.YiDongZhengTongYunAppid + "&client_secret=" + utils.YiDongZhengTongYunSecret
  32. //method := "GET"
  33. //
  34. //client := &http.Client{}
  35. //req, err := http.NewRequest(method, url, nil)
  36. //
  37. //if err != nil {
  38. // fmt.Println(err)
  39. // return
  40. //}
  41. //res, err := client.Do(req)
  42. //if err != nil {
  43. // fmt.Println(err)
  44. // return
  45. //}
  46. //defer res.Body.Close()
  47. //
  48. //
  49. //body, err := ioutil.ReadAll(res.Body)
  50. //if err != nil {
  51. // fmt.Println(err)
  52. // return
  53. //}
  54. ////fmt.Println(body)
  55. //err = json.Unmarshal(body, &ydtoklen)
  56. //if err != nil {
  57. // fmt.Println("Getres.PublicGetDate Err:", err.Error())
  58. //}
  59. //services.GetYiDongActivity()
  60. //cacheKey := utils.YD_TOKEN
  61. //utils.Rc.Put(cacheKey, ydtoklen.AccessToken, time.Second*7000)
  62. //utils.FileLog.Info(string(body))
  63. ////fmt.Println(body)
  64. //fmt.Println(string(body))
  65. ydtoklen.AccessToken, _ = services.GetYiDongToken()
  66. br.Msg = "获取成功!"
  67. br.Ret = 200
  68. br.Success = true
  69. br.Data = ydtoklen
  70. }
  71. // @Title 获取路演列表数据
  72. // @Description 获取路演列表数据
  73. // @Success 200 {object} models.ConfigResp
  74. // @router /get/activity/list [get]
  75. func (this *BaseYidongController) Ativitylist() {
  76. br := new(models.BaseResponse).Init()
  77. defer func() {
  78. this.Data["json"] = br
  79. this.ServeJSON()
  80. }()
  81. token, _ := services.GetYiDongToken()
  82. //url := "https://services-dev.valueonline.cn/interact/activityManageApi/getRoadshowList?access_token=" + Ydtoklen
  83. url := utils.YiDongZhengTongYunUrl + "interact/activityManageApi/getRoadshowList?access_token=" + token
  84. method := "POST"
  85. //payload := strings.NewReader(`{"meetingStatus":"0,1","conveneStartStr":"2022-05-06","conveneEndStr":"2022-05-14",
  86. //"lastUpdateTime":"2022-05-08 12:00:00"}`)
  87. payload := strings.NewReader(`{
  88. "meetingStatus": "0"
  89. }`)
  90. client := &http.Client{}
  91. req, err := http.NewRequest(method, url, payload)
  92. if err != nil {
  93. fmt.Println(err)
  94. utils.FileLog.Info(err.Error())
  95. return
  96. }
  97. req.Header.Add("User-Agent", "apifox/1.0.0 (https://www.apifox.cn)")
  98. req.Header.Add("Content-Type", "application/json")
  99. res, err := client.Do(req)
  100. if err != nil {
  101. fmt.Println(err)
  102. utils.FileLog.Info(err.Error())
  103. return
  104. }
  105. defer res.Body.Close()
  106. var ApifoxModal *models.ApifoxModal
  107. body, err := ioutil.ReadAll(res.Body)
  108. if err != nil {
  109. fmt.Println(err)
  110. utils.FileLog.Info(err.Error())
  111. return
  112. }
  113. utils.FileLog.Info(string(body))
  114. //fmt.Println(body)
  115. err = json.Unmarshal(body, &ApifoxModal)
  116. if err != nil {
  117. fmt.Println("Getres.PublicGetDate Err:", err.Error())
  118. utils.FileLog.Info(err.Error())
  119. return
  120. }
  121. //fmt.Println(body)
  122. br.Msg = "获取成功!"
  123. br.Ret = 200
  124. br.Success = true
  125. br.Data = ApifoxModal
  126. }
  127. // @Title 获取路演详细信息
  128. // @Description 获取路演详细信息
  129. // @Success 200 {object} models.ConfigResp
  130. // @router /get/activity/detail [get]
  131. func (this *BaseYidongController) Detail() {
  132. br := new(models.BaseResponse).Init()
  133. defer func() {
  134. this.Data["json"] = br
  135. this.ServeJSON()
  136. }()
  137. cacheKey := utils.YD_TOKEN
  138. Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
  139. url := "https://services-dev.valueonline.cn/interact/activityManageApi/getRoadshowDetail?access_token=" + Ydtoklen
  140. method := "POST"
  141. payload := strings.NewReader(`{"activityId":"9395325920258067463"}`)
  142. client := &http.Client{}
  143. req, err := http.NewRequest(method, url, payload)
  144. if err != nil {
  145. fmt.Println(err)
  146. utils.FileLog.Info(err.Error())
  147. return
  148. }
  149. req.Header.Add("Content-Type", "application/json")
  150. res, err := client.Do(req)
  151. if err != nil {
  152. fmt.Println(err)
  153. utils.FileLog.Info(err.Error())
  154. return
  155. }
  156. defer res.Body.Close()
  157. var ApifoxModal *models.ApifoxModaldetail
  158. body, err := ioutil.ReadAll(res.Body)
  159. if err != nil {
  160. fmt.Println(err)
  161. utils.FileLog.Info(err.Error())
  162. return
  163. }
  164. utils.FileLog.Info(string(body))
  165. fmt.Println(string(body))
  166. err = json.Unmarshal(body, &ApifoxModal)
  167. if err != nil {
  168. fmt.Println("Getres.PublicGetDate Err:", err.Error())
  169. utils.FileLog.Info(err.Error())
  170. return
  171. }
  172. //fmt.Println(body)
  173. br.Msg = "获取成功!"
  174. br.Ret = 200
  175. br.Success = true
  176. br.Data = ApifoxModal
  177. }
  178. // @Title 获取参会人员信息
  179. // @Description 获取参会人员信息
  180. // @Success 200 {object} models.ConfigResp
  181. // @router /get/activity/userList [get]
  182. func (this *BaseYidongController) UserList() {
  183. br := new(models.BaseResponse).Init()
  184. defer func() {
  185. this.Data["json"] = br
  186. this.ServeJSON()
  187. }()
  188. activityId := this.GetString("ActivityId")
  189. cacheKey := utils.YD_TOKEN
  190. Ydtoklen, _ := utils.Rc.RedisString(cacheKey)
  191. url := "https://services-dev.valueonline.cn/interact/activityManageApi/getAttendPersonList?access_token=" + Ydtoklen
  192. method := "POST"
  193. payload := strings.NewReader(`{"activityId":"` + activityId + `"}`)
  194. client := &http.Client{}
  195. req, err := http.NewRequest(method, url, payload)
  196. if err != nil {
  197. fmt.Println(err)
  198. utils.FileLog.Info(err.Error())
  199. return
  200. }
  201. req.Header.Add("Content-Type", "application/json")
  202. res, err := client.Do(req)
  203. if err != nil {
  204. fmt.Println(err)
  205. utils.FileLog.Info(err.Error())
  206. return
  207. }
  208. defer res.Body.Close()
  209. var ApifoxModal *models.ApifoxModaluser
  210. body, err := ioutil.ReadAll(res.Body)
  211. if err != nil {
  212. fmt.Println(err)
  213. utils.FileLog.Info(err.Error())
  214. return
  215. }
  216. utils.FileLog.Info(string(body))
  217. fmt.Println(string(body))
  218. err = json.Unmarshal(body, &ApifoxModal)
  219. if err != nil {
  220. fmt.Println("Getres.PublicGetDate Err:", err.Error())
  221. utils.FileLog.Info(err.Error())
  222. return
  223. }
  224. //fmt.Println(body)
  225. br.Msg = "获取成功!"
  226. br.Ret = 200
  227. br.Success = true
  228. br.Data = ApifoxModal
  229. }
  230. // @Title 生成用户相关信息接口
  231. // @Description 生成用户相关信息接口
  232. // @Success 200 {object} models.ConfigResp
  233. // @router /get/activity/createUserInfo [get]
  234. func (this *BaseYidongController) CreateUserInfo() {
  235. br := new(models.BaseResponse).Init()
  236. defer func() {
  237. this.Data["json"] = br
  238. this.ServeJSON()
  239. }()
  240. url := "https://achievement-test.valueonline.cn/app/hz/createUserInfo"
  241. method := "POST"
  242. payload := strings.NewReader(`{
  243. "phone": "15557270714",
  244. "mobileCountryCode": "+86",
  245. "sourceFrom": "01"
  246. }`)
  247. client := &http.Client{}
  248. req, err := http.NewRequest(method, url, payload)
  249. if err != nil {
  250. fmt.Println(err)
  251. utils.FileLog.Info(err.Error())
  252. return
  253. }
  254. req.Header.Add("Content-Type", "application/json")
  255. res, err := client.Do(req)
  256. if err != nil {
  257. fmt.Println(err)
  258. utils.FileLog.Info(err.Error())
  259. return
  260. }
  261. defer res.Body.Close()
  262. var ApifoxModal *models.ApifoxModalUserTgc
  263. body, err := ioutil.ReadAll(res.Body)
  264. if err != nil {
  265. fmt.Println(err)
  266. utils.FileLog.Info(err.Error())
  267. return
  268. }
  269. utils.FileLog.Info(string(body))
  270. fmt.Println(string(body))
  271. err = json.Unmarshal(body, &ApifoxModal)
  272. if err != nil {
  273. fmt.Println("Getres.PublicGetDate Err:", err.Error())
  274. utils.FileLog.Info(err.Error())
  275. return
  276. }
  277. //fmt.Println(body)
  278. br.Msg = "获取成功!"
  279. br.Ret = 200
  280. br.Success = true
  281. br.Data = ApifoxModal
  282. }
  283. // @Title 生成用户相关信息接口
  284. // @Description 生成用户相关信息接口
  285. // @Success 200 {object} models.ConfigResp
  286. // @router /get/activity/userSingnUp [get]
  287. func (this *BaseYidongController) UserSingnUp() {
  288. br := new(models.BaseResponse).Init()
  289. defer func() {
  290. this.Data["json"] = br
  291. this.ServeJSON()
  292. }()
  293. url := "https://achievement-test.valueonline.cn/app/hz/signAppointmentsForThird"
  294. method := "POST"
  295. payload := strings.NewReader(`{
  296. "activityId": "9395325920258067463",
  297. "personTelephone": "15557270714",
  298. "personName": "沈大爷",
  299. "companyName": "弘则研究",
  300. "mobileCountryCode": "+86",
  301. "thirdPartySource": "01"
  302. }`)
  303. client := &http.Client{}
  304. req, err := http.NewRequest(method, url, payload)
  305. if err != nil {
  306. fmt.Println(err)
  307. utils.FileLog.Info(err.Error())
  308. return
  309. }
  310. req.Header.Add("Content-Type", "application/json")
  311. res, err := client.Do(req)
  312. if err != nil {
  313. fmt.Println(err)
  314. utils.FileLog.Info(err.Error())
  315. return
  316. }
  317. defer res.Body.Close()
  318. var ApifoxModal *models.ApifoxModalSingUpClass
  319. body, err := ioutil.ReadAll(res.Body)
  320. if err != nil {
  321. fmt.Println(err)
  322. utils.FileLog.Info(err.Error())
  323. return
  324. }
  325. utils.FileLog.Info(string(body))
  326. fmt.Println(string(body))
  327. err = json.Unmarshal(body, &ApifoxModal)
  328. if err != nil {
  329. fmt.Println("Getres.PublicGetDate Err:", err.Error())
  330. utils.FileLog.Info(err.Error())
  331. return
  332. }
  333. //fmt.Println(body)
  334. br.Msg = "获取成功!"
  335. br.Ret = 200
  336. br.Success = true
  337. br.Data = ApifoxModal
  338. }