package stdlib import ( jyDocsRpcUtil "app.yhyue.com/moapp/jydocs/services/util" "errors" "gorm.io/gorm" "time" ) const DocOn = 1 const DocOff = 0 // 上架文档 func ChangeDocumentOn(id string, reason int32) error { // 查文档 docData := map[string]interface{}{} rs := jyDocsRpcUtil.GetJyDocsDB().Table("doc").Where("id=? and isDelete=0", id).Find(&docData) if rs.Error != nil { return rs.Error } else { if docData["id"] == nil { return errors.New("文档不存在") } } // 上架 err := jyDocsRpcUtil.GetJyDocsDB().Transaction(func(tx *gorm.DB) error { // 更新大库状态为上架 1-上架 if err := tx.Exec("update doc set downOrUp=? where id=? ", DocOn, id).Error; err != nil { return err } // 存上架记录 date := time.Now().Local().Format("2006-01-02 15:04:05") if err := tx.Exec("insert into doc_change_record (docId,date,downOrUp,reason) values (?,?,?,?)", id, date, DocOn, reason).Error; err != nil { return err } // todo es加数据 //if rs := elastic.Save("index", "doc", docData); rs != true { // return errors.New("发布到检索库失败") //} return nil }) return err } // 下架文档 func ChangeDocumentOff(id string, reason int32) error { // 查文档 docData := map[string]interface{}{} rs := jyDocsRpcUtil.GetJyDocsDB().Table("doc").Where("id=? and isDelete=0", id).Find(&docData) if rs.Error != nil { return rs.Error } else { if docData["id"] == nil { return errors.New("文档不存在") } } // 下架 err := jyDocsRpcUtil.GetJyDocsDB().Transaction(func(tx *gorm.DB) error { // 更新大库状态为下架 0-下架 if err := tx.Exec("update doc set downOrUp=? where id=? ", DocOff, id).Error; err != nil { return err } // 存下架记录 date := time.Now().Local().Format("2006-01-02 15:04:05") if err := tx.Exec("insert into doc_change_record (docId,date,downOrUp,reason) values (?,?,?,?)", id, date, DocOff, reason).Error; err != nil { return err } //todo 从es删除数据 //if rs := elastic.DelById("index", "doc", id); rs != true { // return errors.New("从检索库删除失败") //} return nil }) return err }