diff --git a/pkg/dal/dao/news.go b/pkg/dal/dao/news.go index 9556968..f9aa41a 100644 --- a/pkg/dal/dao/news.go +++ b/pkg/dal/dao/news.go @@ -218,7 +218,10 @@ func (dao *NewsDAO) QueryList(cond *NewsCondition) (dos []*models.NewsDO, total } func (dao *NewsDAO) QueryAsync(cond *NewsAsyncCondition) (dos []*models.NewsDO, total int64, err error) { + log.Infof("[QueryAsync] >>> 调用开始,org_id=%d, digest='%s'", cond.Org_Id, cond.Digest) + if cond.Org_Id == 0 { + log.Warnf("[QueryAsync] org_id 为空,非法请求") return nil, 0, errors.New("org_id is required") } @@ -260,32 +263,39 @@ func (dao *NewsDAO) QueryAsync(cond *NewsAsyncCondition) (dos []*models.NewsDO, } if total == 0 { + log.Warnf("[QueryAsync] org_id=%d 无匹配记录", cond.Org_Id) return nil, 0, errors.New("未找到对应 org_id 的记录") } if total > 1 { + log.Errorf("[QueryAsync] org_id=%d 数据异常,记录不唯一", cond.Org_Id) return nil, 0, errors.New("org_id 不唯一,数据异常") } record := dos[0] if cond.Digest == "" { - // 客户端没传 digest,直接返回 + log.Infof("[QueryAsync] org_id=%d digest 为空,直接返回记录", cond.Org_Id) return []*models.NewsDO{record}, 1, nil } // 客户端传了 digest,进行比较 + log.Infof("[QueryAsync] org_id=%d 开始比较 digest,客户端='%s'", cond.Org_Id, cond.Digest) + if record.ExtraData != nil { if val, ok := record.ExtraData["digest"]; ok { + log.Infof("[QueryAsync] org_id=%d 数据库 digest='%v'", cond.Org_Id, val) if ds, ok := val.(string); ok && ds == cond.Digest { - // 相等,不返回 - log.Infof("[QueryAsync] digest 相同,跳过返回") + log.Infof("[QueryAsync] org_id=%d digest 相同,跳过返回", cond.Org_Id) return nil, 0, nil } + } else { + log.Infof("[QueryAsync] org_id=%d ExtraData 中无 digest 字段", cond.Org_Id) } + } else { + log.Infof("[QueryAsync] org_id=%d ExtraData 为空", cond.Org_Id) } - // 不相等,返回该记录 - log.Infof("..................[QueryAsync] digest 不同,返回记录 org_id=%d", cond.Org_Id) + log.Infof("[QueryAsync] org_id=%d digest 不同,返回记录", cond.Org_Id) return []*models.NewsDO{record}, 1, nil }