admin
2019-06-27 f4f96b503bfa85fa6342fe4661e70ae525504593
分享BUG修改
5个文件已修改
241 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -1344,6 +1344,13 @@
                    List<TaoBaoGoodsBrief> gList = recommendGoodsDeleteHistoryService
                            .filterGoods(acceptData.getDevice(), result.getTaoBaoGoodsBriefs());
                    // filter
                    try {
                        gList = daTaoKeGoodsDetailService.filterTaoBaoGoods(gList);
                    } catch (Exception e) {
                    }
                    // 设备推荐
                    if (gList != null)
                        for (TaoBaoGoodsBrief goods : gList) {
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -52,11 +53,10 @@
    public void listPreGoods(String callback, AcceptData acceptData, String kw, PrintWriter out) {
        // 大淘客数据,更新
        List<TaoBaoGoodsBrief> list = shareHotGoodsService.listPreGoods();
        BigDecimal rate = hongBaoManageService.getFanLiRate();
        JSONArray array = new JSONArray();
        Gson gson = new Gson();
        for (TaoBaoGoodsBrief goods : list) {
            array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, rate + "", null)));
            array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, "100", null)));
        }
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
    }
@@ -108,6 +108,10 @@
     */
    @RequestMapping(value = "listSelectedGoods", method = RequestMethod.GET)
    public void listSelectedGoods(String callback, AcceptData acceptData, String day, PrintWriter out) {
        if (StringUtil.isNullOrEmpty(day)) {
            day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        }
        List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day);
        BigDecimal rate = hongBaoManageService.getFanLiRate();
        JSONArray array = new JSONArray();
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -25,6 +25,7 @@
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -52,41 +53,38 @@
    @Resource
    private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    @Override
    @Cacheable(value = "qualityCache",key="'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
    public List<QualityFactory> listQueryByCouponAmount(long start, int count, Integer key,
            Integer endAmount, Integer startPropor){
    @Cacheable(value = "qualityCache", key = "'listQueryByCouponAmount-'+#start+'-'+#key+'-'+#endAmount+'-'+#startPropor")
    public List<QualityFactory> listQueryByCouponAmount(long start, int count, Integer key, Integer endAmount,
            Integer startPropor) {
        return qualityFactoryMapper.listQueryByCouponAmount(start, count, key, endAmount, startPropor);
    }
    @Override
    @Cacheable(value = "qualityCache",key="'countQueryByCouponAmount-'+#key+'-'+#endAmount+'-'+#startPropor")
    public long countQueryByCouponAmount(Integer key, Integer endAmount, Integer startPropor){
    @Cacheable(value = "qualityCache", key = "'countQueryByCouponAmount-'+#key+'-'+#endAmount+'-'+#startPropor")
    public long countQueryByCouponAmount(Integer key, Integer endAmount, Integer startPropor) {
        return qualityFactoryMapper.countQueryByCouponAmount(key, endAmount, startPropor);
    }
    @Override
    @Cacheable(value = "qualityCache",key="'listQueryByFlashSale-'+#start")
    @Cacheable(value = "qualityCache", key = "'listQueryByFlashSale-'+#start")
    public List<QualityFactory> listQueryByFlashSale(long start, int count) {
        return qualityFactoryMapper.listQueryByFlashSale(start, count);
    }
    @Override
    //@Cacheable(value = "qualityCache",key="'countQueryByFlashSale-'")
    // @Cacheable(value = "qualityCache",key="'countQueryByFlashSale-'")
    public long countQueryByFlashSale() {
        return qualityFactoryMapper.countQueryByFlashSale();
    }
    @Override
    public List<QualityFactory> listFlashSaleRandGoods() {
        return qualityFactoryMapper.listFlashSaleRandGoods();
    }
    /**
     * 小金额查询:9.9/19.9/29.9/49.9
@@ -101,7 +99,7 @@
     * @return
     */
    @Override
    @Cacheable(value = "quality9K9Cache",key="'get9k9ClassGoods-'+#start+'-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
    @Cacheable(value = "quality9K9Cache", key = "'get9k9ClassGoods-'+#start+'-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
    public List<QualityFactory> get9k9ClassGoods(long start, int count, Integer biz30day, BigDecimal zkPrice,
            BigDecimal minQuanPrice, BigDecimal maxQuanPrice, String cids) {
        return qualityFactoryMapper.get9k9ClassGoods(start, count, biz30day, zkPrice, minQuanPrice, maxQuanPrice, cids);
@@ -111,8 +109,8 @@
     * 对应小金额查询:9.9/19.9/29.9/49.9
     */
    @Override
    @Cacheable(value = "quality9K9Cache",key="'count9k9ClassGoods-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
    public long count9k9ClassGoods(Integer biz30day, BigDecimal zkPrice, BigDecimal minQuanPrice,
    @Cacheable(value = "quality9K9Cache", key = "'count9k9ClassGoods-'+#biz30day+'-'+#zkPrice+'-'+#minQuanPrice+'-'+#maxQuanPrice+'-'+#cids")
    public long count9k9ClassGoods(Integer biz30day, BigDecimal zkPrice, BigDecimal minQuanPrice,
            BigDecimal maxQuanPrice, String cids) {
        return qualityFactoryMapper.count9k9ClassGoods(biz30day, zkPrice, minQuanPrice, maxQuanPrice, cids);
    }
@@ -126,16 +124,16 @@
     * @param labId
     * @return
     */
    public List<QualityFactory> listQueryByKeyAndlabIDs(long start, int count,String key, List<Long> listId, Integer sort,
            Long systemCid,    Integer hasQuan, Integer userType, Integer biz30day,Integer startprice, Integer endprice) {
        return qualityFactoryMapper.listQueryByKeyAndlabIDs(start, count, key, listId, sort,systemCid, hasQuan, userType,
                biz30day, startprice, endprice);
    public List<QualityFactory> listQueryByKeyAndlabIDs(long start, int count, String key, List<Long> listId,
            Integer sort, Long systemCid, Integer hasQuan, Integer userType, Integer biz30day, Integer startprice,
            Integer endprice) {
        return qualityFactoryMapper.listQueryByKeyAndlabIDs(start, count, key, listId, sort, systemCid, hasQuan,
                userType, biz30day, startprice, endprice);
    }
    public long countQueryKeyAndlabIDs(String key, List<Long> listId, Long systemCid, Integer hasQuan, Integer userType,
            Integer biz30day,Integer startprice, Integer endprice) {
        return qualityFactoryMapper.countQueryKeyAndlabIDs(key, listId,systemCid, hasQuan, userType, biz30day,
            Integer biz30day, Integer startprice, Integer endprice) {
        return qualityFactoryMapper.countQueryKeyAndlabIDs(key, listId, systemCid, hasQuan, userType, biz30day,
                startprice, endprice);
    }
@@ -149,17 +147,16 @@
     * @return
     */
    @Override
    public List<QualityFactory> listQueryByKey(long start, int count, String key, Integer sort,Long systemCid,
            Integer hasQuan, Integer userType, Integer biz30day,Integer startprice, Integer endprice) {
        return qualityFactoryMapper.listQueryByKey(start, count, key, sort, systemCid,hasQuan, userType, biz30day,
    public List<QualityFactory> listQueryByKey(long start, int count, String key, Integer sort, Long systemCid,
            Integer hasQuan, Integer userType, Integer biz30day, Integer startprice, Integer endprice) {
        return qualityFactoryMapper.listQueryByKey(start, count, key, sort, systemCid, hasQuan, userType, biz30day,
                startprice, endprice);
    }
    public long countQueryByKey(String key, Long systemCid,Integer hasQuan, Integer userType,
            Integer biz30day,Integer startprice, Integer endprice) {
        return qualityFactoryMapper.countQueryByKey(key, systemCid,hasQuan, userType, biz30day,
                startprice, endprice);
    public long countQueryByKey(String key, Long systemCid, Integer hasQuan, Integer userType, Integer biz30day,
            Integer startprice, Integer endprice) {
        return qualityFactoryMapper.countQueryByKey(key, systemCid, hasQuan, userType, biz30day, startprice, endprice);
    }
    /**
@@ -172,117 +169,117 @@
     * @return
     */
    @Override
    @Cacheable(value = "qualityCache",key="'listQueryByClassId-'+#start+'-'+#cid")
    @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);
    }
    @Override
    @Cacheable(value = "qualityCache",key="'countQueryClassId-'+#cid")
    @Cacheable(value = "qualityCache", key = "'countQueryClassId-'+#cid")
    public long countQueryClassId(Long cid) {
        return qualityFactoryMapper.countQuery(null, cid, null, null, 1);
    }
    @Override
    @Cacheable(value = "qualityCache",key="'listQueryByRebateAmount-'+#start+'-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
    public List<QualityFactory> listQueryByRebateAmount(long start, int count,String proportion,
            Integer startAmount, Integer endAmount, double tkRate){
    @Cacheable(value = "qualityCache", key = "'listQueryByRebateAmount-'+#start+'-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
    public List<QualityFactory> listQueryByRebateAmount(long start, int count, String proportion, Integer startAmount,
            Integer endAmount, double tkRate) {
        return qualityFactoryMapper.listQueryByRebateAmount(start, count, proportion, startAmount, endAmount, tkRate);
    }
    @Override
    @Cacheable(value = "qualityCache",key="'countQueryByRebateAmount-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
    public long countQueryByRebateAmount(String proportion, Integer startAmount, Integer endAmount, double tkRate){
    @Cacheable(value = "qualityCache", key = "'countQueryByRebateAmount-'+#proportion+'-'+#endAmount+'-'+#endAmount+'-'+#tkRate")
    public long countQueryByRebateAmount(String proportion, Integer startAmount, Integer endAmount, double tkRate) {
        return qualityFactoryMapper.countQueryByRebateAmount(proportion, startAmount, endAmount, tkRate);
    }
    @Override
    //@Cacheable(value = "qualityCache",key="'queryToCouponColumn-'+#start")
    // @Cacheable(value = "qualityCache",key="'queryToCouponColumn-'+#start")
    @Cacheable(value = "taoBaoCouponCache", key = "'queryToCouponColumn'+#start")
    public List<QualityFactory> queryToCouponColumn(long start, int count){
    public List<QualityFactory> queryToCouponColumn(long start, int count) {
        return qualityFactoryMapper.queryToCouponColumn(start, count);
    }
    @Override
    //@Cacheable(value = "qualityCache",key="'countQueryToCouponColumn'")
    // @Cacheable(value = "qualityCache",key="'countQueryToCouponColumn'")
    @Cacheable(value = "taoBaoCouponCache", key = "'countQueryToCouponColumn'")
    public long countQueryToCouponColumn(){
    public long countQueryToCouponColumn() {
        return qualityFactoryMapper.countQueryToCouponColumn();
    }
    /**
     * 首页最底部@商品信息流
     */
    @Override
    public List<QualityFactory> listRecommend(long start, int count, Double proportion, Integer commision, Integer couponAmount,
            double tkRate, Double couponRatio) {
        return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate, couponRatio);
    public List<QualityFactory> listRecommend(long start, int count, Double proportion, Integer commision,
            Integer couponAmount, double tkRate, Double couponRatio) {
        return qualityFactoryMapper.listRecommendToIndex(start, count, proportion, commision, couponAmount, tkRate,
                couponRatio);
    }
    @Override
    public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate, Double couponRatio) {
    public long countRecommend(Double proportion, Integer commision, Integer couponAmount, double tkRate,
            Double couponRatio) {
        return qualityFactoryMapper.countRecommendToIndex(proportion, commision, couponAmount, tkRate, couponRatio);
    }
    @Override
    public List<QualityFactory> listRecommendBykey(long start, int count, String key, Integer hasQuan,
            Integer userType, Double startprice, Double endprice, Double startTkRate, Double endTkRate, Integer sort) {
        return qualityFactoryMapper.listRecommendBykey(start, count, key, hasQuan, userType,
                startprice, endprice, startTkRate, endTkRate, sort);
    public List<QualityFactory> listRecommendBykey(long start, int count, String key, Integer hasQuan, Integer userType,
            Double startprice, Double endprice, Double startTkRate, Double endTkRate, Integer sort) {
        return qualityFactoryMapper.listRecommendBykey(start, count, key, hasQuan, userType, startprice, endprice,
                startTkRate, endTkRate, sort);
    }
    @Override
    public long countRecommendBykey(String key, Integer hasQuan, Integer userType,
            Double startprice, Double endprice, Double startTkRate, Double endTkRate) {
        return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice, startTkRate, endTkRate);
    public long countRecommendBykey(String key, Integer hasQuan, Integer userType, Double startprice, Double endprice,
            Double startTkRate, Double endTkRate) {
        return qualityFactoryMapper.countRecommendBykey(key, hasQuan, userType, startprice, endprice, startTkRate,
                endTkRate);
    }
    /**
     * 首页最底部@商品信息流
     */
    @Override
    @Cacheable(value = "qualityCache",key="'listQueryToRecommend-'+#start+'-'+#proportion")
    @Cacheable(value = "qualityCache", key = "'listQueryToRecommend-'+#start+'-'+#proportion")
    public JSONArray getRecommendToIndex(long start, int count, String proportion) {
        // 返利金额2元以上;
        Integer commision = 2;
        Integer commision = 2;
        // 优惠券面额高于5元以上
        Integer couponAmount = 5;
        // 佣金比例高的:5%以上;
        double tkRate = 5.0;
        // 优惠率高于10%以上(优惠率=优惠券面额/商品在售价*100%)
        // 优惠率高于10%以上(优惠率=优惠券面额/商品在售价*100%)
        Double couponRatio = 10.0;
        Double pop = 50.0;
        if (!StringUtil.isNullOrEmpty(proportion)) {
            pop = Double.parseDouble(proportion);
        }
        List<QualityFactory> listQuery =
                listRecommend(start, count, pop, commision, couponAmount, tkRate, couponRatio);
        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) {
        }
            TaoBaoGoodsBrief taoBaoGoodsBrief = quality.getTaoBaoGoodsBrief();
            if (taoBaoGoodsBrief == null) {
                continue;
            }
        for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
            int biz30day = taoBaoGoodsBrief.getBiz30day();
            if (biz30day >= 10000) {
                double sales = biz30day;
@@ -291,13 +288,13 @@
            } else {
                taoBaoGoodsBrief.setSalesCount(biz30day + "");
            }
            // 改变图片尺寸
            // 改变图片尺寸
            String pictUrl = taoBaoGoodsBrief.getPictUrl();
            if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
                taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
            }
            array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion, null)));
        }
@@ -305,88 +302,87 @@
    }
    @Override
    @Cacheable(value = "qualityCache",key="'countRecommendToIndex-'+#proportion")
    @Cacheable(value = "qualityCache", key = "'countRecommendToIndex-'+#proportion")
    public long countRecommendToIndex(String proportion) {
        // 返利金额2元以上;
        Integer commision = 2;
        Integer commision = 2;
        // 优惠券面额高于5元以上
        Integer couponAmount = 5;
        // 佣金比例高的:5%以上;
        double tkRate = 5.0;
        // 优惠率高于10%以上(优惠率=优惠券面额/商品在售价*100%)
        // 优惠率高于10%以上(优惠率=优惠券面额/商品在售价*100%)
        Double couponRatio = 10.0;
        Double pop = 50.0;
        if (!StringUtil.isNullOrEmpty(proportion)) {
            pop = Double.parseDouble(proportion);
        }
        return countRecommend(pop, commision, couponAmount, tkRate, couponRatio);
    }
    @Override
    public List<QualityFactory> recommendByAuctionId(Long auctionId){
    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) {
        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());
        return qualityFactoryMapper.listQueryBylabIDs(0, 10, listId, goodsBrief.getId(), qualityFactory.getSystemCid());
    }
    @Override
    public List<QualityFactory> listFreeGoods(long start, int count) {
        return qualityFactoryMapper.listFreeGoods(start, count);
    }
    @Override
    public long countFreeGoods() {
        return qualityFactoryMapper.countFreeGoods();
    }
    @Override
    public List<QualityFactory> listByShopId(long start, int count, Long shopId) {
        return qualityFactoryMapper.listByShopId(start, count, shopId);
    }
    @Override
    public long countByShopId(Long shopId) {
        return qualityFactoryMapper.countByShopId(shopId);
    }
    @Override
    public List<QualityFactory> listQueryEverydayRob(long start, int count,    BigDecimal zkPrice,
            BigDecimal minQuanPrice, BigDecimal maxQuanPrice) {
    public List<QualityFactory> listQueryEverydayRob(long start, int count, BigDecimal zkPrice, BigDecimal minQuanPrice,
            BigDecimal maxQuanPrice) {
        return qualityFactoryMapper.listQueryEverydayRob(start, count, zkPrice, minQuanPrice, maxQuanPrice);
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
@@ -1,26 +1,19 @@
package com.yeshi.fanli.service.impl.taobao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.goods.taobao.dataoke.DaTaoKeGoodsDetailV2Dao;
import com.yeshi.fanli.dao.taobao.ShareHotGoodsDao;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.BeanUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -190,7 +190,6 @@
    @Override
    public List<DaTaoKeDetailV2> listPreShareHotGoods() {
        DaTaoKeGoodsDetailV2Dao daTaoKeGoodsDetailV2Dao = BeanUtil.getBean(DaTaoKeGoodsDetailV2Dao.class);
        Map<Long, DaTaoKeDetailV2> map = new HashMap<>();
        List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Dao.listPreShareHotGoods(20, "monthSales");
        System.out.println(list);