This commit is contained in:
parent
84fa5c338e
commit
fa35a08240
|
|
@ -457,6 +457,56 @@ func (dao *NewsDAO) QueryAsyncBatch(pairs []OrgDigestPair) (dos []*models.NewsDO
|
||||||
return dos, int64(len(dos)), nil
|
return dos, int64(len(dos)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.NewsDO, total int64, err error) {
|
||||||
|
// 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_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_CREATED_TIME,
|
||||||
|
// models.NEWS_COLUMN_UPDATED_TIME,
|
||||||
|
// models.NEWS_COLUMN_EXTRA_DATA,
|
||||||
|
// )
|
||||||
|
|
||||||
|
// // 🔧 仅提取 org_id,忽略 digest
|
||||||
|
// if len(cond.Pairs) > 0 {
|
||||||
|
// orgIDs := make([]int64, 0, len(cond.Pairs))
|
||||||
|
// for _, p := range cond.Pairs {
|
||||||
|
// orgIDs = append(orgIDs, p.OrgId)
|
||||||
|
// }
|
||||||
|
// e.Where(fmt.Sprintf("%s NOT IN (?)", models.NEWS_COLUMN_ORG_ID), orgIDs)
|
||||||
|
// }
|
||||||
|
|
||||||
|
// _, 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) {
|
func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.NewsDO, total int64, err error) {
|
||||||
e := dao.db.Model(&dos).
|
e := dao.db.Model(&dos).
|
||||||
Table(models.TableNameNews).
|
Table(models.TableNameNews).
|
||||||
|
|
@ -488,13 +538,20 @@ func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.News
|
||||||
models.NEWS_COLUMN_EXTRA_DATA,
|
models.NEWS_COLUMN_EXTRA_DATA,
|
||||||
)
|
)
|
||||||
|
|
||||||
// 🔧 仅提取 org_id,忽略 digest
|
// 🔧 正确展开 org_id 切片
|
||||||
if len(cond.Pairs) > 0 {
|
if cond != nil && len(cond.Pairs) > 0 {
|
||||||
orgIDs := make([]int64, 0, len(cond.Pairs))
|
orgIDs := make([]interface{}, 0, len(cond.Pairs))
|
||||||
for _, p := range cond.Pairs {
|
for _, p := range cond.Pairs {
|
||||||
orgIDs = append(orgIDs, p.OrgId)
|
orgIDs = append(orgIDs, p.OrgId)
|
||||||
}
|
}
|
||||||
e.Where(fmt.Sprintf("%s NOT IN (?)", models.NEWS_COLUMN_ORG_ID), orgIDs)
|
|
||||||
|
// 构造正确的 IN 子句(防止 ORM 不展开切片)
|
||||||
|
placeholders := make([]string, len(orgIDs))
|
||||||
|
for i := range orgIDs {
|
||||||
|
placeholders[i] = "?"
|
||||||
|
}
|
||||||
|
whereClause := fmt.Sprintf("%s NOT IN (%s)", models.NEWS_COLUMN_ORG_ID, strings.Join(placeholders, ","))
|
||||||
|
e.Where(whereClause, orgIDs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, total, err = e.QueryEx()
|
_, total, err = e.QueryEx()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue