yujian
2019-12-11 0f52108bac0ebf47a563c41bcb97d934b7cf12ab
fanli/src/main/java/com/yeshi/fanli/controller/TestController.java
@@ -1,18 +1,31 @@
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.Iterator;
import java.util.List;
import java.util.Set;
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 +36,51 @@
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.ConfigParamsDTO;
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.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.exception.ActivityException;
import com.yeshi.fanli.exception.push.PushException;
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.money.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
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.TimeUtil;
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.util.push.OPPOPushUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
@Controller
@RequestMapping("test")
@@ -57,6 +99,36 @@
   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;
   @Resource
   private IntegralGetService integralGetService;
   @Resource
   private UserMoneyExtraService userMoneyExtraService;
   @RequestMapping(value = "testimg")
   public void testImg(HttpServletRequest request, PrintWriter out) {
@@ -172,10 +244,143 @@
         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();
      }
   }
   @RequestMapping(value = "getWaitingThreadsCount")
   public void getWaitingThreadsCount(PrintWriter out) {
      out.print(Constant.waitingThreadSet.size());
   }
   @RequestMapping(value = "getBinFaRedisKey")
   public void getPinFaRedisKey(PrintWriter out) {
      JSONArray array = new JSONArray();
      Jedis jedis = jedisPool.getResource();
      try {
         Set<String> sets = jedis.keys("rs-*");
         for (Iterator<String> its = sets.iterator(); its.hasNext();)
            array.add(its.next());
      } finally {
         jedis.close();
      }
      out.println(array.toString());
   }
   @RequestMapping(value = "pushOppo")
   public void pushOppo(String registerId, PrintWriter out) {
      List<String> registerIds = new ArrayList<>();
      registerIds.add(registerId);
      try {
         OPPOPushUtil.pushUrl(registerIds, "测试网页推送", "测试网页推送内容", "http://www.baidu.com");
      } catch (PushException e) {
         e.printStackTrace();
      }
      try {
         OPPOPushUtil.pushGoods(registerIds, "测试商品网页推送", "测试商品推送内容", 1, 577628549116L);
      } catch (PushException e) {
         e.printStackTrace();
      }
      try {
         OPPOPushUtil.pushUserSignInNotification(registerIds, "测试签到推送", "测试签到推送");
      } catch (PushException e) {
         e.printStackTrace();
      }
      try {
         OPPOPushUtil.pushWelfareCenter(registerIds, "测试福利中心推送", "测试福利中心推送");
      } catch (PushException e) {
         e.printStackTrace();
      }
      try {
         OPPOPushUtil.pushZNX(registerIds, "测试站内信推送", "测试站内信推送");
      } catch (PushException e) {
         e.printStackTrace();
      }
      out.print("success");
   }
   @RequestMapping("getLocalTime")
   public void getLocalTime(PrintWriter out) {
      out.print(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
   }
   @RequestMapping("getSchedulerList")
   public void getSchedulerList(PrintWriter out) {
      try {
         for (String groupName : scheduler.getJobGroupNames()) {
            System.out.println(groupName);
         }
      } catch (Exception e) {
      }
   }
}