MCPcopy Index your code
hub / github.com/FloatTech/ZeroBot-Plugin / deleteSubscribe

Method deleteSubscribe

plugin/minecraftobserver/store.go:160–194  ·  view source on GitHub ↗

删除订阅

(addr string, targetID int64, targetType int64)

Source from the content-addressed store, hash-verified

158
159// 删除订阅
160func (d *db) deleteSubscribe(addr string, targetID int64, targetType int64) (err error) {
161 if d == nil {
162 return errDBConn
163 }
164 if addr == "" || targetID == 0 || targetType == 0 {
165 return errParam
166 }
167 d.subscribeLock.Lock()
168 defer d.subscribeLock.Unlock()
169 // 检查是否存在
170 if err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).First(&serverSubscribe{}).Error; err != nil {
171 if gorm.IsRecordNotFoundError(err) {
172 return errors.New("未找到订阅")
173 }
174 // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
175 return
176 }
177
178 if err = d.sdb.Where("server_addr = ? and target_id = ? and target_type = ?", addr, targetID, targetType).Delete(&serverSubscribe{}).Error; err != nil {
179 // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
180 return
181 }
182
183 // 扫描是否还有订阅,如果没有则删除服务器状态
184 var cnt int
185 err = d.sdb.Model(&serverSubscribe{}).Where("server_addr = ?", addr).Count(&cnt).Error
186 if err != nil {
187 // logrus.Errorln(logPrefix+"deleteSubscribe ERROR: ", err)
188 return
189 }
190 if cnt == 0 {
191 _ = d.delServerStatus(addr)
192 }
193 return
194}
195
196// 获取所有订阅
197func (d *db) getAllSubscribes() (subs []serverSubscribe, err error) {

Callers 2

Test_DAOFunction · 0.80
initFunction · 0.80

Calls 1

delServerStatusMethod · 0.95

Tested by 1

Test_DAOFunction · 0.64