| | |
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Collections;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.cache.annotation.Cacheable;
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import com.yeshi.fanli.dto.common.CommonContentNav;
|
| | |
| | | import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
|
| | | import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
|
| | | import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
|
| | | import com.yeshi.fanli.service.inter.goods.CommonTemplateContentService;
|
| | | import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
|
| | | import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
|
| | | import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
|
| | | import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
|
| | | import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
|
| | |
| | |
|
| | | @Resource
|
| | | private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
|
| | |
|
| | | @Resource
|
| | | private TaobaoMeterialService taobaoMeterialService;
|
| | |
|
| | | @Resource
|
| | | private TaoKeGoodsService taoKeGoodsService;
|
| | |
|
| | | private static List<CommonContentNav> getCommonNav() {
|
| | | 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", "销量"));
|
| | | 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) {
|
| | |
| | | navList.add(new CommonContentNav("3", "30~50元券"));
|
| | | navList.add(new CommonContentNav("4", "50元以上券"));
|
| | | } else if (type == CommonContentTypeEnum.juJia) {
|
| | | navList.add(new CommonContentNav("1", "综合"));
|
| | | navList.add(new CommonContentNav("2", "最新"));
|
| | | navList.add(new CommonContentNav("3", "热卖"));
|
| | | navList.add(new CommonContentNav("4", "销量"));
|
| | | navList.add(new CommonContentNav("5", "返利比"));
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.meiShi) {
|
| | | navList.add(new CommonContentNav("1", "综合"));
|
| | | navList.add(new CommonContentNav("2", "最新"));
|
| | | navList.add(new CommonContentNav("3", "热卖"));
|
| | | navList.add(new CommonContentNav("4", "销量"));
|
| | | navList.add(new CommonContentNav("5", "返利比"));
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.muYin) {
|
| | | navList.add(new CommonContentNav("1", "精选"));
|
| | | navList.add(new CommonContentNav("2", "备孕"));
|
| | | navList.add(new CommonContentNav("3", "0~6月"));
|
| | | navList.add(new CommonContentNav("4", "7~12月"));
|
| | | navList.add(new CommonContentNav("5", "1~3岁"));
|
| | | navList.add(new CommonContentNav("6", "4~6岁"));
|
| | | navList.add(new CommonContentNav("7", "7~12岁"));
|
| | | 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.add(new CommonContentNav("1", "综合"));
|
| | | navList.add(new CommonContentNav("2", "最新"));
|
| | | navList.add(new CommonContentNav("3", "热卖"));
|
| | | navList.add(new CommonContentNav("4", "销量"));
|
| | | navList.add(new CommonContentNav("5", "返利比"));
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.chuanYiDaPei) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.meiZhuangGehu) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.jingPinXieBao) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.chaoNanReMai) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.shuMaShouJi) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.yunDongKuXie) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.qiCheHuWai) {
|
| | | navList = getCommonNav();
|
| | | } else if (type == CommonContentTypeEnum.chaoPinReMai) {
|
| | | navList = getCommonNav();
|
| | | }
|
| | |
|
| | | return navList;
|
| | | }
|
| | |
|
| | | @Cacheable(value = "commonContentCache", key = "#type+'-'+#cid+'-'+#page+'-'+#pageSize")
|
| | | @Override
|
| | | public CommonContentResult getContentList(CommonContentTypeEnum type, String cid, int page, int pageSize) {
|
| | | if (type == CommonContentTypeEnum._9k9)
|
| | | if (type == CommonContentTypeEnum._9k9) {
|
| | | return get9K9Content(cid, page, pageSize);
|
| | |
|
| | | } else if (type == CommonContentTypeEnum.juJia) {
|
| | | return getJuJiaShengHuoContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.muYin) {
|
| | | return getMuYinJingXuanContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.meiShi) {
|
| | | return getYouXuanMeiShiContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.chuanYiDaPei) {
|
| | | return getChuanYiDaPeiContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.meiZhuangGehu) {
|
| | | return getMeiZhuangGeHuContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.jingPinXieBao) {
|
| | | return getJingPinXieBaoContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.chaoNanReMai) {
|
| | | return getChaoNanReMaiContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.shuMaShouJi) {
|
| | | return getShuMaShouJiContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.yunDongKuXie) {
|
| | | return getYunDongKuXieContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.qiCheHuWai) {
|
| | | return getQiCheHuWaiContent(cid, page, pageSize);
|
| | | } else if (type == CommonContentTypeEnum.chaoPinReMai) {
|
| | | return getChaoPinReMaiContent(cid, page, pageSize);
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | private CommonContentResult get9K9Content(String cid, int page, int pageSize) {
|
| | | if (pageSize == 20)
|
| | | pageSize = 50;
|
| | |
|
| | | DaTaoKeGoodsResult result = null;
|
| | | if ("-1".equalsIgnoreCase(cid)) {
|
| | | result = DaTaoKeApiUtil.search("", null, null, new BigDecimal("10"), page, pageSize,
|
| | |
| | | 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.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 getYouXuanMeiShiContent(String cid, int page, int pageSize) {
|
| | | DaTaoKeGoodsResult result = null;
|
| | | List<Integer> cidList = new ArrayList<>();
|
| | | cidList.add(6);// 美食
|
| | | 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 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.search("", cidList, 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.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 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.search("", cidList, 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);
|
| | | }
|
| | |
|
| | | }
|