Commit efc638e3 authored by Hsinli's avatar Hsinli

adddd

parent d5a3c28e
Pipeline #6496 passed with stage
in 3 seconds
...@@ -195,7 +195,7 @@ class CollectionService extends Service { ...@@ -195,7 +195,7 @@ class CollectionService extends Service {
id: retList[j].id, id: retList[j].id,
name: retList[j].name, name: retList[j].name,
address: retList[j].address, address: retList[j].address,
tags: retList[j].tags.split(','), tags: retList[j].tags ? eval(retList[j].tags) : [],
image: retList[j].image, image: retList[j].image,
area: type === 1 ? retList[j].houseArea : '', area: type === 1 ? retList[j].houseArea : '',
price: type === 1 ? retList[j].referenceAvgPrice : retList[j].price, price: type === 1 ? retList[j].referenceAvgPrice : retList[j].price,
......
...@@ -263,234 +263,12 @@ class NewHouseService extends Service { ...@@ -263,234 +263,12 @@ class NewHouseService extends Service {
num: data.num,//房源数量 num: data.num,//房源数量
price: data.price,//价格 price: data.price,//价格
discount: data.discount,//折扣 discount: data.discount,//折扣
tag: data.tags ? data.tags.split(',') : ['好', '真好'],//特点 tag: data.tags ? eval(data.tags) : [],//特点
} }
} }
return ret; return ret;
} }
/**
* 根据筛选条件来获取newHouse
* @param {*} condition
*/
async getNewHouseList(condition) {
const { ctx, service } = this;
let page = Number(condition.page) || 1;
let pageSize = Number(condition.page_size) || 30;
let filter = {
pageIndex: page,
pageSize: pageSize,
queryConditions: [{
key: "state",
value: 1,
operator: "equal"
}],
orderConditions: [
{//根据楼盘在售的在前、预售的在后、售罄的在最后
key: 'saleType',
orderSequence: 'desc',
}
],
}
//是否有值来增加筛选项
if (condition.unit_price) {//单价
filter.queryConditions.push(
{
key: 'referenceAvgPrice',
value: condition.unit_price.min,
operator: 'greaterEqual',
},
{
key: 'referenceAvgPrice',
value: condition.unit_price.max,
operator: 'lessEqual',
}
);
}
if (condition.total_price) {//总价
filter.queryConditions.push(
{
key: 'referenceTotalPrice',
value: condition.total_price.min,
operator: 'greaterEqual',
},
{
key: 'referenceTotalPrice',
value: condition.total_price.max,
operator: 'lessEqual',
}
);
}
if (condition.area) {//面积
filter.queryConditions.push(
{
key: 'houseArea',
value: condition.area.min,
operator: 'greaterEqual',
},
{
key: 'houseArea',
value: condition.area.max,
operator: 'lessEqual',
})
;
}
if (condition.house_type) {//户型
filter.queryConditions.push({
key: 'type',
value: condition.house_type,
operator: 'equal',
});
}
if (condition.name) {//关键词搜索 模糊查询
//增加搜索历史
let addHistory = {
type: 1,
key_word: condition.name
};
await service.house.searchHistory.addSearchHistory(addHistory);
filter.queryConditions.push({
key: 'name',
value: condition.name,
operator: 'contains',
});
}
if (condition.area_code) {//城市\区域\商圈筛选
if (condition.area_code.hasOwnProperty('city_code') && condition.area_code.city_code !== '') {
filter.queryConditions.push({
key: 'city',
value: condition.area_code.city_code,
operator: 'equal',
});
}
if (condition.area_code.hasOwnProperty('district_code') && condition.area_code.district_code !== '') {
filter.queryConditions.push({
key: 'county',
value: condition.area_code.district_code,
operator: 'equal',
});
}
if (condition.area_code.hasOwnProperty('bizcircle_code') && condition.area_code.bizcircle_code !== '') {
filter.queryConditions.push({
key: 'region',
value: condition.area_code.bizcircle_code,
operator: 'equal',
});
}
}
let newHouseList = await service.houseCommon.newHouse.all(filter);
let list = [];
if (newHouseList.rowCount > 0) {
for (let i in newHouseList.results) {
let tmp = {
id: newHouseList.results[i].id,
name: newHouseList.results[i].name,
address: newHouseList.results[i].address,
tags: newHouseList.results[i].tags.split(','),
image: newHouseList.results[i].image,
price: newHouseList.results[i].referenceAvgPrice,
};
list.push(tmp);
}
}
let ret = {
results: list,
count: newHouseList.rowCount
};
return ret;
}
/**
* 根据不同筛选获取列表
* @param {*} type 四种默认的按钮筛选 全部all 在售sale 最近开盘open 优惠favourable 首页home
*/
async getNewHouseListByType(condition) {
const { ctx, service } = this;
let types = ['all', 'sale', 'open', 'favourable', 'home'];
if (!condition.hasOwnProperty('type') || !types.includes(condition.type)) {
ctx.failed('error or empty list type');
}
let type = condition.type;
let page = Number(condition.page) || 1;
let pageSize = Number(condition.page_size) || 30;
let filter = {
pageIndex: page,
pageSize: pageSize,
queryConditions: [{
key: "state",
value: 1,
operator: "equal"
},],
orderConditions: [],
}
if (type === 'home') {
//为您推荐只展示50条在售楼盘的数据,根据排序序号取数,数字小的排在前面,数字一样的情况下根据时间逆序排列,时间也一样的情况下随机排列;
filter.pageSize = Number(condition.page_size) || 50;
filter.orderConditions.push({
key: 'orderNum',
orderSequence: 'asc',
}, {
key: 'createdAt',
orderSequence: 'desc',
});
} else if (type === 'all') {
filter.orderConditions.push({
key: 'saleType',
orderSequence: 'desc',
});
} else if (type === 'sale') {
//点击在售楼盘进入列表页面且只展示当前销售状态为在售的楼盘
filter.queryConditions.push({
key: "saleType",
value: '3',
operator: "equal"
});
} else if (type === 'open') {
//只展示最近三个月内开盘的楼盘,往前追溯三个月,列表单次加载30条楼盘数据,滑到底部再次加载30条
let endDate = moment().subtract(30, 'days').format('YYYY-MM-DD HH:mm:ss');
filter.queryConditions.push({
key: "openDate",
value: endDate,
operator: "greater"
});
filter.orderConditions.push({
key: 'saleType',
orderSequence: 'desc',
})
} else if (type === 'favourable') {
//点击优惠好盘只展示有优惠的楼盘,列表单次加载30条楼盘数据,滑到底部再次加载30条
filter.queryConditions.push({
key: "favourableInfo",
value: false,
operator: "isnull"
});
filter.orderConditions.push({
key: 'saleType',
orderSequence: 'desc',
});
}
let newHouseList = await service.houseCommon.newHouse.all(filter);
let list = [];
if (newHouseList.rowCount > 0) {
for (let i in newHouseList.results) {
let tmp = {
id: newHouseList.results[i].id,
name: newHouseList.results[i].name,
address: newHouseList.results[i].address,
tags: newHouseList.results[i].tags.split(','),
image: newHouseList.results[i].image,
price: newHouseList.results[i].referenceAvgPrice,
};
list.push(tmp);
}
}
let ret = {
results: list,
count: newHouseList.rowCount
};
return ret;
}
async getNewHouseListV2(condition) { async getNewHouseListV2(condition) {
const { ctx, service } = this; const { ctx, service } = this;
...@@ -653,7 +431,7 @@ class NewHouseService extends Service { ...@@ -653,7 +431,7 @@ class NewHouseService extends Service {
id: newHouseList.results[i].id, id: newHouseList.results[i].id,
name: newHouseList.results[i].name, name: newHouseList.results[i].name,
address: newHouseList.results[i].address, address: newHouseList.results[i].address,
tags: eval(newHouseList.results[i].tags), tags: newHouseList.results[i].tags ? eval(newHouseList.results[i].tags) : [],
image: newHouseList.results[i].image, image: newHouseList.results[i].image,
price: newHouseList.results[i].referenceAvgPrice, price: newHouseList.results[i].referenceAvgPrice,
}; };
......
...@@ -122,7 +122,7 @@ class OrderService extends Service { ...@@ -122,7 +122,7 @@ class OrderService extends Service {
id: retList[j].id, id: retList[j].id,
name: retList[j].name, name: retList[j].name,
address: retList[j].address, address: retList[j].address,
tags: retList[j].tags.split(','), tags: retList[j].tags ? eval(retList[j].tags) : [],
image: retList[j].image, image: retList[j].image,
area: type === 1 ? retList[j].houseArea : '', area: type === 1 ? retList[j].houseArea : '',
price: type === 1 ? retList[j].referenceAvgPrice : retList[j].price, price: type === 1 ? retList[j].referenceAvgPrice : retList[j].price,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment