edb_info.go 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. package data
  2. import (
  3. "context"
  4. "errors"
  5. "eta/eta_task/models/data_manage"
  6. "eta/eta_task/services/alarm_msg"
  7. "eta/eta_task/utils"
  8. "fmt"
  9. "strings"
  10. "sync"
  11. )
  12. // RefreshDataFromThs 刷新同花顺数据
  13. func RefreshDataFromThs(wg *sync.WaitGroup) (err error) {
  14. defer func() {
  15. if err != nil {
  16. fmt.Println("RefreshDataFromThs Err:" + err.Error())
  17. go alarm_msg.SendAlarmMsg("RefreshDataFromThs ErrMsg:"+err.Error(), 3)
  18. }
  19. wg.Done()
  20. }()
  21. var condition string
  22. var pars []interface{}
  23. condition += " AND source=? "
  24. pars = append(pars, utils.DATA_SOURCE_THS)
  25. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  26. if err != nil {
  27. err = errors.New("GetEdbInfoByCondition:" + err.Error())
  28. return
  29. }
  30. for _, v := range items {
  31. startDate := ""
  32. if v.Frequency == "日度" {
  33. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  34. } else if v.Frequency == "周度" {
  35. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  36. } else if v.Frequency == "月度" {
  37. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  38. } else if v.Frequency == "季度" {
  39. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  40. } else if v.Frequency == "年度" {
  41. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  42. } else {
  43. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  44. }
  45. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  46. if err != nil {
  47. return errors.New("RefreshEdbData Err:" + err.Error())
  48. }
  49. if resp.Ret != 200 {
  50. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  51. }
  52. }
  53. return err
  54. }
  55. // RefreshDataFromWind 刷新万得数据
  56. func RefreshDataFromWind(wg *sync.WaitGroup) (err error) {
  57. errMsgList := make([]string, 0)
  58. defer func() {
  59. if err != nil {
  60. fmt.Println("RefreshDataFromWind Err:" + err.Error())
  61. go alarm_msg.SendAlarmMsg("RefreshDataFromWind ErrMsg:"+err.Error(), 3)
  62. }
  63. if len(errMsgList) > 0 {
  64. errMsg := "RefreshDataFromWind Err:" + strings.Join(errMsgList, "\n")
  65. fmt.Println(errMsg)
  66. go alarm_msg.SendAlarmMsg(errMsg, 3)
  67. }
  68. wg.Done()
  69. }()
  70. var condition string
  71. var pars []interface{}
  72. condition += ` AND source=? AND no_update = 0 `
  73. pars = append(pars, utils.DATA_SOURCE_WIND)
  74. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  75. if err != nil {
  76. return err
  77. }
  78. for _, v := range items {
  79. startDate := ""
  80. if v.Frequency == "日度" {
  81. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  82. } else if v.Frequency == "周度" {
  83. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  84. } else if v.Frequency == "月度" {
  85. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  86. } else if v.Frequency == "季度" {
  87. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  88. } else if v.Frequency == "年度" {
  89. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  90. } else {
  91. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  92. }
  93. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  94. if err != nil {
  95. errMsgList = append(errMsgList, v.EdbCode+"RefreshEdbData Err:"+err.Error())
  96. continue
  97. }
  98. if resp.Ret != 200 {
  99. errMsgList = append(errMsgList, v.EdbCode+";RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg)
  100. continue
  101. }
  102. }
  103. fmt.Println("wind刷新结束")
  104. return err
  105. }
  106. // RefreshDataFromPb 刷新彭博数据
  107. func RefreshDataFromPb(wg *sync.WaitGroup) (err error) {
  108. defer func() {
  109. if err != nil {
  110. fmt.Println("RefreshDataFromPb Err:" + err.Error())
  111. go alarm_msg.SendAlarmMsg("RefreshDataFromPb ErrMsg:"+err.Error(), 3)
  112. }
  113. wg.Done()
  114. }()
  115. var condition string
  116. var pars []interface{}
  117. condition += " AND source=? "
  118. pars = append(pars, utils.DATA_SOURCE_PB)
  119. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  120. if err != nil {
  121. return errors.New("GetEdbInfoByCondition:" + err.Error())
  122. }
  123. for _, v := range items {
  124. startDate := ""
  125. if v.Frequency == "日度" {
  126. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  127. } else if v.Frequency == "周度" {
  128. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  129. } else if v.Frequency == "月度" {
  130. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  131. } else if v.Frequency == "季度" {
  132. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  133. } else if v.Frequency == "年度" {
  134. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  135. } else {
  136. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  137. }
  138. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  139. if err != nil {
  140. return errors.New("RefreshEdbData Err:" + err.Error())
  141. }
  142. if resp.Ret != 200 {
  143. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  144. }
  145. }
  146. return err
  147. }
  148. // RefreshDataFromPbFinance 刷新彭博财务指标数据
  149. func RefreshDataFromPbFinance(wg *sync.WaitGroup) (err error) {
  150. defer func() {
  151. if err != nil {
  152. fmt.Println("RefreshDataFromPb Err:" + err.Error())
  153. //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromPb ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  154. go alarm_msg.SendAlarmMsg("RefreshDataFromPb ErrMsg:"+err.Error(), 3)
  155. }
  156. wg.Done()
  157. }()
  158. var condition string
  159. var pars []interface{}
  160. condition += " AND source=? "
  161. pars = append(pars, utils.DATA_SOURCE_PB_FINANCE)
  162. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  163. if err != nil {
  164. return errors.New("GetEdbInfoByCondition:" + err.Error())
  165. }
  166. for _, v := range items {
  167. startDate := ""
  168. if v.Frequency == "日度" {
  169. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  170. } else if v.Frequency == "周度" {
  171. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  172. } else if v.Frequency == "月度" {
  173. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  174. } else if v.Frequency == "季度" {
  175. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  176. } else if v.Frequency == "年度" {
  177. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  178. } else {
  179. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  180. }
  181. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  182. if err != nil {
  183. return errors.New("RefreshEdbData Err:" + err.Error())
  184. }
  185. if resp.Ret != 200 {
  186. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  187. }
  188. }
  189. return err
  190. }
  191. // RefreshDataFromCalculateAll 刷新所有计算指标
  192. func RefreshDataFromCalculateAll() (err error) {
  193. var errmsg string
  194. defer func() {
  195. if err != nil {
  196. utils.FileLog.Info("RefreshDataFromCalculateAll Err:" + err.Error())
  197. //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCalculateAll ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  198. go alarm_msg.SendAlarmMsg("RefreshDataFromCalculateAll ErrMsg:"+err.Error(), 3)
  199. }
  200. }()
  201. var condition string
  202. var pars []interface{}
  203. // 查询 普通指标的计算指标
  204. condition += " AND edb_type=? AND edb_info_type=? "
  205. pars = append(pars, 2, 0)
  206. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  207. if err != nil {
  208. return err
  209. }
  210. for _, v := range items {
  211. source := v.Source
  212. startDate := v.StartDate.Format(utils.FormatDate)
  213. if startDate == "0001-01-01" {
  214. continue
  215. }
  216. fmt.Println(v.EdbInfoId, v.EdbCode, v.EdbName, v.SourceName, source)
  217. fmt.Println("RefreshEdbCalculateData", v.EdbInfoId, v.EdbCode, startDate)
  218. result, err := RefreshEdbCalculateData(v.EdbInfoId, v.EdbCode, startDate)
  219. if err != nil {
  220. errmsg += v.EdbCode + ","
  221. err = errors.New("RefreshEdbCalculateData Err:" + err.Error())
  222. //return err
  223. continue
  224. }
  225. if result.Ret != 200 {
  226. errmsg += v.EdbCode + ","
  227. err = errors.New("RefreshEdbCalculateData err;msg:" + result.Msg + ";errMsg:" + result.ErrMsg)
  228. //return err
  229. continue
  230. }
  231. }
  232. return err
  233. }
  234. // RefreshPredictDataFromCalculateAll 刷新所有预测计算指标
  235. func RefreshPredictDataFromCalculateAll() (err error) {
  236. defer func() {
  237. if err != nil {
  238. utils.FileLog.Info("RefreshDataFromCalculateAll Err:" + err.Error())
  239. go alarm_msg.SendAlarmMsg("RefreshDataFromCalculateAll ErrMsg:"+err.Error(), 3)
  240. }
  241. }()
  242. var condition string
  243. var pars []interface{}
  244. // 查询 普通指标的计算指标
  245. condition += " AND edb_type=? AND edb_info_type=? "
  246. pars = append(pars, 2, 1)
  247. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  248. if err != nil {
  249. return err
  250. }
  251. for _, v := range items {
  252. source := v.Source
  253. startDate := v.StartDate.Format(utils.FormatDate)
  254. if startDate == "0001-01-01" {
  255. continue
  256. }
  257. fmt.Println(v.EdbInfoId, v.EdbCode, v.EdbName, v.SourceName, source, "======RefreshPredictEdbCalculateData:", startDate)
  258. result, err := RefreshPredictEdbCalculateData(v.EdbInfoId, v.EdbCode, startDate)
  259. if err != nil {
  260. err = errors.New("RefreshPredictEdbCalculateData Err:" + err.Error())
  261. return err
  262. }
  263. if result.Ret != 200 {
  264. err = errors.New("RefreshPredictEdbCalculateData err;msg:" + result.Msg + ";errMsg:" + result.ErrMsg)
  265. return err
  266. }
  267. }
  268. return err
  269. }
  270. // RefreshDataFromManual 刷新手工指标数据
  271. func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
  272. defer func() {
  273. if err != nil {
  274. fmt.Println("RefreshDataFromManual Err:" + err.Error())
  275. go alarm_msg.SendAlarmMsg("RefreshDataFromManual ErrMsg:"+err.Error(), 3)
  276. }
  277. wg.Done()
  278. }()
  279. var condition string
  280. var pars []interface{}
  281. condition += " AND source=? "
  282. pars = append(pars, utils.DATA_SOURCE_MANUAL)
  283. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  284. if err != nil {
  285. return errors.New("GetEdbInfoByCondition:" + err.Error())
  286. }
  287. for _, v := range items {
  288. startDate := v.StartDate.Format(utils.FormatDate)
  289. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  290. if err != nil {
  291. return errors.New("RefreshEdbData Err:" + err.Error())
  292. }
  293. if resp.Ret != 200 {
  294. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  295. }
  296. }
  297. return err
  298. }
  299. func ResetEdbInfoIsUpdate(cont context.Context) (err error) {
  300. go data_manage.ResetEdbInfoIsUpdate()
  301. return nil
  302. }
  303. // RefreshDataFromGoogleTravel RefreshDataFromEic 刷新谷歌出行数据
  304. func RefreshDataFromGoogleTravel(wg *sync.WaitGroup) (err error) {
  305. defer func() {
  306. if err != nil {
  307. fmt.Println("RefreshDataFromGoogleTravel Err:" + err.Error())
  308. go alarm_msg.SendAlarmMsg("RefreshDataFromGoogleTravel ErrMsg:"+err.Error(), 3)
  309. }
  310. wg.Done()
  311. }()
  312. var condition string
  313. var pars []interface{}
  314. condition += " AND source=? "
  315. pars = append(pars, utils.DATA_SOURCE_GOOGLE_TRAVEL)
  316. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  317. if err != nil {
  318. return errors.New("GetEdbInfoByCondition:" + err.Error())
  319. }
  320. for _, v := range items {
  321. startDate := ""
  322. if v.Frequency == "日度" {
  323. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  324. } else if v.Frequency == "周度" {
  325. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  326. } else if v.Frequency == "月度" {
  327. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  328. } else if v.Frequency == "季度" {
  329. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  330. } else if v.Frequency == "年度" {
  331. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  332. } else {
  333. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  334. }
  335. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  336. if err != nil {
  337. return errors.New("RefreshEdbData Err:" + err.Error())
  338. }
  339. if resp.Ret != 200 {
  340. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  341. }
  342. }
  343. return err
  344. }
  345. // RefreshDataFromEiaSteo 刷新eia steo 报告数据
  346. func RefreshDataFromEiaSteo(wg *sync.WaitGroup) (err error) {
  347. defer func() {
  348. if err != nil {
  349. fmt.Println("RefreshDataFromEiaSteo Err:" + err.Error())
  350. go alarm_msg.SendAlarmMsg("RefreshDataFromEiaSteo ErrMsg:"+err.Error(), 3)
  351. }
  352. wg.Done()
  353. }()
  354. var condition string
  355. var pars []interface{}
  356. condition += " AND source=? "
  357. pars = append(pars, utils.DATA_SOURCE_EIA_STEO)
  358. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  359. if err != nil {
  360. return errors.New("GetEdbInfoByCondition:" + err.Error())
  361. }
  362. for _, v := range items {
  363. startDate := ""
  364. if v.Frequency == "日度" {
  365. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  366. } else if v.Frequency == "周度" {
  367. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  368. } else if v.Frequency == "月度" {
  369. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  370. } else if v.Frequency == "季度" {
  371. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  372. } else if v.Frequency == "年度" {
  373. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  374. } else {
  375. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  376. }
  377. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  378. if err != nil {
  379. return errors.New("RefreshDataFromEiaSteoData Err:" + err.Error())
  380. }
  381. if resp.Ret != 200 {
  382. return errors.New("RefreshDataFromEiaSteoData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  383. }
  384. }
  385. return err
  386. }
  387. // RefreshDataFromZz 刷新郑商所数据
  388. func RefreshDataFromZz(wg *sync.WaitGroup) (err error) {
  389. defer func() {
  390. if err != nil {
  391. fmt.Println("RefreshDataFromZz Err:" + err.Error())
  392. go alarm_msg.SendAlarmMsg("RefreshDataFromZz ErrMsg:"+err.Error(), 3)
  393. }
  394. wg.Done()
  395. }()
  396. var condition string
  397. var pars []interface{}
  398. condition += " AND source=? "
  399. pars = append(pars, utils.DATA_SOURCE_ZZ)
  400. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  401. if err != nil {
  402. return errors.New("GetEdbInfoByCondition:" + err.Error())
  403. }
  404. for _, v := range items {
  405. startDate := ""
  406. if v.Frequency == "日度" {
  407. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  408. } else if v.Frequency == "周度" {
  409. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  410. } else if v.Frequency == "月度" {
  411. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  412. } else if v.Frequency == "季度" {
  413. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  414. } else if v.Frequency == "年度" {
  415. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  416. } else {
  417. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  418. }
  419. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  420. if err != nil {
  421. return errors.New("RefreshEdbData Err:" + err.Error())
  422. }
  423. if resp.Ret != 200 {
  424. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  425. }
  426. }
  427. return err
  428. }
  429. // RefreshDataFromSh 刷新上期所数据
  430. func RefreshDataFromSh(wg *sync.WaitGroup) (err error) {
  431. defer func() {
  432. if err != nil {
  433. fmt.Println("RefreshDataFromSh Err:" + err.Error())
  434. go alarm_msg.SendAlarmMsg("RefreshDataFromSh ErrMsg:"+err.Error(), 3)
  435. }
  436. wg.Done()
  437. }()
  438. var condition string
  439. var pars []interface{}
  440. condition += " AND source=? "
  441. pars = append(pars, utils.DATA_SOURCE_SH)
  442. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  443. if err != nil {
  444. return errors.New("GetEdbInfoByCondition:" + err.Error())
  445. }
  446. for _, v := range items {
  447. startDate := ""
  448. if v.Frequency == "日度" {
  449. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  450. } else if v.Frequency == "周度" {
  451. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  452. } else if v.Frequency == "月度" {
  453. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  454. } else if v.Frequency == "季度" {
  455. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  456. } else if v.Frequency == "年度" {
  457. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  458. } else {
  459. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  460. }
  461. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  462. if err != nil {
  463. return errors.New("RefreshEdbData Err:" + err.Error())
  464. }
  465. if resp.Ret != 200 {
  466. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  467. }
  468. }
  469. return err
  470. }
  471. // RefreshDataFromShfe 刷新上期能源数据
  472. func RefreshDataFromShfe(wg *sync.WaitGroup) (err error) {
  473. defer func() {
  474. if err != nil {
  475. fmt.Println("RefreshDataFromShfe Err:" + err.Error())
  476. go alarm_msg.SendAlarmMsg("RefreshDataFromShfe ErrMsg:"+err.Error(), 3)
  477. }
  478. wg.Done()
  479. }()
  480. var condition string
  481. var pars []interface{}
  482. condition += " AND source=? "
  483. pars = append(pars, utils.DATA_SOURCE_SHFE)
  484. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  485. if err != nil {
  486. return errors.New("GetEdbInfoByCondition:" + err.Error())
  487. }
  488. for _, v := range items {
  489. startDate := ""
  490. if v.Frequency == "日度" {
  491. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  492. } else if v.Frequency == "周度" {
  493. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  494. } else if v.Frequency == "月度" {
  495. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  496. } else if v.Frequency == "季度" {
  497. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  498. } else if v.Frequency == "年度" {
  499. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  500. } else {
  501. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  502. }
  503. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  504. if err != nil {
  505. return errors.New("RefreshEdbData Err:" + err.Error())
  506. }
  507. if resp.Ret != 200 {
  508. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  509. }
  510. }
  511. return err
  512. }
  513. // RefreshDataFromCffex 刷新中金所数据
  514. func RefreshDataFromCffex(wg *sync.WaitGroup) (err error) {
  515. defer func() {
  516. if err != nil {
  517. fmt.Println("RefreshDataFromCffex Err:" + err.Error())
  518. go alarm_msg.SendAlarmMsg("RefreshDataFromCffex ErrMsg:"+err.Error(), 3)
  519. }
  520. wg.Done()
  521. }()
  522. var condition string
  523. var pars []interface{}
  524. condition += " AND source=? "
  525. pars = append(pars, utils.DATA_SOURCE_CFFEX)
  526. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  527. if err != nil {
  528. return errors.New("GetEdbInfoByCondition:" + err.Error())
  529. }
  530. for _, v := range items {
  531. startDate := ""
  532. if v.Frequency == "日度" {
  533. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  534. } else if v.Frequency == "周度" {
  535. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  536. } else if v.Frequency == "月度" {
  537. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  538. } else if v.Frequency == "季度" {
  539. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  540. } else if v.Frequency == "年度" {
  541. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  542. } else {
  543. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  544. }
  545. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  546. if err != nil {
  547. return errors.New("RefreshEdbData Err:" + err.Error())
  548. }
  549. if resp.Ret != 200 {
  550. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  551. }
  552. }
  553. return err
  554. }
  555. // RefreshDataFromDl 刷新大商所数据
  556. func RefreshDataFromDl(wg *sync.WaitGroup) (err error) {
  557. defer func() {
  558. if err != nil {
  559. fmt.Println("RefreshDataFromDl Err:" + err.Error())
  560. go alarm_msg.SendAlarmMsg("RefreshDataFromDl ErrMsg:"+err.Error(), 3)
  561. }
  562. wg.Done()
  563. }()
  564. var condition string
  565. var pars []interface{}
  566. condition += " AND source=? "
  567. pars = append(pars, utils.DATA_SOURCE_DL)
  568. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  569. if err != nil {
  570. return errors.New("GetEdbInfoByCondition:" + err.Error())
  571. }
  572. for _, v := range items {
  573. startDate := ""
  574. if v.Frequency == "日度" {
  575. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  576. } else if v.Frequency == "周度" {
  577. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  578. } else if v.Frequency == "月度" {
  579. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  580. } else if v.Frequency == "季度" {
  581. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  582. } else if v.Frequency == "年度" {
  583. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  584. } else {
  585. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  586. }
  587. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  588. if err != nil {
  589. return errors.New("RefreshEdbData Err:" + err.Error())
  590. }
  591. if resp.Ret != 200 {
  592. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  593. }
  594. }
  595. return err
  596. }
  597. // 刷新有色数据
  598. func RefreshDataFromYs(wg *sync.WaitGroup) (err error) {
  599. defer func() {
  600. if err != nil {
  601. fmt.Println("RefreshDataFromYs Err:" + err.Error())
  602. //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromYs ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  603. go alarm_msg.SendAlarmMsg("RefreshDataFromYs ErrMsg:"+err.Error(), 3)
  604. }
  605. wg.Done()
  606. }()
  607. var condition string
  608. var pars []interface{}
  609. condition += " AND source=? "
  610. pars = append(pars, utils.DATA_SOURCE_YS)
  611. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  612. if err != nil {
  613. return errors.New("GetEdbInfoByCondition:" + err.Error())
  614. }
  615. for _, v := range items {
  616. startDate := ""
  617. if v.Frequency == "日度" {
  618. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  619. } else if v.Frequency == "周度" {
  620. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  621. } else if v.Frequency == "月度" {
  622. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  623. } else if v.Frequency == "季度" {
  624. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  625. } else if v.Frequency == "年度" {
  626. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  627. } else {
  628. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  629. }
  630. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  631. if err != nil {
  632. return errors.New("RefreshEdbData Err:" + err.Error())
  633. }
  634. if resp.Ret != 200 {
  635. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  636. }
  637. }
  638. return err
  639. }
  640. // 刷新钢联数据
  641. func RefreshDataFromGl(wg *sync.WaitGroup) (err error) {
  642. defer func() {
  643. if err != nil {
  644. fmt.Println("RefreshDataFromGl Err:" + err.Error())
  645. go alarm_msg.SendAlarmMsg("RefreshDataFromGl ErrMsg:"+err.Error(), 3)
  646. }
  647. wg.Done()
  648. }()
  649. var condition string
  650. var pars []interface{}
  651. condition += " AND source=? "
  652. pars = append(pars, utils.DATA_SOURCE_GL)
  653. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  654. if err != nil {
  655. return errors.New("GetEdbInfoByCondition:" + err.Error())
  656. }
  657. for _, v := range items {
  658. startDate := ""
  659. if v.Frequency == "日度" {
  660. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  661. } else if v.Frequency == "周度" {
  662. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  663. } else if v.Frequency == "月度" {
  664. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  665. } else if v.Frequency == "季度" {
  666. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  667. } else if v.Frequency == "年度" {
  668. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  669. } else {
  670. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  671. }
  672. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  673. if err != nil {
  674. return errors.New("RefreshEdbData Err:" + err.Error())
  675. }
  676. if resp.Ret != 200 {
  677. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  678. }
  679. }
  680. return err
  681. }
  682. // RefreshDataFromLt 刷新路透数据
  683. func RefreshDataFromLt(wg *sync.WaitGroup) (err error) {
  684. errMsgList := make([]string, 0)
  685. defer func() {
  686. if len(errMsgList) > 0 {
  687. fmt.Println("RefreshDataFromLt Err:", errMsgList)
  688. go alarm_msg.SendAlarmMsg("RefreshDataFromLt ErrMsg:"+strings.Join(errMsgList, `<br/>`), 3)
  689. }
  690. wg.Done()
  691. }()
  692. var condition string
  693. var pars []interface{}
  694. condition += " AND source=? "
  695. pars = append(pars, utils.DATA_SOURCE_LT)
  696. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  697. if err != nil {
  698. errMsgList = append(errMsgList, "GetEdbInfoByCondition:"+err.Error())
  699. return errors.New("GetEdbInfoByCondition:" + err.Error())
  700. }
  701. for _, v := range items {
  702. startDate := v.StartDate.Format(utils.FormatDate)
  703. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  704. if err != nil {
  705. errMsgList = append(errMsgList, "RefreshEdbData Err:"+err.Error())
  706. continue
  707. }
  708. if resp.Ret != 200 {
  709. errMsgList = append(errMsgList, "RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg)
  710. continue
  711. }
  712. }
  713. return err
  714. }
  715. // RefreshDataFromCoal 刷新煤炭网数据
  716. func RefreshDataFromCoal(wg *sync.WaitGroup) (err error) {
  717. defer func() {
  718. if err != nil {
  719. fmt.Println("RefreshDataFromCoal Err:" + err.Error())
  720. go alarm_msg.SendAlarmMsg("RefreshDataFromCoal ErrMsg:"+err.Error(), 3)
  721. }
  722. wg.Done()
  723. }()
  724. var condition string
  725. var pars []interface{}
  726. condition += " AND source=? "
  727. pars = append(pars, utils.DATA_SOURCE_COAL)
  728. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  729. if err != nil {
  730. return errors.New("GetEdbInfoByCondition:" + err.Error())
  731. }
  732. for _, v := range items {
  733. startDate := ""
  734. if v.Frequency == "日度" {
  735. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  736. } else if v.Frequency == "周度" {
  737. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  738. } else if v.Frequency == "月度" {
  739. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  740. } else if v.Frequency == "季度" {
  741. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  742. } else if v.Frequency == "年度" {
  743. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  744. } else {
  745. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  746. }
  747. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  748. if err != nil {
  749. return errors.New("RefreshEdbData Err:" + err.Error())
  750. }
  751. if resp.Ret != 200 {
  752. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  753. }
  754. }
  755. return err
  756. }
  757. // RefreshDataFromMysteelChemical 刷新钢联化工数据
  758. func RefreshDataFromMysteelChemical(wg *sync.WaitGroup) (err error) {
  759. defer func() {
  760. if err != nil {
  761. fmt.Println("RefreshDataFromMysteelChemical Err:" + err.Error())
  762. go alarm_msg.SendAlarmMsg("RefreshDataFromMysteelChemical ErrMsg:"+err.Error(), 3)
  763. }
  764. wg.Done()
  765. }()
  766. var condition string
  767. var pars []interface{}
  768. condition += " AND source=? "
  769. pars = append(pars, utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
  770. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  771. if err != nil {
  772. return errors.New("GetEdbInfoByCondition:" + err.Error())
  773. }
  774. for _, v := range items {
  775. startDate := ""
  776. if v.Frequency == "日度" {
  777. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  778. } else if v.Frequency == "周度" {
  779. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  780. } else if v.Frequency == "月度" {
  781. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  782. } else if v.Frequency == "季度" {
  783. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  784. } else if v.Frequency == "年度" {
  785. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  786. } else {
  787. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  788. }
  789. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  790. if err != nil {
  791. return errors.New("RefreshEdbData Err:" + err.Error())
  792. }
  793. if resp.Ret != 200 {
  794. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  795. }
  796. }
  797. return err
  798. }
  799. // RefreshDataFromComTrade 刷新 UN 数据
  800. func RefreshDataFromComTrade(wg *sync.WaitGroup) (err error) {
  801. defer func() {
  802. if err != nil {
  803. fmt.Println("RefreshDataFromComTrade Err:" + err.Error())
  804. go alarm_msg.SendAlarmMsg("RefreshDataFromComTrade ErrMsg:"+err.Error(), 3)
  805. }
  806. wg.Done()
  807. }()
  808. var condition string
  809. var pars []interface{}
  810. condition += " AND source=? "
  811. pars = append(pars, utils.DATA_SOURCE_COM_TRADE)
  812. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  813. if err != nil {
  814. return errors.New("GetEdbInfoByCondition:" + err.Error())
  815. }
  816. for _, v := range items {
  817. startDate := ""
  818. if v.Frequency == "日度" {
  819. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  820. } else if v.Frequency == "周度" {
  821. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  822. } else if v.Frequency == "月度" {
  823. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  824. } else if v.Frequency == "季度" {
  825. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  826. } else if v.Frequency == "年度" {
  827. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  828. } else {
  829. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  830. }
  831. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  832. if err != nil {
  833. return errors.New("RefreshDataFromComTrade Err:" + err.Error())
  834. }
  835. if resp.Ret != 200 {
  836. return errors.New("RefreshDataFromComTrade Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  837. }
  838. }
  839. return err
  840. }
  841. // RefreshDataFromSci 刷新 卓创 数据
  842. func RefreshDataFromSci(wg *sync.WaitGroup) (err error) {
  843. defer func() {
  844. if err != nil {
  845. fmt.Println("RefreshDataFromSci Err:" + err.Error())
  846. go alarm_msg.SendAlarmMsg("RefreshDataFromSci ErrMsg:"+err.Error(), 3)
  847. }
  848. wg.Done()
  849. }()
  850. var condition string
  851. var pars []interface{}
  852. condition += " AND source=? "
  853. pars = append(pars, utils.DATA_SOURCE_SCI)
  854. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  855. if err != nil {
  856. return errors.New("GetEdbInfoByCondition:" + err.Error())
  857. }
  858. for _, v := range items {
  859. startDate := ""
  860. if v.Frequency == "日度" {
  861. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  862. } else if v.Frequency == "周度" {
  863. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  864. } else if v.Frequency == "月度" {
  865. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  866. } else if v.Frequency == "季度" {
  867. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  868. } else if v.Frequency == "年度" {
  869. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  870. } else {
  871. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  872. }
  873. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  874. if err != nil {
  875. return errors.New("RefreshDataFromSci Err:" + err.Error())
  876. }
  877. if resp.Ret != 200 {
  878. return errors.New("RefreshDataFromSci Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  879. }
  880. }
  881. return err
  882. }
  883. // RefreshDataFromNationalStatistics 刷新统计局数据
  884. func RefreshDataFromNationalStatistics(wg *sync.WaitGroup) (err error) {
  885. defer func() {
  886. if err != nil {
  887. fmt.Println("RefreshDataFromNationalStatistics Err:" + err.Error())
  888. go alarm_msg.SendAlarmMsg("RefreshDataFromNationalStatistics ErrMsg:"+err.Error(), 3)
  889. }
  890. wg.Done()
  891. }()
  892. var condition string
  893. var pars []interface{}
  894. condition += ` AND source = ? `
  895. pars = append(pars, utils.DATA_SOURCE_NATIONAL_STATISTICS)
  896. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  897. if err != nil {
  898. return errors.New("GetEdbInfoByCondition:" + err.Error())
  899. }
  900. for _, v := range items {
  901. startDate := ""
  902. if v.Frequency == "日度" {
  903. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  904. } else if v.Frequency == "周度" {
  905. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  906. } else if v.Frequency == "月度" {
  907. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  908. } else if v.Frequency == "季度" {
  909. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  910. } else if v.Frequency == "年度" {
  911. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  912. } else {
  913. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  914. }
  915. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  916. if err != nil {
  917. return errors.New("RefreshDataFromNationalStatistics Err:" + err.Error())
  918. }
  919. if resp.Ret != 200 {
  920. return errors.New("RefreshDataFromNationalStatistics Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  921. }
  922. }
  923. return err
  924. }
  925. // RefreshDataFromEic 刷欧洲天然气数据
  926. func RefreshDataFromEic(wg *sync.WaitGroup) (err error) {
  927. defer func() {
  928. if err != nil {
  929. fmt.Println("RefreshDataFromEic Err:" + err.Error())
  930. go alarm_msg.SendAlarmMsg("RefreshDataFromEic ErrMsg:"+err.Error(), 3)
  931. }
  932. wg.Done()
  933. }()
  934. var condition string
  935. var pars []interface{}
  936. condition += " AND source=? "
  937. pars = append(pars, utils.DATA_SOURCE_GIE)
  938. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  939. if err != nil {
  940. return errors.New("GetEdbInfoByCondition:" + err.Error())
  941. }
  942. for _, v := range items {
  943. startDate := ""
  944. if v.Frequency == "日度" {
  945. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  946. } else if v.Frequency == "周度" {
  947. startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
  948. } else if v.Frequency == "月度" {
  949. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
  950. } else if v.Frequency == "季度" {
  951. startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
  952. } else if v.Frequency == "年度" {
  953. startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
  954. } else {
  955. startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
  956. }
  957. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
  958. if err != nil {
  959. return errors.New("RefreshEdbData Err:" + err.Error())
  960. }
  961. if resp.Ret != 200 {
  962. return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
  963. }
  964. }
  965. return err
  966. }