From a5fde818ef9969e2e53acfa29b2e6f423bd0c8fc Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 30 四月 2020 19:02:51 +0800
Subject: [PATCH] 小米推送bug修改,增加用户团队信息消费
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 90 insertions(+), 5 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 b07d2a3..6e38263 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,16 @@
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.OrderHongBaoMoneyComputeService;
+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 +60,16 @@
private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
@Resource
- private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
@Override
@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
@@ -171,7 +186,24 @@
@Override
@Cacheable(value = "qualityCache", key = "'listQueryByClassId-'+#start+'-'+#cid")
public List<QualityFactory> listQueryByClassId(long start, int count, Long cid) {
- return qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
+ 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 = 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));
+
+ }
+ return list;
}
@Override
@@ -273,9 +305,9 @@
if (quality.getTaoBaoGoodsBrief() != null)
goodsList.add(quality.getTaoBaoGoodsBrief());
}
-
+
try {
- goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);
+ goodsList = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goodsList);
} catch (Exception e) {
}
@@ -301,6 +333,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 = orderHongBaoMoneyComputeService.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