package com.yeshi.fanli.controller;
|
|
import java.io.File;
|
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 javax.annotation.Resource;
|
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;
|
import org.yeshi.utils.JsonUtil;
|
import org.yeshi.utils.QRCodeUtil;
|
import org.yeshi.utils.tencentcloud.COSManager;
|
import org.yeshi.utils.wx.WXUtil;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.yeshi.fanli.dao.mybatis.help.HelpCenterMapper;
|
import com.yeshi.fanli.entity.bus.activity.ActivityShareResult;
|
import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
|
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
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.util.Constant;
|
import com.yeshi.fanli.util.FileUtil;
|
import com.yeshi.fanli.util.RedisManager;
|
import com.yeshi.fanli.util.db.MongoDBManager;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("test")
|
public class TestController {
|
|
@Resource
|
private RedisManager redisManager;
|
|
@Resource
|
private ActivityService activityService;
|
|
@Resource
|
private MongoDBManager mongoDBManager;
|
|
@Resource
|
private HelpCenterMapper helpCenterMapper;
|
@Resource
|
private Scheduler scheduler;
|
|
@Resource
|
private EhCacheCacheManager ehCacheCacheManager;
|
|
@Resource
|
private ConfigService configService;
|
|
@RequestMapping(value = "testimg")
|
public void testImg(HttpServletRequest request, PrintWriter out) {
|
long startTime = System.currentTimeMillis();
|
|
List<String> list = new ArrayList<>();
|
for (int i = 0; i < 10; i++) {
|
list.add("i" + i);
|
}
|
|
try {
|
final TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(569823237075L);
|
} catch (TaobaoGoodsDownException e1) {
|
e1.printStackTrace();
|
}
|
String url = "http://www.baidu.com";
|
list.parallelStream().forEach(ids -> {
|
InputStream portrait = HttpUtil.getAsInputStream(
|
"https://wwc.alicdn.com/avatar/getAvatar.do?userId=1889722423&width=160&height=160&type=sns");
|
System.out.println(ids + "开始时间:" + System.currentTimeMillis());
|
String uid = "123";
|
String auctionId = "test-" + ids;
|
|
String destPath = FileUtil.getCacheDir() + "/" + auctionId + ".jpg";
|
|
String shareImgPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + auctionId + ".png";
|
|
try {
|
QRCodeUtil.getInstance(500).encode(url, destPath);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
long startDTime = System.currentTimeMillis();
|
|
/*
|
* try { //ImageUtil.drawGoodsShareImg(new FileInputStream(new
|
* File(destPath)), portrait, goods, shareImgPath); } catch
|
* (FileNotFoundException e) { e.printStackTrace(); }
|
*/
|
System.out.println(System.currentTimeMillis() - startDTime);
|
|
String shareImgUrl = COSManager.getInstance()
|
.uploadFile(new File(shareImgPath), "share_" + uid + "_" + auctionId + ".png").getUrl();
|
System.out.println(ids + "结束时间:" + System.currentTimeMillis());
|
});
|
System.out.println("整体耗时:" + (System.currentTimeMillis() - startTime));
|
}
|
|
@RequestMapping(value = "kefu")
|
public void kefu(HttpServletRequest request, PrintWriter out) {
|
String content = WXUtil.getContent(request);
|
LogHelper.test(content);
|
return;
|
}
|
|
@RequestMapping(value = "testactivity")
|
public void test2(PrintWriter out) {
|
List<RecommendActivity> list = activityService.getRecommendActivityList(1, Constant.PAGE_SIZE);
|
long count = activityService.getRecommendActivityCount(null);
|
JSONObject data = new JSONObject();
|
data.put("data", getGson().toJson(list));
|
data.put("count", count);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
@RequestMapping(value = "testactivitysharegoods")
|
public void test3(PrintWriter out) {
|
try {
|
ActivityShareResult result = activityService.shareActivityGoods(343448L, 1L);
|
out.print(JsonUtil.getSimpleGson().toJson(result));
|
} catch (UserShareGoodsRecordException e) {
|
e.printStackTrace();
|
} catch (ActivityException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@RequestMapping(value = "testactivityshareinvite")
|
public void test4(PrintWriter out) {
|
try {
|
ActivityShareResult result = activityService.shareInviteImg(343448L, 2L);
|
out.print(JsonUtil.getSimpleGson().toJson(result));
|
} catch (ActivityException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@RequestMapping(value = "testnumber")
|
public void test5(PrintWriter out) {
|
JSONArray array = new JSONArray();
|
for (int i = 0; i < 1000; i++) {
|
JSONObject data = new JSONObject();
|
data.put("number", new BigDecimal("10").add(new BigDecimal("0.1").multiply(new BigDecimal(i))));
|
array.add(data);
|
}
|
out.print(array.toString());
|
}
|
|
private Gson getGson() {
|
GsonBuilder gb = new GsonBuilder();
|
gb.setDateFormat("MM-dd HH:mm");
|
gb.excludeFieldsWithoutExposeAnnotation();
|
Gson gson = gb.create();
|
return gson;
|
}
|
|
@RequestMapping(value = "scheduler")
|
public void test8(PrintWriter out) {
|
try {
|
List<JobExecutionContext> jobList = scheduler.getCurrentlyExecutingJobs();
|
out.print("running job:" + jobList.size());
|
} catch (SchedulerException e) {
|
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 = "testConfig")
|
public void getTestConfig(PrintWriter pw) {
|
pw.print(configService.get("test"));
|
}
|
|
@RequestMapping(value = "testDaTaoKe")
|
public void getTestDaTaoKe(PrintWriter pw) {
|
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] + "}");
|
}
|
}
|
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
}
|