package com.yeshi.fanli.service.impl.goods;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
|
import com.yeshi.fanli.entity.SystemEnum;
|
import com.yeshi.fanli.entity.SystemFunction;
|
import com.yeshi.fanli.util.SystemInfoUtil;
|
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dto.common.CommonContentNav;
|
import com.yeshi.fanli.dto.common.CommonContentResult;
|
import com.yeshi.fanli.dto.common.CommonContentTypeEnum;
|
import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult;
|
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
|
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
|
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
|
import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
|
import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
|
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
import com.yeshi.fanli.service.inter.goods.CommonTemplateContentService;
|
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
|
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
|
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
|
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
|
import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
|
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
|
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
|
@Service
|
public class CommonTemplateContentServiceImpl implements CommonTemplateContentService {
|
|
@Resource
|
private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
|
|
@Resource
|
private TaobaoMeterialService taobaoMeterialService;
|
|
@Resource
|
private TaoKeGoodsService taoKeGoodsService;
|
|
@Resource
|
private HongBaoManageService hongBaoManageService;
|
|
@Resource
|
private QualityGoodsService qualityGoodsService;
|
|
@Resource
|
private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
|
|
private static List<CommonContentNav> getCommonNav(SystemEnum system) {
|
List<CommonContentNav> navList = new ArrayList<>();
|
navList.add(new CommonContentNav("1", "综合"));
|
navList.add(new CommonContentNav("2", "最新"));
|
navList.add(new CommonContentNav("3", "热卖"));
|
navList.add(new CommonContentNav("4", "销量"));
|
if (SystemInfoUtil.hasFunctions(system, SystemFunction.fanli))
|
navList.add(new CommonContentNav("5", "返利比"));
|
return navList;
|
}
|
|
private static int getCommonSort(String cid) {
|
int sort = DaTaoKeApiUtil.SORT_DEFAULT;
|
if ("1".equalsIgnoreCase(cid))
|
sort = DaTaoKeApiUtil.SORT_DEFAULT;
|
else if ("2".equalsIgnoreCase(cid))
|
sort = DaTaoKeApiUtil.SORT_CREATETIME;
|
else if ("3".equalsIgnoreCase(cid))
|
sort = DaTaoKeApiUtil.SORT_COUPON_NUM;
|
else if ("4".equalsIgnoreCase(cid))
|
sort = DaTaoKeApiUtil.SORT_SALES;
|
else if ("5".equalsIgnoreCase(cid))
|
sort = DaTaoKeApiUtil.SORT_COMMISSION;
|
|
return sort;
|
}
|
|
@Override
|
public List<CommonContentNav> getNavList(CommonContentTypeEnum type,SystemEnum system) {
|
List<CommonContentNav> navList = new ArrayList<>();
|
if (type == CommonContentTypeEnum._9k9) {
|
navList.add(new CommonContentNav("-1", "综合"));
|
navList.add(new CommonContentNav("0", "最新"));
|
for (GoodsClass gc : DaTaoKeUtil.goodsClasses) {
|
navList.add(new CommonContentNav(gc.getId() + "", gc.getName()));
|
}
|
} else if (type == CommonContentTypeEnum.chaoSheng) {
|
navList.add(new CommonContentNav("1", "1-5元返利"));
|
navList.add(new CommonContentNav("2", "5-10元返利 "));
|
navList.add(new CommonContentNav("3", "10-15元返利"));
|
navList.add(new CommonContentNav("4", "15-20元返利"));
|
navList.add(new CommonContentNav("5", "20元以上返利"));
|
} else if (type == CommonContentTypeEnum.haoQuan) {
|
navList.add(new CommonContentNav("1", "1-5元券"));
|
navList.add(new CommonContentNav("2", "5-10元券"));
|
navList.add(new CommonContentNav("3", "10-20元券"));
|
navList.add(new CommonContentNav("4", "20-30元券"));
|
navList.add(new CommonContentNav("5", "30-50元券"));
|
navList.add(new CommonContentNav("6", "50元以上券"));
|
} else if (type == CommonContentTypeEnum.juJia) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.meiShi) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.muYin) {
|
navList.add(new CommonContentNav("1", "精选"));
|
navList.add(new CommonContentNav("备孕", "备孕"));
|
navList.add(new CommonContentNav("0至6个月", "0~6月"));
|
navList.add(new CommonContentNav("7至12个月", "7~12月"));
|
navList.add(new CommonContentNav("1至3岁", "1~3岁"));
|
navList.add(new CommonContentNav("4至6岁", "4~6岁"));
|
navList.add(new CommonContentNav("7至12岁", "7~12岁"));
|
} else if (type == CommonContentTypeEnum.reMai) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.chuanYiDaPei) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.meiZhuangGehu) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.jingPinXieBao) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.chaoNanReMai) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.shuMaShouJi) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.yunDongKuXie) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.qiCheHuWai) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.chaoPinReMai) {
|
navList = getCommonNav(system);
|
} else if (type == CommonContentTypeEnum.mianDan) {
|
navList = new ArrayList<>();
|
}
|
|
return navList;
|
}
|
|
@Cacheable(value = "commonContentCache", key = "#type+'-'+#cid+'-'+#page+'-'+#pageSize+'-'+#system")
|
@Override
|
public CommonContentResult getContentList(CommonContentTypeEnum type, String cid, int page, int pageSize, SystemEnum system) {
|
CommonContentResult result = null;
|
if (type == CommonContentTypeEnum._9k9) {
|
result = get9K9Content(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.juJia) {
|
result = getJuJiaShengHuoContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.muYin) {
|
result = getMuYinJingXuanContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.meiShi) {
|
result = getYouXuanMeiShiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.chuanYiDaPei) {
|
result = getChuanYiDaPeiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.meiZhuangGehu) {
|
result = getMeiZhuangGeHuContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.jingPinXieBao) {
|
result = getJingPinXieBaoContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.chaoNanReMai) {
|
result = getChaoNanReMaiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.shuMaShouJi) {
|
result = getShuMaShouJiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.yunDongKuXie) {
|
result = getYunDongKuXieContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.qiCheHuWai) {
|
result = getQiCheHuWaiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.chaoPinReMai) {
|
result = getChaoPinReMaiContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.chaoSheng) {
|
result = getCaoShengContent(cid, page, pageSize, system);
|
} else if (type == CommonContentTypeEnum.haoQuan) {
|
result = getHaoQuanContent(cid, page, pageSize);
|
} else if (type == CommonContentTypeEnum.mianDan) {
|
result = getMianDanContent(page, pageSize);
|
}
|
|
if (result != null) {// 商品信息过滤
|
List<TaoBaoGoodsBrief> goodsList = taoBaoGoodsUpdateService
|
.filterImportantTaoBaoGoods(result.getGoodsList());
|
result.setGoodsList(goodsList);
|
}
|
|
return result;
|
}
|
|
/**
|
* 9快9包邮
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult get9K9Content(String cid, int page, int pageSize) {
|
if (pageSize == 20)
|
pageSize = 50;
|
|
DaTaoKeGoodsResult result = null;
|
if ("-1".equalsIgnoreCase(cid)) {
|
result = DaTaoKeApiUtil.getGoodsList("", null, null, new BigDecimal("10"), null, page, pageSize,
|
DaTaoKeApiUtil.SORT_DEFAULT);
|
|
if (result == null || result.getGoodsList() == null || result.getGoodsList().size() == 0) {
|
result = new DaTaoKeGoodsResult();
|
result.setGoodsList(
|
daTaoKeGoodsDetailV2Service.listByMaxPrice(null, new BigDecimal("10"), null, page, pageSize));
|
result.setTotalCount(daTaoKeGoodsDetailV2Service.countByMaxPrice(null, new BigDecimal("10")));
|
}
|
|
} else if ("0".equalsIgnoreCase(cid)) {
|
result = DaTaoKeApiUtil.getGoodsList("", null, null, new BigDecimal("10"), null, page, pageSize,
|
DaTaoKeApiUtil.SORT_CREATETIME);
|
if (result == null || result.getGoodsList() == null || result.getGoodsList().size() == 0) {
|
result = new DaTaoKeGoodsResult();
|
result.setGoodsList(daTaoKeGoodsDetailV2Service.listByMaxPrice(null, new BigDecimal("10"), "createTime",
|
page, pageSize));
|
result.setTotalCount(daTaoKeGoodsDetailV2Service.countByMaxPrice(null, new BigDecimal("10")));
|
}
|
} else {
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(Integer.parseInt(cid));
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, new BigDecimal("10"), null, page, pageSize,
|
DaTaoKeApiUtil.SORT_DEFAULT);
|
|
if (result == null || result.getGoodsList() == null || result.getGoodsList().size() == 0) {
|
result = new DaTaoKeGoodsResult();
|
result.setGoodsList(daTaoKeGoodsDetailV2Service.listByMaxPrice(Integer.parseInt(cid),
|
new BigDecimal("10"), null, page, pageSize));
|
result.setTotalCount(
|
daTaoKeGoodsDetailV2Service.countByMaxPrice(Integer.parseInt(cid), new BigDecimal("10")));
|
}
|
}
|
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 超级省钱
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getCaoShengContent(String cid, int page, int pageSize, SystemEnum system) {
|
pageSize = Constant.PAGE_SIZE;
|
Integer startAmount = null;
|
Integer endAmount = null;
|
|
if (cid.equalsIgnoreCase(1 + "")) {
|
startAmount = 1;
|
endAmount = 5;
|
} else if (cid.equalsIgnoreCase(2 + "")) {
|
startAmount = 5;
|
endAmount = 10;
|
} else if (cid.equalsIgnoreCase(3 + "")) {
|
startAmount = 10;
|
endAmount = 15;
|
} else if (cid.equalsIgnoreCase(4 + "")) {
|
startAmount = 15;
|
endAmount = 20;
|
} else if (cid.equalsIgnoreCase(5 + "")) {
|
startAmount = 20;
|
endAmount = 10000;
|
}
|
|
double tkRate = 20.00;
|
|
BigDecimal proportion = hongBaoManageService.getFanLiRate(system);
|
List<QualityFactory> listQuery = qualityGoodsService.listQueryByRebateAmount((page - 1) * pageSize, pageSize,
|
proportion.toString(), startAmount, endAmount, tkRate);
|
|
long count = qualityGoodsService.countQueryByRebateAmount(proportion.toString(), startAmount, endAmount,
|
tkRate);
|
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
// 遍历列表数据
|
if (listQuery != null)
|
for (QualityFactory quality : listQuery) {
|
TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
|
if (taoBaoGoodsBrief == null) {
|
continue;
|
}
|
|
int biz30day = taoBaoGoodsBrief.getBiz30day();
|
if (biz30day >= 10000) {
|
double sales = biz30day;
|
String salesCountMidea = String.format("%.1f", sales / 10000);
|
taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
} else {
|
taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
}
|
goodsList.add(taoBaoGoodsBrief);
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 高额好券
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getHaoQuanContent(String cid, int page, int pageSize) {
|
pageSize = Constant.PAGE_SIZE;
|
|
Integer startAmount = null;
|
Integer endAmount = null;
|
|
if (cid.equalsIgnoreCase(1 + "")) {
|
startAmount = 1;
|
endAmount = 5;
|
} else if (cid.equalsIgnoreCase(2 + "")) {
|
startAmount = 5;
|
endAmount = 10;
|
} else if (cid.equalsIgnoreCase(3 + "")) {
|
startAmount = 10;
|
endAmount = 20;
|
} else if (cid.equalsIgnoreCase(4 + "")) {
|
startAmount = 20;
|
endAmount = 30;
|
} else if (cid.equalsIgnoreCase(5 + "")) {
|
startAmount = 30;
|
endAmount = 50;
|
} else if (cid.equalsIgnoreCase(6 + "")) {
|
startAmount = 50;
|
endAmount = 10000;
|
}
|
|
Integer startPropor = 20;
|
|
List<QualityFactory> listQuery = qualityGoodsService.listQueryByCouponAmount((page - 1) * pageSize, pageSize,
|
startAmount, endAmount, startPropor);
|
|
long count = qualityGoodsService.countQueryByCouponAmount(startAmount, endAmount, startPropor);
|
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
|
// 遍历列表数据
|
|
for (QualityFactory selectionGoods : listQuery) {
|
|
TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
|
|
if (taoBaoGoodsBrief == null) {
|
continue;
|
}
|
|
int biz30day = taoBaoGoodsBrief.getBiz30day();
|
if (biz30day >= 10000) {
|
double sales = biz30day;
|
String salesCountMidea = String.format("%.1f", sales / 10000);
|
taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
|
} else {
|
taoBaoGoodsBrief.setSalesCount(biz30day + "");
|
}
|
goodsList.add(taoBaoGoodsBrief);
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 居家生活
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getJuJiaShengHuoContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(4);// 居家生活
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 优选美食
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getYouXuanMeiShiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(6);// 美食
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 潮品热卖
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getChaoPinReMaiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("潮", null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 获取母婴精选
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getMuYinJingXuanContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
if ("1".equalsIgnoreCase(cid)) {// 大淘客数据
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(2);// 母婴
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, null, null, page, pageSize,
|
DaTaoKeApiUtil.SORT_DEFAULT);
|
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
|
} else {//
|
List<TaobaoMeterial> taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperNameCache("母婴_" + cid,
|
"母婴主题");
|
|
if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
|
return null;
|
}
|
|
TaobaoMeterial meterial = taobaoMeterials.get(0);
|
Integer materialId = meterial.getMaterialId();
|
if (materialId != null) {
|
List<TaoBaoGoodsBrief> listBrands = new ArrayList<>();
|
try {
|
listBrands = taoKeGoodsService.listByMaterial(materialId, page, pageSize);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return new CommonContentResult(listBrands, 1000);
|
}
|
return new CommonContentResult(new ArrayList<>(), 0);
|
}
|
|
}
|
|
/**
|
* 穿衣搭配
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getChuanYiDaPeiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(1);// 女装
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, null, null, page, pageSize, sort);
|
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 美妆个护
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getMeiZhuangGeHuContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(3);// 美妆
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("洗护", cidList, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 精品鞋包
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
|
private CommonContentResult getJingPinXieBaoContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("鞋 女", null, null, null, page, pageSize, sort);
|
DaTaoKeGoodsResult result1 = DaTaoKeApiUtil.search("包 女", null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount() + result1.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
if (result1.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result1.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
Collections.shuffle(goodsList);
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 潮男热卖
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getChaoNanReMaiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("潮 男", null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
Collections.shuffle(goodsList);
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 数码手机
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getShuMaShouJiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("电", null, null, null, page, pageSize, sort);
|
DaTaoKeGoodsResult result1 = DaTaoKeApiUtil.search("手机", null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount() + result1.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
if (result1.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result1.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
Collections.shuffle(goodsList);
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 运动酷鞋
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getYunDongKuXieContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.search("鞋 男", null, null, null, page, pageSize, sort);
|
DaTaoKeGoodsResult result1 = DaTaoKeApiUtil.search("运动 男", null, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount() + result1.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
if (result1.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result1.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
Collections.shuffle(goodsList);
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 汽车户外
|
*
|
* @param cid
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
private CommonContentResult getQiCheHuWaiContent(String cid, int page, int pageSize) {
|
DaTaoKeGoodsResult result = null;
|
List<Integer> cidList = new ArrayList<>();
|
cidList.add(7);
|
cidList.add(13);
|
int sort = getCommonSort(cid);
|
result = DaTaoKeApiUtil.getGoodsList("", cidList, null, null, null, page, pageSize, sort);
|
DaTaoKeGoodsResult result1 = DaTaoKeApiUtil.search("运动 男", cidList, null, null, page, pageSize, sort);
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
long count = 0;
|
if (result != null) {
|
count = result.getTotalCount() + result1.getTotalCount();
|
if (result.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
if (result1.getGoodsList() != null)
|
for (DaTaoKeDetailV2 detail : result1.getGoodsList())
|
goodsList.add(TaoBaoUtil.convert(detail));
|
}
|
Collections.shuffle(goodsList);
|
return new CommonContentResult(goodsList, count);
|
}
|
|
/**
|
* 获取免单商品
|
*
|
* @return
|
*/
|
private CommonContentResult getMianDanContent(int page, int pageSize) {
|
CommonContentResult result = new CommonContentResult();
|
List<QualityFactory> listQuery = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize);
|
long count = qualityGoodsService.countFreeGoods();
|
result.setCount(count);
|
List<Long> listGid = new ArrayList<Long>();
|
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
for (QualityFactory qualityFactory : listQuery) {
|
TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
|
if (taoBaoGoodsBrief == null) {
|
continue;
|
}
|
listGid.add(taoBaoGoodsBrief.getAuctionId());
|
goodsList.add(taoBaoGoodsBrief);
|
}
|
// 去掉已经不在售的商品
|
List<TaoBaoGoodsBrief> listTaoKeGoods = null;
|
try {
|
listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
|
} catch (TaoKeApiException e) {
|
e.printStackTrace();
|
} catch (TaobaoGoodsDownException e) {
|
e.printStackTrace();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
Map<Long, TaoBaoGoodsBrief> goodsMap = new HashMap<>();
|
if (listTaoKeGoods != null)
|
for (TaoBaoGoodsBrief goods : listTaoKeGoods)
|
goodsMap.put(goods.getAuctionId(), goods);
|
for (int i = 0; i < goodsList.size(); i++) {
|
if (goodsMap.get(goodsList.get(i).getAuctionId()) == null) {
|
goodsList.remove(i--);
|
}
|
}
|
// 过滤基本商品信息
|
goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
|
|
for (int i = 0; i < goodsList.size(); i++) {
|
TaoBaoGoodsBrief goods = goodsList.get(i);
|
BigDecimal price = TaoBaoUtil.getCouponPrice(goods);
|
if (price.compareTo(new BigDecimal(10)) >= 0) {
|
goodsList.remove(i--);
|
}
|
}
|
result.setGoodsList(goodsList);
|
return result;
|
}
|
|
}
|