admin
2019-05-09 a82cab28796d4287f4514813f6d8b2c3023fb4cb
增加缓存清除,增加搜索与推荐的淘客商品过滤
9个文件已修改
157 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/ConfigAdminController.java
@@ -6,6 +6,7 @@
import javax.annotation.Resource;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
@@ -26,10 +27,13 @@
    @Resource
    private ConfigService configService;
    @Resource
    private  AppVersionService appVersionService;
    private AppVersionService appVersionService;
    @Resource
    private EhCacheCacheManager ehCacheCacheManager;
    /**
     * 查询列表 - 新后台
     * 
@@ -116,22 +120,23 @@
            e.printStackTrace();
        }
    }
    /**
     * 查询列表 - 新后台
     *
     * @param callback
     * @param key 查询词  名称
     * @param key
     *            查询词 名称
     * @param pageIndex
     * @param out
     */
    @RequestMapping(value = "getVersionList")
    public void getVersionList(String callback, String key, Integer pageIndex, PrintWriter out){
    public void getVersionList(String callback, String key, Integer pageIndex, PrintWriter out) {
        try {
            AppVersionInfo appVersionInfo = new AppVersionInfo();
            appVersionInfo.setVersion("全推");
            // IOS版本
            List<AppVersionInfo> list1 = appVersionService.getAppVersionInfoListByPlatform(AppVersionInfo.PLATFORM_IOS);
            if (list1 == null) {
@@ -140,27 +145,39 @@
            List<AppVersionInfo> listIOS = new ArrayList<AppVersionInfo>();
            listIOS.add(appVersionInfo);
            listIOS.addAll(list1);
            // 安卓版本
            List<AppVersionInfo> list2 = appVersionService.getAppVersionInfoListByPlatform(AppVersionInfo.PLATFORM_ANDROID);
            List<AppVersionInfo> list2 = appVersionService
                    .getAppVersionInfoListByPlatform(AppVersionInfo.PLATFORM_ANDROID);
            if (list2 == null) {
                list2 = new ArrayList<AppVersionInfo>();
            }
            List<AppVersionInfo> listAndroid = new ArrayList<AppVersionInfo>();
            listAndroid.add(appVersionInfo);
            listAndroid.addAll(list2);
            JSONObject data = new JSONObject();
            data.put("android", listAndroid);
            data.put("ios", listIOS);
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("版本查询失败"));
            e.printStackTrace();
        }
    }
    /***
     * 清除缓存
     *
     * @param callback
     * @param out
     */
    @RequestMapping(value = "clearCaches")
    public void clearCaches(String callback, PrintWriter out) {
        ehCacheCacheManager.getCacheManager().clearAll();
        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(""));
    }
}
fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java
@@ -2,6 +2,7 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -18,9 +19,11 @@
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
@@ -43,6 +46,9 @@
    @Resource
    private TaoBaoUnionConfigService taoBaoUnionConfigService;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    /**
     * 获取商品信息
@@ -168,6 +174,18 @@
                        return;
                    }
                }
            // 查询大淘客标题
            List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text);
            if (list != null && list.size() > 0) {
                root.put("type", 2);
                JSONObject data = new JSONObject();
                data.put("title", list.get(0).getdTitle());
                root.put("data", data);
                out.print(JsonUtil.loadTrueResult(root));
                return;
            }
            out.print(JsonUtil.loadFalseResult("暂不支持该类型!"));
            return;
        }
fanli/src/main/java/com/yeshi/fanli/controller/client/SearchController.java
@@ -10,7 +10,6 @@
import java.util.Set;
import javax.annotation.Resource;
import javax.print.attribute.standard.NumberUp;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
@@ -24,7 +23,6 @@
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.bus.recommend.Honest;
import com.yeshi.fanli.entity.bus.search.HistorySearch;
import com.yeshi.fanli.entity.bus.search.HotSearch;
import com.yeshi.fanli.entity.bus.su.search.SuperHotSearch;
import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -36,6 +34,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -44,12 +43,14 @@
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.HistorySearchService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.EhcacheUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.SearchFilterUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -88,6 +89,9 @@
    @Resource
    private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    @RequestMapping(value = "gethotsearch", method = RequestMethod.POST)
    public void getHotSearch(AcceptData acceptData, PrintWriter out) {
@@ -603,6 +607,21 @@
        }
        TaoBaoSearchResult result = TaoBaoUtil.search(sf);
        // 大淘客过滤
        List<DaTaoKeDetail> detaokeList = daTaoKeGoodsDetailService.listByDtitle(kw);
        if (detaokeList != null)
            for (DaTaoKeDetail detail : detaokeList) {
                for (int i = 0; i < result.getTaoBaoGoodsBriefs().size(); i++) {
                    if (detail.getGoodsId().longValue() == result.getTaoBaoGoodsBriefs().get(i).getAuctionId()) {
                        result.getTaoBaoGoodsBriefs().set(i,
                                DaTaoKeUtil.filterTaoBaoGoods(result.getTaoBaoGoodsBriefs().get(i), detail));
                        break;
                    }
                }
            }
        // result.setTaoBaoGoodsBriefs(daTaoKeGoodsDetailService.filterTaoBaoGoods(result.getTaoBaoGoodsBriefs()));
        if (result == null) {
            return null;
        }
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java
@@ -48,4 +48,12 @@
     */
    List<DaTaoKeDetail> listByIds(@Param("idList") List<Long> idList);
    /**
     * 根据标题查询
     *
     * @param dtitle
     * @return
     */
    List<DaTaoKeDetail> listByDtitle(String dtitle);
}
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml
@@ -70,6 +70,16 @@
    </select>
    <select id="listByDtitle" resultMap="BaseResultMap"
        parameterType="java.lang.String">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_goods_dataoke where d_title=#{0}
    </select>
    <delete id="deleteByIdList">
        delete from
        yeshi_ec_goods_dataoke where
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
@Service
public class DaTaoKeGoodsDetailServiceImpl implements DaTaoKeGoodsDetailService {
@@ -95,7 +96,7 @@
            map.put(goods.getGoodsId(), goods);
        for (TaoBaoGoodsBrief goods : goodsList) {
            DaTaoKeDetail detail = map.get(goods.getAuctionId());
            goods = filterTaoBaoGoods(goods, detail);
            goods = DaTaoKeUtil.filterTaoBaoGoods(goods, detail);
        }
        return goodsList;
    }
@@ -110,22 +111,8 @@
            return goods;
        // 重新设置标题与券价格
        goods = filterTaoBaoGoods(goods, daTaoKeList.get(0));
        goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0));
        return goods;
    }
    private TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetail detail) {
        if (detail != null) {
            // 重新设置标题与券价格
            goods.setTitle(detail.getdTitle());
            goods.setCouponAmount(detail.getQuanPrice());
            if (new BigDecimal(detail.getQuanCondition()).compareTo(new BigDecimal(0)) > 0)
                goods.setCouponInfo(String.format("满%s元减%s元", detail.getQuanCondition(),
                        MoneyBigDecimalUtil.getWithNoZera(detail.getQuanPrice()).toString()));
            else
                goods.setCouponInfo(String.format("%s元无条件券", detail.getQuanPrice()));
        }
        return goods;
    }
@@ -134,4 +121,10 @@
        return daTaoKeDetailMapper.listByIds(idList);
    }
    @Override
    public List<DaTaoKeDetail> listByDtitle(String dtitle) {
        return daTaoKeDetailMapper.listByDtitle(dtitle.trim());
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailService.java
@@ -49,4 +49,11 @@
     */
    public List<DaTaoKeDetail> listByIds(List<Long> idList);
    /**
     * 根据标题查询
     * @param dtitle
     * @return
     */
    public List<DaTaoKeDetail> listByDtitle(String dtitle);
}
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -27,7 +27,10 @@
        System.out.println(resultJson);
        JSONArray array = resultJson.optJSONArray("result");
        for (int i = 0; i < array.size(); i++) {
            list.add(gson.fromJson(array.optJSONObject(i).toString(), DaTaoKeDetail.class));
            DaTaoKeDetail detail = gson.fromJson(array.optJSONObject(i).toString(), DaTaoKeDetail.class);
            if (detail != null && !detail.getPic().startsWith("http"))
                detail.setPic("https:" + detail.getPic());
            list.add(detail);
        }
        return new DaTaoKeApiResult(resultJson.optJSONObject("data").optInt("total_num"),
                resultJson.optJSONObject("data").optString("update_time"), list);
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -539,5 +539,19 @@
        desc += detail.getIntroduce();
        return desc;
    }
    public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetail detail) {
        if (detail != null) {
            // 重新设置标题与券价格
            goods.setTitle(detail.getdTitle());
            goods.setCouponAmount(detail.getQuanPrice());
            if (new BigDecimal(detail.getQuanCondition()).compareTo(new BigDecimal(0)) > 0)
                goods.setCouponInfo(String.format("满%s元减%s元", detail.getQuanCondition(),
                        MoneyBigDecimalUtil.getWithNoZera(detail.getQuanPrice()).toString()));
            else
                goods.setCouponInfo(String.format("%s元无条件券", detail.getQuanPrice()));
        }
        return goods;
    }
}