future_good_chart_info.go 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. package data_manage
  2. import (
  3. "eta_gn/eta_api/global"
  4. "eta_gn/eta_api/utils"
  5. "fmt"
  6. "time"
  7. )
  8. func EditFutureGoodChartEnInfoAndEdbEnInfo(chartInfoId int, chartNameEn string, edbInfoId int, edbNameEn, edbUnitEn string) (err error) {
  9. to := global.DmSQL["data"].Begin()
  10. defer func() {
  11. if err != nil {
  12. _ = to.Rollback()
  13. } else {
  14. _ = to.Commit()
  15. }
  16. }()
  17. sql := ` UPDATE chart_info
  18. SET
  19. chart_name_en =?,
  20. modify_time = NOW()
  21. WHERE chart_info_id = ?`
  22. err = to.Exec(sql, chartNameEn, chartInfoId).Error
  23. if err != nil {
  24. fmt.Println("UPDATE chart_info Err:", err.Error())
  25. return err
  26. }
  27. var count int
  28. csql := `SELECT COUNT(1) AS count FROM chart_edb_mapping WHERE chart_info_id=? AND edb_info_id=? AND source = 1 `
  29. err = to.Raw(csql, chartInfoId, edbInfoId).Scan(&count).Error
  30. if err != nil {
  31. fmt.Println("QueryRow Err:", err.Error())
  32. return err
  33. }
  34. if count > 0 {
  35. msql := ` UPDATE edb_info
  36. SET edb_name_en = ?,
  37. unit_en = ?,
  38. modify_time = NOW()
  39. WHERE edb_info_id = ? `
  40. err = to.Exec(msql, edbNameEn, edbUnitEn, edbInfoId).Error
  41. if err != nil {
  42. fmt.Println("edb_info Err:" + err.Error())
  43. return err
  44. }
  45. }
  46. return
  47. }
  48. type EditFutureGoodChartInfoBaseReq struct {
  49. ChartInfoId int `description:"图表ID"`
  50. ChartName string `description:"图表名称(根据当前语言版本不同而不同)"`
  51. ProfitName string `description:"利润名称(根据当前语言版本不同而不同)"`
  52. FutureGoodName string `description:"期货合约名称(根据当前语言版本不同而不同)"`
  53. ChartEdbInfoList []*EditChartInfoEdbBaseItem `description:"指标及配置信息"`
  54. XDataList []string `description:"商品价格曲线的X轴数据"`
  55. }
  56. func EditBaseFutureGoodChartInfoAndEdbEnInfo(chartInfo *ChartInfo, req *EditFutureGoodChartInfoBaseReq, lang string) (err error) {
  57. to := global.DmSQL["data"].Begin()
  58. defer func() {
  59. if err != nil {
  60. _ = to.Rollback()
  61. } else {
  62. _ = to.Commit()
  63. }
  64. }()
  65. updateChartCols := make([]string, 0)
  66. switch lang {
  67. case utils.EnLangVersion:
  68. chartInfo.ChartNameEn = req.ChartName
  69. updateChartCols = append(updateChartCols, "ChartNameEn")
  70. default:
  71. chartInfo.ChartName = req.ChartName
  72. updateChartCols = append(updateChartCols, "ChartName")
  73. }
  74. chartInfo.ModifyTime = time.Now()
  75. updateChartCols = append(updateChartCols, "ModifyTime", "BarConfig")
  76. err = to.Select(updateChartCols).Updates(chartInfo).Error
  77. if err != nil {
  78. fmt.Println("UPDATE chart_info Err:", err.Error())
  79. return err
  80. }
  81. for _, v := range req.ChartEdbInfoList {
  82. msql := ` UPDATE edb_info SET modify_time = NOW() `
  83. pars := make([]interface{}, 0)
  84. switch lang {
  85. case utils.EnLangVersion:
  86. if v.EdbName != `` {
  87. msql += ` ,edb_name_en = ? `
  88. pars = append(pars, v.EdbName)
  89. }
  90. if v.Unit != `` {
  91. msql += ` ,unit_en = ? `
  92. pars = append(pars, v.Unit)
  93. }
  94. default:
  95. if v.EdbName != `` {
  96. msql += ` ,edb_name = ? `
  97. pars = append(pars, v.EdbName)
  98. }
  99. if v.Unit != `` {
  100. msql += ` ,unit = ? `
  101. pars = append(pars, v.Unit)
  102. }
  103. }
  104. msql += ` WHERE edb_info_id = ? `
  105. pars = append(pars, v.EdbInfoId)
  106. err = to.Exec(msql, pars...).Error
  107. if err != nil {
  108. fmt.Println("edb_info Err:" + err.Error())
  109. return err
  110. }
  111. }
  112. return
  113. }
  114. func EditFutureGoodProfitChartEnInfoAndEdbEnInfo(chartInfoId int, chartNameEn string, edbInfoId int, edbNameEn, edbUnitEn, profitNameEn string) (err error) {
  115. to := global.DmSQL["data"].Begin()
  116. defer func() {
  117. if err != nil {
  118. _ = to.Rollback()
  119. } else {
  120. _ = to.Commit()
  121. }
  122. }()
  123. sql := ` UPDATE chart_info
  124. SET chart_name_en =?,modify_time = NOW()
  125. WHERE chart_info_id = ?`
  126. err = to.Exec(sql, chartNameEn, chartInfoId).Error
  127. if err != nil {
  128. fmt.Println("UPDATE chart_info Err:", err.Error())
  129. return
  130. }
  131. sql = ` UPDATE edb_info
  132. SET edb_name_en = ?,unit_en = ?,modify_time = NOW()
  133. WHERE edb_info_id = ? `
  134. err = to.Exec(sql, edbNameEn, edbUnitEn, edbInfoId).Error
  135. if err != nil {
  136. fmt.Println("edb_info Err:" + err.Error())
  137. return
  138. }
  139. sql = ` UPDATE chart_info_future_good_profit
  140. SET profit_name_en = ?,modify_time = NOW()
  141. WHERE chart_info_id = ? `
  142. err = to.Exec(sql, profitNameEn, chartInfoId).Error
  143. if err != nil {
  144. fmt.Println("chart_info_future_good_profit Err:" + err.Error())
  145. return
  146. }
  147. return
  148. }
  149. func EditBaseFutureGoodProfitChartInfoAndEdbEnInfo(chartInfo *ChartInfo, req *EditFutureGoodChartInfoBaseReq, lang string) (err error) {
  150. to := global.DmSQL["data"].Begin()
  151. defer func() {
  152. if err != nil {
  153. _ = to.Rollback()
  154. } else {
  155. _ = to.Commit()
  156. }
  157. }()
  158. updateChartCols := make([]string, 0)
  159. switch lang {
  160. case utils.EnLangVersion:
  161. chartInfo.ChartNameEn = req.ChartName
  162. updateChartCols = append(updateChartCols, "ChartNameEn")
  163. default:
  164. chartInfo.ChartName = req.ChartName
  165. updateChartCols = append(updateChartCols, "ChartName")
  166. }
  167. chartInfo.ModifyTime = time.Now()
  168. updateChartCols = append(updateChartCols, "ModifyTime", "ExtraConfig")
  169. err = to.Select(updateChartCols).Updates(chartInfo).Error
  170. if err != nil {
  171. fmt.Println("UPDATE chart_info Err:", err.Error())
  172. return err
  173. }
  174. var sql string
  175. for _, v := range req.ChartEdbInfoList {
  176. msql := ` UPDATE edb_info SET modify_time = NOW() `
  177. pars := make([]interface{}, 0)
  178. switch lang {
  179. case utils.EnLangVersion:
  180. if v.EdbName != `` {
  181. msql += ` ,edb_name_en = ? `
  182. pars = append(pars, v.EdbName)
  183. }
  184. if v.Unit != `` {
  185. msql += ` ,unit_en = ? `
  186. pars = append(pars, v.Unit)
  187. }
  188. default:
  189. if v.EdbName != `` {
  190. msql += ` ,edb_name = ? `
  191. pars = append(pars, v.EdbName)
  192. }
  193. if v.Unit != `` {
  194. msql += ` ,unit = ? `
  195. pars = append(pars, v.Unit)
  196. }
  197. }
  198. msql += ` WHERE edb_info_id = ? `
  199. pars = append(pars, v.EdbInfoId)
  200. err = to.Exec(msql, pars...).Error
  201. if err != nil {
  202. fmt.Println("edb_info Err:" + err.Error())
  203. return err
  204. }
  205. }
  206. switch lang {
  207. case utils.EnLangVersion:
  208. sql = ` UPDATE chart_info_future_good_profit SET profit_name_en = ?,modify_time = NOW() WHERE chart_info_id = ? `
  209. default:
  210. sql = ` UPDATE chart_info_future_good_profit SET profit_name = ?,modify_time = NOW() WHERE chart_info_id = ? `
  211. }
  212. err = to.Exec(sql, req.ProfitName, chartInfo.ChartInfoId).Error
  213. if err != nil {
  214. fmt.Println("chart_info_future_good_profit Err:" + err.Error())
  215. return
  216. }
  217. return
  218. }