yujian
2019-03-27 cdcbed9af813b2a02cdc01eefa24db8bec6b51a9
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -1,13 +1,14 @@
package com.yeshi.fanli.service.impl.lable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import net.sf.json.JSONArray;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -15,7 +16,8 @@
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.dao.mybatis.taobao.TaoBaoGoodsBriefRecordMapper;
import com.yeshi.fanli.entity.bus.lable.Label;
import com.yeshi.fanli.entity.bus.lable.LabelGoods;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
@@ -25,8 +27,8 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import net.sf.json.JSONArray;
@Service
public class QualityGoodsServiceImpl implements QualityGoodsService {
@@ -45,9 +47,6 @@
   private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper;
   @Resource
   private TaoBaoUnionConfigService taoBaoUnionConfigService;
   @Resource
   private TaoBaoGoodsBriefRecordMapper taoBaoGoodsBriefRecordMapper;
   @Resource
   private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
@@ -240,15 +239,15 @@
   
   @Override
   public List<QualityFactory> listRecommendBykey(long start, int count, String key, Integer hasQuan,
         Integer userType, Double startprice, Double endprice, Integer sort) {
         Integer userType, Double startprice, Double endprice, Double startTkRate, Double endTkRate, Integer sort) {
      return qualityFactoryMapper.listRecommendBykey(start, count, key, hasQuan, userType,
            startprice, endprice, sort);
            startprice, endprice, startTkRate, endTkRate, sort);
   }
   @Override
   public long countRecommendBykey(String key, Integer hasQuan, Integer userType,
         Double startprice, Double endprice) {
      return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice);
         Double startprice, Double endprice, Double startTkRate, Double endTkRate) {
      return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice, startTkRate, endTkRate);
   }
   
   
@@ -256,8 +255,8 @@
    * 首页最底部@商品信息流
    */
   @Override
   @Cacheable(value = "qualityCache",key="'listQueryToRecommend-'+#start+'-'+#proportion+'-'+#fcRate")
   public JSONArray getRecommendToIndex(long start, int count, String proportion, String fcRate) {
   @Cacheable(value = "qualityCache",key="'listQueryToRecommend-'+#start+'-'+#proportion")
   public JSONArray getRecommendToIndex(long start, int count, String proportion) {
      
      // 返利金额2元以上;
      Integer commision = 2; 
@@ -298,7 +297,7 @@
            String salesCountMidea = String.format("%.1f", sales / 10000);
            taoBaoGoodsBrief.setSalesCount(salesCountMidea + "万");
         } else {
            taoBaoGoodsBrief.setSalesCount(count + "");
            taoBaoGoodsBrief.setSalesCount(biz30day + "");
         }
         
         // 改变图片尺寸 
@@ -307,7 +306,7 @@
            taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
         }
         
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, fcRate, null)));
         array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, null)));
      }
      return array;
@@ -334,5 +333,53 @@
      return countRecommend(pop, commision, couponAmount, tkRate, couponRatio);
   }
   
   @Override
   public List<QualityFactory> recommendByAuctionId(Long auctionId){
      List<Long> list = new ArrayList<Long>();
      list.add(auctionId);
      List<QualityFactory> listTaoBaoGoods = qualityFactoryMapper.listQueryByAuctionId(list);
      if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
         return null;
      }
      QualityFactory qualityFactory = listTaoBaoGoods.get(0);
      TaoBaoGoodsBrief goodsBrief = qualityFactory.getTaoBaoGoodsBrief();
      if (goodsBrief == null) {
         return null;
      }
      List<LabelGoods> listLab = labelGoodsMapper.queryByGoodsId(0, 200, goodsBrief.getId());
      if (listLab == null || listLab.size() == 0) {
         return null;
      }
      // 标签id
      List<Long> listId = new ArrayList<Long>();
      for (LabelGoods labelGoods: listLab) {
         Label label = labelGoods.getLabel();
         if (label != null) {
            listId.add(label.getId());
         }
      }
      if (listId.size() == 0) {
         return null;
      }
      return qualityFactoryMapper.listQueryBylabIDs(0, 10, listId, goodsBrief.getId(),qualityFactory.getSystemCid());
   }
   @Override
   public List<QualityFactory> listFreeGoods(long start, int count, Double tkRate, String lableName) {
      return qualityFactoryMapper.listFreeGoods(start, count, tkRate, lableName);
   }
   @Override
   public long countFreeGoods(Double tkRate, String lableName) {
      return qualityFactoryMapper.countFreeGoods(tkRate, lableName);
   }
   
}