From 61d6836d694fe8526b929b03dfd267ea1b729d64 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 03 九月 2019 10:46:38 +0800
Subject: [PATCH] 分享爆款与自购立减的H5商品返回
---
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java | 352 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 351 insertions(+), 1 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 1d2e782..a447af8 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
@@ -1,18 +1,29 @@
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;
+import org.jsoup.nodes.Document;
+import org.jsoup.select.Elements;
import org.quartz.JobExecutionContext;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
+import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.HttpUtil;
@@ -23,22 +34,40 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dao.dynamic.DynamicInfoDao;
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.DynamicInfo;
+import com.yeshi.fanli.entity.dynamic.GoodsPicture;
+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.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.ActivityException;
import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
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;
+import redis.clients.jedis.JedisPool;
@Controller
@RequestMapping("test")
@@ -57,6 +86,34 @@
private HelpCenterMapper helpCenterMapper;
@Resource
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;
+
+
+ @Resource
+ private DynamicInfoDao dynamicInfoDao;
+
+
+
+ @Resource
+ private JedisPool jedisPool;
+
@RequestMapping(value = "testimg")
public void testImg(HttpServletRequest request, PrintWriter out) {
@@ -172,10 +229,303 @@
e.printStackTrace();
}
}
-
+
@RequestMapping(value = "testhtml")
public void testhtml(PrintWriter out) {
out.print("<script>yestv.finishPage();</script>");
out.close();
}
+
+ /**
+ * 娓呴櫎缂撳瓨
+ *
+ * @param out
+ */
+ @RequestMapping(value = "removeCache")
+ public void removeCache(PrintWriter out) {
+ 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"));
+ }
+
+ @RequestMapping(value = "testDaTaoKe")
+ public void getTestDaTaoKe(PrintWriter pw) {
+ Document doc = null;
+ try {
+ 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));
+ }
+ }
+ }
+
+ 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();
+ }
+ }
+
+
+
+ /**
+ * 鎻掑叆閭�璇风礌鏉�
+ *
+ * @param out
+ */
+ @RequestMapping(value = "queryExistsId")
+ public void queryExistsAuctionId(PrintWriter out) {
+ try {
+ List<DynamicInfo> list = dynamicInfoDao.queryExistsAuctionId();
+ for (DynamicInfo dynamicInfo: list) {
+ List<GoodsPicture> imgs = dynamicInfo.getImgs();
+ if (imgs == null || imgs.size() == 0) {
+ continue;
+ }
+
+ boolean update = false;
+ for (GoodsPicture goodsPicture: imgs) {
+ TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
+ if (goods == null) {
+ continue;
+ }
+
+ if (goods.getAuctionId() == null) {
+ update = true;
+ goods.setAuctionId(goods.getId());
+ }
+ }
+
+ if (update) {
+ dynamicInfo.setImgs(imgs);
+ dynamicInfoDao.updateGoodInfo(dynamicInfo);
+ }
+ }
+ JsonUtil.printMode(out, null, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
+// JsonUtil.printMode(out, null, JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(list)));
+ } catch (Exception e) {
+ JsonUtil.printMode(out, null, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+
+ @RequestMapping(value = "getWaitingThreadsCount")
+ public void getWaitingThreadsCount(PrintWriter out) {
+ out.print(Constant.waitingThreadSet.size());
+
+ }
}
--
Gitblit v1.8.0