commit
57ff4c0917
@ -449,7 +449,7 @@ async def get_baidu_orderlist(ns={}):
|
|||||||
# 获取余额
|
# 获取余额
|
||||||
user_balance = await getCustomerBalance(sor, orgid[0]['id'])
|
user_balance = await getCustomerBalance(sor, orgid[0]['id'])
|
||||||
# 判断余额是否大于50
|
# 判断余额是否大于50
|
||||||
if user_balance < 5000000:
|
if user_balance < 500:
|
||||||
await sor.rollback()
|
await sor.rollback()
|
||||||
paydata = {'queryAccountId': baidu_users[0]['baidu_id'], 'orderIds': [ns.get('order_id')]}
|
paydata = {'queryAccountId': baidu_users[0]['baidu_id'], 'orderIds': [ns.get('order_id')]}
|
||||||
ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()])
|
ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()])
|
||||||
|
|||||||
@ -34,10 +34,7 @@ async def front_news_search(ns={}):
|
|||||||
publish_time_zh, publish_time_en, read_count
|
publish_time_zh, publish_time_en, read_count
|
||||||
from enterprise_news_article
|
from enterprise_news_article
|
||||||
where %s
|
where %s
|
||||||
order by greatest(
|
order by publish_time_zh desc, update_time desc
|
||||||
ifnull(publish_time_zh, '1000-01-01'),
|
|
||||||
ifnull(publish_time_en, '1000-01-01')
|
|
||||||
) desc, update_time desc
|
|
||||||
limit %s offset %s;
|
limit %s offset %s;
|
||||||
""" % (where_clause, page_size, offset)
|
""" % (where_clause, page_size, offset)
|
||||||
result = await sor.sqlExe(search_sql, {})
|
result = await sor.sqlExe(search_sql, {})
|
||||||
|
|||||||
@ -88,7 +88,7 @@ async def news_article_search(ns={}):
|
|||||||
'status': True,
|
'status': True,
|
||||||
'msg': 'search news article success',
|
'msg': 'search news article success',
|
||||||
'data': result,
|
'data': result,
|
||||||
'article_type_summary_zh': article_type_summary_zh,
|
'article_type_summary': article_type_summary_zh,
|
||||||
'article_type_summary_en': article_type_summary_en,
|
'article_type_summary_en': article_type_summary_en,
|
||||||
'pagination': {
|
'pagination': {
|
||||||
'total': total_count,
|
'total': total_count,
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import docs from './agreementDocs'
|
import docs from './agreementDocs'
|
||||||
|
|||||||
@ -190,7 +190,9 @@ export default {
|
|||||||
status: '',
|
status: '',
|
||||||
keyword: ''
|
keyword: ''
|
||||||
},
|
},
|
||||||
articleList: []
|
articleList: [],
|
||||||
|
articleTypeSummary: [],
|
||||||
|
articleTypeSummaryEn: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -215,12 +217,18 @@ export default {
|
|||||||
行业洞察: { label: '行业洞察', type: '行业洞察', icon: 'el-icon-data-analysis', iconClass: 'amber' },
|
行业洞察: { label: '行业洞察', type: '行业洞察', icon: 'el-icon-data-analysis', iconClass: 'amber' },
|
||||||
活动资讯: { label: '活动资讯', type: '活动资讯', icon: 'el-icon-date', iconClass: 'purple' }
|
活动资讯: { label: '活动资讯', type: '活动资讯', icon: 'el-icon-date', iconClass: 'purple' }
|
||||||
}
|
}
|
||||||
|
const summaryMap = {}
|
||||||
|
this.articleTypeSummary.forEach(item => {
|
||||||
|
if (item && item.article_type) {
|
||||||
|
summaryMap[item.article_type] = item
|
||||||
|
}
|
||||||
|
})
|
||||||
return Object.values(map).map(item => {
|
return Object.values(map).map(item => {
|
||||||
const list = this.articleList.filter(article => article.type === item.type)
|
const summary = summaryMap[item.type] || {}
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
count: list.length,
|
count: Number(summary.article_count || 0),
|
||||||
views: list.reduce((total, article) => total + Number(article.views || 0), 0)
|
views: Number(summary.read_count || 0)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -312,6 +320,18 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getArticleTypeSummary(res) {
|
||||||
|
if (Array.isArray(res.article_type_summary)) return res.article_type_summary
|
||||||
|
const data = res.data && !Array.isArray(res.data) ? res.data : {}
|
||||||
|
if (Array.isArray(data.article_type_summary)) return data.article_type_summary
|
||||||
|
return []
|
||||||
|
},
|
||||||
|
getArticleTypeSummaryEn(res) {
|
||||||
|
if (Array.isArray(res.article_type_summary_en)) return res.article_type_summary_en
|
||||||
|
const data = res.data && !Array.isArray(res.data) ? res.data : {}
|
||||||
|
if (Array.isArray(data.article_type_summary_en)) return data.article_type_summary_en
|
||||||
|
return []
|
||||||
|
},
|
||||||
getResponseList(res) {
|
getResponseList(res) {
|
||||||
// 兼容接口可能返回的多种列表结构。
|
// 兼容接口可能返回的多种列表结构。
|
||||||
if (Array.isArray(res.data)) return res.data
|
if (Array.isArray(res.data)) return res.data
|
||||||
@ -384,16 +404,19 @@ export default {
|
|||||||
const list = this.getResponseList(res)
|
const list = this.getResponseList(res)
|
||||||
// 将接口数据映射成页面展示字段。
|
// 将接口数据映射成页面展示字段。
|
||||||
this.articleList = list.map(item => this.normalizeArticle(item))
|
this.articleList = list.map(item => this.normalizeArticle(item))
|
||||||
// 读取接口总数,用于分页器和底部统计。
|
this.articleTypeSummary = this.getArticleTypeSummary(res)
|
||||||
|
this.articleTypeSummaryEn = this.getArticleTypeSummaryEn(res)
|
||||||
this.total = this.getResponseTotal(res, list)
|
this.total = this.getResponseTotal(res, list)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 接口返回失败时清空列表,避免展示旧数据。
|
|
||||||
this.articleList = []
|
this.articleList = []
|
||||||
|
this.articleTypeSummary = []
|
||||||
|
this.articleTypeSummaryEn = []
|
||||||
this.total = 0
|
this.total = 0
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 请求异常时清空列表并提示用户。
|
|
||||||
this.articleList = []
|
this.articleList = []
|
||||||
|
this.articleTypeSummary = []
|
||||||
|
this.articleTypeSummaryEn = []
|
||||||
this.total = 0
|
this.total = 0
|
||||||
this.$message.error('文章列表加载失败')
|
this.$message.error('文章列表加载失败')
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user