From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 12:32:46 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonTemplateContentServiceImpl.java | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 259 insertions(+), 22 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonTemplateContentServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonTemplateContentServiceImpl.java
index 864f8da..71f464b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonTemplateContentServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonTemplateContentServiceImpl.java
@@ -3,28 +3,47 @@
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 org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
+import org.yeshi.utils.JsonUtil;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.common.CommonContentNav;
import com.yeshi.fanli.dto.common.CommonContentResult;
import com.yeshi.fanli.dto.common.CommonContentTypeEnum;
import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.fanli.entity.taobao.TaoBaoHongBaoInfo;
import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.CommonTemplateContentService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
@Service
public class CommonTemplateContentServiceImpl implements CommonTemplateContentService {
@@ -37,6 +56,15 @@
@Resource
private TaoKeGoodsService taoKeGoodsService;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private QualityGoodsService qualityGoodsService;
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
private static List<CommonContentNav> getCommonNav() {
List<CommonContentNav> navList = new ArrayList<>();
@@ -74,16 +102,18 @@
navList.add(new CommonContentNav(gc.getId() + "", gc.getName()));
}
} else if (type == CommonContentTypeEnum.chaoSheng) {
- navList.add(new CommonContentNav("1", "5%~10%杩斿埄"));
- navList.add(new CommonContentNav("2", "10%~20%杩斿埄"));
- navList.add(new CommonContentNav("3", "20%~30%杩斿埄"));
- navList.add(new CommonContentNav("4", "30%~40%杩斿埄"));
- navList.add(new CommonContentNav("5", "40%浠ヤ笂杩斿埄"));
+ 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", "5~10鍏冨埜"));
- navList.add(new CommonContentNav("2", "10~30鍏冨埜"));
- navList.add(new CommonContentNav("3", "30~50鍏冨埜"));
- navList.add(new CommonContentNav("4", "50鍏冧互涓婂埜"));
+ 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();
} else if (type == CommonContentTypeEnum.meiShi) {
@@ -114,6 +144,8 @@
navList = getCommonNav();
} else if (type == CommonContentTypeEnum.chaoPinReMai) {
navList = getCommonNav();
+ } else if (type == CommonContentTypeEnum.mianDan) {
+ navList = new ArrayList<>();
}
return navList;
@@ -122,35 +154,60 @@
@Cacheable(value = "commonContentCache", key = "#type+'-'+#cid+'-'+#page+'-'+#pageSize")
@Override
public CommonContentResult getContentList(CommonContentTypeEnum type, String cid, int page, int pageSize) {
+ CommonContentResult result = null;
if (type == CommonContentTypeEnum._9k9) {
- return get9K9Content(cid, page, pageSize);
+ result = get9K9Content(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.juJia) {
- return getJuJiaShengHuoContent(cid, page, pageSize);
+ result = getJuJiaShengHuoContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.muYin) {
- return getMuYinJingXuanContent(cid, page, pageSize);
+ result = getMuYinJingXuanContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.meiShi) {
- return getYouXuanMeiShiContent(cid, page, pageSize);
+ result = getYouXuanMeiShiContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.chuanYiDaPei) {
- return getChuanYiDaPeiContent(cid, page, pageSize);
+ result = getChuanYiDaPeiContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.meiZhuangGehu) {
- return getMeiZhuangGeHuContent(cid, page, pageSize);
+ result = getMeiZhuangGeHuContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.jingPinXieBao) {
- return getJingPinXieBaoContent(cid, page, pageSize);
+ result = getJingPinXieBaoContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.chaoNanReMai) {
- return getChaoNanReMaiContent(cid, page, pageSize);
+ result = getChaoNanReMaiContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.shuMaShouJi) {
- return getShuMaShouJiContent(cid, page, pageSize);
+ result = getShuMaShouJiContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.yunDongKuXie) {
- return getYunDongKuXieContent(cid, page, pageSize);
+ result = getYunDongKuXieContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.qiCheHuWai) {
- return getQiCheHuWaiContent(cid, page, pageSize);
+ result = getQiCheHuWaiContent(cid, page, pageSize);
} else if (type == CommonContentTypeEnum.chaoPinReMai) {
- return getChaoPinReMaiContent(cid, page, pageSize);
+ result = getChaoPinReMaiContent(cid, page, pageSize);
+ } else if (type == CommonContentTypeEnum.chaoSheng) {
+ result = getCaoShengContent(cid, page, pageSize);
+ } else if (type == CommonContentTypeEnum.haoQuan) {
+ result = getHaoQuanContent(cid, page, pageSize);
+ } else if (type == CommonContentTypeEnum.mianDan) {
+ result = getMianDanContent(page, pageSize);
}
- return null;
+
+ 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.search("", null, null, new BigDecimal("10"), page, pageSize,
@@ -173,6 +230,133 @@
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) {
+ 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();
+ 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);
}
@@ -489,4 +673,57 @@
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<>();
+ 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.getAfterUseCouplePrice(goods);
+ if (price.compareTo(new BigDecimal(10)) >= 0) {
+ goodsList.remove(i--);
+ }
+ }
+ result.setGoodsList(goodsList);
+ return result;
+ }
+
}
--
Gitblit v1.8.0