12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package eta
- import (
- "fmt"
- "hongze/hz_crm_eta/global"
- "time"
- )
- type ClassifyMenu struct {
- MenuId int `gorm:"column:menu_id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'子目录ID'"`
- MenuName string `gorm:"column:menu_name;default:;NOT NULL;comment:'子目录名称'"`
- ClassifyId int `gorm:"column:classify_id;default:0;NOT NULL;comment:'分类ID'"`
- Sort int `gorm:"column:sort;default:0;NOT NULL;comment:'排序'"`
- CreateTime time.Time `gorm:"column:create_time;default:NULL;comment:'创建时间'"`
- ModifyTime time.Time `gorm:"column:modify_time;default:NULL;comment:'更新时间'"`
- }
- func (c *ClassifyMenu) TableName() string {
- return "classify_menu"
- }
- // GetClassifyMenuList 获取子目录列表
- func (c *ClassifyMenu) GetClassifyMenuList(condition string, pars []interface{}) (items []*ClassifyMenu, err error) {
- // todo 当condition为空时
- err = global.MYSQL["rddp"].Model(c).Where(condition, pars...).Order("sort ASC, create_time ASC").Scan(&items).Error
- return
- }
- // InsertAndUpdateClassifyMenu 新增/编辑/删除分类子目录
- func InsertAndUpdateClassifyMenu(insertMenus []*ClassifyMenu, editMenus []*ClassifyMenu, deleteMenuIds []int) (err error) {
- tx := global.MYSQL["rddp"].Begin()
- defer func() {
- if err != nil {
- tx.Rollback()
- } else {
- tx.Commit()
- }
- }()
- // 编辑
- sql := ``
- if len(editMenus) > 0 {
- for i := range editMenus {
- sql = fmt.Sprintf(`UPDATE classify_menu SET menu_name = '%s', sort = %d, modify_time = NOW() WHERE menu_id = %d`,
- editMenus[i].MenuName, editMenus[i].Sort, editMenus[i].MenuId)
- if e := tx.Exec(sql).Error; e != nil {
- err = e
- return
- }
- }
- }
- // 删除
- if len(deleteMenuIds) > 0 {
- for i := range deleteMenuIds {
- sql = fmt.Sprintf(`DELETE FROM classify_menu WHERE menu_id = %d LIMIT 1`, deleteMenuIds[i])
- if e := tx.Exec(sql).Error; e != nil {
- err = e
- return
- }
- // 删除关联关系
- sql = fmt.Sprintf(`DELETE FROM classify_menu_relation WHERE menu_id = %d`, deleteMenuIds[i])
- if e := tx.Exec(sql).Error; e != nil {
- err = e
- return
- }
- }
- }
- // 新增
- if len(insertMenus) > 0 {
- e := tx.CreateInBatches(insertMenus, len(insertMenus)).Error
- if e != nil {
- err = e
- return
- }
- }
- return
- }
|