This commit is contained in:
hailin 2025-06-23 03:44:36 +08:00
parent 07df5fe715
commit a8867a0cca
1 changed files with 73 additions and 2 deletions

View File

@ -457,6 +457,65 @@ func (dao *NewsDAO) QueryAsyncBatch(pairs []OrgDigestPair) (dos []*models.NewsDO
return dos, int64(len(dos)), nil
}
// func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.NewsDO, total int64, err error) {
// if cond == nil || len(cond.Pairs) == 0 {
// // 客户端没传org_id列表返回空
// return []*models.NewsDO{}, 0, nil
// }
// e := dao.db.Model(&dos).
// Table(models.TableNameNews).
// Select(
// models.NEWS_COLUMN_ID,
// models.NEWS_COLUMN_ORG_ID,
// models.NEWS_COLUMN_SPIDER_ID,
// models.NEWS_COLUMN_PNAME_ID,
// models.NEWS_COLUMN_TAG,
// models.NEWS_COLUMN_CATEGORY,
// models.NEWS_COLUMN_MAIN_TITLE,
// models.NEWS_COLUMN_SUB_TITLE,
// models.NEWS_COLUMN_SUMMARY,
// models.NEWS_COLUMN_KEYWORDS,
// models.NEWS_COLUMN_SEO_KEYWORDS,
// models.NEWS_COLUMN_TAGS,
// models.NEWS_COLUMN_URL,
// models.NEWS_COLUMN_LANGUAGE,
// models.NEWS_COLUMN_DIGEST,
// models.NEWS_COLUMN_REPO_NAME,
// models.NEWS_COLUMN_IMAGE_URL,
// models.NEWS_COLUMN_LOGO_URL,
// models.NEWS_COLUMN_MODEL_PARAMETER,
// models.NEWS_COLUMN_CONTENT,
// models.NEWS_COLUMN_IS_HOTSPOT,
// models.NEWS_COLUMN_IS_OVERWRITTEN,
// models.NEWS_COLUMN_IS_DELETED,
// models.NEWS_COLUMN_IS_REPLICATE,
// models.NEWS_COLUMN_STATE,
// models.NEWS_COLUMN_DATA_TIME,
// models.NEWS_COLUMN_CREATED_TIME,
// models.NEWS_COLUMN_UPDATED_TIME,
// models.NEWS_COLUMN_EXTRA_DATA,
// )
// if cond != nil && len(cond.Pairs) > 0 {
// orgIDs := make([]string, 0, len(cond.Pairs))
// for _, p := range cond.Pairs {
// orgIDs = append(orgIDs, fmt.Sprintf("%d", p.OrgId))
// }
// notInClause := fmt.Sprintf("org_id NOT IN (%s)", strings.Join(orgIDs, ","))
// e = e.Where(notInClause)
// }
// _, total, err = e.QueryEx()
// if err != nil {
// log.Errorf("QueryPullNew failed: %v", err)
// return nil, 0, err
// }
// log.Infof(".................[DEBUG] QueryPullNew 返回数据: %+v", dos)
// return
// }
func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.NewsDO, total int64, err error) {
if cond == nil || len(cond.Pairs) == 0 {
// 客户端没传org_id列表返回空
@ -494,7 +553,7 @@ func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.News
models.NEWS_COLUMN_DATA_TIME,
models.NEWS_COLUMN_CREATED_TIME,
models.NEWS_COLUMN_UPDATED_TIME,
models.NEWS_COLUMN_EXTRA_DATA,
models.NEWS_COLUMN_EXTRA_DATA, // 注意:这里是 raw JSON 字段
)
if cond != nil && len(cond.Pairs) > 0 {
@ -512,6 +571,18 @@ func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.News
return nil, 0, err
}
log.Infof(".................[DEBUG] QueryPullNew 返回数据: %+v", dos)
// ✅ 解析 extra_data_raw → extra_data
for _, row := range dos {
if row.ExtraData == nil && row.ExtraDataRaw != "" {
var extra map[string]interface{}
if err := json.Unmarshal([]byte(row.ExtraDataRaw), &extra); err == nil {
row.ExtraData = extra
} else {
log.Warnf("[QueryPullNew] extra_data 解析失败 id=%d: %v", row.Id, err)
}
}
}
log.Infof("[QueryPullNew] 返回 %d 条记录", len(dos))
return
}