package com.yeshi.fanli.controller; import java.io.File; 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.quartz.JobExecutionContext; import org.quartz.Scheduler; import org.quartz.SchedulerException; 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.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; @RequestMapping(value = "testimg") public void testImg(HttpServletRequest request, PrintWriter out) { long startTime = System.currentTimeMillis(); List 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 list = activityService.getRecommendActivityList(1, Constant.PAGE_SIZE); long count = activityService.getRecommendActivityCount(); 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 jobList = scheduler.getCurrentlyExecutingJobs(); out.print("running job:" + jobList.size()); } catch (SchedulerException e) { e.printStackTrace(); } } }