From f4548a3ee46afe45da4ee2a42dc169c575deee9f Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 31 七月 2019 11:57:36 +0800 Subject: [PATCH] 动态v2兼容 --- fanli/src/main/java/com/yeshi/fanli/controller/TestController.java | 253 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 247 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java b/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java index 3bcd157..692f54e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java @@ -1,14 +1,20 @@ package com.yeshi.fanli.controller; +import java.io.BufferedReader; import java.io.File; +import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import javax.annotation.Resource; +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; import javax.servlet.http.HttpServletRequest; import org.jsoup.Jsoup; @@ -29,8 +35,11 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.yeshi.fanli.dao.mybatis.help.HelpCenterMapper; +import com.yeshi.fanli.dto.jd.JDSearchResult; import com.yeshi.fanli.entity.bus.activity.ActivityShareResult; import com.yeshi.fanli.entity.bus.activity.RecommendActivity; +import com.yeshi.fanli.entity.dynamic.InviteMaterial; +import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.ActivityException; import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; @@ -38,10 +47,19 @@ import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityService; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService; +import com.yeshi.fanli.service.inter.dynamic.InviteMaterialService; +import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; +import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; +import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.FileUtil; import com.yeshi.fanli.util.RedisManager; +import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.db.MongoDBManager; +import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; +import com.yeshi.fanli.util.jd.JDApiUtil; +import com.yeshi.fanli.vo.goods.GoodsDetailVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -65,10 +83,22 @@ private Scheduler scheduler; @Resource + private DynamicInfoService dynamicInfoService; + + @Resource + private TaoBaoGoodsBriefService taoBaoGoodsBriefService; + + @Resource private EhCacheCacheManager ehCacheCacheManager; @Resource private ConfigService configService; + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private InviteMaterialService inviteMaterialService; @RequestMapping(value = "testimg") public void testImg(HttpServletRequest request, PrintWriter out) { @@ -201,6 +231,11 @@ ehCacheCacheManager.getCacheManager().clearAll(); } + @RequestMapping(value = "removeRedisCache") + public void removeRedisCache(String key, PrintWriter out) { + redisManager.removeCommonString(key); + } + @RequestMapping(value = "testConfig") public void getTestConfig(PrintWriter pw) { pw.print(configService.get("test")); @@ -208,16 +243,222 @@ @RequestMapping(value = "testDaTaoKe") public void getTestDaTaoKe(PrintWriter pw) { + Document doc = null; try { - Document doc = Jsoup.connect("http://www.dataoke.com/brandFeature").get(); - Elements els = doc.getElementsByTag("script"); - for (int i = 0; i < els.size(); i++) { - if (els.get(i).html().contains("var brandData")) { - pw.print(els.get(i).html().replace("var brandData =", "").trim().split("};")[0] + "}"); + doc = Jsoup.connect("http://www.dataoke.com/ddq").get(); + } catch (IOException e1) { + e1.printStackTrace(); + } + Elements els = doc.getElementsByTag("script"); + for (int i = 0; i < els.size(); i++) { + String content = els.get(i).html(); + if (content.indexOf("var dataDef") > -1) { + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine engine = manager.getEngineByName("javascript"); + try { + String js = "function getData(){return JSON.stringify(dataDef);}" + content; + engine.eval(js); + if (engine instanceof Invocable) { + Invocable in = (Invocable) engine; + pw.print(in.invokeFunction("getData")); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + @RequestMapping(value = "insertShop") + public void insertShop(PrintWriter out) { + try { + dynamicInfoService.insertShopInfo(); + dynamicInfoService.insertTimeHotSale(); + dynamicInfoService.insertTimeRecommend(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 鎻掑叆閭�璇风礌鏉� + * + * @param out + */ + @RequestMapping(value = "uploadInviteMaterial") + public void uploadInviteMaterial(PrintWriter out) { + try { + List<InviteMaterial> list = new ArrayList<InviteMaterial>(); + + // 鍥剧墖鏂囦欢 + File file = new File("E:\\Invite\\Picture"); + File[] files = file.listFiles(); + for (File filePic : files) {// 閬嶅巻杩欎釜鏁扮粍 + String name = filePic.getName(); + String prefix = name.substring(name.lastIndexOf(".") + 1); + // 涓婁紶鏂囦欢鐩稿浣嶇疆 + String filePath = "/resource/invite/everyday/" + UUID.randomUUID().toString().replace("-", "") + "." + + prefix; + + String fileUrl = COSManager.getInstance().uploadFile(filePic, filePath).getUrl(); + + System.out.println("FileName:" + name); + System.out.println("url:" + fileUrl); + + InviteMaterial inviteMaterial = new InviteMaterial(); + inviteMaterial.setState(0); + inviteMaterial.setPicture(fileUrl); + list.add(inviteMaterial); + } + + List<String> listTxt = new ArrayList<String>(); + File textfile = new File("E:\\Invite\\content.txt");// Text鏂囦欢 + BufferedReader br = new BufferedReader(new FileReader(textfile));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢 + String s = ""; + while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛� + if (StringUtil.isNullOrEmpty(s)) { + continue; + } + listTxt.add(s); + } + br.close(); + + if (list.size() == 0 || listTxt.size() == 0 || listTxt.size() < list.size()) { + return; + } + + for (int i = 0; i < list.size(); i++) { + InviteMaterial invite = list.get(i); + invite.setText(listTxt.get(i)); + inviteMaterialService.insert(invite); + } + JsonUtil.printMode(out, null, JsonUtil.loadTrueResult("涓婁紶鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, null, JsonUtil.loadFalseResult("涓婁紶澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鎻掑叆閭�璇风礌鏉� + * + * @param out + */ + @RequestMapping(value = "uploadInviteMaterial2") + public void uploadInviteMaterial2(PrintWriter out) { + try { + List<InviteMaterial> list = new ArrayList<InviteMaterial>(); + File picfile = new File("E:\\Invite\\pic.txt");// Text鏂囦欢 + BufferedReader brp = new BufferedReader(new FileReader(picfile));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢 + String fileUrl = ""; + while ((fileUrl = brp.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛� + if (StringUtil.isNullOrEmpty(fileUrl)) { + continue; + } + InviteMaterial inviteMaterial = new InviteMaterial(); + inviteMaterial.setId(UUID.randomUUID().toString().replace("-", "")); + inviteMaterial.setState(0); + inviteMaterial.setPicture(fileUrl); + list.add(inviteMaterial); + } + brp.close(); + + List<String> listTxt = new ArrayList<String>(); + File textfile = new File("E:\\Invite\\content.txt");// Text鏂囦欢 + BufferedReader br = new BufferedReader(new FileReader(textfile));// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢 + String s = ""; + while ((s = br.readLine()) != null) {// 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛� + if (StringUtil.isNullOrEmpty(s)) { + continue; + } + listTxt.add(s); + } + br.close(); + + if (list.size() == 0 || listTxt.size() == 0 || listTxt.size() < list.size()) { + return; + } + + for (int i = 0; i < list.size(); i++) { + InviteMaterial invite = list.get(i); + invite.setText(listTxt.get(i)); + inviteMaterialService.insert(invite); + } + JsonUtil.printMode(out, null, JsonUtil.loadTrueResult("涓婁紶鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, null, JsonUtil.loadFalseResult("涓婁紶澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鎻掑叆閭�璇风礌鏉� + * + * @param out + */ + @RequestMapping(value = "saveInvite") + public void saveInvite(InviteMaterial inviteMaterial, PrintWriter out) { + try { + inviteMaterial.setState(0); + inviteMaterialService.insert(inviteMaterial); + JsonUtil.printMode(out, null, JsonUtil.loadTrueResult("涓婁紶鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, null, JsonUtil.loadFalseResult("涓婁紶澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鎻掑叆閭�璇风礌鏉� + * + * @param out + */ + @RequestMapping(value = "insertTimeInvite") + public void insertTimeInvite(PrintWriter out) { + try { + dynamicInfoService.insertTimeInvite(); + JsonUtil.printMode(out, null, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, null, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鎻掑叆閭�璇风礌鏉� + * @param out + */ + @RequestMapping(value = "getJingFenList") + public void getJingFenList(String callback, Integer page, Integer eliteId, PrintWriter out) { + try { + JDSearchResult result = JDApiUtil.getJingFenGoods(page, eliteId); + long count = 0; + JSONObject data = new JSONObject(); + JSONArray array = new JSONArray(); + if (result != null) { + PageEntity pageEntity = result.getPageEntity(); + if (pageEntity != null) { + count = pageEntity.getTotalCount(); + } + + List<JDGoods> goodsList = result.getGoodsList(); + if (goodsList != null && goodsList.size() > 0) { + BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); + BigDecimal shareRate = hongBaoManageService.getShareRate(); + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) + .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); + for (JDGoods goods : goodsList) { + GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate); + array.add(gson.toJson(goodsDetailVO)); + } } } - } catch (IOException e) { + data.put("count", count); + data.put("list", array); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); e.printStackTrace(); } } -- Gitblit v1.8.0