TestController.java 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. package com.fdkankan.scene.controller;
  2. import cn.hutool.core.collection.ConcurrentHashSet;
  3. import com.alibaba.csp.sentinel.annotation.SentinelResource;
  4. import com.alibaba.druid.pool.DruidDataSource;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  7. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  8. import com.fdkankan.common.constant.ConstantFilePath;
  9. import com.fdkankan.common.exception.BusinessException;
  10. import com.fdkankan.common.response.ResultData;
  11. import com.fdkankan.common.util.MatrixToImageWriterUtil;
  12. import com.fdkankan.common.util.SpringUtil;
  13. import com.fdkankan.common.util.StrExtUtil;
  14. import com.fdkankan.mq.message.BuildSceneMqMessage;
  15. import com.fdkankan.mq.util.RocketMQProducer;
  16. import com.fdkankan.platform.api.feign.PlatformGoodsClient;
  17. import com.fdkankan.platform.api.feign.PlatformUserClient;
  18. import com.fdkankan.platform.api.vo.Camera;
  19. import com.fdkankan.platform.api.vo.Company;
  20. import com.fdkankan.platform.api.vo.User;
  21. import com.fdkankan.redis.constant.RedisKey;
  22. import com.fdkankan.redis.constant.RedisLockKey;
  23. import com.fdkankan.redis.util.RedisLockUtil;
  24. import com.fdkankan.redis.util.RedisUtil;
  25. import com.fdkankan.scene.entity.Folder;
  26. import com.fdkankan.scene.listener.TestListener;
  27. import com.fdkankan.scene.service.IFolderService;
  28. import com.fdkankan.scene.service.IScene3dNumService;
  29. import com.fdkankan.scene.service.ISceneService;
  30. import com.fdkankan.scene.vo.SceneVO;
  31. import com.google.common.collect.Lists;
  32. import java.util.concurrent.TimeUnit;
  33. import lombok.extern.slf4j.Slf4j;
  34. import org.springframework.beans.factory.annotation.Autowired;
  35. import org.springframework.beans.factory.annotation.Value;
  36. import org.springframework.cloud.context.config.annotation.RefreshScope;
  37. import org.springframework.data.redis.core.RedisTemplate;
  38. import org.springframework.transaction.annotation.Transactional;
  39. import org.springframework.web.bind.annotation.GetMapping;
  40. import org.springframework.web.bind.annotation.RequestMapping;
  41. import org.springframework.web.bind.annotation.RestController;
  42. import javax.sql.DataSource;
  43. import java.io.File;
  44. import java.sql.Connection;
  45. import java.sql.SQLException;
  46. import java.util.HashMap;
  47. import java.util.List;
  48. import java.util.Map;
  49. import java.util.UUID;
  50. @RefreshScope
  51. @RestController
  52. @RequestMapping("/api/scene/test")
  53. @Slf4j
  54. public class TestController {
  55. @Autowired
  56. RedisUtil redisUtil;
  57. @Autowired
  58. IFolderService folderService;
  59. @GetMapping("/testdb")
  60. public List testdb(){
  61. return folderService.list();
  62. }
  63. @Autowired
  64. private PlatformUserClient platformUserClient;
  65. @Autowired
  66. private PlatformGoodsClient platformGoodsClient;
  67. @Autowired
  68. private RocketMQProducer rocketMQProducer;
  69. @Autowired
  70. private IScene3dNumService scene3dNumService;
  71. @Autowired
  72. RedisTemplate redisTemplate;
  73. @Autowired
  74. RedisLockUtil redisLockUtil;
  75. @GetMapping("/test")
  76. public String test() throws Exception {
  77. // List<Folder> list = folderService.list(new LambdaQueryWrapper<Folder>().eq(Folder::getId, 1));
  78. // for (int i = 0; i< 10; i++){
  79. // rocketMQProducer.syncSend("qwe",i+"", "消息体"+i);
  80. // }
  81. // try {
  82. // String aaa = null;
  83. // aaa.equals("123");
  84. // String test = "123";
  85. // if(test.equals("123")){
  86. // throw new BusinessException(-1, "dsfasdfsdf");
  87. // }
  88. // }catch (BusinessException e){
  89. // log.error("发生了错误:{}", e.getMessage());
  90. // }catch (Exception e){
  91. // log.error("发生了未知错误:{}", e);
  92. // }
  93. // String test = "123";
  94. // if(test.equals("123")){
  95. // throw new BusinessException(-1, "dsfasdfsdf");
  96. //
  97. // }
  98. // String ruleDir = System.getProperty("user.dir");
  99. // ResultData<String> test = platformGoodsClient.test();
  100. // System.out.println("gghhjjkkllll");
  101. // TestListener bean = SpringUtil.getBean(TestListener.class);
  102. // folderService.update(new LambdaUpdateWrapper<Folder>().eq(Folder::getId, 1L).set(Folder::getFolderName, "hahaha"));
  103. // Folder byId = folderService.getById(1L);
  104. // folderService.updateById(byId);
  105. // this.redisTemplate.opsForValue().setIfAbsent("test:lock:123", "123", (long)100000, TimeUnit.MILLISECONDS);
  106. // String key = String.format(RedisLockKey.LOCK_SCENE_SYNC, "123");
  107. // redisLockUtil.lock(key, 100000);
  108. return "123123";
  109. }
  110. public static void main(String[] args) throws Exception {
  111. MatrixToImageWriterUtil.createQRCode("http://baidu.com" + "123123", ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+"123123"+".png",
  112. null);
  113. // MatrixToImageWriterUtil.createQRCode("http://baidu.com" + "123123", ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+"123123"+".png",
  114. // ConstantFilePath.SCENE_PATH + "images/images" + "123123" + "/QRShareLogo.png");
  115. }
  116. @GetMapping("/testSetStr")
  117. public void testSetStr() throws Exception {
  118. redisUtil.set("testIncr", "1");
  119. redisUtil.incr("testIncr",1);
  120. String testIncr = redisUtil.get("testIncr");
  121. System.out.println(testIncr);
  122. }
  123. @GetMapping("/testGetStr")
  124. public String testGetStr() throws Exception {
  125. boolean b = redisUtil.hasKey("90c82bdac_202201050951313830");
  126. String abc = (String)redisUtil.get("abc");
  127. return "123";
  128. }
  129. @GetMapping("/testSetObject")
  130. public boolean testSetObject() throws Exception {
  131. // User user = new User();
  132. // user.setCity("珠海");
  133. // user.setId(123l);
  134. //
  135. // String jsons = JSON.toJSONString(user);
  136. //
  137. // redisTemplate.opsForValue().set("test:66", jsons);
  138. // redisTemplate.opsForValue().set("test:67", jsons);
  139. ResultData<Camera> cameraById = platformGoodsClient.getCameraById(111L);
  140. Camera data = cameraById.getData();
  141. ResultData<Company> companyById = platformUserClient.getCompanyById(111L);
  142. return true;
  143. }
  144. //
  145. @GetMapping("/testGetObject")
  146. public User testGetObject() throws Exception {
  147. String test12 = redisUtil.get("test66");
  148. User user = JSONObject.parseObject(test12, User.class);
  149. return user;
  150. }
  151. @GetMapping("/testSetList")
  152. public boolean testSetList() throws Exception {
  153. List<String> users = Lists.newArrayList();
  154. users.add("sdfsdf");
  155. users.add("dfgdfg");
  156. return redisUtil.lRightPushAll("test5595jj", users);
  157. }
  158. @GetMapping("/testGetList")
  159. public List<String> testGetList() throws Exception {
  160. return redisUtil.lGet("test5595jj", 0, -1);
  161. }
  162. @GetMapping("/testSetMap")
  163. public boolean testSetMap() throws Exception {
  164. Map<String, User> userMap = new HashMap<>();
  165. User user1 = new User();
  166. user1.setCity("珠海");
  167. user1.setId(123l);
  168. User user2 = new User();
  169. user2.setCity("广州");
  170. user2.setId(124l);
  171. userMap.put("user1", user1);
  172. userMap.put("user2", user2);
  173. return redisUtil.hmset("userMap", userMap);
  174. }
  175. @GetMapping("/testGetMap")
  176. public Map<String ,User> testGetMap() throws Exception {
  177. return redisUtil.hmget("userMap");
  178. }
  179. @Autowired
  180. ISceneService sceneService;
  181. @GetMapping("/testSchedule")
  182. public void testSchedule(){
  183. sceneService.updatePv();
  184. }
  185. @Value("${rocketmq.build-scene.topicName.topic-modeling-a}")
  186. private String topicModelingA;
  187. @GetMapping("/testMQ")
  188. public void testMQ(int count){
  189. // SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
  190. for(int i = 1; i <= count; i++){
  191. rocketMQProducer.sendOneWay("test_topic_dsx", "消息体" + i);
  192. }
  193. }
  194. @GetMapping("/testAsynMQ")
  195. public void testAsynMQ(){
  196. SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
  197. rocketMQProducer.asyncSend("abc","tag3", UUID.randomUUID().toString(), body,null,5000l);
  198. }
  199. @GetMapping("/testsenOnway")
  200. public void testsenOnway(){
  201. SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
  202. rocketMQProducer.sendOneWay("qqq","tag6", UUID.randomUUID().toString(), body);
  203. }
  204. @RefreshScope
  205. @GetMapping("/testsenOnway1")
  206. public void testsenOnway1(){
  207. SceneVO body = SceneVO.builder().buildType("123").childName("sdfsdfsdf").dataSource("sadfdhgf").id(1213L).build();
  208. rocketMQProducer.sendOneWay(topicModelingA, null);
  209. }
  210. @RefreshScope
  211. @GetMapping("/testResult")
  212. public void testResult(){
  213. // rocketMQProducer.sendOneWay("topic_modeling_a_result", BuildSceneResultMqMessage.builder().buildSuccess(true).cameraType("3").build());
  214. String dsfsdf = (String) redisUtil.get("dsfsdf");
  215. System.out.println(2134);
  216. }
  217. @Autowired
  218. DataSource dataSource;
  219. @GetMapping("/testDatasource")
  220. public void testDatasource() throws SQLException {
  221. // Connection connection = dataSource.getConnection();
  222. // System.out.println(connection);
  223. System.out.println(dataSource.getClass());
  224. DruidDataSource druidDataSource = (DruidDataSource) dataSource;
  225. System.out.println(druidDataSource.getName());
  226. System.out.println("druidDataSource 数据源最大连接数:" + druidDataSource.getMaxActive());
  227. System.out.println("druidDataSource 数据源初始化连接数:" + druidDataSource.getInitialSize());
  228. // connection.close();
  229. }
  230. }