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; } }