From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- 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