english_classify.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package models
  2. import (
  3. "eta_gn/eta_api/global"
  4. "fmt"
  5. )
  6. // UpdateEnglishClassifySortByParentId 根据父类id更新排序
  7. func UpdateEnglishClassifySortByParentId(parentId, permissionId, nowSort int, updateSort string) (err error) {
  8. //o := orm.NewOrmUsingDB("rddp")
  9. sql := ` update english_classify set sort = ` + updateSort + ` WHERE parent_id=? AND sort > ? `
  10. if permissionId > 0 {
  11. sql += ` or ( id > ` + fmt.Sprint(permissionId) + ` and sort = ` + fmt.Sprint(nowSort) + `)`
  12. }
  13. //_, err = o.Raw(sql, parentId, nowSort).Exec()
  14. err = global.DmSQL["rddp"].Exec(sql, parentId, nowSort).Error
  15. return
  16. }
  17. // GetMaxSortByParentId 获取最大的排序值
  18. func (classifyInfo *EnglishClassify) GetMaxSortByParentId(parentId int) (maxSort int, err error) {
  19. //o := orm.NewOrmUsingDB("rddp")
  20. sql := `SELECT max(sort) AS sort FROM english_classify WHERE parent_id = ? `
  21. //err = o.Raw(sql, parentId).QueryRow(&maxSort)
  22. err = global.DmSQL["rddp"].Raw(sql, parentId).Scan(&maxSort).Error
  23. return
  24. }
  25. // GetMaxSort 获取最大的排序值
  26. func (classifyInfo *EnglishClassify) GetMaxSort() (maxSort int, err error) {
  27. //o := orm.NewOrmUsingDB("rddp")
  28. sql := `SELECT max(sort) AS sort FROM english_classify`
  29. //err = o.Raw(sql).QueryRow(&maxSort)
  30. err = global.DmSQL["rddp"].Raw(sql).Scan(&maxSort).Error
  31. return
  32. }
  33. // GetFirstClassifyByParentId 获取当前父级分类下,且排序数相同 的排序第一条的数据
  34. func (classifyInfo *EnglishClassify) GetFirstClassifyByParentId(parentId int) (item *Classify, err error) {
  35. //o := orm.NewOrmUsingDB("rddp")
  36. sql := `SELECT * FROM english_classify WHERE parent_id = ? order by sort asc, id asc limit 1`
  37. //err = o.Raw(sql, parentId).QueryRow(&item)
  38. err = global.DmSQL["rddp"].Raw(sql, parentId).First(&item).Error
  39. return
  40. }
  41. type EnglishClassifyMoveReq struct {
  42. ClassifyId int `description:"分类ID"`
  43. PrevClassifyId int `description:"上一个兄弟节点分类id"`
  44. NextClassifyId int `description:"下一个兄弟节点分类id"`
  45. }
  46. type EnClassifyAddReq struct {
  47. EnPermissions []int `description:"权限IDs"`
  48. ClassifyName string `description:"分类名称"`
  49. ParentId int `description:"父级分类id"`
  50. }
  51. type EnClassifyEditReq struct {
  52. ClassifyId int `description:"分类ID"`
  53. EnClassifyAddReq
  54. }