WXDianpingController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package com.ygj.yuemum.controller.wxmini;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.ygj.yuemum.component.Constant;
  6. import com.ygj.yuemum.domain.wxmini.WXDianPing;
  7. import com.ygj.yuemum.domain.wxmini.WXDianPingImages;
  8. import com.ygj.yuemum.service.wxmini.WXDianPingImagesService;
  9. import com.ygj.yuemum.service.wxmini.WXDianPingService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.*;
  12. import org.springframework.web.multipart.MultipartFile;
  13. import java.io.File;
  14. import java.io.IOException;
  15. import java.util.List;
  16. import java.util.Map;
  17. import java.util.UUID;
  18. @RestController
  19. public class WXDianpingController {
  20. @Autowired
  21. private WXDianPingService wxDianPingService;
  22. @Autowired
  23. private WXDianPingImagesService wxDianPingImagesService;
  24. public static final String DIANPINGIMGURL = Constant.DIANPINGIMGURL;
  25. public static final String HTTPDIANPINGIMGURL = Constant.HTTPDIANPINGIMGURL;
  26. @GetMapping("/getWXDianPings")
  27. public List<WXDianPing> getWXDianPings() {
  28. List<WXDianPing> wxBanners = wxDianPingService.getWXDianPings();
  29. return wxBanners;
  30. }
  31. @GetMapping("/getWXDianPing")
  32. public List<WXDianPing> getWXDianPing() {
  33. List<WXDianPing> wxBanners = wxDianPingService.getWXDianPing();
  34. return wxBanners;
  35. }
  36. @RequestMapping(value = "/insertWXDianPing", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
  37. @ResponseBody
  38. public int insertWXDianPing(@RequestParam Map<String, Object> jsonParam) {
  39. WXDianPing wxDianPing = JSON.parseObject(JSON.toJSONString(jsonParam), WXDianPing.class);
  40. JSONArray imageLists = JSONArray.parseArray(wxDianPing.getImage_list());
  41. int dianPingID = wxDianPingService.getDianPingID();
  42. for (int i = 0; i < imageLists.size(); i++) {
  43. WXDianPingImages wxDianPingImages = new WXDianPingImages();
  44. wxDianPingImages.setWd_id(dianPingID);
  45. wxDianPingImages.setWdi_image_path(imageLists.getString(i));
  46. wxDianPingImagesService.insertWXDianPingImages(wxDianPingImages);
  47. }
  48. wxDianPingService.insertWXDianPing(wxDianPing);
  49. return 1;
  50. }
  51. @RequestMapping(value = "/updateWXDianPing", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
  52. @ResponseBody
  53. public int updateWXDianPing(@RequestParam Map<String, Object> jsonParam) {
  54. WXDianPing wxDianPing = JSON.parseObject(JSON.toJSONString(jsonParam), WXDianPing.class);
  55. JSONArray imageLists = JSONArray.parseArray(wxDianPing.getImage_list());
  56. wxDianPingImagesService.deleteWXDianPingImage(wxDianPing.getId());
  57. for (int i = 0; i < imageLists.size(); i++) {
  58. WXDianPingImages wxDianPingImages = new WXDianPingImages();
  59. wxDianPingImages.setWd_id(wxDianPing.getId());
  60. wxDianPingImages.setWdi_image_path(imageLists.getString(i));
  61. wxDianPingImagesService.insertWXDianPingImages(wxDianPingImages);
  62. }
  63. wxDianPingService.updateWXDianPing(wxDianPing);
  64. return 1;
  65. }
  66. @PostMapping("/queryWXDianPings")
  67. public String queryWXDianPings(@ModelAttribute WXDianPing wxDianPing) {
  68. Map<String, Object> orderTemps = wxDianPingService.queryWXDianPings(wxDianPing);
  69. String jso = JSONObject.toJSONString(orderTemps);
  70. return jso;
  71. }
  72. @PostMapping("/deleteWXDianPing")
  73. public int deleteWXDianPing(@RequestParam("id") Integer id) {
  74. try {
  75. List<WXDianPingImages> wxDianPingImages = wxDianPingImagesService.getWXDianPingImages(id);
  76. for (WXDianPingImages img :wxDianPingImages) {
  77. String[] pathname = img.getWdi_image_path().split("/");
  78. String name = pathname[pathname.length - 1];
  79. String delPath = DIANPINGIMGURL + name;
  80. File delDest = new File(delPath);
  81. delDest.delete();
  82. }
  83. wxDianPingImagesService.deleteWXDianPingImage(id);
  84. wxDianPingService.deleteWXDianPing(id);
  85. }catch (Exception ex){
  86. ex.printStackTrace();
  87. return 0;
  88. }
  89. return 1;
  90. }
  91. @RequestMapping(value = "/uploadDianPingImg", method = RequestMethod.POST)
  92. @ResponseBody
  93. public String uploadMiniImg(@RequestParam("file") MultipartFile file) {
  94. if (file.isEmpty()) {
  95. return null;
  96. }
  97. int dot = file.getOriginalFilename().lastIndexOf('.');
  98. String originalFilename = file.getOriginalFilename().substring(dot);
  99. String name = UUID.randomUUID().toString().replace("-", "");
  100. String path = DIANPINGIMGURL + name + originalFilename;
  101. try {
  102. File dest = new File(path);
  103. file.transferTo(dest); //保存文件 覆盖之前
  104. } catch (IllegalStateException e) {
  105. // TODO Auto-generated catch block
  106. e.printStackTrace();
  107. return null;
  108. } catch (IOException e) {
  109. e.printStackTrace();
  110. return null;
  111. }
  112. return HTTPDIANPINGIMGURL + name + originalFilename;
  113. }
  114. @PostMapping("/deleteWXDianPingImage")
  115. public int deleteWXDianPingImage(@RequestParam("filepath") String filepath) {
  116. try {
  117. String[] pathname = filepath.split("/");
  118. String name = pathname[pathname.length - 1];
  119. String delPath = DIANPINGIMGURL + name;
  120. File delDest = new File(delPath);
  121. delDest.delete();
  122. } catch (Exception ex) {
  123. ex.printStackTrace();
  124. return 0;
  125. }
  126. return 1;
  127. }
  128. @PostMapping("/getWXDianPingsByID")
  129. public WXDianPing getWXDianPingsByID(@RequestParam("id") Integer id) {
  130. return wxDianPingService.getWXDianPingsByID(id);
  131. }
  132. }