ProductController.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.dto.business.ProductDTO;
  4. import cn.cslg.pas.common.model.cronModel.Records;
  5. import cn.cslg.pas.common.model.request.StringRequest;
  6. import cn.cslg.pas.common.utils.Response;
  7. import cn.cslg.pas.exception.ConditionException;
  8. import cn.cslg.pas.exception.UnLoginException;
  9. import cn.cslg.pas.exception.XiaoShiException;
  10. import cn.cslg.pas.factorys.businessFactory.Business;
  11. import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
  12. import com.alibaba.fastjson.JSONObject;
  13. import io.swagger.v3.oas.annotations.Operation;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  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 org.springframework.web.bind.annotation.RestController;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import java.util.List;
  22. /**
  23. * 产品的controller层
  24. * @Author xiexiang
  25. * @Date 2023/10/27
  26. */
  27. @Slf4j
  28. @RequestMapping(Constants.API_XiaoSHI + "/product")
  29. @RestController
  30. public class ProductController {
  31. @Autowired
  32. private BusinessFactory businessFactory;
  33. @Operation(summary = "查询产品")
  34. @PostMapping("/queryProduct")
  35. public Response queryProduct(@RequestBody StringRequest stringRequest) throws Exception {
  36. Business business = businessFactory.getClass("productService");
  37. Records records = (Records) business.queryMessage(stringRequest);
  38. return Response.success(records);
  39. }
  40. @Operation(summary = "添加产品")
  41. @PostMapping("/addProduct")
  42. public Response addProduct(String product, List<MultipartFile> files) throws Exception {
  43. if (product != null && product != "") {
  44. ProductDTO productDTO = JSONObject.parseObject(product, ProductDTO.class);
  45. Business business = businessFactory.getClass("productService");
  46. Integer id = null;
  47. try {
  48. id = (Integer) business.addMessage(productDTO, files);
  49. } catch (Exception e){
  50. if(e instanceof XiaoShiException){
  51. return Response.error(e.getMessage());
  52. } else if (e instanceof UnLoginException) {
  53. return Response.unLogin(e.getMessage());
  54. } else if (e instanceof ConditionException) {
  55. return Response.conditionError(e.getMessage());
  56. }
  57. }
  58. return Response.success(id);
  59. } else {
  60. return Response.error("网络异常");
  61. }
  62. }
  63. @Operation(summary = "更新产品")
  64. @PostMapping("/updateProduct")
  65. public Response updateProduct(String product, List<MultipartFile> files) throws Exception {
  66. if(product != null){
  67. ProductDTO productDTO = JSONObject.parseObject(product, ProductDTO.class);
  68. Business business = businessFactory.getClass("productService");
  69. business.updateMessage(productDTO, files);
  70. return Response.success(1);
  71. } else {
  72. return Response.error("网络异常");
  73. }
  74. }
  75. @Operation(summary = "删除产品")
  76. @PostMapping("/deleteProduct")
  77. public String deleteProduct(@RequestBody List<Integer> ids) throws Exception {
  78. Business business = businessFactory.getClass("productService");
  79. business.deleteMessage(ids);
  80. return Response.success();
  81. }
  82. }