yidong.go 9.0 KB

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