From 6543afb9698fcdd89fdffba5f71b3df97c7b0833 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 23 二月 2020 12:23:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++++--
1 files changed, 75 insertions(+), 4 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
index e10a3ab..6e7fb08 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -17,6 +17,7 @@
import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper;
import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.entity.bus.lable.Label;
import com.yeshi.fanli.entity.bus.lable.LabelGoods;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
@@ -24,11 +25,15 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
@@ -54,7 +59,13 @@
private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
@Resource
- private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
@Override
@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
@@ -172,10 +183,17 @@
@Cacheable(value = "qualityCache", key = "'listQueryByClassId-'+#start+'-'+#cid")
public List<QualityFactory> listQueryByClassId(long start, int count, Long cid) {
List<QualityFactory> list = qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
+
+ if (list == null) {
+ list = new ArrayList<QualityFactory>();
+ }
+
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
for (QualityFactory qf : list)
goodsList.add(qf.getTaoBaoGoodsBrief());
- goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
+ // 杩囨护鍟嗗搧淇℃伅
+ goodsList = taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
+ goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
for (int i = 0; i < list.size(); i++) {
if (i < goodsList.size())
list.get(i).setTaoBaoGoodsBrief(goodsList.get(i));
@@ -285,7 +303,7 @@
}
try {
- goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);
+ goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
} catch (Exception e) {
}
@@ -311,6 +329,59 @@
return array;
}
+ /**
+ * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
+ */
+ @Override
+ @Cacheable(value = "qualityCache", key = "'getRecommendToIndexV2-'+#start+'-'+#platform+'-'+#version")
+ public JSONArray getRecommendToIndexV2(long start, int count, String platform, String version) {
+
+ // 杩斿埄閲戦2鍏冧互涓婏紱
+ Integer commision = 2;
+ // 浼樻儬鍒搁潰棰濋珮浜�5鍏冧互涓�
+ Integer couponAmount = 5;
+ // 浣i噾姣斾緥楂樼殑:5%浠ヤ笂锛�
+ double tkRate = 5.0;
+ // 浼樻儬鐜囬珮浜�10%浠ヤ笂锛堜紭鎯犵巼=浼樻儬鍒搁潰棰�/鍟嗗搧鍦ㄥ敭浠�*100%锛�
+ Double couponRatio = 10.0;
+
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ Double pop = 50.0;
+ if (fanLiRate != null) {
+ pop = Double.parseDouble(fanLiRate.toString());
+ }
+
+ List<QualityFactory> listQuery = listRecommend(start, count, pop, commision, couponAmount, tkRate, couponRatio);
+
+ if (listQuery == null || listQuery.size() == 0) {
+ return null;
+ }
+
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
+ // 閬嶅巻鍒楄〃鏁版嵁
+ //
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ for (QualityFactory quality : listQuery) {
+ if (quality.getTaoBaoGoodsBrief() != null)
+ goodsList.add(quality.getTaoBaoGoodsBrief());
+ }
+
+ try {
+ goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
+ } catch (Exception e) {
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(platform, version);
+
+ for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+ array.add(gson.toJson(detailVO));
+ }
+
+ return array;
+ }
+
@Override
@Cacheable(value = "qualityCache", key = "'countRecommendToIndex-'+#proportion")
public long countRecommendToIndex(String proportion) {
--
Gitblit v1.8.0