From 0f52108bac0ebf47a563c41bcb97d934b7cf12ab Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 11 十二月 2019 15:07:06 +0800
Subject: [PATCH] 订单筛选
---
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 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..f10ac2f 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.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.util.Constant;
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;
@@ -55,6 +61,13 @@
@Resource
private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
+
@Override
@Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
@@ -172,9 +185,16 @@
@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=taoBaoGoodsUpdateService.filterImportantTaoBaoGoods(goodsList);
goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);// 杩囨护澶ф窐瀹㈡爣棰�
for (int i = 0; i < list.size(); i++) {
if (i < goodsList.size())
@@ -226,6 +246,7 @@
return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate,
couponRatio);
}
+
@Override
public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate,
@@ -310,7 +331,66 @@
return array;
}
+
+
+
+ /**
+ * 棣栭〉鏈�搴曢儴@鍟嗗搧淇℃伅娴�
+ */
+ @Override
+ @Cacheable(value = "qualityCache", key = "'getRecommendToIndexV2-'+#start")
+ public JSONArray getRecommendToIndexV2(long start, int count) {
+
+ // 杩斿埄閲戦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 = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);
+ } catch (Exception e) {
+ }
+
+ BigDecimal shareRate = hongBaoManageService.getShareRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
+ 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