OasBoxController.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.mokamrp.privates.controller;
  2. import com.mokamrp.privates.constant.HttpMsg;
  3. import com.mokamrp.privates.constant.HttpStatus;
  4. import com.mokamrp.privates.entity.PostBasePageHandle;
  5. import com.mokamrp.privates.entity.VoltaHandle;
  6. import com.mokamrp.privates.help.AjaxResult;
  7. import com.mokamrp.privates.entity.ResHandle;
  8. import com.mokamrp.privates.help.Analysis;
  9. import com.mokamrp.privates.interceptor.AuthUser;
  10. import com.mokamrp.privates.mapper.pojo.User;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.validation.BindingResult;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import com.mokamrp.privates.service.OasBoxService;
  15. import com.mokamrp.privates.mapper.pojo.OasBox;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import com.mokamrp.privates.controller.BaseController;
  20. import javax.validation.Valid;
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.Map;
  24. import java.util.List;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import org.springframework.web.multipart.MultipartFile;
  27. /**
  28. * <p>
  29. * 私域公众号/小程序库 前端控制器
  30. * </p>
  31. *
  32. * @author leon
  33. * @since 2021-09-29
  34. */
  35. @RestController
  36. @RequestMapping("/oasBox")
  37. public class OasBoxController extends BaseController<OasBox> {
  38. @Autowired
  39. public OasBoxService oasBoxService;
  40. /*
  41. * @fast
  42. * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
  43. * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
  44. */
  45. @PostMapping("/list")
  46. public Object list(@Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult){
  47. if (bindingResult.hasErrors()) {
  48. return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
  49. }
  50. ResHandle<List<OasBox>> res = oasBoxService.getList(postBasePageHandle);
  51. return AjaxResult.success(res);
  52. }
  53. /**
  54. * 导入
  55. *
  56. * @param file
  57. * @param authUser
  58. * @return
  59. */
  60. @PostMapping("/import")
  61. public Object uploadFile(@RequestBody MultipartFile file, @AuthUser User authUser) {
  62. Map<String, Object> map = new HashMap<>(16);
  63. Map<Integer, String> feild = new HashMap<>(5);
  64. feild.put(0, "type");
  65. feild.put(1, "ghId");
  66. feild.put(2, "boxName");
  67. feild.put(3, "boxType");
  68. feild.put(4, "fansType");
  69. feild.put(5, "scope");
  70. feild.put(6, "remark");
  71. List<Map<String, String>> row;
  72. VoltaHandle<ArrayList<Map<String, String>>> voltaRes = Analysis.analysis(file, feild);
  73. if (voltaRes.getErr() != null) {
  74. return AjaxResult.error(voltaRes.getErr());
  75. }
  76. row = voltaRes.getData();
  77. Boolean res = oasBoxService.importData(row, authUser);
  78. return AjaxResult.success(HttpMsg.importSuccess);
  79. }
  80. }