chart_variety_mapping.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package cross_variety
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "github.com/beego/beego/v2/client/orm"
  6. "time"
  7. )
  8. // ChartVarietyMapping
  9. // @Description: 图表与品种的关系表
  10. type ChartVarietyMapping struct {
  11. Id int `orm:"column(id);pk" gorm:"primaryKey" `
  12. ChartInfoId int `description:"图表id"`
  13. ChartVarietyId int `description:"品种id"`
  14. ModifyTime time.Time `description:"修改时间"`
  15. CreateTime time.Time `description:"创建时间"`
  16. }
  17. // GetChartVarietyMappingList
  18. // @Description: 获取图表与品种的关系列表表
  19. // @author: Roc
  20. // @datetime 2023-11-24 15:22:36
  21. // @param chartInfoId int
  22. // @return items []*ChartVarietyMapping
  23. // @return err error
  24. func GetChartVarietyMappingList(chartInfoId int) (items []*ChartVarietyMapping, err error) {
  25. o := orm.NewOrmUsingDB("data")
  26. sql := `SELECT * FROM chart_variety_mapping WHERE chart_info_id = ? `
  27. _, err = o.Raw(sql, chartInfoId).QueryRows(&items)
  28. return
  29. }
  30. // GetCountChartByVarietyId
  31. // @Description: 根据品种id获取引用该标签的图表数量
  32. // @author: Roc
  33. // @datetime 2023-11-27 10:41:46
  34. // @param tagId int
  35. // @return total int64
  36. // @return err error
  37. func GetCountChartByVarietyId(varietyId int) (total int64, err error) {
  38. sql := `SELECT count(1) total FROM chart_info AS a JOIN
  39. chart_variety_mapping AS b on a.chart_info_id = b.chart_info_id
  40. WHERE b.chart_variety_id = ? `
  41. err = global.DbMap[utils.DbNameIndex].Raw(sql, varietyId).Scan(&total).Error
  42. return
  43. }
  44. // GetChartVarietyMappingListByChartInfoIdList
  45. // @Description: 根据图表id列表获取图表与品种的关系列表
  46. // @author: Roc
  47. // @datetime 2023-11-24 15:22:36
  48. // @param chartInfoId int
  49. // @return items []*ChartVarietyMapping
  50. // @return err error
  51. func GetChartVarietyMappingListByChartInfoIdList(chartInfoIdList []int) (items []*ChartVarietyMapping, err error) {
  52. num := len(chartInfoIdList)
  53. if num <= 0 {
  54. return
  55. }
  56. sql := `SELECT * FROM chart_variety_mapping WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) `
  57. err = global.DbMap[utils.DbNameIndex].Raw(sql, chartInfoIdList).Find(&chartInfoIdList).Error
  58. return
  59. }