Browse Source

feat: 详情页推荐模块数据格式化逻辑优化

cuiyalong 1 year ago
parent
commit
06149df966

+ 38 - 0
data/data-models/modules/article/model/expand.js

@@ -39,6 +39,41 @@ class ContentExpandModel extends BaseModel {
     }
   }
 
+  preSortBiddingList(list) {
+    if (Array.isArray(list)) {
+      return list.map((r) => {
+        return this.preSortBiddingItem(r)
+      })
+    } else {
+      return []
+    }
+  }
+
+  preSortBiddingItem(item) {
+    let bidAmount = ''
+    if (item?.bidAmount) {
+      bidAmount = formatMoney(item?.bidAmount - 0)
+    } else if (item?.budget) {
+      bidAmount = formatMoney(item?.budget - 0)
+    }
+
+    const tagList = [
+      item.area || '全国',
+      item.buyerClass,
+      item?.type || item?.subtype,
+      // 有中标金额取中标金额,没有取预算,预算没有置空
+      bidAmount
+    ].filter((v) => v)
+
+    return {
+      id: item.id,
+      title: item.title,
+      tags: tagList,
+      time: item.publishTime ? item.publishTime * 1000 : undefined,
+      _o: item
+    }
+  }
+
   formatModel(data, isInit = false) {
     const result = this.createModel()
     // 项目进度
@@ -51,12 +86,15 @@ class ContentExpandModel extends BaseModel {
     }
     if (data?.recommend?.ahead) {
       result.recommendProjects = data.recommend.ahead
+      result.recommendProjects.list = this.preSortBiddingList(result.recommendProjects.list)
     }
     if (data?.recommend?.buyer) {
       result.recommendBuyers = data.recommend.buyer
+      result.recommendBuyers.list = this.preSortBiddingList(result.recommendBuyers.list)
     }
     if (data?.recommend?.winner) {
       result.recommendWinners = data.recommend.winner
+      result.recommendWinners.list = this.preSortBiddingList(result.recommendWinners.list)
     }
     if (data?.customerRec) {
       if (Array.isArray(data?.customerRec?.customer)) {

+ 1 - 1
data/data-models/modules/article/transform/content.js

@@ -42,7 +42,7 @@ class CommonContentModel extends BaseModel {
   formatModel(data, isInit = false) {
     const result = this.createModel()
     const { baseInfo, detailInfo } = data
-    result.id = baseInfo.id
+    result.id = baseInfo.id ? decodeURIComponent(baseInfo.id) : ''
     result.title = baseInfo.title
     result.projectName = baseInfo?.projectName
     result.projectCode = baseInfo?.projectCode

+ 3 - 1
data/data-models/modules/article/transform/summary2.js

@@ -198,8 +198,10 @@ class SummaryModel extends BaseModel {
     }
 
     // 中标金额
+    const bidAmountFormat = summary?.bidAmount ? this.formatMoney(summary?.bidAmount) : ''
+    this.formatMoney()
     list.push(
-      new SummaryItem('bidAmount', '中标金额(元)', this.formatMoney(summary?.bidAmount))
+      new SummaryItem('bidAmount', '中标金额(元)', bidAmountFormat)
     )
 
     result.list = list