config.go 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. package utils
  2. import (
  3. "fmt"
  4. "strconv"
  5. beeLogger "github.com/beego/bee/v2/logger"
  6. "github.com/beego/beego/v2/server/web"
  7. )
  8. var (
  9. RunMode string //运行模式
  10. )
  11. // 公共api内部服务调用
  12. var (
  13. // EDB_LIB_URL 公共指标库
  14. EDB_LIB_URL string
  15. APP_EDB_LIB_NAME_EN string
  16. EDB_LIB_Md5_KEY string
  17. OpUserId int // 操作人id
  18. OpUserRealName string // 操作人真实名称
  19. )
  20. // 弘则
  21. const (
  22. APPID = "SJCrpOPvagscPxEv"
  23. SECRET = "gLLjT72uFHQZEFtaFCuoZegD1z2ezfyX"
  24. )
  25. // 日志配置
  26. var (
  27. LogPath string //调用过程中的日志存放地址
  28. LogFile string
  29. BinLogPath string //数据库相关的日志存放地址
  30. BinLogFile string
  31. LogMaxDays int //日志最大保留天数
  32. )
  33. // 涌益生猪
  34. var (
  35. YongyiFilePath string //excel文件地址
  36. YongyiReadFilePath string //已读的excel文件地址
  37. YongyiOpen string //是否配置涌益生猪数据源,1已配置
  38. YongyiDownloadHost string
  39. )
  40. // 中国煤炭网
  41. var (
  42. CoalMineFilePath string //excel文件地址
  43. CoalMineOpen string //是否配置中国煤炭网数据源,1已配置
  44. CoalMailAttachmentScriptPath string // 获取邮件附件的脚本目录
  45. CoalMailAttachmentOpen string // 获取邮件附件功能,1已配置
  46. CoalMailAttachmentTime string // 获取邮件附件功能时间
  47. CoalMailAttachmentPythonVersion string // 获取邮件附件功能python版本
  48. )
  49. // 汾渭煤炭
  50. var (
  51. FenweiFileDir string // excel文件目录
  52. FenweiOldFileDir string // 已读取过的excel文件目录
  53. FenweiOpen string // 是否配置汾渭数据源
  54. FenweiNetOpen string // 是否配置汾渭网页数据源
  55. FenweiNetUseName string // 汾渭登录账号
  56. FenweiNetPassword string // 汾渭登录密码
  57. FenweiNetJsonPath string // 汾渭json文件地址
  58. )
  59. // 煤炭江湖
  60. var (
  61. MtjhFilePath string //excel文件地址
  62. MtjhOpen string //是否配置煤炭江湖数据源,1已配置
  63. )
  64. // 粮油商务网
  65. var (
  66. LY_USERNAME string
  67. LY_PASSWORD string
  68. LY_JSON_PATH string
  69. LY_OPEN string
  70. )
  71. // 睿姿得数据
  72. var (
  73. RZD_TASK_TIME string
  74. RZD_USERNAME string
  75. RZD_PASSWORD string
  76. RZD_EXCEL_PATH string
  77. RZD_OPEN string
  78. RZD_DOWNLOAD_PATH string
  79. RZD_LOGIN_PATH string
  80. )
  81. // CCF化纤信息
  82. var (
  83. CCFOpen string // 是否配置CCF
  84. CCFCookieFile string // CCF登录Cookie
  85. CCFDataRuleFile string // CCF数据爬取规则
  86. CCFDailyTaskTime string // CCF数据日度任务时间
  87. CCFWeeklyTaskTime string // CCF数据周度任务时间
  88. CCFStockTaskTime string // CCF数据装置任务时间
  89. CCFUseName string // CCF登录账号
  90. CCFPassword string // CCF登录密码
  91. CCFDailyFetchNum int // CCF数据日度每次获取报告数量
  92. CCFWeeklyFetchNum int // CCF数据周度每次获取报告数量
  93. CCFStockFetchNum int // CCF数据装置每次获取报告数量
  94. CCFChartRuleFile string // CCF图表爬取规则
  95. CCFChartAdditionRuleFile string // CCF图表爬取附加规则
  96. CCFChartTaskTime string
  97. )
  98. var (
  99. OilchemAccount string
  100. OilchemPassword string
  101. OilchemCookieFile string
  102. OilchemOpen string
  103. OilchemDataInit string
  104. )
  105. var (
  106. HisugarAccount string
  107. HisugarPassword string
  108. HisugarOpen string
  109. )
  110. var TerminalCode string
  111. // 克拉克森
  112. var (
  113. ClarkSonsFilePath string //excel文件地址
  114. ClarkSonsOpen string //是否配置克拉克森数据源,1已配置
  115. )
  116. // minio配置
  117. var (
  118. MinIoAccessKeyId string
  119. MinIoAccessKeySecret string
  120. MinIoEndpoint string
  121. MinIoUseSSL string
  122. MinIoBucketName string
  123. MinIoUploadDir string
  124. MinIoViewHost string
  125. ChromePath string
  126. CommandPython string
  127. OssType string
  128. )
  129. func init() {
  130. tmpRunMode, err := web.AppConfig.String("run_mode")
  131. if err != nil {
  132. panic("配置文件读取run_mode错误 " + err.Error())
  133. }
  134. RunMode = tmpRunMode
  135. fmt.Println("RunMode:", RunMode)
  136. config, err := web.AppConfig.GetSection(RunMode)
  137. if err != nil {
  138. panic("配置文件读取错误 " + err.Error())
  139. }
  140. beeLogger.Log.Info(RunMode + " 模式")
  141. // 公共api内部服务调用
  142. {
  143. // 公共指标库相关
  144. EDB_LIB_URL = config["edb_lib_url"]
  145. APP_EDB_LIB_NAME_EN = config["app_edb_lib_name_en"]
  146. EDB_LIB_Md5_KEY = config["edb_lib_md5_key"]
  147. opUserIdStr := config["op_user_id"]
  148. if opUserIdStr != `` {
  149. OpUserId, err = strconv.Atoi(opUserIdStr)
  150. if err != nil {
  151. panic("配置文件中操作人配置错误 " + err.Error())
  152. }
  153. }
  154. OpUserRealName = config["op_user_real_name"]
  155. }
  156. //日志配置
  157. {
  158. LogPath = config["log_path"]
  159. LogFile = config["log_file"]
  160. BinLogPath = config["binlog_path"]
  161. BinLogFile = config["binlog_file"]
  162. logMaxDaysStr := config["log_max_day"]
  163. LogMaxDays, _ = strconv.Atoi(logMaxDaysStr)
  164. }
  165. //涌益咨询文件夹配置
  166. {
  167. YongyiFilePath = config["yongyi_file_path"]
  168. YongyiReadFilePath = config["yongyi_read_file_path"]
  169. YongyiOpen = config["yongyi_open"]
  170. YongyiDownloadHost = config["yongyi_download_host"]
  171. if YongyiDownloadHost == "" {
  172. YongyiDownloadHost = "http://127.0.0.1:7010/"
  173. }
  174. }
  175. //中国煤炭网文件夹配置
  176. {
  177. CoalMineFilePath = config["coal_mine_file_path"]
  178. CoalMineOpen = config["coal_mine_open"]
  179. CoalMailAttachmentScriptPath = config["coal_mail_attachment_script_path"]
  180. CoalMailAttachmentOpen = config["coal_mail_attachment_open"]
  181. CoalMailAttachmentTime = config["coal_mail_attachment_time"]
  182. CoalMailAttachmentPythonVersion = config["coal_mail_attachment_python_version"]
  183. }
  184. // 汾渭配置
  185. {
  186. FenweiOpen = config["fenwei_open"]
  187. FenweiFileDir = config["fenwei_file_dir"]
  188. FenweiOldFileDir = config["fenwei_old_file_dir"]
  189. FenweiNetOpen = config["fenwei_net_open"]
  190. FenweiNetUseName = config["fenwei_net_username"]
  191. FenweiNetPassword = config["fenwei_net_password"]
  192. FenweiNetJsonPath = config["fenwei_net_json_path"]
  193. }
  194. //煤炭江湖文件夹配置
  195. {
  196. MtjhFilePath = config["mtjh_file_path"]
  197. MtjhOpen = config["mtjh_open"]
  198. }
  199. TerminalCode = config["terminal_code"]
  200. // CCF化纤信息
  201. {
  202. CCFOpen = config["ccf_open"]
  203. CCFCookieFile = config["ccf_cookie_file"]
  204. CCFDataRuleFile = config["ccf_data_rule_file"]
  205. CCFDailyTaskTime = config["ccf_daily_task_time"]
  206. CCFWeeklyTaskTime = config["ccf_weekly_task_time"]
  207. CCFStockTaskTime = config["ccf_stock_task_time"]
  208. CCFUseName = config["ccf_username"]
  209. CCFPassword = config["ccf_password"]
  210. CCFDailyFetchNum, _ = strconv.Atoi(config["ccf_daily_fetch_num"])
  211. if CCFDailyFetchNum <= 0 {
  212. CCFDailyFetchNum = 7
  213. }
  214. CCFWeeklyFetchNum, _ = strconv.Atoi(config["ccf_weekly_fetch_num"])
  215. if CCFWeeklyFetchNum <= 0 {
  216. CCFWeeklyFetchNum = 3
  217. }
  218. CCFStockFetchNum, _ = strconv.Atoi(config["ccf_stock_fetch_num"])
  219. if CCFStockFetchNum <= 0 {
  220. CCFStockFetchNum = 3
  221. }
  222. CCFChartRuleFile = config["ccf_chart_rule_file"]
  223. if CCFChartRuleFile == "" {
  224. CCFChartRuleFile = "static/ccf_chart_rule.json"
  225. }
  226. if CCFChartAdditionRuleFile == "" {
  227. CCFChartAdditionRuleFile = "static/ccf_chart_addition_rule.json"
  228. }
  229. CCFChartTaskTime = config["ccf_chart_task_time"]
  230. }
  231. {
  232. LY_USERNAME = config["ly_username"]
  233. LY_PASSWORD = config["ly_password"]
  234. LY_JSON_PATH = config["ly_json_path"]
  235. LY_OPEN = config["ly_open"]
  236. }
  237. {
  238. RZD_TASK_TIME = config["rzd_task_time"]
  239. RZD_USERNAME = config["rzd_username"]
  240. RZD_PASSWORD = config["rzd_password"]
  241. RZD_EXCEL_PATH = config["rzd_excel_path"]
  242. RZD_OPEN = config["rzd_open"]
  243. RZD_DOWNLOAD_PATH = config["rzd_download_path"]
  244. RZD_LOGIN_PATH = config["rzd_login_path"]
  245. }
  246. // 隆众数据
  247. {
  248. OilchemAccount = config["oilchem_account"]
  249. OilchemPassword = config["oilchem_password"]
  250. OilchemCookieFile = config["oilchem_cookie_file"]
  251. OilchemOpen = config["oilchem_open"]
  252. OilchemDataInit = config["oilchem_data_init"]
  253. }
  254. // 泛糖科技
  255. {
  256. HisugarAccount = config["hisugar_account"]
  257. HisugarPassword = config["hisugar_password"]
  258. HisugarOpen = config["hisugar_open"]
  259. }
  260. //克拉克森文件夹配置
  261. {
  262. ClarkSonsFilePath = config["clarksons_file_path"]
  263. ClarkSonsOpen = config["clarksons_open"]
  264. }
  265. //PDF生成配置
  266. {
  267. MinIoAccessKeyId = config["minio_access_key_id"]
  268. MinIoAccessKeySecret = config["minio_access_key_secret"]
  269. MinIoEndpoint = config["minio_endpoint"]
  270. MinIoUseSSL = config["minio_use_ssl"]
  271. MinIoBucketName = config["minio_bucket_name"]
  272. MinIoUploadDir = config["minio_upload_dir"]
  273. MinIoViewHost = config["minio_view_host"]
  274. ChromePath = config["chrome_path"]
  275. CommandPython = config["command_python"]
  276. if CommandPython == "" {
  277. CommandPython = "python3"
  278. }
  279. OssType = config["oss_type"]
  280. if OssType == "" {
  281. OssType = MINIO
  282. }
  283. }
  284. }
  285. //修改接口文档
  286. //http://8.136.199.33:8300/swagger/