TestController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.cdf.controller.back;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.ExcelWriter;
  4. import com.alibaba.excel.write.metadata.WriteSheet;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  7. import com.cdf.common.PageInfo;
  8. import com.cdf.common.ResultData;
  9. import com.cdf.entity.Shop;
  10. import com.cdf.httpClient.client.CdfClient;
  11. import com.cdf.httpClient.client.FdkkClient;
  12. import com.cdf.httpClient.request.FdkkAllSceneRequest;
  13. import com.cdf.httpClient.response.FdkkResponse;
  14. import com.cdf.httpClient.response.cdf.CdfProductListRequest;
  15. import com.cdf.request.ShopRequest;
  16. import com.cdf.response.ShopVo;
  17. import com.cdf.schedule.ScheduleTask;
  18. import com.cdf.service.IShopService;
  19. import com.cdf.util.ExcelUtil;
  20. import com.cdf.util.ReadCmdLine;
  21. import org.apache.commons.lang3.StringUtils;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.*;
  24. import org.springframework.web.multipart.MultipartFile;
  25. import javax.annotation.Resource;
  26. import javax.servlet.http.HttpServletRequest;
  27. import javax.servlet.http.HttpServletResponse;
  28. import java.io.IOException;
  29. import java.net.URLEncoder;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. @RestController
  33. public class TestController {
  34. @Autowired
  35. IShopService shopService;
  36. @Resource
  37. CdfClient cdfClient;
  38. @Autowired
  39. private ScheduleTask scheduleTask;
  40. @Resource
  41. FdkkClient fdkkClient;
  42. @RequestMapping("/test/getProductById")
  43. public ResultData getProductById(@RequestParam(required = false) String productId){
  44. return ResultData.ok(cdfClient.getProductById(productId));
  45. }
  46. @RequestMapping("/test/getProductList")
  47. public ResultData getProductList(@RequestBody CdfProductListRequest param){
  48. return ResultData.ok(cdfClient.getProductList(param));
  49. }
  50. @RequestMapping("/test/getCatNum")
  51. public ResultData getCatNum(@RequestParam(required = false) String accessToken){
  52. return ResultData.ok(cdfClient.getCatNum(accessToken));
  53. }
  54. @RequestMapping("/test/task")
  55. public ResultData statisticsH5Data(@RequestParam(required = false) String day) throws Exception {
  56. if(StringUtils.isNotBlank(day)){
  57. ScheduleTask.day = day;
  58. }
  59. scheduleTask.statisticsH5Data();
  60. return ResultData.ok();
  61. }
  62. @RequestMapping("/test/shell")
  63. public ResultData shell(@RequestParam(required = false) String day) throws Exception {
  64. String sell = "aws s3 sync s3://4dkankan/cdf s3://4dage-moderate2/cdf --profile user1";
  65. ReadCmdLine.callShellByExec(sell);
  66. return ResultData.ok();
  67. }
  68. @RequestMapping("/test/one")
  69. public ResultData test1(@RequestHeader String token) throws Exception{
  70. FdkkResponse allScene = fdkkClient.getAllScene(new FdkkAllSceneRequest() ,token);
  71. return ResultData.ok(allScene);
  72. }
  73. @GetMapping("/export")
  74. public void export(HttpServletRequest request, HttpServletResponse response) throws Exception {
  75. ShopRequest param = new ShopRequest();
  76. param.setPageNum(1);
  77. param.setPageSize(1000);
  78. PageInfo pageInfo = shopService.pageList(param);
  79. List<ShopVo> list = (List<ShopVo>) pageInfo.getList();
  80. this.commonExport(request,response,"店铺列表",list,ShopVo.class);
  81. }
  82. @PostMapping("uploadExcel")
  83. public ResultData uploadExcel(@RequestParam(required = false) MultipartFile file) throws IOException {
  84. List<HashMap<Integer, String>> excelRowList = ExcelUtil.getExcelRowList(file);
  85. for (HashMap<Integer, String> map : excelRowList) {
  86. String id = map.get(2);
  87. String sort = map.get(4);
  88. LambdaUpdateWrapper<Shop> wrapper = new LambdaUpdateWrapper<>();
  89. wrapper.eq(Shop::getId,id);
  90. wrapper.set(Shop::getSort,sort);
  91. shopService.update(wrapper);
  92. }
  93. return ResultData.ok();
  94. }
  95. public void commonExport(HttpServletRequest request, HttpServletResponse response, String name, List<?> result, Class<?> clazz) throws Exception {
  96. response.setContentType("application/vnd.ms-excel");
  97. response.setCharacterEncoding("utf-8");
  98. String fileName = name + ".xlsx";
  99. fileName = URLEncoder.encode(fileName, "UTF-8");
  100. response.setHeader("Content-disposition", "attachment;filename=" + fileName);
  101. ExcelWriter excelWriter = null;
  102. try {
  103. excelWriter = EasyExcel.write(response.getOutputStream(), clazz).build();
  104. WriteSheet writeSheet = EasyExcel.writerSheet(name).build();
  105. excelWriter.write(result, writeSheet);
  106. }catch (Exception e){
  107. e.printStackTrace();
  108. }finally {
  109. if(excelWriter != null){
  110. excelWriter.finish();
  111. }
  112. }
  113. }
  114. }