public BasePageList<CarInfoListViewModel> SearchCarPageListTopFill(CarTopFillQueryModel query)
{
const string spName = "sp_common_pager";
const string tableName = @"car_info as a
left join base_carbrand as c1 on a.brand_id=c1.innerid
left join base_carseries as c2 on a.series_id=c2.innerid
left join base_carmodel as c3 on a.model_id=c3.innerid
left join base_city as ct on a.cityid=ct.innerid";
const string fields = "a.innerid,a.custid,a.pic_url,a.price,a.buyprice,a.dealprice,a.buytime,a.status,a.mileage,a.register_date,a.seller_type as type,c1.brandname as brand_name,c2.seriesname as series_name,c3.modelname as model_name,ct.cityname,(select count(1) from car_tipoff where carid=a.innerid and status=1) as toNum";
var orderField = string.IsNullOrWhiteSpace(query.Order) ? "a.istop desc,a.refreshtime desc" : query.Order; //排序以后调整为 支付时间
var sqlWhere = new StringBuilder("a.seller_type<>3 and a.status=1 and a.istop>0");
if (!string.IsNullOrWhiteSpace(query.where))
{
query.where = "a.status=1 and a.istop=1 " + query.where;
query.where =
query.where
.Replace("a.", "ia.")
.Replace("c1.", "ic1.")
.Replace("c2.", "ic2.")
.Replace("c3.", "ic3.");
sqlWhere.Append(
$@" and a.innerid not in (select ia.innerid from car_info as ia
left join base_carbrand as ic1 on ia.brand_id = ic1.innerid
left join base_carseries as ic2 on ia.series_id = ic2.innerid
left join base_carmodel as ic3 on ia.model_id = ic3.innerid where {
query.where})");
}
var model = new PagingModel(spName, tableName, fields, orderField, sqlWhere.ToString(), query.PageSize, query.PageIndex);
var list = Helper.ExecutePaging<CarInfoListViewModel>(model, query.Echo);
return list;
}